ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsTruth
src
TruthTrackBuilderTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef ACTSTRK_TRUTHTRACKBUILDERTOOL_H
5
#define ACTSTRK_TRUTHTRACKBUILDERTOOL_H
6
7
#include <Gaudi/Property.h>
8
9
#include "
ActsEvent/MeasurementToTruthParticleAssociation.h
"
10
#include "
AthenaBaseComps/AthAlgTool.h
"
11
#include "
StoreGate/ReadHandleKey.h
"
12
#include "
xAODInDetMeasurement/PixelClusterContainer.h
"
13
#include "
xAODInDetMeasurement/StripClusterContainer.h
"
14
#include "
xAODTruth/TruthParticle.h
"
15
16
namespace
ActsTrk
{
17
18
// truth track builder class
19
class
TruthTrackBuilderTool
final :
public
AthAlgTool
{
20
21
public
:
22
// defining all structs and type def used for naming
23
using
Vector3
= Eigen::Vector3f;
24
25
struct
TruthHit
{
26
27
const
xAOD::UncalibratedMeasurement
*
hit
;
28
Vector3
globalPosition
;
29
};
30
31
using
TruthHits
= std::vector<TruthHit>;
32
using
TruthTracks
= std::unordered_map<const xAOD::TruthParticle*, TruthHits>;
33
34
TruthTrackBuilderTool
(
const
std::string&
type
,
const
std::string& name,
35
const
IInterface* parent);
36
37
StatusCode
initialize
()
override
;
38
39
StatusCode
buildTruthTracks
(
const
EventContext& ctx,
40
TruthTracks
& truthTracks)
const
;
41
42
private
:
43
// read handles for cluster to truth particle association
44
// along with actual cluster information for coorindates
45
// these will be used in all training algorithms
46
// pixel
47
SG::ReadHandleKey<xAOD::PixelClusterContainer>
m_pixelClustersKey
{
48
this
,
"PixelClusters"
,
"ITkPixelClusters"
,
49
"Input reconstructed pixel clusters"
};
50
SG::ReadHandleKey<MeasurementToTruthParticleAssociation>
51
m_pixelTruthAssociationKey
{
52
this
,
"PixelClustersToTruthAssociationMap"
,
53
"ITkPixelClustersToTruthParticles"
,
54
"Pixel cluster-to-truth-particle associations"
};
55
// strips
56
SG::ReadHandleKey<xAOD::StripClusterContainer>
m_stripClustersKey
{
57
this
,
"StripClusters"
,
"ITkStripClusters"
,
58
"Input reconstructed strip clusters"
};
59
SG::ReadHandleKey<MeasurementToTruthParticleAssociation>
60
m_stripTruthAssociationKey
{
61
this
,
"StripClustersToTruthAssociationMap"
,
62
"ITkStripClustersToTruthParticles"
,
63
"Strip cluster-to-truth-particle associations"
};
64
65
// configurable gaudi properties for useinf strip, pixel or both clusters
66
Gaudi::Property<bool>
m_usePixelClusters
{
this
,
"usePixelClusters"
,
true
,
67
"option for using pixel clusters"
};
68
Gaudi::Property<bool>
m_useStripClusters
{
this
,
"useStripClusters"
,
true
,
69
"option for using strip clusters"
};
70
71
// templated function to fill truth tracks map for both pixel and strip
72
// clusters defined in the source file, where it is instantiated for the pixel
73
// and strip containers
74
template
<
typename
ClusterContainer>
75
void
addClusterToTruthTracks
(
76
const
ClusterContainer& clusters,
77
const
MeasurementToTruthParticleAssociation
& truthAssociations,
78
TruthTracks
& truthTracks)
const
;
79
};
80
}
// namespace ActsTrk
81
82
#endif
AthAlgTool.h
PixelClusterContainer.h
TruthParticle.h
MeasurementToTruthParticleAssociation.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
StripClusterContainer.h
ActsTrk::MeasurementToTruthParticleAssociation
Definition
MeasurementToTruthParticleAssociation.h:18
ActsTrk::TruthTrackBuilderTool::m_stripClustersKey
SG::ReadHandleKey< xAOD::StripClusterContainer > m_stripClustersKey
Definition
TruthTrackBuilderTool.h:56
ActsTrk::TruthTrackBuilderTool::m_pixelClustersKey
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_pixelClustersKey
Definition
TruthTrackBuilderTool.h:47
ActsTrk::TruthTrackBuilderTool::buildTruthTracks
StatusCode buildTruthTracks(const EventContext &ctx, TruthTracks &truthTracks) const
Definition
TruthTrackBuilderTool.cxx:56
ActsTrk::TruthTrackBuilderTool::m_useStripClusters
Gaudi::Property< bool > m_useStripClusters
Definition
TruthTrackBuilderTool.h:68
ActsTrk::TruthTrackBuilderTool::m_usePixelClusters
Gaudi::Property< bool > m_usePixelClusters
Definition
TruthTrackBuilderTool.h:66
ActsTrk::TruthTrackBuilderTool::TruthHits
std::vector< TruthHit > TruthHits
Definition
TruthTrackBuilderTool.h:31
ActsTrk::TruthTrackBuilderTool::initialize
StatusCode initialize() override
Definition
TruthTrackBuilderTool.cxx:16
ActsTrk::TruthTrackBuilderTool::addClusterToTruthTracks
void addClusterToTruthTracks(const ClusterContainer &clusters, const MeasurementToTruthParticleAssociation &truthAssociations, TruthTracks &truthTracks) const
Definition
TruthTrackBuilderTool.cxx:28
ActsTrk::TruthTrackBuilderTool::m_pixelTruthAssociationKey
SG::ReadHandleKey< MeasurementToTruthParticleAssociation > m_pixelTruthAssociationKey
Definition
TruthTrackBuilderTool.h:51
ActsTrk::TruthTrackBuilderTool::m_stripTruthAssociationKey
SG::ReadHandleKey< MeasurementToTruthParticleAssociation > m_stripTruthAssociationKey
Definition
TruthTrackBuilderTool.h:60
ActsTrk::TruthTrackBuilderTool::TruthTrackBuilderTool
TruthTrackBuilderTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
TruthTrackBuilderTool.cxx:11
ActsTrk::TruthTrackBuilderTool::Vector3
Eigen::Vector3f Vector3
Definition
TruthTrackBuilderTool.h:23
ActsTrk::TruthTrackBuilderTool::TruthTracks
std::unordered_map< const xAOD::TruthParticle *, TruthHits > TruthTracks
Definition
TruthTrackBuilderTool.h:32
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
xAOD::UncalibratedMeasurement
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.
Definition
UncalibratedMeasurementFwd.h:13
ActsTrk::TruthTrackBuilderTool::TruthHit
Definition
TruthTrackBuilderTool.h:25
ActsTrk::TruthTrackBuilderTool::TruthHit::hit
const xAOD::UncalibratedMeasurement * hit
Definition
TruthTrackBuilderTool.h:27
ActsTrk::TruthTrackBuilderTool::TruthHit::globalPosition
Vector3 globalPosition
Definition
TruthTrackBuilderTool.h:28
type
Generated on
for ATLAS Offline Software by
1.17.0