ATLAS Offline Software
ProtoTrackCreationAndFitAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <Gaudi/Property.h>
6 #ifndef ACTSTRACKRECONSTRUCTION_PROTOTRACKCREATIONANDFITALG_H
7 #define ACTSTRACKRECONSTRUCTION_PROTOTRACKCREATIONANDFITALG_H 1
8 
12 
22 
23 namespace ActsTrk{
25  public:
26  ProtoTrackCreationAndFitAlg( const std::string& name, ISvcLocator* pSvcLocator );
27  virtual ~ProtoTrackCreationAndFitAlg() = default;
28 
30 
31  //IS EXECUTED:
32  virtual StatusCode initialize() override final; //once, before any input is loaded
33  virtual StatusCode execute(const EventContext & ctx) const override final;
34 
35  private:
36 
37  // the pixel clusters to read as input
38  SG::ReadHandleKey<xAOD::PixelClusterContainer> m_PixelClusters{this, "PixelClusterContainer","","the pix clusters"};
39  // the strip clusters to read as input
40  SG::ReadHandleKey<xAOD::StripClusterContainer> m_StripClusters{this, "StripClusterContainer","","the strip clusters"};
41  // the user-provided pattern recognition tool to test
42  ToolHandle<ActsTrk::IProtoTrackCreatorTool> m_patternBuilder{this, "PatternBuilder", "", "the pattern builder to use"};
43  // the track fitter to use for the refit
44  ToolHandle<ActsTrk::IFitterTool> m_actsFitter{this, "ActsFitter", "", "Choice of Acts Fitter (Kalman by default)"};
45  // tracking geometry - used to translate ATLAS to ACTS geometry
46  ToolHandle<IActsTrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", ""};
47  // detector element collections - again needed for geometry translation
49  {this, "DetectorElementToActsGeometryIdMapKey", "DetectorElementToActsGeometryIdMap",
50  "Map which associates detector elements to Acts Geometry IDs"};
51 
52  // ACTS extrapolation tool - provides the magnetic field
53  ToolHandle<IActsExtrapolationTool> m_extrapolationTool{this, "ExtrapolationTool", ""};
54  // output location to write to
55  SG::WriteHandleKey<ActsTrk::TrackContainer> m_trackContainerKey{this, "ACTSTracksLocation", "", "Output track collection (ActsTrk variant)"};
56 
57  // output location for proto tracks (can be empty)
58  SG::WriteHandleKey<ActsTrk::ProtoTrackCollection> m_protoTrackCollectionKey{this, "ProtoTracksLocation", "", "Output proto tracks as well"};
59  Gaudi::Property<bool> m_copyParametersFromFit{this, "copyParametersFromFit", true, "If enabled proto tracks will have the same parameters as fitted tracks"};
60  // acts helper for the output
62 
63 
64 
65  };
66 
67 }
68 
69 #endif //> !ACTSTRACKRECONSTRUCTION_PROTOTRACKCREATIONANDFITALG_H
ActsTrk::ProtoTrackCreationAndFitAlg::m_actsFitter
ToolHandle< ActsTrk::IFitterTool > m_actsFitter
Definition: ProtoTrackCreationAndFitAlg.h:44
ActsTrk::ProtoTrackCreationAndFitAlg::m_trackingGeometryTool
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
Definition: ProtoTrackCreationAndFitAlg.h:46
TrackParameters.h
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
ActsTrk::ProtoTrackCreationAndFitAlg::m_patternBuilder
ToolHandle< ActsTrk::IProtoTrackCreatorTool > m_patternBuilder
Definition: ProtoTrackCreationAndFitAlg.h:42
ActsTrk::ProtoTrackCreationAndFitAlg::m_extrapolationTool
ToolHandle< IActsExtrapolationTool > m_extrapolationTool
Definition: ProtoTrackCreationAndFitAlg.h:53
ActsTrk::ProtoTrackCreationAndFitAlg::m_trackContainerKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_trackContainerKey
Definition: ProtoTrackCreationAndFitAlg.h:55
ActsTrk::ProtoTrackCreationAndFitAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: ProtoTrackCreationAndFitAlg.cxx:29
ActsTrk::ProtoTrackCreationAndFitAlg::m_PixelClusters
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_PixelClusters
Definition: ProtoTrackCreationAndFitAlg.h:38
IProtoTrackCreatorTool.h
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SG::ReadHandleKey< xAOD::StripClusterContainer >
ActsTrk::ProtoTrackCreationAndFitAlg::m_copyParametersFromFit
Gaudi::Property< bool > m_copyParametersFromFit
Definition: ProtoTrackCreationAndFitAlg.h:59
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
ActsTrk::ProtoTrackCreationAndFitAlg::~ProtoTrackCreationAndFitAlg
virtual ~ProtoTrackCreationAndFitAlg()=default
ActsTrk::ProtoTrackCreationAndFitAlg
Definition: ProtoTrackCreationAndFitAlg.h:24
ActsTrk::ProtoTrackCreationAndFitAlg::m_tracksBackendHandlesHelper
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
Definition: ProtoTrackCreationAndFitAlg.h:61
ActsTrk::ProtoTrackCreationAndFitAlg::initialize
virtual StatusCode initialize() override final
uncomment and implement methods as required
Definition: ProtoTrackCreationAndFitAlg.cxx:14
SG::WriteHandleKey< ActsTrk::TrackContainer >
ActsTrk::ProtoTrackCreationAndFitAlg::m_detectorElementToGeometryIdMapKey
SG::ReadCondHandleKey< ActsTrk::DetectorElementToActsGeometryIdMap > m_detectorElementToGeometryIdMapKey
Definition: ProtoTrackCreationAndFitAlg.h:49
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
ActsTrk::ProtoTrackCreationAndFitAlg::ProtoTrackCreationAndFitAlg
ProtoTrackCreationAndFitAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ProtoTrackCreationAndFitAlg.cxx:11
CondHandleKeyArray.h
ProtoTrackCollection.h
AthReentrantAlgorithm.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
xAOD::PixelClusterContainer
PixelClusterContainer_v1 PixelClusterContainer
Define the version of the pixel cluster container.
Definition: Event/xAOD/xAODInDetMeasurement/xAODInDetMeasurement/PixelClusterContainer.h:14
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
ActsTrk::ProtoTrackCreationAndFitAlg::m_StripClusters
SG::ReadHandleKey< xAOD::StripClusterContainer > m_StripClusters
Definition: ProtoTrackCreationAndFitAlg.h:40
IFitterTool.h
ActsTrk::ProtoTrackCreationAndFitAlg::m_protoTrackCollectionKey
SG::WriteHandleKey< ActsTrk::ProtoTrackCollection > m_protoTrackCollectionKey
Definition: ProtoTrackCreationAndFitAlg.h:58
SiDetectorElementCollection.h
SG::ReadCondHandleKey< ActsTrk::DetectorElementToActsGeometryIdMap >
StripClusterContainer.h
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:54
TrackContainerHandlesHelper.h
IActsTrackingGeometryTool.h
IActsExtrapolationTool.h