ATLAS Offline Software
Loading...
Searching...
No Matches
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
18
20
23
25#include "Acts/Definitions/Units.hpp"
28#include "Acts/EventData/TrackStateProxy.hpp"
29
30
31namespace ActsTrk {
32
34 public:
35 using AthReentrantAlgorithm::AthReentrantAlgorithm;
37
38 virtual StatusCode initialize() override;
39 virtual StatusCode execute(const EventContext& ctx) const override;
40
41 private:
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
65
67 this, "TrackParticleKey", "", "Input track particle collection"};
68
70 this, "MeasurementRegionKey", m_trackParticlesKey, "measurement_region",
71 "Decorate track particle with region of the measurement (barrel, ec)"};
73 this, "MeasurementDetectorKey", m_trackParticlesKey, "measurement_det",
74 "Decorate track particle with measurement detector id (innermost pix, pix, strip)"};
76 this, "MeasurementLayerKey", m_trackParticlesKey, "measurement_iLayer",
77 "Decorate track particle with measurement layer"};
79 this, "Chi2HitPredictedKey", m_trackParticlesKey, "chi2_hit_predicted",
80 "Predicted Chi2 contribution for each hit"};
82 this, "Chi2HitFilteredKey", m_trackParticlesKey, "chi2_hit_filtered",
83 "Filtered Chi2 contribution for each hit"};
85 this, "MeasurementTypeKey", m_trackParticlesKey, "measurement_type",
86 "Decorate track particle with type of track state (outlier,hole, biased/unbiased)"};
88 this, "MeasurementPhiWidthKey", m_trackParticlesKey, "hitResiduals_phiWidth",
89 "Decorate track particle with measurement cluster size (in r-phi)"};
91 this, "MeasurementEtaWidthKey", m_trackParticlesKey, "hitResiduals_etaWidth",
92 "Decorate track particle with measurement cluster size (in eta)"};
93
94
96 this, "ResidualLocXkey", m_trackParticlesKey, "hitResiduals_residualLocX",
97 "Decorate track particle with unbiased residual in local x"};
99 this, "PullLocXkey", m_trackParticlesKey, "hitResiduals_pullLocX",
100 "Decorate track particle with unbiased pull in local x"};
102 this, "MeasurementLocXkey", m_trackParticlesKey, "measurementLocX",
103 "Decorate track particle with measurement local x"};
105 this, "TrackParameterLocXkey", m_trackParticlesKey, "trackParamLocX",
106 "Decorate track particle with unbiased prediction in local x"};
108 this, "MeasurementLocCovXkey", m_trackParticlesKey, "measurementLocCovX",
109 "Decorate track particle with local x measurement covariance"};
111 this, "TrackParameterLocCovXkey", m_trackParticlesKey, "trackParameterLocCovX",
112 "Decorate track particle with unbiased local x prediction covariance"};
113
115 this, "ResidualLocYkey", m_trackParticlesKey, "hitResiduals_residualLocY",
116 "Decorate track particle with unbiased residual in local y"};
118 this, "PullLocYkey", m_trackParticlesKey, "hitResiduals_pullLocY",
119 "Decorate track particle with unbiased pull in local y"};
121 this, "MeasurementLocYkey", m_trackParticlesKey, "measurementLocY",
122 "Decorate track particle with measurement local y"};
124 this, "TrackParameterLocYkey", m_trackParticlesKey, "trackParamLocY",
125 "Decorate track particle with unbiased prediction in local y"};
127 this, "MeasurementLocCovYkey", m_trackParticlesKey, "measurementLocCovY",
128 "Decorate track particle with local y measurement covariance"};
130 this, "TrackParameterLocCovYkey", m_trackParticlesKey, "trackParameterLocCovY",
131 "Decorate track particle with unbiased local y prediction covariance"};
132 };
133}
134
135#endif
136
137
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Handle class for adding a decoration to an object.
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_chi2HitPredictedKey
ContextUtility m_ctxProvider
Context provider for geometry, magnetic field and calibration contexts.
float evaluatePull(const float residual, const float measurementCovariance, const float trackParameterCovariance, const bool evaluateUnbiased) const
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementRegionKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_residualLocYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLayerKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementDetectorKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocYkey
float getChi2Contribution(const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state) const
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementEtaWidthKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_pullLocYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementTypeKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_residualLocXkey
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_pullLocXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocCovXkey
std::pair< Acts::BoundVector, Acts::BoundMatrix > getUnbiasedTrackParameters(const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state, bool useSmoothed=true) const
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticlesKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocCovYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementLocCovYkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackParameterLocCovXkey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_chi2HitFilteredKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_measurementPhiWidthKey
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...