ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
MuonCombined::MuonDressingTool Class Reference

#include <MuonDressingTool.h>

Inheritance diagram for MuonCombined::MuonDressingTool:
Collaboration diagram for MuonCombined::MuonDressingTool:

Public Member Functions

 MuonDressingTool (const std::string &type, const std::string &name, const IInterface *parent)
 
 ~MuonDressingTool ()=default
 
StatusCode initialize ()
 
void addMuonHitSummary (xAOD::Muon &muon, const Trk::TrackSummary *summary=0) const
 add muon hit summary information to a Muon, uses the MuonTrackSummary if provided 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 > &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
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 IAlgTool interface. More...
 

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

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

Private Attributes

ToolHandle< Muon::IMuonHitSummaryToolm_hitSummaryTool {this, "MuonHitSummaryTool", "Muon::MuonHitSummaryTool/MuonHitSummaryTool"}
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 
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 21 of file MuonDressingTool.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

◆ MuonDressingTool()

MuonCombined::MuonDressingTool::MuonDressingTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 13 of file MuonDressingTool.cxx.

13  :
15  declareInterface<xAOD::IMuonDressingTool>(this);
16  }

◆ ~MuonDressingTool()

MuonCombined::MuonDressingTool::~MuonDressingTool ( )
default

Member Function Documentation

◆ addMuonHitSummary()

void MuonCombined::MuonDressingTool::addMuonHitSummary ( xAOD::Muon muon,
const Trk::TrackSummary summary = 0 
) const
virtual

add muon hit summary information to a Muon, uses the MuonTrackSummary if provided

Implements xAOD::IMuonDressingTool.

Definition at line 24 of file MuonDressingTool.cxx.

