ATLAS Offline Software
TrackExtensionAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef ACTSTRACKRECONSTRUCTION_TRACKEXTENSIONALG_H
5 #define ACTSTRACKRECONSTRUCTION_TRACKEXTENSIONALG_H
6 // Base Class
8 
9 // Gaudi includes
10 #include "GaudiKernel/ToolHandle.h"
11 
12 // Tools
15 
16 // ACTS
17 #include "Acts/EventData/TrackContainer.hpp"
18 
19 // ActsTrk
25 
26 // Athena
27 #include "GaudiKernel/EventContext.h"
30 
31 // STL
32 #include <memory>
33 #include <string>
34 
35 // Handle Keys
38 #include "src/detail/Definitions.h"
42 
48 namespace ActsTrk {
50  public:
51  TrackExtensionAlg(const std::string& name, ISvcLocator* pSvcLocator);
52 
53  virtual StatusCode initialize() override;
54  virtual StatusCode execute(const EventContext& context) const override;
55  using CKFOptions = Acts::CombinatorialKalmanFilterOptions<
57 
58  private:
60  this, "PixelClusterContainer", "", "the pix clusters"};
62  this, "ProtoTracksLocation", "", "Input proto tracks"};
64  this, "TruthLocation", "",
65  "Truth container (to be enabled only for debugging)"};
67  this, "ACTSTracksLocation", "",
68  "Output track collection (ActsTrk variant)"};
72  this, "DetectorElementToActsGeometryIdMapKey",
73  "DetectorElementToActsGeometryIdMap",
74  "Map which associates detector elements to Acts Geometry IDs"};
75 
76  ToolHandle<IActsTrackingGeometryTool> m_trackingGeometryTool{
77  this, "TrackingGeometryTool", ""};
78  ToolHandle<IActsExtrapolationTool> m_extrapolationTool{
79  this, "ExtrapolationTool", ""};
80  ToolHandle<ActsTrk::IOnTrackCalibratorTool<detail::RecoTrackStateContainer>>
81  m_pixelCalibTool{this, "PixelCalibrator", "",
82  "Opt. pixel measurement calibrator"};
83  ToolHandle<ActsTrk::IOnTrackCalibratorTool<detail::RecoTrackStateContainer>>
84  m_stripCalibTool{this, "StripCalibrator", "",
85  "Opt. strip measurement calibrator"};
86  ToolHandle<ActsTrk::TrackStatePrinterTool> m_trackStatePrinter{
87  this, "TrackStatePrinter", "", "optional track state printer"};
88  ToolHandle<ActsTrk::IFitterTool> m_actsFitter{
89  this, "ActsFitter", "", "Choice of Acts Fitter (Kalman by default)"};
90 
91  Gaudi::Property<bool> m_propagateForward{this, "PropagateForward", false,
92  "If true propagate forward"};
93 
94  std::unique_ptr<detail::CKF_config> m_ckfConfig;
95  std::unique_ptr<const Acts::Logger> m_logger;
96 
98  const EventContext& context,
100  detectorElementToGeometryIdMap) const;
101 
102  Acts::CalibrationContext
103  m_calibrationContext; // this will change in future to be updatable event
104  // by event
105 };
106 } // namespace ActsTrk
107 #endif // ACTSTRACKRECONSTRUCTION_TRACKEXTENSIONALG_H
ActsTrk::TrackExtensionAlg::m_pixelClusters
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_pixelClusters
Definition: TrackExtensionAlg.h:59
ActsTrk::TrackExtensionAlg::CKFOptions
Acts::CombinatorialKalmanFilterOptions< ActsTrk::detail::UncalibSourceLinkAccessor::Iterator, detail::RecoTrackContainer > CKFOptions
Definition: TrackExtensionAlg.h:56
ActsTrk::TrackExtensionAlg::m_extrapolationTool
ToolHandle< IActsExtrapolationTool > m_extrapolationTool
Definition: TrackExtensionAlg.h:78
ActsTrk::detail::GenUncalibSourceLinkAccessor::Iterator
Acts::SourceLinkAdapterIterator< BaseIterator > Iterator
Definition: AtlasUncalibSourceLinkAccessor.h:155
ActsTrk::TrackExtensionAlg::execute
virtual StatusCode execute(const EventContext &context) const override
Definition: TrackExtensionAlg.cxx:116
ActsTrk::detail::TrackFindingMeasurements
Definition: TrackFindingMeasurements.h:17
Definitions.h
ActsTrk::DetectorElementToActsGeometryIdMap
Definition: DetectorElementToActsGeometryIdMap.h:31
IOnTrackCalibratorTool.h
TruthParticleContainer.h
ActsTrk::TrackExtensionAlg::m_actsFitter
ToolHandle< ActsTrk::IFitterTool > m_actsFitter
Definition: TrackExtensionAlg.h:88
SG::ReadHandleKey< xAOD::PixelClusterContainer >
TrackFindingMeasurements.h
ActsTrk::detail::RecoTrackContainer
Acts::TrackContainer< Acts::VectorTrackContainer, Acts::VectorMultiTrajectory > RecoTrackContainer
Definition: Tracking/Acts/ActsTrackReconstruction/src/detail/Definitions.h:23
ActsTrk::TrackExtensionAlg
Definition: TrackExtensionAlg.h:49
ActsTrk::TrackExtensionAlg::m_trackContainerKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_trackContainerKey
Definition: TrackExtensionAlg.h:66
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
ActsTrk::TrackExtensionAlg::initialize
virtual StatusCode initialize() override
Definition: TrackExtensionAlg.cxx:57
ActsTrk::TrackExtensionAlg::m_stripCalibTool
ToolHandle< ActsTrk::IOnTrackCalibratorTool< detail::RecoTrackStateContainer > > m_stripCalibTool
Definition: TrackExtensionAlg.h:84
SG::WriteHandleKey< ActsTrk::TrackContainer >
ActsTrk::TrackExtensionAlg::m_propagateForward
Gaudi::Property< bool > m_propagateForward
Definition: TrackExtensionAlg.h:91
ActsTrk::TrackExtensionAlg::m_trackingGeometryTool
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
Definition: TrackExtensionAlg.h:76
ActsTrk::TrackExtensionAlg::m_truthParticlesKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthParticlesKey
Definition: TrackExtensionAlg.h:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelClusterContainer.h
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
TrackStatePrinterTool.h
ActsTrk::TrackExtensionAlg::TrackExtensionAlg
TrackExtensionAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrackExtensionAlg.cxx:53
ActsTrk::TrackExtensionAlg::m_detectorElementToGeometryIdMapKey
SG::ReadCondHandleKey< ActsTrk::DetectorElementToActsGeometryIdMap > m_detectorElementToGeometryIdMapKey
Definition: TrackExtensionAlg.h:71
ActsTrk::TrackExtensionAlg::m_protoTrackCollectionKey
SG::ReadHandleKey< ActsTrk::ProtoTrackCollection > m_protoTrackCollectionKey
Definition: TrackExtensionAlg.h:61
ProtoTrackCollection.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
ActsTrk::TrackExtensionAlg::m_pixelCalibTool
ToolHandle< ActsTrk::IOnTrackCalibratorTool< detail::RecoTrackStateContainer > > m_pixelCalibTool
Definition: TrackExtensionAlg.h:81
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
IFitterTool.h
ActsTrk::TrackExtensionAlg::m_tracksBackendHandlesHelper
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
Definition: TrackExtensionAlg.h:69
SG::ReadCondHandleKey< ActsTrk::DetectorElementToActsGeometryIdMap >
ActsTrk::TrackExtensionAlg::m_ckfConfig
std::unique_ptr< detail::CKF_config > m_ckfConfig
Definition: TrackExtensionAlg.h:94
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:54
DuplicateSeedDetector.h
ActsTrk::TrackExtensionAlg::m_logger
std::unique_ptr< const Acts::Logger > m_logger
Definition: TrackExtensionAlg.h:95
TrackContainerHandlesHelper.h
ActsTrk::TrackExtensionAlg::m_trackStatePrinter
ToolHandle< ActsTrk::TrackStatePrinterTool > m_trackStatePrinter
Definition: TrackExtensionAlg.h:86
TrackContainer.h
IActsTrackingGeometryTool.h
IActsExtrapolationTool.h
ActsTrk::TrackExtensionAlg::m_calibrationContext
Acts::CalibrationContext m_calibrationContext
Definition: TrackExtensionAlg.h:103
DetectorElementToActsGeometryIdMap.h
ActsTrk::TrackExtensionAlg::collectMeasurements
detail::TrackFindingMeasurements collectMeasurements(const EventContext &context, const ActsTrk::DetectorElementToActsGeometryIdMap &detectorElementToGeometryIdMap) const
Definition: TrackExtensionAlg.cxx:229