ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DerivationFramework::EGammaGSFCalo Class Reference

#include <EGammaGSFCalo.h>

Inheritance diagram for DerivationFramework::EGammaGSFCalo:
Collaboration diagram for DerivationFramework::EGammaGSFCalo:

Public Member Functions

virtual StatusCode initialize () override final
 initialize method More...
 
virtual StatusCode finalize () override final
 finalize method More...
 
virtual StatusCode addBranches (const EventContext &ctx) const override final
 addBranches method More...
 

Private Member Functions

void copyInfo (const xAOD::TrackParticle &original, xAOD::TrackParticle &created, bool isRefitted) const
 Copy TrackParticle info from the original TP. More...
 
void copySummaryValue (const xAOD::TrackParticle &src, xAOD::TrackParticle &dest, const xAOD::SummaryType &information) const
 

Private Attributes

SG::ReadHandleKey< xAOD::ElectronContainerm_electronCollectionKey
 
SG::WriteHandleKey< xAOD::TrackParticleContainerm_OutputTrkPartContainerKey
 
SG::WriteDecorHandleKey< xAOD::ElectronContainerm_gsfCaloTrackLinkKey
 
ToolHandle< IegammaTrkRefitterToolm_trkRefitTool
 The track refitter. More...
 
ToolHandle< Trk::ITrackParticleCreatorToolm_particleCreatorTool
 Tool to create track particle. More...
 
PublicToolHandle< Trk::IExtendedTrackSummaryToolm_trackSummaryTool
 
Gaudi::Property< int > m_minNSiHits
 Minimum number of silicon hits on track before it is allowed to be refitted. More...
 
Gaudi::Property< bool > m_doPix
 
Gaudi::Property< bool > m_doSCT {this, "useSCT", true, "Bool to use SCT hits"}
 
Gaudi::Property< bool > m_doTRT {this, "useTRT", true, "Bool to use TRT hits"}
 
Gaudi::Property< bool > m_doTruth
 
Gaudi::Property< bool > m_isAOD {this, "isAOD", true, "AOD flag"}
 
std::atomic< unsigned int > m_allElectrons = 0
 Counters. More...
 
std::atomic< unsigned int > m_noTP = 0
 
std::atomic< unsigned int > m_onlyTRT = 0
 
std::atomic< unsigned int > m_noTrk = 0
 
std::atomic< unsigned int > m_failedFits = 0
 
std::atomic< unsigned int > m_successfulFits = 0
 
std::atomic< unsigned int > m_successfulCopyInfos = 0
 
std::atomic< unsigned int > m_noRefTP = 0
 
std::atomic< unsigned int > m_allNewTP = 0
 
std::atomic< unsigned int > m_tsos = 0
 

Detailed Description

Definition at line 29 of file EGammaGSFCalo.h.

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::EGammaGSFCalo::addBranches ( const EventContext &  ctx) const
finaloverridevirtual

addBranches method

Definition at line 46 of file EGammaGSFCalo.cxx.

46  {
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());
81  const xAOD::ElectronContainer* electronContainer = ehandle.cptr();
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 }

◆ copyInfo()

void DerivationFramework::EGammaGSFCalo::copyInfo ( const xAOD::TrackParticle original,
xAOD::TrackParticle created,
bool  isRefitted 
) const
private

Copy TrackParticle info from the original TP.

Definition at line 200 of file EGammaGSFCalo.cxx.

202  {
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 }

◆ copySummaryValue()

void DerivationFramework::EGammaGSFCalo::copySummaryValue ( const xAOD::TrackParticle src,
xAOD::TrackParticle dest,
const xAOD::SummaryType information 
) const
inlineprivate

Definition at line 95 of file EGammaGSFCalo.h.

97  {
98  uint8_t value = summaryValueInt(src, information, 0);
99  dest.setSummaryValue(value, information);
100  }

◆ finalize()

StatusCode DerivationFramework::EGammaGSFCalo::finalize ( )
finaloverridevirtual

finalize method

Definition at line 27 of file EGammaGSFCalo.cxx.

27  {
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 }

