|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef SiSPGNNTrackMaker_H
6 #define SiSPGNNTrackMaker_H
50 virtual bool isClonable()
const override {
return true; };
53 MsgStream&
dump (MsgStream&
out)
const;
54 std::ostream&
dump (std::ostream&
out)
const;
63 this,
"SpacePointsPixelName",
"ITkPixelSpacePoints"};
65 this,
"SpacePointsSCTName",
"ITkStripSpacePoints"};
69 this,
"PixelClusterContainer",
"ITkPixelClusters"};
71 this,
"StripClusterContainer",
"ITkStripClusters"};
75 this,
"TracksLocation",
"SiSPGNNTracks"};
83 this,
"GNNTrackFinderTool",
84 "InDet::SiGNNTrackFinderTool",
"Track Finder"
87 this,
"SeedFitterTool",
88 "InDet::SiSeedFitterTool",
"Seed Fitter"
93 "Trk::GlobalChi2Fitter/InDetTrackFitter",
"Track Fitter"
96 this,
"TrackSummaryTool",
"InDetTrackSummaryTool"};
98 this,
"GNNTrackReaderTool",
99 "InDet::GNNTrackReaderTool",
"Track Reader"
106 this,
"areInputClusters",
false,
107 "Read track candidates as list of clusters"};
109 "Apply Loose track cuts"};
112 this,
"InDetEtaDependentCutsSvc",
"InDetEtaDependentCutsSvc"};
114 IntegerProperty
m_minClusters{
this,
"minClusters", 6,
"Min number clusters"};
117 "Minimum number of strip clusters"};
118 DoubleProperty
m_pTmin{
this,
"pTmin", 400.,
"min pT"};
119 DoubleProperty
m_etamax{
this,
"etamax", 4.,
"max reco eta"};
124 std::tuple<bool, int, std::unique_ptr<Trk::Track>>
doFitAndCut(
125 const EventContext& ctx,
126 std::vector<const Trk::SpacePoint*>& spacePoints,
127 std::vector<const Trk::PrepRawData*>&
clusters,
132 int nFreeClusters,
int nPixels)
const;
136 std::unique_ptr<Trk::Track>
fitTrack(
137 const EventContext& ctx,
138 std::vector<const Trk::PrepRawData*>
clusters,
144 const std::vector<uint32_t>& trackIndices,
145 const std::vector<const Trk::SpacePoint*>& allSpacePoints
149 const std::vector<const Trk::SpacePoint*>& spacePoints
153 const std::vector<std::vector<uint32_t>>& clusterTracks,
154 const std::vector<const Trk::PrepRawData*>& allClusters,
159 const EventContext& ctx,
164 const EventContext& ctx,
169 const EventContext& ctx,
174 const EventContext& ctx,
MsgStream & operator<<(MsgStream &, const GNNTrackReaderTool &)
std::vector< const Trk::PrepRawData * > getClustersInEvent(const EventContext &ctx, int eventNumber) const
BooleanProperty m_doRecoTrackCuts
ToolHandle< IGNNTrackFinder > m_gnnTrackFinder
GNN-based track finding tool that produces track candidates.
virtual bool isClonable() const override
Make this algorithm clonable.
SG::ReadHandleKey< SpacePointContainer > m_SpacePointsPixelKey
virtual StatusCode initialize() override
std::vector< const Trk::PrepRawData * > getClusters(const std::vector< std::vector< uint32_t >> &clusterTracks, const std::vector< const Trk::PrepRawData * > &allClusters, int trackNumber) const
IntegerProperty m_minPixelClusters
ServiceHandle< IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
MsgStream & dump(MsgStream &out) const
SG::ReadHandleKey< SpacePointOverlapCollection > m_SpacePointsOverlapKey
int passEtaDepCuts(const Trk::Track &track) const
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< TrackCollection > m_outputTracksKey
An algorithm that can be simultaneously executed in multiple threads.
int passEtaDepCuts(const Trk::Track *track, int nClusters, int nFreeClusters, int nPixels) const
Property holding a SG store/key/clid from which a WriteHandle is made.
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_ClusterStripKey
MsgStream & dumpevent(MsgStream &out) const
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< Trk::ITrackFitter > m_trackFitter
Track Fitter.
bool prefitCheck(int nPix, int nStrip, int nClusters, int nSpacePoints) const
BooleanProperty m_areInputClusters
Ensure that the ATLAS eigen extensions are properly loaded.
std::unique_ptr< Trk::Track > fitTrack(const EventContext &ctx, std::vector< const Trk::PrepRawData * > clusters, const Trk::TrackParameters &initial_params, int trackCounter) const
IntegerProperty m_minClusters
ToolHandle< ISeedFitter > m_seedFitter
@ nStrip
Get number of strips.
SiSPGNNTrackMaker(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
IntegerProperty m_minStripClusters
MsgStream & dumptools(MsgStream &out) const
std::tuple< bool, int, std::unique_ptr< Trk::Track > > doFitAndCut(const EventContext &ctx, std::vector< const Trk::SpacePoint * > &spacePoints, std::vector< const Trk::PrepRawData * > &clusters, int &trackCounter) const
Fits a track and applies quality cuts to determine if it should be kept.
InDet::SiSPGNNTrackMaker is an algorithm that uses the GNN-based track finding tool to reconstruct tr...
SG::ReadHandleKey< InDet::PixelClusterContainer > m_ClusterPixelKey
std::vector< const Trk::SpacePoint * > getSpacePointsInEvent(const EventContext &ctx, int eventNumber) const
std::vector< const Trk::SpacePoint * > getSpacePoints(const std::vector< uint32_t > &trackIndices, const std::vector< const Trk::SpacePoint * > &allSpacePoints) const
SG::ReadHandleKey< SpacePointContainer > m_SpacePointsSCTKey
std::vector< const Trk::PrepRawData * > spacePointsToClusters(const std::vector< const Trk::SpacePoint * > &spacePoints) const
ToolHandle< IGNNTrackReaderTool > m_gnnTrackReader