ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsObjectDecoration
src
MeasurementToTrackParticleDecorationAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// Header file for class MeasurementToTrackParticleDecoration
7
//
8
// The algorithm extends xAOD::TrackParticles
9
// with additional decorations associated to measurements,
10
// i.e. residuals, pulls, modules
11
//
13
14
#ifndef MEASUREMENTTOTRACKPARTICLEDECORATIONALG_H
15
#define MEASUREMENTTOTRACKPARTICLEDECORATIONALG_H
16
17
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
18
19
#include "
StoreGate/ReadHandleKey.h
"
20
21
#include "
StoreGate/WriteDecorHandleKey.h
"
22
#include "
StoreGate/WriteDecorHandle.h
"
23
24
#include "
xAODTracking/TrackParticleContainer.h
"
25
#include "Acts/Definitions/Units.hpp"
26
#include "
ActsEvent/TrackContainer.h
"
27
#include "
ActsEvent/ContextUtility.h
"
28
#include "Acts/EventData/TrackStateProxy.hpp"
29
30
31
namespace
ActsTrk
{
32
33
class
MeasurementToTrackParticleDecorationAlg
:
public
AthReentrantAlgorithm
{
34
public
:
35
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
36
virtual
~MeasurementToTrackParticleDecorationAlg
() =
default
;
37
38
virtual
StatusCode
initialize
()
override
;
39
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
40
41
private
:
42
enum
Subdetector
{
43
INVALID_DETECTOR
=-1,
INNERMOST_PIXEL
,
PIXEL
,
STRIP
,
N_SUBDETECTORS
44
};
45
enum
Region
{
46
INVALID_REGION
=-1,
BARREL
,
ENDCAP
47
};
48
enum
MeasurementType
{
49
INVALID_MEASUREMENT
=-1,
HIT
,
OUTLIER
,
HOLE
,
BIASED
,
UNBIASED
50
};
51
52
float
getChi2Contribution
(
const
typename
ActsTrk::TrackStateBackend::ConstTrackStateProxy &state)
const
;
53
std::pair<Acts::BoundVector, Acts::BoundMatrix>
getUnbiasedTrackParameters
(
const
typename
ActsTrk::TrackStateBackend::ConstTrackStateProxy &state,
54
bool
useSmoothed =
true
)
const
;
55
56
float
evaluatePull
(
const
float
residual,
57
const
float
measurementCovariance,
58
const
float
trackParameterCovariance,
59
const
bool
evaluateUnbiased)
const
;
60
61
private
:
62
64
ContextUtility
m_ctxProvider
{
this
};
65
66
SG::ReadHandleKey<xAOD::TrackParticleContainer>
m_trackParticlesKey
{
67
this
,
"TrackParticleKey"
,
""
,
"Input track particle collection"
};
68
69
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementRegionKey
{
70
this
,
"MeasurementRegionKey"
,
m_trackParticlesKey
,
"measurement_region"
,
71
"Decorate track particle with region of the measurement (barrel, ec)"
};
72
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementDetectorKey
{
73
this
,
"MeasurementDetectorKey"
,
m_trackParticlesKey
,
"measurement_det"
,
74
"Decorate track particle with measurement detector id (innermost pix, pix, strip)"
};
75
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementLayerKey
{
76
this
,
"MeasurementLayerKey"
,
m_trackParticlesKey
,
"measurement_iLayer"
,
77
"Decorate track particle with measurement layer"
};
78
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_chi2HitPredictedKey
{
79
this
,
"Chi2HitPredictedKey"
,
m_trackParticlesKey
,
"chi2_hit_predicted"
,
80
"Predicted Chi2 contribution for each hit"
};
81
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_chi2HitFilteredKey
{
82
this
,
"Chi2HitFilteredKey"
,
m_trackParticlesKey
,
"chi2_hit_filtered"
,
83
"Filtered Chi2 contribution for each hit"
};
84
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementTypeKey
{
85
this
,
"MeasurementTypeKey"
,
m_trackParticlesKey
,
"measurement_type"
,
86
"Decorate track particle with type of track state (outlier,hole, biased/unbiased)"
};
87
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementPhiWidthKey
{
88
this
,
"MeasurementPhiWidthKey"
,
m_trackParticlesKey
,
"hitResiduals_phiWidth"
,
89
"Decorate track particle with measurement cluster size (in r-phi)"
};
90
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementEtaWidthKey
{
91
this
,
"MeasurementEtaWidthKey"
,
m_trackParticlesKey
,
"hitResiduals_etaWidth"
,
92
"Decorate track particle with measurement cluster size (in eta)"
};
93
94
95
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_residualLocXkey
{
96
this
,
"ResidualLocXkey"
,
m_trackParticlesKey
,
"hitResiduals_residualLocX"
,
97
"Decorate track particle with unbiased residual in local x"
};
98
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_pullLocXkey
{
99
this
,
"PullLocXkey"
,
m_trackParticlesKey
,
"hitResiduals_pullLocX"
,
100
"Decorate track particle with unbiased pull in local x"
};
101
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementLocXkey
{
102
this
,
"MeasurementLocXkey"
,
m_trackParticlesKey
,
"measurementLocX"
,
103
"Decorate track particle with measurement local x"
};
104
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_trackParameterLocXkey
{
105
this
,
"TrackParameterLocXkey"
,
m_trackParticlesKey
,
"trackParamLocX"
,
106
"Decorate track particle with unbiased prediction in local x"
};
107
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementLocCovXkey
{
108
this
,
"MeasurementLocCovXkey"
,
m_trackParticlesKey
,
"measurementLocCovX"
,
109
"Decorate track particle with local x measurement covariance"
};
110
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_trackParameterLocCovXkey
{
111
this
,
"TrackParameterLocCovXkey"
,
m_trackParticlesKey
,
"trackParameterLocCovX"
,
112
"Decorate track particle with unbiased local x prediction covariance"
};
113
114
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_residualLocYkey
{
115
this
,
"ResidualLocYkey"
,
m_trackParticlesKey
,
"hitResiduals_residualLocY"
,
116
"Decorate track particle with unbiased residual in local y"
};
117
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_pullLocYkey
{
118
this
,
"PullLocYkey"
,
m_trackParticlesKey
,
"hitResiduals_pullLocY"
,
119
"Decorate track particle with unbiased pull in local y"
};
120
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementLocYkey
{
121
this
,
"MeasurementLocYkey"
,
m_trackParticlesKey
,
"measurementLocY"
,
122
"Decorate track particle with measurement local y"
};
123
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_trackParameterLocYkey
{
124
this
,
"TrackParameterLocYkey"
,
m_trackParticlesKey
,
"trackParamLocY"
,
125
"Decorate track particle with unbiased prediction in local y"
};
126
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_measurementLocCovYkey
{
127
this
,
"MeasurementLocCovYkey"
,
m_trackParticlesKey
,
"measurementLocCovY"
,
128
"Decorate track particle with local y measurement covariance"
};
129
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_trackParameterLocCovYkey
{
130
this
,
"TrackParameterLocCovYkey"
,
m_trackParticlesKey
,
"trackParameterLocCovY"
,
131
"Decorate track particle with unbiased local y prediction covariance"
};
132
};
133
}
134
135
#endif
136
137
AthReentrantAlgorithm.h
ContextUtility.h
TrackParticleContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
WriteDecorHandle.h
Handle class for adding a decoration to an object.
TrackContainer.h
ActsTrk::ContextUtility
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
Definition
ContextUtility.h:27
ActsTrk::MeasurementToTrackParticleDecorationAlg
Definition
MeasurementToTrackParticleDecorationAlg.h:33
ActsTrk::MeasurementToTrackParticleDecorationAlg::Subdetector
Subdetector
Definition
MeasurementToTrackParticleDecorationAlg.h:42
ActsTrk::MeasurementToTrackParticleDecorationAlg::PIXEL
@ PIXEL
Definition
MeasurementToTrackParticleDecorationAlg.h:43
ActsTrk::MeasurementToTrackParticleDecorationAlg::INNERMOST_PIXEL
@ INNERMOST_PIXEL
Definition
MeasurementToTrackParticleDecorationAlg.h:43
ActsTrk::MeasurementToTrackParticleDecorationAlg::STRIP
@ STRIP
Definition
MeasurementToTrackParticleDecorationAlg.h:43
ActsTrk::MeasurementToTrackParticleDecorationAlg::N_SUBDETECTORS
@ N_SUBDETECTORS
Definition
MeasurementToTrackParticleDecorationAlg.h:43
ActsTrk::MeasurementToTrackParticleDecorationAlg::INVALID_DETECTOR
@ INVALID_DETECTOR
Definition
MeasurementToTrackParticleDecorationAlg.h:43
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_chi2HitPredictedKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_chi2HitPredictedKey
Definition
MeasurementToTrackParticleDecorationAlg.h:78
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_ctxProvider
ContextUtility m_ctxProvider
Context provider for geometry, magnetic field and calibration contexts.
Definition
MeasurementToTrackParticleDecorationAlg.h:64
ActsTrk::MeasurementToTrackParticleDecorationAlg::evaluatePull
float evaluatePull(const float residual, const float measurementCovariance, const float trackParameterCovariance, const bool evaluateUnbiased) const
Definition
MeasurementToTrackParticleDecorationAlg.cxx:405
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementRegionKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementRegionKey
Definition
MeasurementToTrackParticleDecorationAlg.h:69
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_residualLocYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_residualLocYkey
Definition
MeasurementToTrackParticleDecorationAlg.h:114
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_trackParameterLocYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocYkey
Definition
MeasurementToTrackParticleDecorationAlg.h:123
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementLayerKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLayerKey
Definition
MeasurementToTrackParticleDecorationAlg.h:75
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementDetectorKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementDetectorKey
Definition
MeasurementToTrackParticleDecorationAlg.h:72
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementLocYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocYkey
Definition
MeasurementToTrackParticleDecorationAlg.h:120
ActsTrk::MeasurementToTrackParticleDecorationAlg::getChi2Contribution
float getChi2Contribution(const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state) const
Definition
MeasurementToTrackParticleDecorationAlg.cxx:372
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementEtaWidthKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementEtaWidthKey
Definition
MeasurementToTrackParticleDecorationAlg.h:90
ActsTrk::MeasurementToTrackParticleDecorationAlg::MeasurementType
MeasurementType
Definition
MeasurementToTrackParticleDecorationAlg.h:48
ActsTrk::MeasurementToTrackParticleDecorationAlg::INVALID_MEASUREMENT
@ INVALID_MEASUREMENT
Definition
MeasurementToTrackParticleDecorationAlg.h:49
ActsTrk::MeasurementToTrackParticleDecorationAlg::BIASED
@ BIASED
Definition
MeasurementToTrackParticleDecorationAlg.h:49
ActsTrk::MeasurementToTrackParticleDecorationAlg::OUTLIER
@ OUTLIER
Definition
MeasurementToTrackParticleDecorationAlg.h:49
ActsTrk::MeasurementToTrackParticleDecorationAlg::UNBIASED
@ UNBIASED
Definition
MeasurementToTrackParticleDecorationAlg.h:49
ActsTrk::MeasurementToTrackParticleDecorationAlg::HOLE
@ HOLE
Definition
MeasurementToTrackParticleDecorationAlg.h:49
ActsTrk::MeasurementToTrackParticleDecorationAlg::HIT
@ HIT
Definition
MeasurementToTrackParticleDecorationAlg.h:49
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_pullLocYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_pullLocYkey
Definition
MeasurementToTrackParticleDecorationAlg.h:117
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementLocXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocXkey
Definition
MeasurementToTrackParticleDecorationAlg.h:101
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementTypeKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementTypeKey
Definition
MeasurementToTrackParticleDecorationAlg.h:84
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_residualLocXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_residualLocXkey
Definition
MeasurementToTrackParticleDecorationAlg.h:95
ActsTrk::MeasurementToTrackParticleDecorationAlg::~MeasurementToTrackParticleDecorationAlg
virtual ~MeasurementToTrackParticleDecorationAlg()=default
ActsTrk::MeasurementToTrackParticleDecorationAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
MeasurementToTrackParticleDecorationAlg.cxx:59
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_pullLocXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_pullLocXkey
Definition
MeasurementToTrackParticleDecorationAlg.h:98
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementLocCovXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocCovXkey
Definition
MeasurementToTrackParticleDecorationAlg.h:107
ActsTrk::MeasurementToTrackParticleDecorationAlg::getUnbiasedTrackParameters
std::pair< Acts::BoundVector, Acts::BoundMatrix > getUnbiasedTrackParameters(const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state, bool useSmoothed=true) const
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_trackParticlesKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticlesKey
Definition
MeasurementToTrackParticleDecorationAlg.h:66
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_trackParameterLocXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocXkey
Definition
MeasurementToTrackParticleDecorationAlg.h:104
ActsTrk::MeasurementToTrackParticleDecorationAlg::initialize
virtual StatusCode initialize() override
Definition
MeasurementToTrackParticleDecorationAlg.cxx:27
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_trackParameterLocCovYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocCovYkey
Definition
MeasurementToTrackParticleDecorationAlg.h:129
ActsTrk::MeasurementToTrackParticleDecorationAlg::Region
Region
Definition
MeasurementToTrackParticleDecorationAlg.h:45
ActsTrk::MeasurementToTrackParticleDecorationAlg::BARREL
@ BARREL
Definition
MeasurementToTrackParticleDecorationAlg.h:46
ActsTrk::MeasurementToTrackParticleDecorationAlg::INVALID_REGION
@ INVALID_REGION
Definition
MeasurementToTrackParticleDecorationAlg.h:46
ActsTrk::MeasurementToTrackParticleDecorationAlg::ENDCAP
@ ENDCAP
Definition
MeasurementToTrackParticleDecorationAlg.h:46
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementLocCovYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocCovYkey
Definition
MeasurementToTrackParticleDecorationAlg.h:126
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_trackParameterLocCovXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocCovXkey
Definition
MeasurementToTrackParticleDecorationAlg.h:110
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_chi2HitFilteredKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_chi2HitFilteredKey
Definition
MeasurementToTrackParticleDecorationAlg.h:81
ActsTrk::MeasurementToTrackParticleDecorationAlg::m_measurementPhiWidthKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementPhiWidthKey
Definition
MeasurementToTrackParticleDecorationAlg.h:87
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition
StoreGate/StoreGate/WriteDecorHandleKey.h:90
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Generated on
for ATLAS Offline Software by
1.17.0