ATLAS Offline Software
EGammaGSFCalo.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3  Contact: Raphael Haberle <raphael.julien.haberle@cern.ch>
4 */
5 
7 
12 // ========================================================================
13 namespace DerivationFramework {
14 EGammaGSFCalo::EGammaGSFCalo(const std::string& t, const std::string& n,
15  const IInterface* p)
16  : AthAlgTool(t, n, p) {
17  declareInterface<DerivationFramework::IAugmentationTool>(this);
18 }
19 
21  // destructor
22 }
23 
24 // ========================================================================
25 
26 // ========================================================================
27 
29  ATH_MSG_INFO("Initialize...");
30 
31  ATH_CHECK(m_trkRefitTool.retrieve());
32  ATH_CHECK(m_particleCreatorTool.retrieve());
33  ATH_CHECK(m_trackSummaryTool.retrieve());
37 
38  return StatusCode::SUCCESS;
39 }
40 
42  ATH_MSG_INFO("Finalize...");
43 
44  ATH_MSG_INFO("Electrons: " << m_allElectrons);
45  ATH_MSG_INFO("Electrons w/o xAOD::TrackParticle: " << m_noTP);
46  ATH_MSG_INFO("Electrons w/ TRT-only track: " << m_onlyTRT);
47  ATH_MSG_INFO("Electrons w/o Trk::Track: " << m_noTrk);
48  ATH_MSG_INFO("Number of failed fits: " << m_failedFits);
49  ATH_MSG_INFO("Number of successful fits: " << m_successfulFits);
50  ATH_MSG_INFO("Number of successful copyInfos(): " << m_successfulCopyInfos);
51  ATH_MSG_INFO("Number of failed createParticle(): " << m_noRefTP);
52  ATH_MSG_INFO("New container size: " << m_allNewTP);
53  ATH_MSG_INFO("TSOS: " << m_tsos);
54 
55  return StatusCode::SUCCESS;
56 }
57 
58 // ========================================================================
59 
60 StatusCode EGammaGSFCalo::addBranches( const EventContext& ctx ) const {
61 
62  // input electron decoration handle
65  dec_gsfCaloTrackLink(m_gsfCaloTrackLinkKey, ctx);
66 
67  // gsf calo electrons decorations
68  static const SG::AuxElement::Accessor<int> acc_gsfCaloStatus("gsfCaloStatus");
69  static const SG::AuxElement::Accessor<float> acc_gsfChi2oNDF(
70  "gsfChiSquareOverNDOF");
71  static const SG::AuxElement::Accessor<float> acc_gsfCaloChi2oNDF(
72  "gsfCaloChiSquareOverNDOF");
74  acc_usedElectronLink("usedElectronLink");
75  static const SG::AuxElement::ConstAccessor<
77  read_originalTP("originalTrackParticle");
78  static const SG::AuxElement::Accessor<
80  write_originalTP("originalTrackParticle");
81 
82  // Create the final containers to be written out
85 
86  ATH_CHECK(finalTrkPartContainer.record(
87  std::make_unique<xAOD::TrackParticleContainer>(),
88  std::make_unique<xAOD::TrackParticleAuxContainer>()));
89 
90  xAOD::TrackParticleContainer* cPtrTrkPart = finalTrkPartContainer.ptr();
91 
92  // Get the input electron container from StoreGate
94  ATH_CHECK(ehandle.isValid());
97 
98  for (const auto* electron : *electronContainer) {
99  const xAOD::TrackParticle* electronTP = electron->trackParticle();
100  if (!electronTP) {
101  ATH_MSG_WARNING("Can't get electron #" << electron->index()
102  << " TrackParticle!");
103  m_noTP++;
104  continue;
105  }
106  // Electron has a xAOD::TrackParticle, proceed...
107 
108  xAOD::TrackParticle* electronTPRefit = nullptr;
109  int gsfCaloStatus = -1;
110  float gsfChiSquareOverNDOF = -1;
111  float gsfCaloChiSquareOverNDOF = -1;
112 
113  ATH_CHECK(electronTP->trackLink().isValid());
114  // We have a Trk::Track to re-fit...
115  uint8_t dummy(0);
116  int nSiHits = 0;
117 
118  if (electronTP->summaryValue(dummy, xAOD::numberOfSCTHits))
119  nSiHits += dummy;
120  if (electronTP->summaryValue(dummy, xAOD::numberOfPixelHits))
121  nSiHits += dummy;
122  if (electronTP->summaryValue(dummy, xAOD::numberOfSCTOutliers))
123  nSiHits += dummy;
125  nSiHits += dummy;
126 
127  const Trk::Track* track = electronTP->track();
128 
129  // Skip TRT-only tracks
130  if (nSiHits >= m_minNSiHits) {
131  // We want to re-fit only "silicon" Trk::Tracks
132  auto electronTrackQuality = electronTP->track()->fitQuality();
133  gsfChiSquareOverNDOF = electronTrackQuality->chiSquared() /
134  electronTrackQuality->numberDoF();
135 
136  auto electronTrackRefit = std::make_unique<Trk::Track>();
138  // Add electron pointer to cache for the refitting
139  cache.electron = electron;
140  StatusCode sc = m_trkRefitTool->refitTrack(ctx, track, cache);
141 
142  if (sc == StatusCode::SUCCESS) {
143  electronTrackRefit.reset(cache.refittedTrack.release());
144  // move
145  m_trackSummaryTool->updateTrack(ctx, *electronTrackRefit);
146 
147  gsfCaloStatus = 1;
149 
150  const xAOD::Vertex* electronTrackVertex = nullptr;
151  electronTPRefit = m_particleCreatorTool->createParticle(
152  ctx, *electronTrackRefit, cPtrTrkPart, electronTrackVertex,
154  if (electronTPRefit) {
155  copyInfo(*electronTP, *electronTPRefit, !m_isAOD);
156  auto electronTrackRefitQuality = electronTrackRefit->fitQuality();
157  gsfCaloChiSquareOverNDOF = electronTrackRefitQuality->chiSquared() /
158  electronTrackRefitQuality->numberDoF();
159  } else {
161  "Can't create a new xAOD::TrackParticle from the re-fitted "
162  "Trk::Track! Using the original xAOD::TrackParticle!");
163  gsfCaloStatus = 0;
164  m_noRefTP++;
165  }
166  } else {
168  "CALO-improved Trk::Track re-fit failed! Using the original "
169  "xAOD::TrackParticle!");
170  m_failedFits++;
171  gsfCaloStatus = 0;
172  }
173  } else {
174  ATH_MSG_DEBUG("Electron "
175  << electron->index()
176  << " has a valid track particle but is a TRT-only track");
177  gsfCaloStatus = 0;
178  m_onlyTRT++;
179  }
180 
181  if (gsfCaloStatus != 1) {
182  electronTPRefit = new xAOD::TrackParticle();
183  cPtrTrkPart->push_back(electronTPRefit);
184  *electronTPRefit = *electronTP;
185  }
186  // Debug flags
187  acc_gsfCaloStatus(*electronTPRefit) = gsfCaloStatus;
188  acc_gsfChi2oNDF(*electronTPRefit) = gsfChiSquareOverNDOF;
189  acc_gsfCaloChi2oNDF(*electronTPRefit) = gsfCaloChiSquareOverNDOF;
190 
191  electronTPRefit->setTrackLink(electronTP->trackLink());
192 
193  // Add link to refitted TP to electron container
194  ElementLink<xAOD::TrackParticleContainer> linkToRefittedTrackParticle(
195  electronTPRefit, *cPtrTrkPart);
196  dec_gsfCaloTrackLink(*electron) = linkToRefittedTrackParticle;
197 
198  // Add link to initial electron to the refitted TP container
200  linkToElectron.toIndexedElement(*electronContainer, electron->index());
201  acc_usedElectronLink(*electronTPRefit) = linkToElectron;
202 
204  if (read_originalTP.isAvailable(*electronTP)) {
205  linkToOriginal = read_originalTP(*electronTP);
206  }
207  write_originalTP(*electronTPRefit) = linkToOriginal;
208  } // end of the electron container loop
209 
210  m_allNewTP += cPtrTrkPart->size();
211  return StatusCode::SUCCESS;
212 }
213 
215  xAOD::TrackParticle& created,
216  bool isRefitted) const {
217  // Add Truth decorations. Copy from the original.
218  if (m_doTruth) {
219  static const SG::AuxElement::Accessor<
221  tPL("truthParticleLink");
222  if (tPL.isAvailable(original)) {
223  const ElementLink<xAOD::TruthParticleContainer>& linkToTruth =
224  tPL(original);
225  tPL(created) = linkToTruth;
226  }
227  static const SG::AuxElement::Accessor<float> tMP("truthMatchProbability");
228  if (tMP.isAvailable(original)) {
229  float originalProbability = tMP(original);
230  tMP(created) = originalProbability;
231  }
232  static const SG::AuxElement::Accessor<int> tT("truthType");
233  if (tT.isAvailable(original)) {
234  int truthType = tT(original);
235  tT(created) = truthType;
236  }
237  static const SG::AuxElement::Accessor<int> tO("truthOrigin");
238  if (tO.isAvailable(original)) {
239  int truthOrigin = tO(original);
240  tO(created) = truthOrigin;
241  }
242  }
243 
244  // It's apparently not possible to update Trk::Track when running on AOD; copy
245  // the values from the original xAOD::TrackParticle
246  if (m_isAOD) {
247  copySummaryValue(original, created, xAOD::numberOfBLayerHits);
248  copySummaryValue(original, created, xAOD::numberOfPixelHits);
250  copySummaryValue(original, created, xAOD::numberOfSCTHits);
251  copySummaryValue(original, created, xAOD::numberOfPixelHoles);
252  copySummaryValue(original, created, xAOD::numberOfSCTHoles);
255  copySummaryValue(original, created, xAOD::numberOfTRTHits);
256  copySummaryValue(original, created, xAOD::numberOfTRTOutliers);
258  }
259 
260  // Copy shared hit content from the original xAOD::TrackParticle
261  // Taken from
262  // https://gitlab.cern.ch/atlas/athena/-/blob/master/Reconstruction/egamma/egammaAlgs/src/EMBremCollectionBuilder.cxx?ref_type=heads#L329
264  copySummaryValue(original, created,
266  copySummaryValue(original, created,
268  copySummaryValue(original, created,
270  copySummaryValue(original, created,
274  copySummaryValue(original, created, xAOD::numberOfSCTSharedHits);
275  copySummaryValue(original, created, xAOD::numberOfTRTSharedHits);
276 
277  if (isRefitted) {
278  // Figure the new number of holes
279  uint8_t dummy(0);
280  if (m_doPix) {
281  int nPixHitsRefitted =
283  int nPixOutliersRefitted =
285 
286  int nPixHitsOriginal =
288  int nPixOutliersOriginal =
290  : -1;
291  int nPixHolesOriginal =
293 
294  uint8_t nPixHolesRefitted = nPixHitsOriginal + nPixHolesOriginal +
295  nPixOutliersOriginal - nPixOutliersRefitted -
296  nPixHitsRefitted;
297 
298  created.setSummaryValue(nPixHolesRefitted, xAOD::numberOfPixelHoles);
299  }
300 
301  if (m_doSCT) {
302  int nSCTHitsRefitted =
304  int nSCTOutliersRefitted =
306 
307  int nSCTHitsOriginal =
308  original.summaryValue(dummy, xAOD::numberOfSCTHits) ? dummy : -1;
309  int nSCTHolesOriginal =
311  int nSCTOutliersOriginal =
313 
314  uint8_t nSCTHolesRefitted = nSCTHitsOriginal + nSCTHolesOriginal +
315  nSCTOutliersOriginal - nSCTOutliersRefitted -
316  nSCTHitsRefitted;
317 
318  created.setSummaryValue(nSCTHolesRefitted, xAOD::numberOfSCTHoles);
319  }
320 
321  if (m_doTRT) {
322  int nTRTHitsRefitted =
324  int nTRTOutliersRefitted =
326 
327  int nTRTHitsOriginal =
328  original.summaryValue(dummy, xAOD::numberOfTRTHits) ? dummy : -1;
329  int nTRTHolesOriginal =
331  int nTRTOutliersOriginal =
333 
334  uint8_t nTRTHolesRefitted = nTRTHitsOriginal + nTRTHolesOriginal +
335  nTRTOutliersOriginal - nTRTOutliersRefitted -
336  nTRTHitsRefitted;
337 
338  created.setSummaryValue(nTRTHolesRefitted, xAOD::numberOfTRTHoles);
339  }
340  }
341 }
342 } // namespace DerivationFramework
DerivationFramework::EGammaGSFCalo::initialize
virtual StatusCode initialize() override
initialize method
Definition: EGammaGSFCalo.cxx:28
xAOD::numberOfPixelHoles
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
Definition: TrackingPrimitives.h:262
xAOD::numberOfInnermostPixelLayerSplitHits
@ numberOfInnermostPixelLayerSplitHits
number of Pixel 0th layer barrel hits split by cluster splitting
Definition: TrackingPrimitives.h:241
DerivationFramework::EGammaGSFCalo::m_doSCT
Gaudi::Property< bool > m_doSCT
Definition: EGammaGSFCalo.h:73
electronContainer
xAOD::ElectronContainer * electronContainer
Definition: TrigGlobEffCorrValidation.cxx:187
Trk::Track::fitQuality
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
xAOD::numberOfSCTSharedHits
@ numberOfSCTSharedHits
number of SCT hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:273
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
xAOD::electron
@ electron
Definition: TrackingPrimitives.h:195
SG::ReadHandle::cptr
const_pointer_type cptr()
Dereference the pointer.
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
DerivationFramework::EGammaGSFCalo::EGammaGSFCalo
EGammaGSFCalo(const std::string &t, const std::string &n, const IInterface *p)
Default constructor.
Definition: EGammaGSFCalo.cxx:14
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
xAOD::numberOfNextToInnermostPixelLayerSplitHits
@ numberOfNextToInnermostPixelLayerSplitHits
number of Pixel 1st layer barrel hits split by cluster splitting
Definition: TrackingPrimitives.h:252
DerivationFramework::EGammaGSFCalo::m_tsos
std::atomic< unsigned int > m_tsos
Definition: EGammaGSFCalo.h:91
TruthParticleContainer.h
DerivationFramework::EGammaGSFCalo::m_trackSummaryTool
PublicToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
Definition: EGammaGSFCalo.h:63
xAOD::TrackParticle_v1::summaryValue
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
Definition: TrackParticle_v1.cxx:737
xAOD::TrackParticle_v1::setTrackLink
void setTrackLink(const ElementLink< TrackCollection > &track)
Set the link to the original track.
Definition: TrackParticle_v1.cxx:796
DerivationFramework::EGammaGSFCalo::m_noTrk
std::atomic< unsigned int > m_noTrk
Definition: EGammaGSFCalo.h:85
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:260
DerivationFramework::EGammaGSFCalo::m_doTruth
Gaudi::Property< bool > m_doTruth
Definition: EGammaGSFCalo.h:76
xAOD::numberOfTRTHits
@ numberOfTRTHits
number of TRT hits [unit8_t].
Definition: TrackingPrimitives.h:276
DerivationFramework::EGammaGSFCalo::copySummaryValue
void copySummaryValue(const xAOD::TrackParticle &src, xAOD::TrackParticle &dest, const xAOD::SummaryType &information) const
Definition: EGammaGSFCalo.h:97
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
DerivationFramework::EGammaGSFCalo::m_trkRefitTool
ToolHandle< IegammaTrkRefitterTool > m_trkRefitTool
The track refitter.
Definition: EGammaGSFCalo.h:55
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::EGammaGSFCalo::m_particleCreatorTool
ToolHandle< Trk::ITrackParticleCreatorTool > m_particleCreatorTool
Tool to create track particle.
Definition: EGammaGSFCalo.h:59
xAOD::numberOfBLayerHits
@ numberOfBLayerHits
these are the hits in the first pixel layer, i.e.
Definition: TrackingPrimitives.h:232
IDTPM::truthType
int truthType(const U &p)
Definition: TrackParametersHelper.h:274
DerivationFramework::EGammaGSFCalo::m_onlyTRT
std::atomic< unsigned int > m_onlyTRT
Definition: EGammaGSFCalo.h:84
DerivationFramework::EGammaGSFCalo::m_electronCollectionKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronCollectionKey
Definition: EGammaGSFCalo.h:44
DerivationFramework::EGammaGSFCalo::m_allNewTP
std::atomic< unsigned int > m_allNewTP
Definition: EGammaGSFCalo.h:90
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
xAOD::numberOfTRTHighThresholdHits
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:279
IegammaTrkRefitterTool::Cache
Struct Holding the result to return and intermediate objects Things are owned by the EDM or the uniqu...
Definition: IegammaTrkRefitterTool.h:39
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
IDTPM::truthOrigin
int truthOrigin(const U &p)
Definition: TrackParametersHelper.h:283
xAOD::numberOfTRTSharedHits
@ numberOfTRTSharedHits
number of TRT hits used by more than one track
Definition: TrackingPrimitives.h:286
xAOD::numberOfPixelSharedHits
@ numberOfPixelSharedHits
number of Pixel all-layer hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:263
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
DerivationFramework::EGammaGSFCalo::copyInfo
void copyInfo(const xAOD::TrackParticle &original, xAOD::TrackParticle &created, bool isRefitted) const
Copy TrackParticle info from the original TP.
Definition: EGammaGSFCalo.cxx:214
DerivationFramework::EGammaGSFCalo::m_doPix
Gaudi::Property< bool > m_doPix
Definition: EGammaGSFCalo.h:71
TrackParticleAuxContainer.h
ElectronContainer.h
DerivationFramework::EGammaGSFCalo::m_noTP
std::atomic< unsigned int > m_noTP
Definition: EGammaGSFCalo.h:83
DerivationFramework::EGammaGSFCalo::m_minNSiHits
Gaudi::Property< int > m_minNSiHits
Minimum number of silicon hits on track before it is allowed to be refitted.
Definition: EGammaGSFCalo.h:68
DerivationFramework::EGammaGSFCalo::m_isAOD
Gaudi::Property< bool > m_isAOD
Definition: EGammaGSFCalo.h:79
beamspotman.n
n
Definition: beamspotman.py:727
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SG::WriteHandle::ptr
pointer_type ptr()
Dereference the pointer.
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
WriteDecorHandle.h
Handle class for adding a decoration to an object.
CalibDbCompareRT.dummy
dummy
Definition: CalibDbCompareRT.py:59
xAOD::numberOfPixelOutliers
@ numberOfPixelOutliers
these are the pixel outliers, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:261
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
xAOD::numberOfPixelSplitHits
@ numberOfPixelSplitHits
number of Pixel all-layer hits split by cluster splitting [unit8_t].
Definition: TrackingPrimitives.h:264
xAOD::numberOfSCTHoles
@ numberOfSCTHoles
number of SCT holes [unit8_t].
Definition: TrackingPrimitives.h:271
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
DerivationFramework::EGammaGSFCalo::~EGammaGSFCalo
virtual ~EGammaGSFCalo()
Destructor.
Definition: EGammaGSFCalo.cxx:20
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
DerivationFramework::EGammaGSFCalo::m_successfulCopyInfos
std::atomic< unsigned int > m_successfulCopyInfos
Definition: EGammaGSFCalo.h:88
DerivationFramework::EGammaGSFCalo::m_OutputTrkPartContainerKey
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_OutputTrkPartContainerKey
Definition: EGammaGSFCalo.h:47
xAOD::ElectronContainer
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/ElectronContainer.h:17
DerivationFramework::EGammaGSFCalo::m_gsfCaloTrackLinkKey
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_gsfCaloTrackLinkKey
Definition: EGammaGSFCalo.h:51
DerivationFramework::EGammaGSFCalo::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override
addBranches method
Definition: EGammaGSFCalo.cxx:60
xAOD::numberOfBLayerSharedHits
@ numberOfBLayerSharedHits
number of Pixel b-layer hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:234
xAOD::TrackParticle_v1::trackLink
const ElementLink< TrackCollection > & trackLink() const
Returns a link (which can be invalid) to the Trk::Track which was used to make this TrackParticle.
Definition: TrackParticle_v1.cxx:780
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
xAOD::numberOfTRTOutliers
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
Definition: TrackingPrimitives.h:277
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
xAOD::TrackParticle_v1::setSummaryValue
void setSummaryValue(uint8_t &value, const SummaryType &information)
Set method for TrackSummary values.
Definition: TrackParticle_v1.cxx:753
DerivationFramework::EGammaGSFCalo::m_failedFits
std::atomic< unsigned int > m_failedFits
Definition: EGammaGSFCalo.h:86
SG::WriteDecorHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
xAOD::numberOfSCTOutliers
@ numberOfSCTOutliers
number of SCT outliers [unit8_t].
Definition: TrackingPrimitives.h:270
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::numberOfSCTDeadSensors
@ numberOfSCTDeadSensors
number of dead SCT sensors crossed [unit8_t].
Definition: TrackingPrimitives.h:274
DerivationFramework::EGammaGSFCalo::m_successfulFits
std::atomic< unsigned int > m_successfulFits
Definition: EGammaGSFCalo.h:87
DerivationFramework::EGammaGSFCalo::finalize
virtual StatusCode finalize() override
finalize method
Definition: EGammaGSFCalo.cxx:41
EGammaGSFCalo.h
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
DerivationFramework::EGammaGSFCalo::m_noRefTP
std::atomic< unsigned int > m_noRefTP
Definition: EGammaGSFCalo.h:89
DerivationFramework::EGammaGSFCalo::m_allElectrons
std::atomic< unsigned int > m_allElectrons
Counters.
Definition: EGammaGSFCalo.h:82
xAOD::numberOfInnermostPixelLayerSharedHits
@ numberOfInnermostPixelLayerSharedHits
number of Pixel 0th layer barrel hits shared by several tracks.
Definition: TrackingPrimitives.h:240
DerivationFramework::EGammaGSFCalo::m_doTRT
Gaudi::Property< bool > m_doTRT
Definition: EGammaGSFCalo.h:74
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:269
Trk::FitQuality::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
SG::ConstAccessor< T, AuxAllocator_t< T > >::isAvailable
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
xAOD::numberOfPixelDeadSensors
@ numberOfPixelDeadSensors
number of dead pixel sensors crossed [unit8_t].
Definition: TrackingPrimitives.h:267
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAOD::TrackParticle_v1::track
const Trk::Track * track() const
Returns a pointer (which can be NULL) to the Trk::Track which was used to make this TrackParticle.
Definition: TrackParticle_v1.cxx:806
xAOD::numberOfSCTDoubleHoles
@ numberOfSCTDoubleHoles
number of Holes in both sides of a SCT module [unit8_t].
Definition: TrackingPrimitives.h:272
AthAlgTool
Definition: AthAlgTool.h:26
xAOD::numberOfNextToInnermostPixelLayerSharedHits
@ numberOfNextToInnermostPixelLayerSharedHits
number of Pixel 1st layer barrel hits shared by several tracks.
Definition: TrackingPrimitives.h:251
xAOD::numberOfTRTHoles
@ numberOfTRTHoles
number of TRT holes [unit8_t].
Definition: TrackingPrimitives.h:278
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
IDTPM::nSiHits
float nSiHits(const U &p)
Definition: TrackParametersHelper.h:427
IegammaTrkRefitterTool::Cache::electron
const xAOD::Electron * electron
pointer to the Electron input
Definition: IegammaTrkRefitterTool.h:49