ATLAS Offline Software
DetailedTrackTruthBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Dear emacs, this is -*-c++-*-
6 
7 #ifndef DETAILEDTRACKTRUTHBUILDER_H
8 #define DETAILEDTRACKTRUTHBUILDER_H
9 
11 #include "GaudiKernel/ToolHandle.h"
12 
13 #include "AthLinks/ElementLink.h"
17 
22 
23 namespace Trk {
24 
25  class DetailedTrackTruthBuilder final: virtual public extends<AthAlgTool, IDetailedTrackTruthBuilder>
26  {
27  public:
28  DetailedTrackTruthBuilder(const std::string& type, const std::string& name, const IInterface* parent);
29 
30  virtual StatusCode initialize();
31 
34  const TrackCollection& tracks,
35  const std::vector<const PRD_MultiTruthCollection*>& prdTruth,
36  const EventContext& ctx) const;
37 
38  private:
40 
42 
43  PublicToolHandle<Trk::ITruthTrajectoryBuilder> m_truthTrajBuilder{this, "TruthTrajectoryTool", "Trk::ElasticTruthTrajectoryBuilder"};
44 
46 
49  const std::vector<const PRD_MultiTruthCollection*>& orderedPRD_Truth,
50  const PRD_InverseTruth& inverseTruth,
51  const EventContext& ctx) const;
52 
53  static void makeTruthToRecMap( PRD_InverseTruth& result, const PRD_MultiTruthCollection& rec2truth) ;
54 
56  const PRD_InverseTruth& inverseTruth) const;
57 
58  };
59 
60 } // end namespace Trk
61 
62 #endif/*DETAILEDTRACKTRUTHBUILDER_H*/
IDetailedTrackTruthBuilder.h
SubDetHitStatistics::SubDetType
SubDetType
Definition: SubDetHitStatistics.h:74
get_generator_info.result
result
Definition: get_generator_info.py:21
Trk::DetailedTrackTruthBuilder
Definition: DetailedTrackTruthBuilder.h:26
Trk::DetailedTrackTruthBuilder::makeTruthToRecMap
static void makeTruthToRecMap(PRD_InverseTruth &result, const PRD_MultiTruthCollection &rec2truth)
Definition: DetailedTrackTruthBuilder.cxx:417
ITruthTrajectoryBuilder.h
PRD_MultiTruthCollection
A PRD is mapped onto all contributing particles.
Definition: PRD_MultiTruthCollection.h:24
SubDetHitStatistics
Definition: SubDetHitStatistics.h:34
Trk::DetailedTrackTruthBuilder::findSubDetType
SubDetHitStatistics::SubDetType findSubDetType(const Identifier &id) const
Definition: DetailedTrackTruthBuilder.cxx:168
Trk::DetailedTrackTruthBuilder::DetailedTrackTruthBuilder
DetailedTrackTruthBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Definition: DetailedTrackTruthBuilder.cxx:77
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Trk::DetailedTrackTruthBuilder::m_truthTrajBuilder
PublicToolHandle< Trk::ITruthTrajectoryBuilder > m_truthTrajBuilder
Definition: DetailedTrackTruthBuilder.h:43
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DetailedTrackTruth.h
Trk::DetailedTrackTruthBuilder::addTrack
void addTrack(DetailedTrackTruthCollection *output, const ElementLink< DataVector< Trk::Track > > &track, const std::vector< const PRD_MultiTruthCollection * > &orderedPRD_Truth, const PRD_InverseTruth &inverseTruth, const EventContext &ctx) const
Definition: DetailedTrackTruthBuilder.cxx:217
DataVector< Trk::Track >
merge.output
output
Definition: merge.py:17
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
TruthTrajectory
Definition: TruthTrajectory.h:26
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Trk::DetailedTrackTruthBuilder::m_idHelper
const AtlasDetectorID * m_idHelper
Definition: DetailedTrackTruthBuilder.h:41
Trk::DetailedTrackTruthBuilder::initialize
virtual StatusCode initialize()
Definition: DetailedTrackTruthBuilder.cxx:82
Trk::DetailedTrackTruthBuilder::countPRDsOnTruth
SubDetHitStatistics countPRDsOnTruth(const TruthTrajectory &traj, const PRD_InverseTruth &inverseTruth) const
Definition: DetailedTrackTruthBuilder.cxx:433
SubDetHitStatistics.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PRD_MultiTruthCollection.h
DetailedTrackTruthCollection
Definition: DetailedTrackTruthCollection.h:20
Trk::InverseMultiMap
Definition: InverseMultiMap.h:45
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::DetailedTrackTruthBuilder::PRD_InverseTruth
InverseMultiMap< PRD_MultiTruthCollection > PRD_InverseTruth
Definition: DetailedTrackTruthBuilder.h:39
Trk::DetailedTrackTruthBuilder::buildDetailedTrackTruth
virtual void buildDetailedTrackTruth(DetailedTrackTruthCollection *output, const TrackCollection &tracks, const std::vector< const PRD_MultiTruthCollection * > &prdTruth, const EventContext &ctx) const
See description for IDetailedTrackTruthBuilder::buildDetailedTrackTruth()
Definition: DetailedTrackTruthBuilder.cxx:92
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
InverseMultiMap.h
Identifier
Definition: IdentifierFieldParser.cxx:14