ATLAS Offline Software
Loading...
Searching...
No Matches
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
22class AtlasDetectorID;
23
25
26namespace Trk {
27
28 class PrepRawData;
29
44
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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
The interface for the truth PRD trajectory finder.
SG::ReadHandleKeyArray< PRD_MultiTruthCollection > m_prdMultiTruthCollectionNames
std::vector< const PRD_MultiTruthCollection * > m_prdMultiTruthCollections
the retrieved PRD muli truth collections
virtual std::map< HepMC::ConstGenParticlePtr, PRD_TruthTrajectory > truthTrajectories() const override
return a vector of PrepRawData trajectories - uses internal cache
ToolHandle< IPRD_Provider > m_idPrdProvider
Helper to detect type of sub-detector from PRD->identify().
PRD_TruthTrajectoryBuilder(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
virtual StatusCode initialize() override
ToolHandleArray< IPRD_TruthTrajectoryManipulator > m_prdTruthTrajectoryManipulators
PRD truth tracjectory manipulators.
virtual StatusCode refreshEvent() override
Event refresh - can't be an IIncident, because it has to run after PRD creation and PRD truth creatio...
ToolHandle< IPRD_Provider > m_msPrdProvider
Identifier to PRD relation in the Muons System.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Ensure that the ATLAS eigen extensions are properly loaded.