ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | 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

 EGammaGSFCalo (const std::string &t, const std::string &n, const IInterface *p)
 Default constructor. More...
 
virtual ~EGammaGSFCalo ()
 Destructor. More...
 
virtual StatusCode initialize () override
 initialize method More...
 
virtual StatusCode finalize () override
 finalize method More...
 
virtual StatusCode addBranches (const EventContext &ctx) const override
 addBranches method More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 
 DeclareInterfaceID (IAugmentationTool, 1, 0)
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

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
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

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
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 29 of file EGammaGSFCalo.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ EGammaGSFCalo()

DerivationFramework::EGammaGSFCalo::EGammaGSFCalo ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Default constructor.

Definition at line 14 of file EGammaGSFCalo.cxx.

16  : AthAlgTool(t, n, p) {
17  declareInterface<DerivationFramework::IAugmentationTool>(this);
18 }

◆ ~EGammaGSFCalo()

DerivationFramework::EGammaGSFCalo::~EGammaGSFCalo ( )
virtual

Destructor.

Definition at line 20 of file EGammaGSFCalo.cxx.

20  {
21  // destructor
22 }

Member Function Documentation

◆ addBranches()

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

addBranches method

Implements DerivationFramework::IAugmentationTool.

Definition at line 60 of file EGammaGSFCalo.cxx.

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

◆ 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 214 of file EGammaGSFCalo.cxx.

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

◆ copySummaryValue()

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

Definition at line 97 of file EGammaGSFCalo.h.

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

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ DeclareInterfaceID()

DerivationFramework::IAugmentationTool::DeclareInterfaceID ( IAugmentationTool  ,
,
 
)
inherited

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode DerivationFramework::EGammaGSFCalo::finalize ( )
overridevirtual

finalize method

Definition at line 41 of file EGammaGSFCalo.cxx.

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

◆ initialize()

StatusCode DerivationFramework::EGammaGSFCalo::initialize ( )
overridevirtual

initialize method

Definition at line 28 of file EGammaGSFCalo.cxx.

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

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_allElectrons

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

Counters.

Definition at line 82 of file EGammaGSFCalo.h.

◆ m_allNewTP

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

Definition at line 90 of file EGammaGSFCalo.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doPix

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

Definition at line 71 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 73 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 74 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 76 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 44 of file EGammaGSFCalo.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_failedFits

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

Definition at line 86 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 51 of file EGammaGSFCalo.h.

◆ m_isAOD

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

Definition at line 79 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 68 of file EGammaGSFCalo.h.

◆ m_noRefTP

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

Definition at line 89 of file EGammaGSFCalo.h.

◆ m_noTP

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

Definition at line 83 of file EGammaGSFCalo.h.

◆ m_noTrk

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

Definition at line 85 of file EGammaGSFCalo.h.

◆ m_onlyTRT

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

Definition at line 84 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 47 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 59 of file EGammaGSFCalo.h.

◆ m_successfulCopyInfos

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

Definition at line 88 of file EGammaGSFCalo.h.

◆ m_successfulFits

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

Definition at line 87 of file EGammaGSFCalo.h.

◆ m_trackSummaryTool

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

Definition at line 63 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 55 of file EGammaGSFCalo.h.

◆ m_tsos

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

Definition at line 91 of file EGammaGSFCalo.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.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: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
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:91
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
athena.value
value
Definition: athena.py:124
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
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: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
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IegammaTrkRefitterTool::Cache
Struct Holding the result to return and intermediate objects Things are owned by the EDM or the uniqu...
Definition: IegammaTrkRefitterTool.h:39
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
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
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
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
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
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
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
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
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:88
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
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:47
xAOD::ElectronContainer
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/ElectronContainer.h:17
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
DerivationFramework::EGammaGSFCalo::m_gsfCaloTrackLinkKey
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_gsfCaloTrackLinkKey
Definition: EGammaGSFCalo.h:51
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
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
a
TList * a
Definition: liststreamerinfos.cxx:10
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.
h
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:87
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
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
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
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
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
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
fitman.k
k
Definition: fitman.py:528