24  {
25  uint8_t mainSector = 0;
26  uint8_t secondSector = 0;
27 
36 
45 
50 
55 
60 
65 
70 
75 
80 
85 
90 
95 
100 
105 
106  // New Small Wheel
107  // STGC
110 
113 
116 
119 
120  // MM
121  uint8_t MMHits = 0;
122  uint8_t MMHoles = 0;
123  // Note: there is currently no MuonStationIndex for the two MM layers
124  // In the future it might be needed to add them in order to have
125  // separate counters as follows
126  // uint8_t Layer1MMHits = 0;
127  // uint8_t Layer2MMHits = 0;
128  // uint8_t Layer1MMHoles = 0;
129  // uint8_t Layer2MMHoles = 0;
130 
131  uint8_t innerCloseHits = 0;
132  uint8_t middleCloseHits = 0;
133  uint8_t outerCloseHits = 0;
134  uint8_t extendedCloseHits = 0;
135 
136  uint8_t innerOutBoundsHits = 0;
137  uint8_t middleOutBoundsHits = 0;
138  uint8_t outerOutBoundsHits = 0;
139  uint8_t extendedOutBoundsHits = 0;
140 
141  uint8_t combinedTrackOutBoundsHits = 0;
142 
150 
151  uint8_t isEndcap = 0;
152  uint8_t isSmall = 0;
153 
154  uint8_t cscEtaHits = 0;
156 
157  const Trk::TrackSummary* mstpTrackSummary = nullptr;
158 
159  if (!trackSummary) {
160  // get link to track particle
161  ElementLink<xAOD::TrackParticleContainer> tpLink = muon.combinedTrackParticleLink();
162  if (!tpLink.isValid()) tpLink = muon.extrapolatedMuonSpectrometerTrackParticleLink();
163  if (!tpLink.isValid()) tpLink = muon.msOnlyExtrapolatedMuonSpectrometerTrackParticleLink();
164  if (!tpLink.isValid()) tpLink = muon.muonSpectrometerTrackParticleLink();
165  if (tpLink.isValid()) {
166  // check link to track
167  if ((*tpLink)->trackLink().isValid()) trackSummary = (*tpLink)->track()->trackSummary();
168  }
169  }
170 
171  if (trackSummary) {
173  mainSector = summary.mainSector;
174  secondSector = mainSector;
175  for (auto sec : summary.sectors) {
176  if (sec != summary.mainSector) secondSector = sec;
177  }
178 
179  numberOfPrecisionLayers = summary.nprecisionLayers;
180  numberOfPrecisionHoleLayers = summary.nprecisionHoleLayers;
181  numberOfPhiLayers = summary.nphiLayers;
182  numberOfPhiHoleLayers = summary.nphiHoleLayers;
183  numberOfTriggerEtaLayers = summary.ntrigEtaLayers;
184  numberOfTriggerEtaHoleLayers = summary.ntrigEtaHoleLayers;
185  numberOfGoodPrecisionLayers = summary.nprecisionGoodLayers;
186 
187  if (summary.isEndcap) isEndcap = 1;
188  if (summary.isSmall) isSmall = 1;
189 
190  for (auto layer : summary.stationLayers) {
191  combinedTrackOutBoundsHits += layer.second.noutBoundsHits;
193  innerCloseHits += layer.second.nprecisionCloseHits;
194  }
196  middleCloseHits += layer.second.nprecisionCloseHits;
197  }
199  outerCloseHits += layer.second.nprecisionCloseHits;
200  }
202  extendedCloseHits += layer.second.nprecisionCloseHits;
203  }
204  }
205 
206  // get out-of-bounds from ME track, shouldn't be any on combined track anyway
207  const ElementLink<xAOD::TrackParticleContainer>& mstpLink = muon.muonSpectrometerTrackParticleLink();
208  if (mstpLink.isValid()) {
209  if ((*mstpLink)->trackLink().isValid()) mstpTrackSummary = (*mstpLink)->track()->trackSummary();
210 
211  if (mstpTrackSummary) {
212  for (auto layer : m_hitSummaryTool->summary(*mstpTrackSummary).stationLayers) {
214  innerOutBoundsHits += layer.second.noutBoundsHits;
215  }
217  middleOutBoundsHits += layer.second.noutBoundsHits;
218  }
220  outerOutBoundsHits += layer.second.noutBoundsHits;
221  }
223  extendedOutBoundsHits += layer.second.noutBoundsHits;
224  }
225  }
226  }
227  }
228 
229  if (trackSummary->muonTrackSummary()) {
230  const Trk::MuonTrackSummary& mts = *trackSummary->muonTrackSummary();
231 
232  // loop over chambers
233  std::vector<Trk::MuonTrackSummary::ChamberHitSummary>::const_iterator chit = mts.chamberHitSummary().begin();
234  std::vector<Trk::MuonTrackSummary::ChamberHitSummary>::const_iterator chit_end = mts.chamberHitSummary().end();
235  for (; chit != chit_end; ++chit) {
236  const Identifier& chId = chit->chamberId();
237  bool isMdt = m_idHelperSvc->isMdt(chId);
238  bool isCsc = m_idHelperSvc->isCsc(chId);
239  bool isMM = m_idHelperSvc->isMM(chId);
240  bool issTgc = m_idHelperSvc->issTgc(chId);
241  if (isMdt || isMM || isCsc || issTgc) {
243  uint8_t* hits = nullptr;
244  uint8_t* holes = nullptr;
247  hits = &innerSmallHits;
251  hits = &innerLargeHits;
260  hits = &outerSmallHits;
263  hits = &outerLargeHits;
268  } else if (index == Muon::MuonStationIndex::EEL) {
271  } else {
272  ATH_MSG_WARNING("Unknown ChamberIndex " << Muon::MuonStationIndex::chName(index) << "that is found for "
273  << m_idHelperSvc->toString(chId));
274  }
275  if (hits) {
276  if (isMdt || isMM) {
277  // MM does not have netaHits(), but only nHits() as Mdt
278  *hits += chit->nhits();
279  *holes += chit->nholes();
280  } else { // any other technology
281  *hits += chit->netaHits();
282  *holes += chit->etaProjection().nholes;
283  }
284  }
285  }
286  // Fill MM hits and holes
287  if (isMM) {
288  MMHits += chit->nhits();
289  MMHoles += chit->nholes();
290  }
291  if (isCsc) {
292  cscEtaHits += chit->etaProjection().nhits;
293  cscUnspoiledEtaHits += chit->etaProjection().ngoodHits;
294  }
295 
296  if (!isMdt && !isMM) {
297  uint8_t* phiHits = nullptr;
298  uint8_t* phiHoles = nullptr;
299  uint8_t* etaHits = nullptr;
300  uint8_t* etaHoles = nullptr;
305  phiHits = &phiLayer1Hits;
306  phiHoles = &phiLayer1Holes;
307  etaHits = &etaLayer1Hits;
308  etaHoles = &etaLayer1Holes;
311  phiHits = &phiLayer2Hits;
312  phiHoles = &phiLayer2Holes;
313  etaHits = &etaLayer2Hits;
314  etaHoles = &etaLayer2Holes;
316  phiHits = &phiLayer3Hits;
317  phiHoles = &phiLayer3Holes;
318  etaHits = &etaLayer3Hits;
319  etaHoles = &etaLayer3Holes;
321  phiHits = &phiLayer4Hits;
322  phiHoles = &phiLayer4Holes;
323  etaHits = &etaLayer4Hits;
324  etaHoles = &etaLayer4Holes;
325  } else {
326  ATH_MSG_WARNING("Unknown ChamberIndex" << Muon::MuonStationIndex::phiName(index) << " "
327  << m_idHelperSvc->toString(chId));
328  }
329  // split into RPC and TGC
330  // First RPC layer
332  phiLayer1RPCHits += chit->nphiHits();
333  etaLayer1RPCHits += chit->netaHits();
334  phiLayer1RPCHoles += chit->phiProjection().nholes;
335  etaLayer1RPCHoles += chit->etaProjection().nholes;
336  }
337  // Second RPC layer
338  else if (index == Muon::MuonStationIndex::BM2) {
339  phiLayer2RPCHits += chit->nphiHits();
340  etaLayer2RPCHits += chit->netaHits();
341  phiLayer2RPCHoles += chit->phiProjection().nholes;
342  etaLayer2RPCHoles += chit->etaProjection().nholes;
343  }
344  // Third RPC layer
345  else if (index == Muon::MuonStationIndex::BO1) {
346  phiLayer3RPCHits += chit->nphiHits();
347  etaLayer3RPCHits += chit->netaHits();
348  phiLayer3RPCHoles += chit->phiProjection().nholes;
349  etaLayer3RPCHoles += chit->etaProjection().nholes;
350  }
351  // Fourth RPC layer
352  else if (index == Muon::MuonStationIndex::BO2) {
353  phiLayer4RPCHits += chit->nphiHits();
354  etaLayer4RPCHits += chit->netaHits();
355  phiLayer4RPCHoles += chit->phiProjection().nholes;
356  etaLayer4RPCHoles += chit->etaProjection().nholes;
357  }
358  // First TGC layer
359  else if (index == Muon::MuonStationIndex::T4) {
360  phiLayer1TGCHits += chit->nphiHits();
361  etaLayer1TGCHits += chit->netaHits();
362  phiLayer1TGCHoles += chit->phiProjection().nholes;
363  etaLayer1TGCHoles += chit->etaProjection().nholes;
364  }
365  // Second TGC layer
366  else if (index == Muon::MuonStationIndex::T1) {
367  phiLayer2TGCHits += chit->nphiHits();
368  etaLayer2TGCHits += chit->netaHits();
369  phiLayer2TGCHoles += chit->phiProjection().nholes;
370  etaLayer2TGCHoles += chit->etaProjection().nholes;
371  }
372  // Third TGC layer
373  else if (index == Muon::MuonStationIndex::T2) {
374  phiLayer3TGCHits += chit->nphiHits();
375  etaLayer3TGCHits += chit->netaHits();
376  phiLayer3TGCHoles += chit->phiProjection().nholes;
377  etaLayer3TGCHoles += chit->etaProjection().nholes;
378  }
379  // Fourth TGC layer
380  else if (index == Muon::MuonStationIndex::T3) {
381  phiLayer4TGCHits += chit->nphiHits();
382  etaLayer4TGCHits += chit->netaHits();
383  phiLayer4TGCHoles += chit->phiProjection().nholes;
384  etaLayer4TGCHoles += chit->etaProjection().nholes;
385  }
386  // First STGC layer
387  else if (index == Muon::MuonStationIndex::STGC1) {
388  phiLayer1STGCHits += chit->nphiHits();
389  etaLayer1STGCHits += chit->netaHits();
390  phiLayer1STGCHoles += chit->phiProjection().nholes;
391  etaLayer1STGCHoles += chit->etaProjection().nholes;
392  }
393  // Second STGC layer
394  else if (index == Muon::MuonStationIndex::STGC2) {
395  phiLayer2STGCHits += chit->nphiHits();
396  etaLayer2STGCHits += chit->netaHits();
397  phiLayer2STGCHoles += chit->phiProjection().nholes;
398  etaLayer2STGCHoles += chit->etaProjection().nholes;
399  }
400 
401  if (phiHits) {
402  *phiHits += chit->nphiHits();
403  *phiHoles += chit->phiProjection().nholes;
404  }
405  if (etaHits && !isCsc) {
406  *etaHits += chit->netaHits();
407  *etaHoles += chit->etaProjection().nholes;
408  }
409  }
410  }
411  }
412  }
413 
421 
422  muon.setSummaryValue(mainSector, xAOD::primarySector);
423  muon.setSummaryValue(secondSector, xAOD::secondarySector);
424  muon.setSummaryValue(innerSmallHits, xAOD::innerSmallHits);
425  muon.setSummaryValue(innerLargeHits, xAOD::innerLargeHits);
426  muon.setSummaryValue(middleSmallHits, xAOD::middleSmallHits);
427  muon.setSummaryValue(middleLargeHits, xAOD::middleLargeHits);
428  muon.setSummaryValue(outerSmallHits, xAOD::outerSmallHits);
429  muon.setSummaryValue(outerLargeHits, xAOD::outerLargeHits);
432 
433  muon.setSummaryValue(innerSmallHoles, xAOD::innerSmallHoles);
434  muon.setSummaryValue(innerLargeHoles, xAOD::innerLargeHoles);
435  muon.setSummaryValue(middleSmallHoles, xAOD::middleSmallHoles);
436  muon.setSummaryValue(middleLargeHoles, xAOD::middleLargeHoles);
437  muon.setSummaryValue(outerSmallHoles, xAOD::outerSmallHoles);
438  muon.setSummaryValue(outerLargeHoles, xAOD::outerLargeHoles);
441 
442  muon.setSummaryValue(phiLayer1Hits, xAOD::phiLayer1Hits);
443  muon.setSummaryValue(phiLayer2Hits, xAOD::phiLayer2Hits);
444  muon.setSummaryValue(phiLayer3Hits, xAOD::phiLayer3Hits);
445  muon.setSummaryValue(phiLayer4Hits, xAOD::phiLayer4Hits);
446 
447  muon.setSummaryValue(etaLayer1Hits, xAOD::etaLayer1Hits);
448  muon.setSummaryValue(etaLayer2Hits, xAOD::etaLayer2Hits);
449  muon.setSummaryValue(etaLayer3Hits, xAOD::etaLayer3Hits);
450  muon.setSummaryValue(etaLayer4Hits, xAOD::etaLayer4Hits);
451 
452  muon.setSummaryValue(phiLayer1Holes, xAOD::phiLayer1Holes);
453  muon.setSummaryValue(phiLayer2Holes, xAOD::phiLayer2Holes);
454  muon.setSummaryValue(phiLayer3Holes, xAOD::phiLayer3Holes);
455  muon.setSummaryValue(phiLayer4Holes, xAOD::phiLayer4Holes);
456 
457  muon.setSummaryValue(etaLayer1Holes, xAOD::etaLayer1Holes);
458  muon.setSummaryValue(etaLayer2Holes, xAOD::etaLayer2Holes);
459  muon.setSummaryValue(etaLayer3Holes, xAOD::etaLayer3Holes);
460  muon.setSummaryValue(etaLayer4Holes, xAOD::etaLayer4Holes);
461 
462  muon.setSummaryValue(phiLayer1RPCHits, xAOD::phiLayer1RPCHits);
463  muon.setSummaryValue(phiLayer2RPCHits, xAOD::phiLayer2RPCHits);
464  muon.setSummaryValue(phiLayer3RPCHits, xAOD::phiLayer3RPCHits);
465  muon.setSummaryValue(phiLayer4RPCHits, xAOD::phiLayer4RPCHits);
466 
467  muon.setSummaryValue(etaLayer1RPCHits, xAOD::etaLayer1RPCHits);
468  muon.setSummaryValue(etaLayer2RPCHits, xAOD::etaLayer2RPCHits);
469  muon.setSummaryValue(etaLayer3RPCHits, xAOD::etaLayer3RPCHits);
470  muon.setSummaryValue(etaLayer4RPCHits, xAOD::etaLayer4RPCHits);
471 
476 
481 
482  muon.setSummaryValue(phiLayer1TGCHits, xAOD::phiLayer1TGCHits);
483  muon.setSummaryValue(phiLayer2TGCHits, xAOD::phiLayer2TGCHits);
484  muon.setSummaryValue(phiLayer3TGCHits, xAOD::phiLayer3TGCHits);
485  muon.setSummaryValue(phiLayer4TGCHits, xAOD::phiLayer4TGCHits);
486 
487  muon.setSummaryValue(etaLayer1TGCHits, xAOD::etaLayer1TGCHits);
488  muon.setSummaryValue(etaLayer2TGCHits, xAOD::etaLayer2TGCHits);
489  muon.setSummaryValue(etaLayer3TGCHits, xAOD::etaLayer3TGCHits);
490  muon.setSummaryValue(etaLayer4TGCHits, xAOD::etaLayer4TGCHits);
491 
496 
501 
502  // New Small Wheel
503  // STGC
506 
509 
512 
515 
516  // MM
517  muon.setSummaryValue(MMHits, xAOD::MMHits);
518  muon.setSummaryValue(MMHoles, xAOD::MMHoles);
519 
520  muon.setSummaryValue(innerCloseHits, xAOD::innerClosePrecisionHits);
521  muon.setSummaryValue(middleCloseHits, xAOD::middleClosePrecisionHits);
522  muon.setSummaryValue(outerCloseHits, xAOD::outerClosePrecisionHits);
523  muon.setSummaryValue(extendedCloseHits, xAOD::extendedClosePrecisionHits);
524 
525  muon.setSummaryValue(innerOutBoundsHits, xAOD::innerOutBoundsPrecisionHits);
526  muon.setSummaryValue(middleOutBoundsHits, xAOD::middleOutBoundsPrecisionHits);
527  muon.setSummaryValue(outerOutBoundsHits, xAOD::outerOutBoundsPrecisionHits);
528  muon.setSummaryValue(extendedOutBoundsHits, xAOD::extendedOutBoundsPrecisionHits);
529 
530  muon.setSummaryValue(combinedTrackOutBoundsHits, xAOD::combinedTrackOutBoundsPrecisionHits);
531 
532  muon.setSummaryValue(isEndcap, xAOD::isEndcapGoodLayers);
533  muon.setSummaryValue(isSmall, xAOD::isSmallGoodSectors);
534 
535  muon.setSummaryValue(cscEtaHits, xAOD::cscEtaHits);
537  }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  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 > &  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 > &  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 > &  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  }

