5#ifndef TritonTracccTrackMaker_H
6#define TritonTracccTrackMaker_H
29#include "Acts/EventData/BoundTrackParameters.hpp"
34#include "GaudiKernel/IChronoStatSvc.h"
35#include "GaudiKernel/ServiceHandle.h"
75 using AthReentrantAlgorithm::AthReentrantAlgorithm;
78 virtual StatusCode
execute(
const EventContext& ctx)
const override;
105 int phiIndex,
int etaIndex,
int rows,
108 StatusCode
read_cells(std::vector<TracccCell>& cells,
109 const EventContext& evtcontext)
const;
113 const EventContext& eventContext)
const;
132 this,
"TracccTracks",
"TracccTracks",
133 "Output track collection (ActsTrk variant)"};
152 EventContext
const& eventContext,
153 std::vector<TracccTrackParameters>& trackParams,
154 std::vector<LocalMeasurementInfoInTracks>& measInfo,
155 const std::unordered_map<int64_t, int>& cluster_map,
156 unsigned& nb_output_tracks)
const;
165 this,
"TracccTritonTool",
"TracccTritonTool"};
168 this,
"TrackingGeometrySvc",
"ActsTrackingGeometrySvc"};
175 "geometry_id,measurement_id,channel0,channel1,timestamp,value"};
181 this,
"doTruth",
true,
182 "Create output containers and link to truth"};
186 this,
"PixelClustersToTruthParticlesMap",
187 "PixelClustersForTruthSeedingToTruthParticlesMap",
188 "Association map from pixel measurements to generator particles."};
192 this,
"StripClustersToTruthParticlesMap",
193 "StripClustersForTruthSeedingToTruthParticlesMap",
194 "Association map from strip measurements to generator particles."};
198 this,
"InputPixelClustersName",
"ITkPixelClusters",
199 "name of the input InDet pixel cluster container"};
202 this,
"InputStripClustersName",
"ITkStripClusters",
203 "name of the input InDet strip cluster container"};
207 this,
"xAODPixelClusterFromInDetClusterKey",
208 "xAODPixelClustersFromInDetCluster",
209 "InDet cluster->xAOD PixelClusters Container"};
212 this,
"xAODStripClusterFromInDetClusterKey",
213 "xAODStripClustersFromInDetCluster",
214 "InDet cluster ->xAOD StripClusters Container"};
217 this,
"xAODSpacepointFromInDetClusterKey",
218 "xAODSpacepointFromInDetCluster",
219 "InDet cluster->xAOD Spacepoint Container"};
223 "ITkPixelDetectorElementCollection",
224 "Key of SiDetectorElementCollection for Pixel"};
227 "ITkStripDetectorElementCollection",
228 "Key of SiDetectorElementCollection for Strip"};
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
An algorithm that can be simultaneously executed in multiple threads.
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
Class to hold geometrical description of a silicon detector element.
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
TritonTracccTrackMaker is an algorithm that uses the Traccc-algorithm to reconstruct tracks from cell...
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_inputStripClusterContainerKey
const Acts::Surface * actsSurfaceFromAtlasId(const Identifier &atlasID) const
Acts::BoundMatrix buildBoundCovariance(const LocalMeasurementInfoInTracks &state) const
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
const InDetDD::PixelDetectorManager * m_pixelManager
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
StatusCode convertInDetToXaodCluster(const InDet::PixelCluster &indetCluster, const InDetDD::SiDetectorElement &element, xAOD::PixelCluster &xaodCluster) const
StringProperty m_featureNames
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
Trk::PdgToParticleHypothesis m_pdgToParticleHypothesis
std::unordered_map< int64_t, int > readAndConvertClusters(const EventContext &eventContext) const
StatusCode read_cells(std::vector< TracccCell > &cells, const EventContext &evtcontext) const
StatusCode convertTracks(EventContext const &eventContext, std::vector< TracccTrackParameters > &trackParams, std::vector< LocalMeasurementInfoInTracks > &measInfo, const std::unordered_map< int64_t, int > &cluster_map, unsigned &nb_output_tracks) const
const InDetDD::SCT_DetectorManager * m_stripManager
SG::WriteHandleKey< xAOD::SpacePointContainer > m_xAODSpacepointFromInDetClusterKey
SG::ReadHandleKey< PixelRDO_Container > m_pixelRDOKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_ActsTracccTrackContainerKey
SG::ReadHandleKey< SCT_RDO_Container > m_stripRDOKey
SG::ReadHandleKey< InDet::PixelClusterContainer > m_inputPixelClusterContainerKey
ActsTrk::ContextUtility m_ctxProvider
Utility to fetch the geometry, magnetic field and calibration context in the event.
SG::ReadHandleKey< ActsTrk::MeasurementToTruthParticleAssociation > m_stripClustersToTruth
const ActsTrk::DetectorElementToActsGeometryIdMap * m_detEleToGeoIdMap
virtual StatusCode execute(const EventContext &ctx) const override
const PixelID * m_pixelID
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_xAODPixelClusterFromInDetClusterKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_stripDetEleCollKey
std::optional< Acts::BoundTrackParameters > convertToActsParameters(const LocalMeasurementInfoInTracks &state) const
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
std::vector< int > map_index(int index, int low_bound, int high_bound, int threshold, int shift) const
Gaudi::Property< bool > m_doTruth
Truth association for plotting and debugging.
virtual StatusCode initialize() override
std::vector< std::string > m_featureNamesVec
std::vector< std::pair< int, int > > correct_indices(int phiIndex, int etaIndex, int rows, int columns) const
SG::ReadHandleKey< ActsTrk::MeasurementToTruthParticleAssociation > m_pixelClustersToTruth
SG::WriteHandleKey< xAOD::StripClusterContainer > m_xAODStripClusterFromInDetClusterKey
ToolHandle< ITracccTritonTool > m_tracccTrackingTool
small converter from the (abs) PDG code to the particle hypothsis used in Tracking
StripCluster_v1 StripCluster
Define the version of the strip cluster class.
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.