5#ifndef TritonTracccTrackMaker_H
6#define TritonTracccTrackMaker_H
29#include "Acts/EventData/BoundTrackParameters.hpp"
35#include "GaudiKernel/IChronoStatSvc.h"
36#include "GaudiKernel/ServiceHandle.h"
70 using AthReentrantAlgorithm::AthReentrantAlgorithm;
73 virtual StatusCode
execute(
const EventContext& ctx)
const override;
84 this,
"TracccCells",
"TracccCells",
85 "Input traccc cell collection (from RDOtoTracccCellConverterAlg)"};
88 const traccc::edm::silicon_cell_collection::const_device& cells,
89 std::vector<uint8_t>& out)
const;
95 const EventContext& eventContext)
const;
114 this,
"TracccTracks",
"TracccTracks",
115 "Output track collection (ActsTrk variant)"};
134 EventContext
const& eventContext,
135 std::vector<TracccTrackParameters>& trackParams,
136 std::vector<LocalMeasurementInfoInTracks>& measInfo,
137 const std::unordered_map<int64_t, int>& cluster_map,
138 unsigned& nb_output_tracks)
const;
147 this,
"TracccTritonTool",
"TracccTritonTool"};
150 this,
"TrackingGeometrySvc",
"ActsTrackingGeometrySvc"};
157 "geometry_id,measurement_id,channel0,channel1,timestamp,value"};
163 this,
"doTruth",
true,
164 "Create output containers and link to truth"};
168 this,
"PixelClustersToTruthParticlesMap",
169 "PixelClustersForTruthSeedingToTruthParticlesMap",
170 "Association map from pixel measurements to generator particles."};
174 this,
"StripClustersToTruthParticlesMap",
175 "StripClustersForTruthSeedingToTruthParticlesMap",
176 "Association map from strip measurements to generator particles."};
180 this,
"InputPixelClustersName",
"ITkPixelClusters",
181 "name of the input InDet pixel cluster container"};
184 this,
"InputStripClustersName",
"ITkStripClusters",
185 "name of the input InDet strip cluster container"};
189 this,
"xAODPixelClusterFromInDetClusterKey",
190 "xAODPixelClustersFromInDetCluster",
191 "InDet cluster->xAOD PixelClusters Container"};
194 this,
"xAODStripClusterFromInDetClusterKey",
195 "xAODStripClustersFromInDetCluster",
196 "InDet cluster ->xAOD StripClusters Container"};
199 this,
"xAODSpacepointFromInDetClusterKey",
200 "xAODSpacepointFromInDetCluster",
201 "InDet cluster->xAOD Spacepoint Container"};
205 "ITkPixelDetectorElementCollection",
206 "Key of SiDetectorElementCollection for Pixel"};
209 "ITkStripDetectorElementCollection",
210 "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.
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
StatusCode serializeCells(const traccc::edm::silicon_cell_collection::const_device &cells, std::vector< uint8_t > &out) const
Acts::BoundMatrix buildBoundCovariance(const LocalMeasurementInfoInTracks &state) const
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
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 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
SG::WriteHandleKey< xAOD::SpacePointContainer > m_xAODSpacepointFromInDetClusterKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_ActsTracccTrackContainerKey
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
Gaudi::Property< bool > m_doTruth
Truth association for plotting and debugging.
SG::ReadHandleKey< traccc::edm::silicon_cell_collection::const_view > m_tracccCellsKey
virtual StatusCode initialize() override
std::vector< std::string > m_featureNamesVec
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.