ATLAS Offline Software
PRD_TruthTrajectoryBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // PRD_TruthTrajectoryBuilder.h, (c) ATLAS Detector software
8 
9 #ifndef TRK_TRUTHTRACKTOOLS_PRD_TRUTHTRAJECTORYBUILDER_H
10 #define TRK_TRUTHTRACKTOOLS_PRD_TRUTHTRAJECTORYBUILDER_H 1
11 
12 // Gaudi
14 #include "GaudiKernel/ToolHandle.h"
15 // Trk includes
21 
22 class AtlasDetectorID;
23 
25 
26 namespace Trk {
27 
28  class PrepRawData;
29 
46 
47  public:
48  //** Constructor with parameters */
49  PRD_TruthTrajectoryBuilder( const std::string& t, const std::string& n, const IInterface* p );
50 
51  // Athena algtool's Hooks
52  virtual StatusCode initialize() override;
53  virtual StatusCode finalize() override;
54 
56  virtual std::map< HepMC::ConstGenParticlePtr, PRD_TruthTrajectory > truthTrajectories() const override;
57 
59  virtual StatusCode refreshEvent() override;
60 
61  private:
63 
64  ToolHandle<IPRD_Provider> m_idPrdProvider{this, "InDetPRD_Provider", ""};
65  ToolHandle<IPRD_Provider> m_msPrdProvider{this, "MuonPRD_Provider", ""};
66 
67  ToolHandleArray<IPRD_TruthTrajectoryManipulator> m_prdTruthTrajectoryManipulators{this, "PRD_TruthTrajectoryManipulators", {}};
68 
69  SG::ReadHandleKeyArray<PRD_MultiTruthCollection> m_prdMultiTruthCollectionNames{this,"PRD_MultiTruthCollections",{"PixelClusterTruth","SCT_ClusterTruth","TRT_DriftCircleTruth"}, "PRD multi truth collection names this builder is working on"};
70  std::vector<const PRD_MultiTruthCollection*> m_prdMultiTruthCollections;
71 
72  Gaudi::Property<double> m_minPt{this,"MinimumPt",400.,"minimum pT to be even considered"};
73  Gaudi::Property<bool> m_geantinos{this,"Geantinos",false,"Track geantinos or not"};
74 
75  };
76 
77 } // end of namespace
78 
79 #endif // TRK_TRUTHTRACKTOOLS_PRD_TRUTHTRAJECTORYBUILDER_H
Trk::PRD_TruthTrajectoryBuilder::m_idHelper
const AtlasDetectorID * m_idHelper
Definition: PRD_TruthTrajectoryBuilder.h:62
Trk::PRD_TruthTrajectoryBuilder::m_prdMultiTruthCollectionNames
SG::ReadHandleKeyArray< PRD_MultiTruthCollection > m_prdMultiTruthCollectionNames
Definition: PRD_TruthTrajectoryBuilder.h:69
Trk::PRD_TruthTrajectoryBuilder::m_minPt
Gaudi::Property< double > m_minPt
Definition: PRD_TruthTrajectoryBuilder.h:72
Trk::IPRD_TruthTrajectoryBuilder
The interface for the truth PRD trajectory finder.
Definition: IPRD_TruthTrajectoryBuilder.h:31
Trk::PRD_TruthTrajectoryBuilder::truthTrajectories
virtual std::map< HepMC::ConstGenParticlePtr, PRD_TruthTrajectory > truthTrajectories() const override
return a vector of PrepRawData trajectories - uses internal cache
Definition: PRD_TruthTrajectoryBuilder.cxx:82
Trk::PRD_TruthTrajectoryBuilder::PRD_TruthTrajectoryBuilder
PRD_TruthTrajectoryBuilder(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Definition: PRD_TruthTrajectoryBuilder.cxx:21
Trk::PRD_TruthTrajectoryBuilder::refreshEvent
virtual StatusCode refreshEvent() override
Event refresh - can't be an IIncident, because it has to run after PRD creation and PRD truth creatio...
Definition: PRD_TruthTrajectoryBuilder.cxx:59
PRD_TruthTrajectory.h
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
GenParticle_fwd.h
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
IPRD_TruthTrajectoryManipulator.h
Trk::PRD_TruthTrajectoryBuilder
Definition: PRD_TruthTrajectoryBuilder.h:45
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::PRD_TruthTrajectoryBuilder::finalize
virtual StatusCode finalize() override
Definition: PRD_TruthTrajectoryBuilder.cxx:162
AthAlgTool.h
Trk::PRD_TruthTrajectoryBuilder::m_prdTruthTrajectoryManipulators
ToolHandleArray< IPRD_TruthTrajectoryManipulator > m_prdTruthTrajectoryManipulators
PRD truth tracjectory manipulators.
Definition: PRD_TruthTrajectoryBuilder.h:67
Trk::PRD_TruthTrajectoryBuilder::m_prdMultiTruthCollections
std::vector< const PRD_MultiTruthCollection * > m_prdMultiTruthCollections
the retrieved PRD muli truth collections
Definition: PRD_TruthTrajectoryBuilder.h:70
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::PRD_TruthTrajectoryBuilder::m_idPrdProvider
ToolHandle< IPRD_Provider > m_idPrdProvider
Helper to detect type of sub-detector from PRD->identify().
Definition: PRD_TruthTrajectoryBuilder.h:64
IPRD_Provider.h
Trk::PRD_TruthTrajectoryBuilder::initialize
virtual StatusCode initialize() override
Definition: PRD_TruthTrajectoryBuilder.cxx:30
PRD_MultiTruthCollection.h
Trk::PRD_TruthTrajectoryBuilder::m_geantinos
Gaudi::Property< bool > m_geantinos
Definition: PRD_TruthTrajectoryBuilder.h:73
AthAlgTool
Definition: AthAlgTool.h:26
IPRD_TruthTrajectoryBuilder.h
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
Trk::PRD_TruthTrajectoryBuilder::m_msPrdProvider
ToolHandle< IPRD_Provider > m_msPrdProvider
Identifier to PRD relation in the Muons System.
Definition: PRD_TruthTrajectoryBuilder.h:65