ATLAS Offline Software
MuonDressingTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "MuonDressingTool.h"
6 
7 #include "TrkTrack/Track.h"
10 
11 namespace MuonCombined {
12 
13  MuonDressingTool::MuonDressingTool(const std::string& type, const std::string& name, const IInterface* parent) :
15  declareInterface<xAOD::IMuonDressingTool>(this);
16  }
17 
19  ATH_CHECK(m_hitSummaryTool.retrieve());
20  ATH_CHECK(m_idHelperSvc.retrieve());
21  return StatusCode::SUCCESS;
22  }
23 
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  }
538 
539 } // namespace MuonCombined
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
MuonCombined::MuonDressingTool::addMuonHitSummary
void addMuonHitSummary(xAOD::Muon &muon, const Trk::TrackSummary *summary=0) const
add muon hit summary information to a Muon, uses the MuonTrackSummary if provided
Definition: MuonDressingTool.cxx:24
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
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
MuonTrackSummary.h
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
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
Muon::IMuonHitSummaryTool::CompactSummary
Definition: IMuonHitSummaryTool.h:70
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
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::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
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
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
Track.h
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
MuonDressingTool.h
xAOD::innerLargeHoles
@ innerLargeHoles
number of precision holes in the inner large layer
Definition: TrackingPrimitives.h:340
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
MuonCombined::MuonDressingTool::MuonDressingTool
MuonDressingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MuonDressingTool.cxx:13
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
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
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
TrackSummary.h
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
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
xAOD::middleSmallHits
@ middleSmallHits
number of precision hits in the middle small layer
Definition: TrackingPrimitives.h:332
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
MuonCombined::MuonDressingTool::initialize
StatusCode initialize()
Definition: MuonDressingTool.cxx:18
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
MuonCombined
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
Definition: IMuonSystemExtensionTool.h:23
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
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
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
AthAlgTool
Definition: AthAlgTool.h:26
Muon::MuonStationIndex::EMS
@ EMS
Definition: MuonStationIndex.h:18
xAOD::innerSmallHits
@ innerSmallHits
number of precision hits in the inner small layer
Definition: TrackingPrimitives.h:330
Trk::TrackSummary::muonTrackSummary
const MuonTrackSummary * muonTrackSummary() const
returns a pointer to the MuonTrackSummary if available
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
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
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