|
ATLAS Offline Software
|
Go to the documentation of this file.
13 const std::string&
name, ISvcLocator* pSvcLocator)
31 ATH_MSG_ERROR(
"Use either track finder or track reader, not both.");
32 return StatusCode::FAILURE;
44 return StatusCode::SUCCESS;
51 ATH_CHECK(outputTracks.record(std::make_unique<TrackCollection>()));
57 std::vector<const Trk::SpacePoint*> spacePoints;
60 if (not containerKey.empty()){
64 if (container.isValid()){
66 auto spc = container->
begin();
67 auto spce = container->end();
68 for(; spc != spce; ++spc){
70 auto sp = spCollection->
begin();
71 auto spe = spCollection->
end();
72 for(; sp != spe; ++sp) {
74 spacePoints.push_back(spacePoint);
82 if (not containerKey.empty()){
86 if (collection.isValid()){
87 ATH_MSG_DEBUG(
"Number of overlapping space points: " << collection->size());
89 spacePoints.push_back(sp);
97 int nNonOverlap = spacePoints.size();
98 ATH_MSG_DEBUG(
"Number of non-overlapping spacepoints: " << nNonOverlap );
100 ATH_MSG_DEBUG(
"Number of spacepoints: " << spacePoints.size() );
102 std::vector<std::vector<uint32_t> >
TT;
108 ATH_MSG_ERROR(
"Both GNNTrackFinder and GNNTrackReader are not set");
109 return StatusCode::FAILURE;
117 int trackCounter = -1;
118 for (
auto& trackIndices :
TT) {
120 std::vector<const Trk::PrepRawData*>
clusters;
121 std::vector<const Trk::SpacePoint*> trackCandiate;
122 trackCandiate.reserve(trackIndices.size());
125 ATH_MSG_DEBUG(
"Track " << trackCounter <<
" has " << trackIndices.size() <<
" spacepoints");
127 std::stringstream spCoordinates;
129 for (
auto&
id : trackIndices) {
131 if (
id > spacePoints.size()) {
132 ATH_MSG_WARNING(
"SpacePoint index "<<
id <<
" out of range: " << spacePoints.size());
137 if (
static_cast<int>(
id) > nNonOverlap) {
141 trackCandiate.push_back(sp);
153 if (trkParameters ==
nullptr) {
161 if (
track !=
nullptr &&
track->perigeeParameters() !=
nullptr) {
164 if (
track !=
nullptr) {
167 if (
track !=
nullptr &&
track->trackSummary() !=
nullptr) {
168 outputTracks->push_back(
track.release());
175 return StatusCode::SUCCESS;
183 MsgStream& InDet::operator <<
193 std::ostream& InDet::operator <<
216 out<<
"| Location of output tracks | "
218 out<<
"|----------------------------------------------------------------"
219 <<
"----------------------------------------------------|"
const std::pair< const PrepRawData *, const PrepRawData * > & clusterList() const
return the pair of cluster pointers by reference
const InDetSimData * getData(const InDetSimDataCollection &coll, const Identifier &id)
ToolHandle< IGNNTrackFinder > m_gnnTrackFinder
GNN-based track finding tool that produces track candidates.
SG::ReadHandleKey< SpacePointContainer > m_SpacePointsPixelKey
virtual const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
virtual StatusCode initialize() override
bool msgLvl(const MSG::Level lvl) const
MsgStream & dump(MsgStream &out) const
SG::ReadHandleKey< SpacePointOverlapCollection > m_SpacePointsOverlapKey
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< TrackCollection > m_outputTracksKey
An algorithm that can be simultaneously executed in multiple threads.
MsgStream & dumpevent(MsgStream &out) const
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< Trk::ITrackFitter > m_trackFitter
Track Fitter.
const_iterator begin() const
return const_iterator for first entry
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
ToolHandle< ISeedFitter > m_seedFitter
SiSPGNNTrackMaker(const std::string &name, ISvcLocator *pSvcLocator)
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
#define ATH_MSG_WARNING(x)
MsgStream & dumptools(MsgStream &out) const
InDet::SiSPGNNTrackMaker is an algorithm that uses the GNN-based track finding tool to reconstruct tr...
SG::ReadHandleKey< SpacePointContainer > m_SpacePointsSCTKey
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
ToolHandle< IGNNTrackReaderTool > m_gnnTrackReader