ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkTools
TrkTruthCreatorTools
TrkTruthCreatorTools
DetailedTrackTruthBuilder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 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
10
#include "
AthenaBaseComps/AthAlgTool.h
"
11
#include "GaudiKernel/ToolHandle.h"
12
13
#include "AthLinks/ElementLink.h"
14
#include "
AtlasDetDescr/AtlasDetectorID.h
"
15
#include "
TrkTruthData/PRD_MultiTruthCollection.h
"
16
#include "
TrkEventUtils/InverseMultiMap.h
"
17
18
#include "
TrkToolInterfaces/IDetailedTrackTruthBuilder.h
"
19
#include "
TrkToolInterfaces/ITruthTrajectoryBuilder.h
"
20
#include "
TrkTruthData/DetailedTrackTruth.h
"
21
#include "
TrkTruthData/SubDetHitStatistics.h
"
22
23
namespace
Trk
{
24
25
class
DetailedTrackTruthBuilder
final:
virtual
public
extends<AthAlgTool, IDetailedTrackTruthBuilder>
26
{
27
public
:
28
using
base_class::base_class;
29
30
virtual
StatusCode
initialize
()
override
;
31
33
virtual
void
buildDetailedTrackTruth
(
DetailedTrackTruthCollection
*output,
34
const
TrackCollection
& tracks,
35
const
std::vector<const PRD_MultiTruthCollection*>& prdTruth,
36
const
EventContext& ctx)
const override
;
37
38
private
:
39
typedef
InverseMultiMap<PRD_MultiTruthCollection>
PRD_InverseTruth
;
40
41
const
AtlasDetectorID
*
m_idHelper
{};
42
43
PublicToolHandle<Trk::ITruthTrajectoryBuilder>
m_truthTrajBuilder
{
this
,
"TruthTrajectoryTool"
,
"Trk::ElasticTruthTrajectoryBuilder"
};
44
45
SubDetHitStatistics::SubDetType
findSubDetType
(
const
Identifier
&
id
)
const
;
46
47
void
addTrack
(
DetailedTrackTruthCollection
*output,
48
const
ElementLink
<
DataVector<Trk::Track>
> &track,
49
const
std::vector<const PRD_MultiTruthCollection*>& orderedPRD_Truth,
50
const
PRD_InverseTruth
& inverseTruth,
51
const
EventContext& ctx)
const
;
52
53
void
makeTruthToRecMap
(
PRD_InverseTruth
& result,
const
PRD_MultiTruthCollection
& rec2truth)
const
;
54
55
SubDetHitStatistics
countPRDsOnTruth
(
const
TruthTrajectory
& traj,
56
const
PRD_InverseTruth
& inverseTruth)
const
;
57
58
};
59
60
}
// end namespace Trk
61
62
#endif
/*DETAILEDTRACKTRUTHBUILDER_H*/
AthAlgTool.h
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
DetailedTrackTruth.h
IDetailedTrackTruthBuilder.h
ITruthTrajectoryBuilder.h
InverseMultiMap.h
PRD_MultiTruthCollection.h
SubDetHitStatistics.h
A struture to keep per-subdetector numbers of hits for truth matching.
TrackCollection
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Definition
TrackCollection.h:19
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition
AtlasDetectorID.h:53
DataVector
Derived DataVector<T>.
Definition
DataVector.h:795
DetailedTrackTruthCollection
Definition
DetailedTrackTruthCollection.h:20
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
PRD_MultiTruthCollection
A PRD is mapped onto all contributing particles.
Definition
PRD_MultiTruthCollection.h:24
SubDetHitStatistics
Definition
SubDetHitStatistics.h:34
SubDetHitStatistics::SubDetType
SubDetType
Definition
SubDetHitStatistics.h:74
Trk::DetailedTrackTruthBuilder
Definition
DetailedTrackTruthBuilder.h:26
Trk::DetailedTrackTruthBuilder::m_truthTrajBuilder
PublicToolHandle< Trk::ITruthTrajectoryBuilder > m_truthTrajBuilder
Definition
DetailedTrackTruthBuilder.h:43
Trk::DetailedTrackTruthBuilder::buildDetailedTrackTruth
virtual void buildDetailedTrackTruth(DetailedTrackTruthCollection *output, const TrackCollection &tracks, const std::vector< const PRD_MultiTruthCollection * > &prdTruth, const EventContext &ctx) const override
See description for IDetailedTrackTruthBuilder::buildDetailedTrackTruth().
Definition
DetailedTrackTruthBuilder.cxx:87
Trk::DetailedTrackTruthBuilder::PRD_InverseTruth
InverseMultiMap< PRD_MultiTruthCollection > PRD_InverseTruth
Definition
DetailedTrackTruthBuilder.h:39
Trk::DetailedTrackTruthBuilder::findSubDetType
SubDetHitStatistics::SubDetType findSubDetType(const Identifier &id) const
Definition
DetailedTrackTruthBuilder.cxx:158
Trk::DetailedTrackTruthBuilder::makeTruthToRecMap
void makeTruthToRecMap(PRD_InverseTruth &result, const PRD_MultiTruthCollection &rec2truth) const
Definition
DetailedTrackTruthBuilder.cxx:428
Trk::DetailedTrackTruthBuilder::m_idHelper
const AtlasDetectorID * m_idHelper
Definition
DetailedTrackTruthBuilder.h:41
Trk::DetailedTrackTruthBuilder::countPRDsOnTruth
SubDetHitStatistics countPRDsOnTruth(const TruthTrajectory &traj, const PRD_InverseTruth &inverseTruth) const
Definition
DetailedTrackTruthBuilder.cxx:451
Trk::DetailedTrackTruthBuilder::initialize
virtual StatusCode initialize() override
Definition
DetailedTrackTruthBuilder.cxx:77
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:207
Trk::InverseMultiMap
An InverseMultiMap object built from a generic map or multimap allows for quick lookup of original (m...
Definition
InverseMultiMap.h:45
TruthTrajectory
A TruthTrajectory is a chain of charged MC particles connected through the mother-daughter relationsh...
Definition
TruthTrajectory.h:26
Identifier
Definition
IdentifierFieldParser.cxx:14
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Generated on
for ATLAS Offline Software by
1.17.0