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 {
15  ATH_MSG_INFO("Initialize...");
16 
17  ATH_CHECK(m_trkRefitTool.retrieve());
18  ATH_CHECK(m_particleCreatorTool.retrieve());
19  ATH_CHECK(m_trackSummaryTool.retrieve());
23 
24  return StatusCode::SUCCESS;
25 }
26 
28  ATH_MSG_INFO("Finalize...");
29 
30  ATH_MSG_INFO("Electrons: " << m_allElectrons);
31  ATH_MSG_INFO("Electrons w/o xAOD::TrackParticle: " << m_noTP);
32  ATH_MSG_INFO("Electrons w/ TRT-only track: " << m_onlyTRT);
33  ATH_MSG_INFO("Electrons w/o Trk::Track: " << m_noTrk);
34  ATH_MSG_INFO("Number of failed fits: " << m_failedFits);
35  ATH_MSG_INFO("Number of successful fits: " << m_successfulFits);
36  ATH_MSG_INFO("Number of successful copyInfos(): " << m_successfulCopyInfos);
37  ATH_MSG_INFO("Number of failed createParticle(): " << m_noRefTP);
38  ATH_MSG_INFO("New container size: " << m_allNewTP);
39  ATH_MSG_INFO("TSOS: " << m_tsos);
40 
41  return StatusCode::SUCCESS;
42 }
43 
44 // ========================================================================
45 
46 StatusCode EGammaGSFCalo::addBranches( const EventContext& ctx ) const {
47 
48  // input electron decoration handle
51  dec_gsfCaloTrackLink(m_gsfCaloTrackLinkKey, ctx);
52 
53  // gsf calo electrons decorations
54  static const SG::AuxElement::Accessor<int> acc_gsfCaloStatus("gsfCaloStatus");
55  static const SG::AuxElement::Accessor<float> acc_gsfChi2oNDF(
56  "gsfChiSquareOverNDOF");
57  static const SG::AuxElement::Accessor<float> acc_gsfCaloChi2oNDF(
58  "gsfCaloChiSquareOverNDOF");
60  acc_usedElectronLink("usedElectronLink");
61  static const SG::AuxElement::ConstAccessor<
63  read_originalTP("originalTrackParticle");
64  static const SG::AuxElement::Accessor<
66  write_originalTP("originalTrackParticle");
67 
68  // Create the final containers to be written out
71 
72  ATH_CHECK(finalTrkPartContainer.record(
73  std::make_unique<xAOD::TrackParticleContainer>(),
74  std::make_unique<xAOD::TrackParticleAuxContainer>()));
75 
76  xAOD::TrackParticleContainer* cPtrTrkPart = finalTrkPartContainer.ptr();
77 
78  // Get the input electron container from StoreGate
80  ATH_CHECK(ehandle.isValid());
83 
84  for (const auto* electron : *electronContainer) {
85  const xAOD::TrackParticle* electronTP = electron->trackParticle();
86  if (!electronTP) {
87  ATH_MSG_WARNING("Can't get electron #" << electron->index()
88  << " TrackParticle!");
89  m_noTP++;
90  continue;
91  }
92  // Electron has a xAOD::TrackParticle, proceed...
93 
94  xAOD::TrackParticle* electronTPRefit = nullptr;
95  int gsfCaloStatus = -1;
96  float gsfChiSquareOverNDOF = -1;
97  float gsfCaloChiSquareOverNDOF = -1;
98 
99  ATH_CHECK(electronTP->trackLink().isValid());
100  // We have a Trk::Track to re-fit...
101  uint8_t dummy(0);
102  int nSiHits = 0;
103 
104  if (electronTP->summaryValue(dummy, xAOD::numberOfSCTHits))
105  nSiHits += dummy;
106  if (electronTP->summaryValue(dummy, xAOD::numberOfPixelHits))
107  nSiHits += dummy;
108  if (electronTP->summaryValue(dummy, xAOD::numberOfSCTOutliers))
109  nSiHits += dummy;
111  nSiHits += dummy;
112 
113  const Trk::Track* track = electronTP->track();
114 
115  // Skip TRT-only tracks
116  if (nSiHits >= m_minNSiHits) {
117  // We want to re-fit only "silicon" Trk::Tracks
118  auto electronTrackQuality = electronTP->track()->fitQuality();
119  gsfChiSquareOverNDOF = electronTrackQuality->chiSquared() /
120  electronTrackQuality->numberDoF();
121 
122  auto electronTrackRefit = std::make_unique<Trk::Track>();
124  // Add electron pointer to cache for the refitting
125  cache.electron = electron;
126  StatusCode sc = m_trkRefitTool->refitTrack(ctx, track, cache);
127 
128  if (sc == StatusCode::SUCCESS) {
129  electronTrackRefit.reset(cache.refittedTrack.release());
130  // move
131  m_trackSummaryTool->updateTrack(ctx, *electronTrackRefit);
132 
133  gsfCaloStatus = 1;
135 
136  const xAOD::Vertex* electronTrackVertex = nullptr;
137  electronTPRefit = m_particleCreatorTool->createParticle(
138  ctx, *electronTrackRefit, cPtrTrkPart, electronTrackVertex,
140  if (electronTPRefit) {
141  copyInfo(*electronTP, *electronTPRefit, !m_isAOD);
142  auto electronTrackRefitQuality = electronTrackRefit->fitQuality();
143  gsfCaloChiSquareOverNDOF = electronTrackRefitQuality->chiSquared() /
144  electronTrackRefitQuality->numberDoF();
145  } else {
147  "Can't create a new xAOD::TrackParticle from the re-fitted "
148  "Trk::Track! Using the original xAOD::TrackParticle!");
149  gsfCaloStatus = 0;
150  m_noRefTP++;
151  }
152  } else {
154  "CALO-improved Trk::Track re-fit failed! Using the original "
155  "xAOD::TrackParticle!");
156  m_failedFits++;
157  gsfCaloStatus = 0;
158  }
159  } else {
160  ATH_MSG_DEBUG("Electron "
161  << electron->index()
162  << " has a valid track particle but is a TRT-only track");
163  gsfCaloStatus = 0;
164  m_onlyTRT++;
165  }
166 
167  if (gsfCaloStatus != 1) {
168  electronTPRefit = new xAOD::TrackParticle();
169  cPtrTrkPart->push_back(electronTPRefit);
170  *electronTPRefit = *electronTP;
171  }
172  // Debug flags
173  acc_gsfCaloStatus(*electronTPRefit) = gsfCaloStatus;
174  acc_gsfChi2oNDF(*electronTPRefit) = gsfChiSquareOverNDOF;
175  acc_gsfCaloChi2oNDF(*electronTPRefit) = gsfCaloChiSquareOverNDOF;
176 
177  electronTPRefit->setTrackLink(electronTP->trackLink());
178 
179  // Add link to refitted TP to electron container
180  ElementLink<xAOD::TrackParticleContainer> linkToRefittedTrackParticle(
181  electronTPRefit, *cPtrTrkPart);
182  dec_gsfCaloTrackLink(*electron) = linkToRefittedTrackParticle;
183 
184  // Add link to initial electron to the refitted TP container
186  linkToElectron.toIndexedElement(*electronContainer, electron->index());
187  acc_usedElectronLink(*electronTPRefit) = linkToElectron;
188 
190  if (read_originalTP.isAvailable(*electronTP)) {
191  linkToOriginal = read_originalTP(*electronTP);
192  }
193  write_originalTP(*electronTPRefit) = linkToOriginal;
194  } // end of the electron container loop
195 
196  m_allNewTP += cPtrTrkPart->size();
197  return StatusCode::SUCCESS;
198 }
199 
201  xAOD::TrackParticle& created,
202  bool isRefitted) const {
203  // Add Truth decorations. Copy from the original.
204  if (m_doTruth) {
205  static const SG::AuxElement::Accessor<
207  tPL("truthParticleLink");
208  if (tPL.isAvailable(original)) {
209  const ElementLink<xAOD::TruthParticleContainer>& linkToTruth =
210  tPL(original);
211  tPL(created) = linkToTruth;
212  }
213  static const SG::AuxElement::Accessor<float> tMP("truthMatchProbability");
214  if (tMP.isAvailable(original)) {
215  float originalProbability = tMP(original);
216  tMP(created) = originalProbability;
217  }
218  static const SG::AuxElement::Accessor<int> tT("truthType");
219  if (tT.isAvailable(original)) {
220  int truthType = tT(original);
221  tT(created) = truthType;
222  }
223  static const SG::AuxElement::Accessor<int> tO("truthOrigin");
224  if (tO.isAvailable(original)) {
225  int truthOrigin = tO(original);
226  tO(created) = truthOrigin;
227  }
228  }
229 
230  // It's apparently not possible to update Trk::Track when running on AOD; copy
231  // the values from the original xAOD::TrackParticle
232  if (m_isAOD) {
233  copySummaryValue(original, created, xAOD::numberOfBLayerHits);
234  copySummaryValue(original, created, xAOD::numberOfPixelHits);
236  copySummaryValue(original, created, xAOD::numberOfSCTHits);
237  copySummaryValue(original, created, xAOD::numberOfPixelHoles);
238  copySummaryValue(original, created, xAOD::numberOfSCTHoles);
241  copySummaryValue(original, created, xAOD::numberOfTRTHits);
242  copySummaryValue(original, created, xAOD::numberOfTRTOutliers);
244  }
245 
246  // Copy shared hit content from the original xAOD::TrackParticle
247  // Taken from
248  // https://gitlab.cern.ch/atlas/athena/-/blob/master/Reconstruction/egamma/egammaAlgs/src/EMBremCollectionBuilder.cxx?ref_type=heads#L329
250  copySummaryValue(original, created,
252  copySummaryValue(original, created,
254  copySummaryValue(original, created,
256  copySummaryValue(original, created,
260  copySummaryValue(original, created, xAOD::numberOfSCTSharedHits);
261  copySummaryValue(original, created, xAOD::numberOfTRTSharedHits);
262 
263  if (isRefitted) {
264  // Figure the new number of holes
265  uint8_t dummy(0);
266  if (m_doPix) {
267  int nPixHitsRefitted =
269  int nPixOutliersRefitted =
271 
272  int nPixHitsOriginal =
274  int nPixOutliersOriginal =
276  : -1;
277  int nPixHolesOriginal =
279 
280  uint8_t nPixHolesRefitted = nPixHitsOriginal + nPixHolesOriginal +
281  nPixOutliersOriginal - nPixOutliersRefitted -
282  nPixHitsRefitted;
283 
284  created.setSummaryValue(nPixHolesRefitted, xAOD::numberOfPixelHoles);
285  }
286 
287  if (m_doSCT) {
288  int nSCTHitsRefitted =
290  int nSCTOutliersRefitted =
292 
293  int nSCTHitsOriginal =
294  original.summaryValue(dummy, xAOD::numberOfSCTHits) ? dummy : -1;
295  int nSCTHolesOriginal =
297  int nSCTOutliersOriginal =
299 
300  uint8_t nSCTHolesRefitted = nSCTHitsOriginal + nSCTHolesOriginal +
301  nSCTOutliersOriginal - nSCTOutliersRefitted -
302  nSCTHitsRefitted;
303 
304  created.setSummaryValue(nSCTHolesRefitted, xAOD::numberOfSCTHoles);
305  }
306 
307  if (m_doTRT) {
308  int nTRTHitsRefitted =
310  int nTRTOutliersRefitted =
312 
313  int nTRTHitsOriginal =
314  original.summaryValue(dummy, xAOD::numberOfTRTHits) ? dummy : -1;
315  int nTRTHolesOriginal =
317  int nTRTOutliersOriginal =
319 
320  uint8_t nTRTHolesRefitted = nTRTHitsOriginal + nTRTHolesOriginal +
321  nTRTOutliersOriginal - nTRTOutliersRefitted -
322  nTRTHitsRefitted;
323 
324  created.setSummaryValue(nTRTHolesRefitted, xAOD::numberOfTRTHoles);
325  }
326  }
327 }
328 } // namespace DerivationFramework
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:69
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:553
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
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:87
TruthParticleContainer.h
DerivationFramework::EGammaGSFCalo::m_trackSummaryTool
PublicToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
Definition: EGammaGSFCalo.h:59
xAOD::TrackParticle_v1::summaryValue
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
Definition: TrackParticle_v1.cxx:666
xAOD::TrackParticle_v1::setTrackLink
void setTrackLink(const ElementLink< TrackCollection > &track)
Set the link to the original track.
Definition: TrackParticle_v1.cxx:724
DerivationFramework::EGammaGSFCalo::finalize
virtual StatusCode finalize() override final
finalize method
Definition: EGammaGSFCalo.cxx:27
DerivationFramework::EGammaGSFCalo::m_noTrk
std::atomic< unsigned int > m_noTrk
Definition: EGammaGSFCalo.h:81
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:72
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:93
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:51
DerivationFramework::EGammaGSFCalo::m_particleCreatorTool
ToolHandle< Trk::ITrackParticleCreatorTool > m_particleCreatorTool
Tool to create track particle.
Definition: EGammaGSFCalo.h:55
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:80
DerivationFramework::EGammaGSFCalo::m_electronCollectionKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronCollectionKey
Definition: EGammaGSFCalo.h:40
DerivationFramework::EGammaGSFCalo::m_allNewTP
std::atomic< unsigned int > m_allNewTP
Definition: EGammaGSFCalo.h:86
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
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:200
DerivationFramework::EGammaGSFCalo::m_doPix
Gaudi::Property< bool > m_doPix
Definition: EGammaGSFCalo.h:67
TrackParticleAuxContainer.h
ElectronContainer.h
DerivationFramework::EGammaGSFCalo::m_noTP
std::atomic< unsigned int > m_noTP
Definition: EGammaGSFCalo.h:79
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:64
DerivationFramework::EGammaGSFCalo::m_isAOD
Gaudi::Property< bool > m_isAOD
Definition: EGammaGSFCalo.h:75
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
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:84
DerivationFramework::EGammaGSFCalo::m_OutputTrkPartContainerKey
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_OutputTrkPartContainerKey
Definition: EGammaGSFCalo.h:43
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:47
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:708
DerivationFramework::EGammaGSFCalo::initialize
virtual StatusCode initialize() override final
initialize method
Definition: EGammaGSFCalo.cxx:14
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:682
DerivationFramework::EGammaGSFCalo::m_failedFits
std::atomic< unsigned int > m_failedFits
Definition: EGammaGSFCalo.h:82
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:83
EGammaGSFCalo.h
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
DerivationFramework::EGammaGSFCalo::m_noRefTP
std::atomic< unsigned int > m_noRefTP
Definition: EGammaGSFCalo.h:85
DerivationFramework::EGammaGSFCalo::m_allElectrons
std::atomic< unsigned int > m_allElectrons
Counters.
Definition: EGammaGSFCalo.h:78
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:70
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:44
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:734
xAOD::numberOfSCTDoubleHoles
@ numberOfSCTDoubleHoles
number of Holes in both sides of a SCT module [unit8_t].
Definition: TrackingPrimitives.h:272
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.
DerivationFramework::EGammaGSFCalo::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
addBranches method
Definition: EGammaGSFCalo.cxx:46
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