◆ initialize()

StatusCode DerivationFramework::EGammaGSFCalo::initialize ( )
finaloverridevirtual

initialize method

Definition at line 14 of file EGammaGSFCalo.cxx.

14  {
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 }

Member Data Documentation

◆ m_allElectrons

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_allElectrons = 0
mutableprivate

Counters.

Definition at line 80 of file EGammaGSFCalo.h.

◆ m_allNewTP

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_allNewTP = 0
mutableprivate

Definition at line 88 of file EGammaGSFCalo.h.

◆ m_doPix

Gaudi::Property<bool> DerivationFramework::EGammaGSFCalo::m_doPix
private
Initial value:
{this, "usePixel", true,
"Bool to use pixel hits"}

Definition at line 69 of file EGammaGSFCalo.h.

◆ m_doSCT

Gaudi::Property<bool> DerivationFramework::EGammaGSFCalo::m_doSCT {this, "useSCT", true, "Bool to use SCT hits"}
private

Definition at line 71 of file EGammaGSFCalo.h.

◆ m_doTRT

Gaudi::Property<bool> DerivationFramework::EGammaGSFCalo::m_doTRT {this, "useTRT", true, "Bool to use TRT hits"}
private

Definition at line 72 of file EGammaGSFCalo.h.

◆ m_doTruth

Gaudi::Property<bool> DerivationFramework::EGammaGSFCalo::m_doTruth
private
Initial value:
{this, "useTruth", true,
"Bool to add truth decorations"}

Definition at line 74 of file EGammaGSFCalo.h.

◆ m_electronCollectionKey

SG::ReadHandleKey<xAOD::ElectronContainer> DerivationFramework::EGammaGSFCalo::m_electronCollectionKey
private
Initial value:
{
this, "ElectronCollectionName", "Electrons", "Input electron collection"}

Definition at line 42 of file EGammaGSFCalo.h.

◆ m_failedFits

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_failedFits = 0
mutableprivate

Definition at line 84 of file EGammaGSFCalo.h.

◆ m_gsfCaloTrackLinkKey

SG::WriteDecorHandleKey<xAOD::ElectronContainer> DerivationFramework::EGammaGSFCalo::m_gsfCaloTrackLinkKey
private
Initial value:
{
this, "GSFCaloTrackLinkKey", "Electrons.gsfCaloTrackParticleLink",
"Decoration linking electrons to refitted TrackParticles"}

Definition at line 49 of file EGammaGSFCalo.h.

◆ m_isAOD

Gaudi::Property<bool> DerivationFramework::EGammaGSFCalo::m_isAOD {this, "isAOD", true, "AOD flag"}
private

Definition at line 77 of file EGammaGSFCalo.h.

◆ m_minNSiHits

Gaudi::Property<int> DerivationFramework::EGammaGSFCalo::m_minNSiHits
private
Initial value:
{this, "minNSiHits", 4,
"Minimum number of silicon hits on track "
"before it is allowed to be refitted"}

Minimum number of silicon hits on track before it is allowed to be refitted.

Definition at line 66 of file EGammaGSFCalo.h.

◆ m_noRefTP

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_noRefTP = 0
mutableprivate

Definition at line 87 of file EGammaGSFCalo.h.

◆ m_noTP

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_noTP = 0
mutableprivate

Definition at line 81 of file EGammaGSFCalo.h.

◆ m_noTrk

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_noTrk = 0
mutableprivate

Definition at line 83 of file EGammaGSFCalo.h.

◆ m_onlyTRT

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_onlyTRT = 0
mutableprivate

Definition at line 82 of file EGammaGSFCalo.h.

◆ m_OutputTrkPartContainerKey

SG::WriteHandleKey<xAOD::TrackParticleContainer> DerivationFramework::EGammaGSFCalo::m_OutputTrkPartContainerKey
private
Initial value:
{
this, "OutputTrkPartContainerName", "GSFCaloContainer",
"Output GSF+Calo container"}

Definition at line 45 of file EGammaGSFCalo.h.

◆ m_particleCreatorTool