◆ 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 > &  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

◆ initialize()

StatusCode MuonCombined::MuonDressingTool::initialize ( )

Definition at line 18 of file MuonDressingTool.cxx.

18  {
19  ATH_CHECK(m_hitSummaryTool.retrieve());
20  ATH_CHECK(m_idHelperSvc.retrieve());
21  return StatusCode::SUCCESS;
22  }

◆ 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.

◆ interfaceID()

const InterfaceID & xAOD::IMuonDressingTool::interfaceID ( )
inlinestaticinherited

IAlgTool interface.

Definition at line 29 of file IMuonDressingTool.h.

30  {
31  return IID_IMuonDressingTool;
32  }

◆ 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_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_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_hitSummaryTool

ToolHandle<Muon::IMuonHitSummaryTool> MuonCombined::MuonDressingTool::m_hitSummaryTool {this, "MuonHitSummaryTool", "Muon::MuonHitSummaryTool/MuonHitSummaryTool"}
private

Definition at line 31 of file MuonDressingTool.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> MuonCombined::MuonDressingTool::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
private

Definition at line 32 of file MuonDressingTool.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::phiLayer1STGCHoles
@ phiLayer1STGCHoles
number of phi holes in the first STGC trigger layer (STGC1)
Definition: TrackingPrimitives.h:430
Muon::MuonStationIndex::BIS
@ BIS
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::chName
static const std::string & chName(ChIndex index)
convert ChIndex into a string
Definition: MuonStationIndex.cxx:157
xAOD::phiLayer1Hits
@ phiLayer1Hits
number of phi hits in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:348
xAOD::etaLayer4TGCHoles
@ etaLayer4TGCHoles
number of eta holes in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:420
Muon::MuonStationIndex::BE
@ BE
Definition: MuonStationIndex.h:25
xAOD::phiLayer2STGCHits
@ phiLayer2STGCHits
number of phi hits in the second STGC trigger layer (STGC2)
Definition: TrackingPrimitives.h:425
Muon::MuonStationIndex::CSS
@ CSS
Definition: MuonStationIndex.h:18
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:195
xAOD::primarySector
@ primarySector
primary sector crossed by the muon
Definition: TrackingPrimitives.h:327
MuonCombined::MuonDressingTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonDressingTool.h:32
xAOD::etaLayer2RPCHoles
@ etaLayer2RPCHoles
number of eta holes in the second RPC trigger layer (BML2)
Definition: TrackingPrimitives.h:398
xAOD::etaLayer1Hits
@ etaLayer1Hits
number of eta hits in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:353
MuonCombined::MuonDressingTool::m_hitSummaryTool
ToolHandle< Muon::IMuonHitSummaryTool > m_hitSummaryTool
Definition: MuonDressingTool.h:31
xAOD::etaLayer2TGCHoles
@ etaLayer2TGCHoles
number of eta holes in the second TGC trigger layer (T1)
Definition: TrackingPrimitives.h:418
xAOD::phiLayer2TGCHoles
@ phiLayer2TGCHoles
number of phi holes in the second TGC trigger layer (T1)
Definition: TrackingPrimitives.h:413
xAOD::phiLayer3RPCHoles
@ phiLayer3RPCHoles
number of phi holes in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:394
xAOD::phiLayer3Hits
@ phiLayer3Hits
number of phi hits in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:350
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
xAOD::numberOfPrecisionHoleLayers
@ numberOfPrecisionHoleLayers
layers with holes AND no hits [unit8_t].
Definition: TrackingPrimitives.h:289
xAOD::phiLayer2Holes
@ phiLayer2Holes
number of phi holes in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:359
xAOD::phiLayer4Hits
@ phiLayer4Hits
number of phi hits in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:351
Muon::MuonStationIndex::STGC1
@ STGC1
Definition: MuonStationIndex.h:33
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
Muon::MuonStationIndex::T1
@ T1
Definition: MuonStationIndex.h:33
xAOD::etaLayer3TGCHits
@ etaLayer3TGCHits
number of eta hits in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:409
Muon::MuonStationIndex::EEL
@ EEL
Definition: MuonStationIndex.h:18
xAOD::outerClosePrecisionHits
@ outerClosePrecisionHits
number of close precision hits in the outer layer
Definition: TrackingPrimitives.h:370
Muon::MuonStationIndex::EO
@ EO
Definition: MuonStationIndex.h:26
xAOD::etaLayer3RPCHoles
@ etaLayer3RPCHoles
number of eta holes in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:399
index
Definition: index.py:1
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
xAOD::etaLayer3Holes
@ etaLayer3Holes
number of eta holes in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:365
InDetDD::holes
@ holes
Definition: InDetDD_Defs.h:17
xAOD::phiLayer1RPCHits
@ phiLayer1RPCHits
number of phi hits in the first RPC trigger layer (BML1)
Definition: TrackingPrimitives.h:382
Muon::MuonStationIndex::BO1
@ BO1
Definition: MuonStationIndex.h:33
xAOD::phiLayer1TGCHits
@ phiLayer1TGCHits
number of phi hits in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:402
Muon::MuonStationIndex::BML
@ BML
Definition: MuonStationIndex.h:17
xAOD::extendedSmallHoles
@ extendedSmallHoles
number of precision holes in the extended small layer
Definition: TrackingPrimitives.h:345
xAOD::phiLayer3RPCHits
@ phiLayer3RPCHits
number of phi hits in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:384
xAOD::etaLayer3RPCHits
@ etaLayer3RPCHits
number of eta hits in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:389
xAOD::innerOutBoundsPrecisionHits
@ innerOutBoundsPrecisionHits
number of out-of-bounds hits in the inner layer
Definition: TrackingPrimitives.h:373
Muon::MuonStationIndex::BI1
@ BI1
Definition: MuonStationIndex.h:33
xAOD::etaLayer1STGCHoles
@ etaLayer1STGCHoles
number of eta holes in the first STGC trigger layer (STGC1)
Definition: TrackingPrimitives.h:433
xAOD::etaLayer2TGCHits
@ etaLayer2TGCHits
number of eta hits in the second TGC trigger layer (T1)
Definition: TrackingPrimitives.h:408
xAOD::numberOfPhiHoleLayers
@ numberOfPhiHoleLayers
layers with trigger phi holes but no hits [unit8_t].
Definition: TrackingPrimitives.h:291
xAOD::extendedClosePrecisionHits
@ extendedClosePrecisionHits
number of close precision hits in the extended layer
Definition: TrackingPrimitives.h:371
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
Muon::IMuonHitSummaryTool::CompactSummary
Definition: IMuonHitSummaryTool.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
xAOD::phiLayer4TGCHits
@ phiLayer4TGCHits
number of phi hits in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:405
Muon::MuonStationIndex::BI
@ BI
Definition: MuonStationIndex.h:25
xAOD::MMHoles
@ MMHoles
Definition: TrackingPrimitives.h:438
xAOD::middleLargeHoles
@ middleLargeHoles
number of precision holes in the middle large layer
Definition: TrackingPrimitives.h:342
xAOD::etaLayer2Holes
@ etaLayer2Holes
number of eta holes in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:364
Muon::MuonStationIndex::BOS
@ BOS
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::T4
@ T4
Definition: MuonStationIndex.h:33
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Muon::MuonStationIndex::BMS
@ BMS
Definition: MuonStationIndex.h:17
xAOD::outerLargeHoles
@ outerLargeHoles
number of precision holes in the outer large layer
Definition: TrackingPrimitives.h:344
xAOD::outerOutBoundsPrecisionHits
@ outerOutBoundsPrecisionHits
number of out-of-bounds hits in the outer layer
Definition: TrackingPrimitives.h:375
Muon::MuonStationIndex::PhiIndex
PhiIndex
enum to classify the different phi layers in the muon spectrometer
Definition: MuonStationIndex.h:31
Muon::MuonStationIndex::EIS
@ EIS
Definition: MuonStationIndex.h:18
xAOD::phiLayer4RPCHits
@ phiLayer4RPCHits
number of phi hits in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:385
Muon::MuonStationIndex::BI2
@ BI2
Definition: MuonStationIndex.h:33
xAOD::innerLargeHits
@ innerLargeHits
number of precision hits in the inner large layer
Definition: TrackingPrimitives.h:331
xAOD::extendedOutBoundsPrecisionHits
@ extendedOutBoundsPrecisionHits
number of out-of-bounds hits in the extended layer
Definition: TrackingPrimitives.h:376
Trk::MuonTrackSummary::chamberHitSummary
const std::vector< ChamberHitSummary > & chamberHitSummary() const
access to the vector of chamber hit summaries on the track
Definition: MuonTrackSummary.h:148
Muon::MuonStationIndex::T2
@ T2
Definition: MuonStationIndex.h:33
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Muon::MuonStationIndex::EOS
@ EOS
Definition: MuonStationIndex.h:18
xAOD::cscUnspoiledEtaHits
@ cscUnspoiledEtaHits
number of unspoiled CSC eta clusters on track
Definition: TrackingPrimitives.h:450
xAOD::phiLayer2RPCHits
@ phiLayer2RPCHits
number of phi hits in the second RPC trigger layer (BML2)
Definition: TrackingPrimitives.h:383
xAOD::etaLayer3Hits
@ etaLayer3Hits
number of eta hits in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:355
xAOD::middleLargeHits
@ middleLargeHits
number of precision hits in the middle large layer
Definition: TrackingPrimitives.h:333
xAOD::outerSmallHoles
@ outerSmallHoles
number of precision holes in the outer small layer
Definition: TrackingPrimitives.h:343
xAOD::phiLayer3Holes
@ phiLayer3Holes
number of phi holes in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:360
xAOD::etaLayer1RPCHits
@ etaLayer1RPCHits
number of eta hits in the first RPC trigger layer (BML1)
Definition: TrackingPrimitives.h:387
Muon::MuonStationIndex::T3
@ T3
Definition: MuonStationIndex.h:33
xAOD::phiLayer2Hits
@ phiLayer2Hits
number of phi hits in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:349
xAOD::etaLayer1TGCHoles
@ etaLayer1TGCHoles
number of eta holes in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:417
xAOD::etaLayer2Hits
@ etaLayer2Hits
number of eta hits in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:354
xAOD::innerLargeHoles
@ innerLargeHoles
number of precision holes in the inner large layer
Definition: TrackingPrimitives.h:340
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Muon::MuonStationIndex::BM1
@ BM1
Definition: MuonStationIndex.h:33
xAOD::numberOfTriggerEtaLayers
@ numberOfTriggerEtaLayers
layers with trigger eta hits [unit8_t].
Definition: TrackingPrimitives.h:292
xAOD::numberOfTriggerEtaHoleLayers
@ numberOfTriggerEtaHoleLayers
layers with trigger eta holes but no hits [unit8_t].
Definition: TrackingPrimitives.h:293
Muon::MuonStationIndex::BO2
@ BO2
Definition: MuonStationIndex.h:33
xAOD::extendedLargeHits
@ extendedLargeHits
number of precision hits in the extended large layer
Definition: TrackingPrimitives.h:337
Muon::MuonStationIndex::BM
@ BM
Definition: MuonStationIndex.h:25
xAOD::innerClosePrecisionHits
@ innerClosePrecisionHits
number of close precision hits in the inner layer
Definition: TrackingPrimitives.h:368
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
Muon::MuonStationIndex::EI
@ EI
Definition: MuonStationIndex.h:26
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
xAOD::etaLayer2STGCHoles
@ etaLayer2STGCHoles
number of eta holes in the second STGC trigger layer (STGC2)
Definition: TrackingPrimitives.h:434
xAOD::MMHits
@ MMHits
Definition: TrackingPrimitives.h:437
xAOD::middleClosePrecisionHits
@ middleClosePrecisionHits
number of close precision hits in the middle layer
Definition: TrackingPrimitives.h:369
xAOD::middleSmallHoles
@ middleSmallHoles
number of precision holes in the middle small layer
Definition: TrackingPrimitives.h:341
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::combinedTrackOutBoundsPrecisionHits
@ combinedTrackOutBoundsPrecisionHits
total out-of-bounds hits on the combined track
Definition: TrackingPrimitives.h:377
xAOD::phiLayer4TGCHoles
@ phiLayer4TGCHoles
number of phi holes in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:415
Muon::MuonStationIndex::STGC2
@ STGC2
Definition: MuonStationIndex.h:33
Muon::MuonStationIndex::phiName
static const std::string & phiName(PhiIndex index)
convert PhiIndex into a string
Definition: MuonStationIndex.cxx:124
xAOD::cscEtaHits
@ cscEtaHits
number of CSC eta clusters on the track
Definition: TrackingPrimitives.h:449
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Trk::MuonTrackSummary
Detailed track summary for the muon system Give access to hit counts per chamber.
Definition: MuonTrackSummary.h:26
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
xAOD::isSmallGoodSectors
@ isSmallGoodSectors
if non-deweighted track chambers are small
Definition: TrackingPrimitives.h:380
xAOD::phiLayer3TGCHits
@ phiLayer3TGCHits
number of phi hits in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:404
xAOD::etaLayer2RPCHits
@ etaLayer2RPCHits
number of eta hits in the second RPC trigger layer (BML2)
Definition: TrackingPrimitives.h:388
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
xAOD::etaLayer2STGCHits
@ etaLayer2STGCHits
number of eta hits in the second STGC trigger layer (STGC2)
Definition: TrackingPrimitives.h:428
Muon::MuonStationIndex::EES
@ EES
Definition: MuonStationIndex.h:18
xAOD::etaLayer1Holes
@ etaLayer1Holes
number of eta holes in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:363
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
xAOD::middleSmallHits
@ middleSmallHits
number of precision hits in the middle small layer
Definition: TrackingPrimitives.h:332
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
xAOD::innerSmallHoles
@ innerSmallHoles
number of precision holes in the inner small layer
Definition: TrackingPrimitives.h:339
Trk::TrackSummary
A summary of the information contained by a track.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
xAOD::phiLayer1Holes
@ phiLayer1Holes
number of phi holes in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:358
xAOD::isEndcapGoodLayers
@ isEndcapGoodLayers
if non-deweighted track chambers are in endcap
Definition: TrackingPrimitives.h:379
xAOD::outerSmallHits
@ outerSmallHits
number of precision hits in the outer small layer
Definition: TrackingPrimitives.h:334
xAOD::etaLayer4RPCHoles
@ etaLayer4RPCHoles
number of eta holes in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:400
xAOD::phiLayer1TGCHoles
@ phiLayer1TGCHoles
number of phi holes in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:412
xAOD::etaLayer1RPCHoles
@ etaLayer1RPCHoles
number of eta holes in the first RPC trigger layer (BML1)
Definition: TrackingPrimitives.h:397
Muon::MuonStationIndex::EML
@ EML
Definition: MuonStationIndex.h:18
xAOD::phiLayer3TGCHoles
@ phiLayer3TGCHoles
number of phi holes in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:414
xAOD::secondarySector
@ secondarySector
secondary sector crossed by the muon (set to the primary if the muon only passed one sector)
Definition: TrackingPrimitives.h:328
xAOD::outerLargeHits
@ outerLargeHits
number of precision hits in the outer large layer
Definition: TrackingPrimitives.h:335
a
TList * a
Definition: liststreamerinfos.cxx:10
h
xAOD::extendedLargeHoles
@ extendedLargeHoles
number of precision holes in the extended large layer
Definition: TrackingPrimitives.h:346
Muon::MuonStationIndex::BO
@ BO
Definition: MuonStationIndex.h:25
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Muon::MuonStationIndex::BIL
@ BIL
Definition: MuonStationIndex.h:17
xAOD::phiLayer2RPCHoles
@ phiLayer2RPCHoles
number of phi holes in the second RPC trigger layer (BML2)
Definition: TrackingPrimitives.h:393
Muon::MuonStationIndex::BEE
@ BEE
Definition: MuonStationIndex.h:17
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::etaLayer3TGCHoles
@ etaLayer3TGCHoles
number of eta holes in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:419
Muon::MuonStationIndex::CSC
@ CSC
Definition: MuonStationIndex.h:33
xAOD::etaLayer1STGCHits
@ etaLayer1STGCHits
number of eta hits in the first STGC trigger layer (STGC1)
Definition: TrackingPrimitives.h:427
xAOD::etaLayer4Holes
@ etaLayer4Holes
number of eta holes in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:366
xAOD::phiLayer4Holes
@ phiLayer4Holes
number of phi holes in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:361
xAOD::numberOfGoodPrecisionLayers
@ numberOfGoodPrecisionLayers
layers with at least 3 hits that are not deweighted [uint8_t]
Definition: TrackingPrimitives.h:294
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
xAOD::etaLayer1TGCHits
@ etaLayer1TGCHits
number of eta hits in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:407
xAOD::etaLayer4RPCHits
@ etaLayer4RPCHits
number of eta hits in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:390
Muon::MuonStationIndex::ChIndex
ChIndex
enum to classify the different chamber layers in the muon spectrometer
Definition: MuonStationIndex.h:15
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
xAOD::phiLayer4RPCHoles
@ phiLayer4RPCHoles
number of phi holes in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:395
xAOD::middleOutBoundsPrecisionHits
@ middleOutBoundsPrecisionHits
number of out-of-bounds hits in the middle layer
Definition: TrackingPrimitives.h:374
xAOD::phiLayer1STGCHits
@ phiLayer1STGCHits
number of phi hits in the first STGC trigger layer (STGC1)
Definition: TrackingPrimitives.h:424
xAOD::extendedSmallHits
@ extendedSmallHits
number of precision hits in the extended small layer
Definition: TrackingPrimitives.h:336
Muon::MuonStationIndex::EMS
@ EMS
Definition: MuonStationIndex.h:18
xAOD::innerSmallHits
@ innerSmallHits
number of precision hits in the inner small layer
Definition: TrackingPrimitives.h:330
Muon::MuonStationIndex::EOL
@ EOL
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::EE
@ EE
Definition: MuonStationIndex.h:26
xAOD::etaLayer4TGCHits
@ etaLayer4TGCHits
number of eta hits in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:410
xAOD::numberOfPhiLayers
@ numberOfPhiLayers
layers with a trigger phi hit [unit8_t].
Definition: TrackingPrimitives.h:290
Muon::MuonStationIndex::BOL
@ BOL
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::BM2
@ BM2
Definition: MuonStationIndex.h:33
xAOD::phiLayer1RPCHoles
@ phiLayer1RPCHoles
number of phi holes in the first RPC trigger layer (BML1)
Definition: TrackingPrimitives.h:392
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::etaLayer4Hits
@ etaLayer4Hits
number of eta hits in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:356
Muon::MuonStationIndex::EM
@ EM
Definition: MuonStationIndex.h:26
Muon::MuonStationIndex::CSL
@ CSL
Definition: MuonStationIndex.h:18
xAOD::phiLayer2STGCHoles
@ phiLayer2STGCHoles
number of phi holes in the second STGC trigger layer (STGC2)
Definition: TrackingPrimitives.h:431
fitman.k
k
Definition: fitman.py:528
Muon::MuonStationIndex::EIL
@ EIL
Definition: MuonStationIndex.h:18
xAOD::phiLayer2TGCHits
@ phiLayer2TGCHits
number of phi hits in the second TGC trigger layer (T1)
Definition: TrackingPrimitives.h:403
xAOD::numberOfPrecisionLayers
@ numberOfPrecisionLayers
layers with at least 3 hits [unit8_t].
Definition: TrackingPrimitives.h:288
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65