ToolHandle<Trk::ITrackParticleCreatorTool> DerivationFramework::EGammaGSFCalo::m_particleCreatorTool
private
Initial value:
{
this, "TrackParticleCreatorTool", "TrackParticleCreatorTool",
"TrackParticle creator tool"}

Tool to create track particle.

Definition at line 57 of file EGammaGSFCalo.h.

◆ m_successfulCopyInfos

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_successfulCopyInfos = 0
mutableprivate

Definition at line 86 of file EGammaGSFCalo.h.

◆ m_successfulFits

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_successfulFits = 0
mutableprivate

Definition at line 85 of file EGammaGSFCalo.h.

◆ m_trackSummaryTool

PublicToolHandle<Trk::IExtendedTrackSummaryTool> DerivationFramework::EGammaGSFCalo::m_trackSummaryTool
private
Initial value:
{
this, "TrackSummaryTool", "Trk::TrackSummaryTool/AtlasTrackSummaryTool"}

Definition at line 61 of file EGammaGSFCalo.h.

◆ m_trkRefitTool

ToolHandle<IegammaTrkRefitterTool> DerivationFramework::EGammaGSFCalo::m_trkRefitTool
private
Initial value:
{
this, "TrackRefitTool", "ElectronRefitterTool", "Track refitter tool"}

The track refitter.

Definition at line 53 of file EGammaGSFCalo.h.

◆ m_tsos

std::atomic<unsigned int> DerivationFramework::EGammaGSFCalo::m_tsos = 0
mutableprivate

Definition at line 89 of file EGammaGSFCalo.h.


The documentation for this class was generated from the following files:
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:71
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
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
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
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:89
DerivationFramework::EGammaGSFCalo::m_trackSummaryTool
PublicToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
Definition: EGammaGSFCalo.h:61
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
athena.value
value
Definition: athena.py:124
DerivationFramework::EGammaGSFCalo::m_noTrk
std::atomic< unsigned int > m_noTrk
Definition: EGammaGSFCalo.h:83
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:74
perfmonmt-printer.dest
dest
Definition: perfmonmt-printer.py:189
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:95
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:53
DerivationFramework::EGammaGSFCalo::m_particleCreatorTool
ToolHandle< Trk::ITrackParticleCreatorTool > m_particleCreatorTool
Tool to create track particle.
Definition: EGammaGSFCalo.h:57
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:82
DerivationFramework::EGammaGSFCalo::m_electronCollectionKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronCollectionKey
Definition: EGammaGSFCalo.h:42
DerivationFramework::EGammaGSFCalo::m_allNewTP
std::atomic< unsigned int > m_allNewTP
Definition: EGammaGSFCalo.h:88
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:69
DerivationFramework::EGammaGSFCalo::m_noTP
std::atomic< unsigned int > m_noTP
Definition: EGammaGSFCalo.h:81
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:66
DerivationFramework::EGammaGSFCalo::m_isAOD
Gaudi::Property< bool > m_isAOD
Definition: EGammaGSFCalo.h:77
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
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
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
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::m_successfulCopyInfos
std::atomic< unsigned int > m_successfulCopyInfos
Definition: EGammaGSFCalo.h:86
xAOD::EgammaHelpers::summaryValueInt
int summaryValueInt(const xAOD::TrackParticle &tp, const xAOD::SummaryType &info, int deflt=-999)
return the summary value for a TrackParticle or default value (-999) (to be used mostly in python whe...
Definition: EgammaxAODHelpers.cxx:161
DerivationFramework::EGammaGSFCalo::m_OutputTrkPartContainerKey
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_OutputTrkPartContainerKey
Definition: EGammaGSFCalo.h:45
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:49
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
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:84
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
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:85
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
DerivationFramework::EGammaGSFCalo::m_noRefTP
std::atomic< unsigned int > m_noRefTP
Definition: EGammaGSFCalo.h:87
DerivationFramework::EGammaGSFCalo::m_allElectrons
std::atomic< unsigned int > m_allElectrons
Counters.
Definition: EGammaGSFCalo.h:80
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:72
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
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.
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