ATLAS Offline Software
Public 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 ()=default
 
StatusCode initialize () override
 
void addMuonHitSummary (xAOD::Muon &muon, const Trk::TrackSummary *summary=0) const override
 

Private Attributes

ToolHandle< Muon::IMuonHitSummaryToolm_hitSummaryTool {this, "MuonHitSummaryTool", "Muon::MuonHitSummaryTool/MuonHitSummaryTool"}
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 

Detailed Description

Definition at line 21 of file MuonDressingTool.h.

Constructor & Destructor Documentation

◆ ~MuonDressingTool()

MuonCombined::MuonDressingTool::~MuonDressingTool ( )
default

Member Function Documentation

◆ addMuonHitSummary()

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

Now fill the hit summary per technology

Definition at line 20 of file MuonDressingTool.cxx.

20  {
21 
22 
23  if (!trackSummary && (muon.muonType() != xAOD::Muon::SegmentTagged && muon.muonType() != xAOD::Muon::CaloTagged ) ) {
24  // get link to track particle
25  const xAOD::TrackParticle* primTrk = muon.primaryTrackParticle();
26  if (primTrk->track()) {
27  trackSummary = primTrk->track()->trackSummary();
28  }
29  }
30 
33 
36 
37  auto incrementPrecSummary = [&](const Identifier chId, const uint8_t hits, const uint8_t holes) {
38  const ChIndex chIdx = m_idHelperSvc->chamberIndex(chId);
39  switch (toLayerIndex(chIdx)) {
40  case LayerIndex::Inner:
41  (isSmall(chIdx) ? innerSmallHits : innerLargeHits) += hits;
43  break;
44  case LayerIndex::Middle:
47  break;
48  case LayerIndex::Outer:
49  (isSmall(chIdx) ? outerSmallHits : outerLargeHits) += hits;
51  break;
52  case LayerIndex::Extended:
55  break;
56  case LayerIndex::BarrelExtended:
59  break;
60  case LayerIndex::LayerIndexMax:
61  case LayerIndex::LayerUnknown:
62  ATH_MSG_WARNING("Unknown ChamberIndex " << chName(chIdx));
63  break;
64  }
65  };
66 
67 
68 
71 
74 
77 
80 
83 
86 
89 
92 
93  auto incrementTrigSummary = [&](const Identifier& chId,
94  const uint8_t etaHits, const uint8_t etaHoles,
95  const uint8_t phiHits, const uint8_t phiHoles) {
96  const PhiIndex phiIndex = m_idHelperSvc->phiIndex(chId);
97  switch (phiIndex) {
98  case PhiIndex::BI1:
99  case PhiIndex::BM1:
100  case PhiIndex::T4:
101  case PhiIndex::CSC:
102  case PhiIndex::STGC1:
103  phiLayer1Hits += phiHits; phiLayer1Holes += phiHoles;
104  etaLayer1Hits += etaHits; etaLayer1Holes += etaHoles;
105  break;
106  case PhiIndex::BI2:
107  case PhiIndex::BM2:
108  case PhiIndex::T1:
109  case PhiIndex::STGC2:
110  phiLayer2Hits += phiHits; phiLayer2Holes += phiHoles;
111  etaLayer2Hits += etaHits; etaLayer2Holes += etaHoles;
112  break;
113  case PhiIndex::BO1:
114  case PhiIndex::T2:
115  phiLayer3Hits += phiHits; phiLayer3Holes += phiHoles;
116  etaLayer3Hits += etaHits; etaLayer3Holes += etaHoles;
117  break;
118  case PhiIndex::BO2:
119  case PhiIndex::T3:
120  phiLayer4Hits += phiHits; phiLayer4Holes += phiHoles;
121  etaLayer4Hits += etaHits; etaLayer4Holes += etaHoles;
122  break;
123 
124  case PhiIndex::PhiIndexMax:
125  case PhiIndex::PhiUnknown:
126  ATH_MSG_WARNING("Unknown ChamberIndex" << Muon::MuonStationIndex::phiName(phiIndex));
127  break;
128  }
130  switch (phiIndex) {
131  case PhiIndex::PhiIndexMax:
132  case PhiIndex::PhiUnknown:
133  case PhiIndex::CSC:
134  ATH_MSG_WARNING("Unknown ChamberIndex" << Muon::MuonStationIndex::phiName(phiIndex));
135  break;
136  case PhiIndex::BI1:
137  case PhiIndex::BI2:
138  ATH_MSG_VERBOSE("BI chambers "<<m_idHelperSvc->toString(chId)<<" are not part of the summary");
139  break;
140  case PhiIndex::BM1:
141  phiLayer1RPCHits += phiHits; etaLayer1RPCHits += etaHits;
142  phiLayer1RPCHoles += phiHoles; etaLayer1RPCHoles += etaHoles;
143  break;
144  case PhiIndex::BM2:
145  phiLayer2RPCHits += phiHits; etaLayer2RPCHits += etaHits;
146  phiLayer2RPCHoles += phiHoles; etaLayer2RPCHoles += etaHoles;
147  break;
148  case PhiIndex::BO1:
149  phiLayer3RPCHits += phiHits; etaLayer3RPCHits += etaHits;
150  phiLayer3RPCHoles += phiHoles; etaLayer3RPCHoles += etaHoles;
151  break;
152  case PhiIndex::BO2:
153  phiLayer4RPCHits += phiHits; etaLayer4RPCHits += etaHits;
154  phiLayer4RPCHoles += phiHoles; etaLayer4RPCHoles += etaHoles;
155  break;
156  case PhiIndex::T4:
157  phiLayer1TGCHits += phiHits; etaLayer1TGCHits += etaHits;
158  phiLayer1TGCHoles += phiHoles; etaLayer1TGCHoles += etaHoles;
159  break;
160  case PhiIndex::T1:
161  phiLayer2TGCHits += phiHits; etaLayer2TGCHits += etaHits;
162  phiLayer2TGCHoles += phiHoles; etaLayer2TGCHoles += etaHoles;
163  break;
164  case PhiIndex::T2:
165  phiLayer3TGCHits += phiHits; etaLayer3TGCHits += etaHits;
166  phiLayer3TGCHoles += phiHoles; etaLayer3TGCHoles += etaHoles;
167  break;
168  case PhiIndex::T3:
169  phiLayer4TGCHits += phiHits; etaLayer4TGCHits += etaHits;
170  phiLayer4TGCHoles += phiHoles; etaLayer4TGCHoles += etaHoles;
171  break;
172  case PhiIndex::STGC1:
173  phiLayer1STGCHits += phiHits; etaLayer1STGCHits += etaHits;
174  phiLayer1STGCHoles += phiHoles; etaLayer1STGCHoles += etaHoles;
175  break;
176  case PhiIndex::STGC2:
177  phiLayer2STGCHits += phiHits; etaLayer2STGCHits += etaHits;
178  phiLayer2STGCHoles += phiHoles; etaLayer2STGCHoles += etaHoles;
179  break;
180  }
181  };
182 
183  uint8_t innerCloseHits{0}, middleCloseHits{0}, outerCloseHits{0}, extendedCloseHits{0};
184  uint8_t innerOutBoundsHits{0}, middleOutBoundsHits{0}, outerOutBoundsHits{0}, extendedOutBoundsHits{0};
185 
186  uint8_t combinedTrackOutBoundsHits{0};
187 
190 
192 
193 
194  uint8_t mainSector{0}, secondSector{0}, isEndcap{0}, isSmall{0};
195 
197 
198 
199 
200  if (trackSummary) {
202  mainSector = secondSector = summary.mainSector;
203 
204  for (auto sec : summary.sectors) {
205  if (sec != summary.mainSector) {
206  secondSector = sec;
207  }
208  }
209 
210  numberOfPrecisionLayers = summary.nprecisionLayers;
211  numberOfPrecisionHoleLayers = summary.nprecisionHoleLayers;
212  numberOfPhiLayers = summary.nphiLayers;
213  numberOfPhiHoleLayers = summary.nphiHoleLayers;
214  numberOfTriggerEtaLayers = summary.ntrigEtaLayers;
215  numberOfTriggerEtaHoleLayers = summary.ntrigEtaHoleLayers;
216  numberOfGoodPrecisionLayers = summary.nprecisionGoodLayers;
217 
218  isEndcap = (summary.isEndcap);
219  isSmall = (summary.isSmall);
220 
221  for (auto layer : summary.stationLayers) {
222  combinedTrackOutBoundsHits += layer.second.noutBoundsHits;
223  switch (layer.first) {
224  case StIndex::BI:
225  case StIndex::EI:
226  innerCloseHits += layer.second.nprecisionCloseHits;
227  break;
228  case StIndex::BM:
229  case StIndex::EM:
230  middleCloseHits += layer.second.nprecisionCloseHits;
231  break;
232  case StIndex::BO:
233  case StIndex::EO:
234  outerCloseHits += layer.second.nprecisionCloseHits;
235  break;
236  case StIndex::BE:
237  case StIndex::EE:
238  extendedCloseHits += layer.second.nprecisionCloseHits;
239  break;
240  case StIndex::StUnknown:
241  case StIndex::StIndexMax:
242  ATH_MSG_WARNING(__FILE__<<":"<<__LINE__<<" Unexpected st index");
243  break;
244  }
245  }
246 
247  // get out-of-bounds from ME track, shouldn't be any on combined track anyway
248  const xAOD::TrackParticle* MStrk = muon.trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle);
249  if (MStrk && MStrk->track() && MStrk->track()->trackSummary()) {
250  for (const auto& layer : m_hitSummaryTool->summary(*MStrk->track()->trackSummary()).stationLayers) {
251  switch (layer.first) {
252  case StIndex::BI:
253  case StIndex::EI:
254  innerOutBoundsHits += layer.second.noutBoundsHits;
255  break;
256  case StIndex::EM:
257  case StIndex::BM:
258  middleOutBoundsHits += layer.second.noutBoundsHits;
259  break;
260  case StIndex::EO:
261  case StIndex::BO:
262  outerOutBoundsHits += layer.second.noutBoundsHits;
263  break;
264  case StIndex::BE:
265  case StIndex::EE:
266  extendedOutBoundsHits += layer.second.noutBoundsHits;
267  break;
268  case StIndex::StUnknown:
269  case StIndex::StIndexMax:
270  ATH_MSG_WARNING("Station index should not be unknown or max");
271  break;
272  }
273  }
274  }
275 
276  if (trackSummary->muonTrackSummary()) {
277  const Trk::MuonTrackSummary& mts = *trackSummary->muonTrackSummary();
278  // loop over chambers
280  switch (m_idHelperSvc->technologyIndex(summary.chamberId())) {
281  case TechnologyIndex::TechnologyUnknown:
282  case TechnologyIndex::TechnologyIndexMax:
283  ATH_MSG_WARNING("Unkown technology");
284  break;
285  case TechnologyIndex::MDT:{
286  incrementPrecSummary(summary.chamberId(), summary.nhits(), summary.nholes());
287  break;
288  } case TechnologyIndex::CSC:{
289  incrementPrecSummary(summary.chamberId(), summary.netaHits(), summary.etaProjection().nholes);
290  cscEtaHits += summary.etaProjection().nhits;
291  cscUnspoiledEtaHits += summary.etaProjection().ngoodHits;
292  break;
293  } case TechnologyIndex::MM:{
294  incrementPrecSummary(summary.chamberId(), summary.nhits(), summary.nholes());
295  MMHits += summary.nhits();
296  MMHoles += summary.nholes();
297  break;
298  } case TechnologyIndex::STGC:{
299  incrementPrecSummary(summary.chamberId(), summary.netaHits(), summary.etaProjection().nholes);
300  incrementTrigSummary(summary.chamberId(),
301  summary.netaHits(), summary.etaProjection().nholes,
302  summary.nphiHits(), summary.phiProjection().nholes);
303  break;
304  } case TechnologyIndex::RPC:
305  case TechnologyIndex::TGC: {
306  incrementTrigSummary(summary.chamberId(),
307  summary.netaHits(), summary.etaProjection().nholes,
308  summary.nphiHits(), summary.phiProjection().nholes);
309  break;
310  }
311  }
312  }
313  }
314  }
315 
323 
324  muon.setSummaryValue(mainSector, xAOD::primarySector);
325  muon.setSummaryValue(secondSector, xAOD::secondarySector);
326  muon.setSummaryValue(innerSmallHits, xAOD::innerSmallHits);
327  muon.setSummaryValue(innerLargeHits, xAOD::innerLargeHits);
328  muon.setSummaryValue(middleSmallHits, xAOD::middleSmallHits);
329  muon.setSummaryValue(middleLargeHits, xAOD::middleLargeHits);
330  muon.setSummaryValue(outerSmallHits, xAOD::outerSmallHits);
331  muon.setSummaryValue(outerLargeHits, xAOD::outerLargeHits);
334 
335  muon.setSummaryValue(innerSmallHoles, xAOD::innerSmallHoles);
336  muon.setSummaryValue(innerLargeHoles, xAOD::innerLargeHoles);
337  muon.setSummaryValue(middleSmallHoles, xAOD::middleSmallHoles);
338  muon.setSummaryValue(middleLargeHoles, xAOD::middleLargeHoles);
339  muon.setSummaryValue(outerSmallHoles, xAOD::outerSmallHoles);
340  muon.setSummaryValue(outerLargeHoles, xAOD::outerLargeHoles);
343 
344  muon.setSummaryValue(phiLayer1Hits, xAOD::phiLayer1Hits);
345  muon.setSummaryValue(phiLayer2Hits, xAOD::phiLayer2Hits);
346  muon.setSummaryValue(phiLayer3Hits, xAOD::phiLayer3Hits);
347  muon.setSummaryValue(phiLayer4Hits, xAOD::phiLayer4Hits);
348 
349  muon.setSummaryValue(etaLayer1Hits, xAOD::etaLayer1Hits);
350  muon.setSummaryValue(etaLayer2Hits, xAOD::etaLayer2Hits);
351  muon.setSummaryValue(etaLayer3Hits, xAOD::etaLayer3Hits);
352  muon.setSummaryValue(etaLayer4Hits, xAOD::etaLayer4Hits);
353 
354  muon.setSummaryValue(phiLayer1Holes, xAOD::phiLayer1Holes);
355  muon.setSummaryValue(phiLayer2Holes, xAOD::phiLayer2Holes);
356  muon.setSummaryValue(phiLayer3Holes, xAOD::phiLayer3Holes);
357  muon.setSummaryValue(phiLayer4Holes, xAOD::phiLayer4Holes);
358 
359  muon.setSummaryValue(etaLayer1Holes, xAOD::etaLayer1Holes);
360  muon.setSummaryValue(etaLayer2Holes, xAOD::etaLayer2Holes);
361  muon.setSummaryValue(etaLayer3Holes, xAOD::etaLayer3Holes);
362  muon.setSummaryValue(etaLayer4Holes, xAOD::etaLayer4Holes);
363 
364  muon.setSummaryValue(phiLayer1RPCHits, xAOD::phiLayer1RPCHits);
365  muon.setSummaryValue(phiLayer2RPCHits, xAOD::phiLayer2RPCHits);
366  muon.setSummaryValue(phiLayer3RPCHits, xAOD::phiLayer3RPCHits);
367  muon.setSummaryValue(phiLayer4RPCHits, xAOD::phiLayer4RPCHits);
368 
369  muon.setSummaryValue(etaLayer1RPCHits, xAOD::etaLayer1RPCHits);
370  muon.setSummaryValue(etaLayer2RPCHits, xAOD::etaLayer2RPCHits);
371  muon.setSummaryValue(etaLayer3RPCHits, xAOD::etaLayer3RPCHits);
372  muon.setSummaryValue(etaLayer4RPCHits, xAOD::etaLayer4RPCHits);
373 
378 
383 
384  muon.setSummaryValue(phiLayer1TGCHits, xAOD::phiLayer1TGCHits);
385  muon.setSummaryValue(phiLayer2TGCHits, xAOD::phiLayer2TGCHits);
386  muon.setSummaryValue(phiLayer3TGCHits, xAOD::phiLayer3TGCHits);
387  muon.setSummaryValue(phiLayer4TGCHits, xAOD::phiLayer4TGCHits);
388 
389  muon.setSummaryValue(etaLayer1TGCHits, xAOD::etaLayer1TGCHits);
390  muon.setSummaryValue(etaLayer2TGCHits, xAOD::etaLayer2TGCHits);
391  muon.setSummaryValue(etaLayer3TGCHits, xAOD::etaLayer3TGCHits);
392  muon.setSummaryValue(etaLayer4TGCHits, xAOD::etaLayer4TGCHits);
393 
398 
403 
404  // New Small Wheel
405  // STGC
408 
411 
414 
417 
418  // MM
419  muon.setSummaryValue(MMHits, xAOD::MMHits);
420  muon.setSummaryValue(MMHoles, xAOD::MMHoles);
421 
422  muon.setSummaryValue(innerCloseHits, xAOD::innerClosePrecisionHits);
423  muon.setSummaryValue(middleCloseHits, xAOD::middleClosePrecisionHits);
424  muon.setSummaryValue(outerCloseHits, xAOD::outerClosePrecisionHits);
425  muon.setSummaryValue(extendedCloseHits, xAOD::extendedClosePrecisionHits);
426 
427  muon.setSummaryValue(innerOutBoundsHits, xAOD::innerOutBoundsPrecisionHits);
428  muon.setSummaryValue(middleOutBoundsHits, xAOD::middleOutBoundsPrecisionHits);
429  muon.setSummaryValue(outerOutBoundsHits, xAOD::outerOutBoundsPrecisionHits);
430  muon.setSummaryValue(extendedOutBoundsHits, xAOD::extendedOutBoundsPrecisionHits);
431 
432  muon.setSummaryValue(combinedTrackOutBoundsHits, xAOD::combinedTrackOutBoundsPrecisionHits);
433 
434  muon.setSummaryValue(isEndcap, xAOD::isEndcapGoodLayers);
435  muon.setSummaryValue(isSmall, xAOD::isSmallGoodSectors);
436 
437  muon.setSummaryValue(cscEtaHits, xAOD::cscEtaHits);
439  }

◆ initialize()

StatusCode MuonCombined::MuonDressingTool::initialize ( )
override

Definition at line 14 of file MuonDressingTool.cxx.

14  {
15  ATH_CHECK(m_hitSummaryTool.retrieve());
16  ATH_CHECK(m_idHelperSvc.retrieve());
17  return StatusCode::SUCCESS;
18  }

Member Data Documentation

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


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:431
xAOD::phiLayer1Hits
@ phiLayer1Hits
number of phi hits in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:349
TGC
@ TGC
Definition: RegSelEnums.h:33
xAOD::etaLayer4TGCHoles
@ etaLayer4TGCHoles
number of eta holes in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:421
xAOD::phiLayer2STGCHits
@ phiLayer2STGCHits
number of phi hits in the second STGC trigger layer (STGC2)
Definition: TrackingPrimitives.h:426
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:196
xAOD::primarySector
@ primarySector
primary sector crossed by the muon
Definition: TrackingPrimitives.h:328
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:399
STGC
@ STGC
Definition: RegSelEnums.h:39
xAOD::etaLayer1Hits
@ etaLayer1Hits
number of eta hits in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:354
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:419
xAOD::phiLayer2TGCHoles
@ phiLayer2TGCHoles
number of phi holes in the second TGC trigger layer (T1)
Definition: TrackingPrimitives.h:414
xAOD::phiLayer3RPCHoles
@ phiLayer3RPCHoles
number of phi holes in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:395
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
xAOD::phiLayer3Hits
@ phiLayer3Hits
number of phi hits in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:351
xAOD::numberOfPrecisionHoleLayers
@ numberOfPrecisionHoleLayers
layers with holes AND no hits [unit8_t].
Definition: TrackingPrimitives.h:290
xAOD::phiLayer2Holes
@ phiLayer2Holes
number of phi holes in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:360
xAOD::phiLayer4Hits
@ phiLayer4Hits
number of phi hits in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:352
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
xAOD::etaLayer3TGCHits
@ etaLayer3TGCHits
number of eta hits in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:410
xAOD::outerClosePrecisionHits
@ outerClosePrecisionHits
number of close precision hits in the outer layer
Definition: TrackingPrimitives.h:371
xAOD::etaLayer3RPCHoles
@ etaLayer3RPCHoles
number of eta holes in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:400
TRT_PAI_gasdata::EO
const float EO[NO]
Energy levels for Oxygen.
Definition: TRT_PAI_gasdata.h:301
xAOD::etaLayer3Holes
@ etaLayer3Holes
number of eta holes in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:366
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:383
xAOD::phiLayer1TGCHits
@ phiLayer1TGCHits
number of phi hits in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:403
xAOD::extendedSmallHoles
@ extendedSmallHoles
number of precision holes in the extended small layer
Definition: TrackingPrimitives.h:346
xAOD::phiLayer3RPCHits
@ phiLayer3RPCHits
number of phi hits in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:385
xAOD::etaLayer3RPCHits
@ etaLayer3RPCHits
number of eta hits in the third RPC trigger layer (BOL1)
Definition: TrackingPrimitives.h:390
xAOD::innerOutBoundsPrecisionHits
@ innerOutBoundsPrecisionHits
number of out-of-bounds hits in the inner layer
Definition: TrackingPrimitives.h:374
xAOD::etaLayer1STGCHoles
@ etaLayer1STGCHoles
number of eta holes in the first STGC trigger layer (STGC1)
Definition: TrackingPrimitives.h:434
xAOD::etaLayer2TGCHits
@ etaLayer2TGCHits
number of eta hits in the second TGC trigger layer (T1)
Definition: TrackingPrimitives.h:409
xAOD::numberOfPhiHoleLayers
@ numberOfPhiHoleLayers
layers with trigger phi holes but no hits [unit8_t].
Definition: TrackingPrimitives.h:292
xAOD::extendedClosePrecisionHits
@ extendedClosePrecisionHits
number of close precision hits in the extended layer
Definition: TrackingPrimitives.h:372
Muon::IMuonHitSummaryTool::CompactSummary
Definition: IMuonHitSummaryTool.h:70
MM
@ MM
Definition: RegSelEnums.h:38
xAOD::phiLayer4TGCHits
@ phiLayer4TGCHits
number of phi hits in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:406
xAOD::MMHoles
@ MMHoles
Definition: TrackingPrimitives.h:439
xAOD::middleLargeHoles
@ middleLargeHoles
number of precision holes in the middle large layer
Definition: TrackingPrimitives.h:343
xAOD::etaLayer2Holes
@ etaLayer2Holes
number of eta holes in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:365
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
xAOD::outerLargeHoles
@ outerLargeHoles
number of precision holes in the outer large layer
Definition: TrackingPrimitives.h:345
xAOD::outerOutBoundsPrecisionHits
@ outerOutBoundsPrecisionHits
number of out-of-bounds hits in the outer layer
Definition: TrackingPrimitives.h:376
xAOD::phiLayer4RPCHits
@ phiLayer4RPCHits
number of phi hits in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:386
xAOD::innerLargeHits
@ innerLargeHits
number of precision hits in the inner large layer
Definition: TrackingPrimitives.h:332
Trk::MuonTrackSummary::ChamberHitSummary
structure to hold information per chamber in the muon system
Definition: MuonTrackSummary.h:32
xAOD::extendedOutBoundsPrecisionHits
@ extendedOutBoundsPrecisionHits
number of out-of-bounds hits in the extended layer
Definition: TrackingPrimitives.h:377
Trk::MuonTrackSummary::chamberHitSummary
const std::vector< ChamberHitSummary > & chamberHitSummary() const
access to the vector of chamber hit summaries on the track
Definition: MuonTrackSummary.h:148
xAOD::cscUnspoiledEtaHits
@ cscUnspoiledEtaHits
number of unspoiled CSC eta clusters on track
Definition: TrackingPrimitives.h:451
xAOD::phiLayer2RPCHits
@ phiLayer2RPCHits
number of phi hits in the second RPC trigger layer (BML2)
Definition: TrackingPrimitives.h:384
xAOD::etaLayer3Hits
@ etaLayer3Hits
number of eta hits in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:356
xAOD::middleLargeHits
@ middleLargeHits
number of precision hits in the middle large layer
Definition: TrackingPrimitives.h:334
xAOD::outerSmallHoles
@ outerSmallHoles
number of precision holes in the outer small layer
Definition: TrackingPrimitives.h:344
xAOD::phiLayer3Holes
@ phiLayer3Holes
number of phi holes in the third trigger layer (BOL1 ot T2)
Definition: TrackingPrimitives.h:361
xAOD::etaLayer1RPCHits
@ etaLayer1RPCHits
number of eta hits in the first RPC trigger layer (BML1)
Definition: TrackingPrimitives.h:388
xAOD::phiLayer2Hits
@ phiLayer2Hits
number of phi hits in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:350
xAOD::etaLayer1TGCHoles
@ etaLayer1TGCHoles
number of eta holes in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:418
xAOD::etaLayer2Hits
@ etaLayer2Hits
number of eta hits in the second trigger layer (BML2 ot T1)
Definition: TrackingPrimitives.h:355
xAOD::innerLargeHoles
@ innerLargeHoles
number of precision holes in the inner large layer
Definition: TrackingPrimitives.h:341
xAOD::numberOfTriggerEtaLayers
@ numberOfTriggerEtaLayers
layers with trigger eta hits [unit8_t].
Definition: TrackingPrimitives.h:293
Ringer::EM
@ EM
Definition: CaloRingsDefs.h:19
xAOD::numberOfTriggerEtaHoleLayers
@ numberOfTriggerEtaHoleLayers
layers with trigger eta holes but no hits [unit8_t].
Definition: TrackingPrimitives.h:294
xAOD::extendedLargeHits
@ extendedLargeHits
number of precision hits in the extended large layer
Definition: TrackingPrimitives.h:338
xAOD::innerClosePrecisionHits
@ innerClosePrecisionHits
number of close precision hits in the inner layer
Definition: TrackingPrimitives.h:369
Muon::MuonStationIndex::chName
const std::string & chName(ChIndex index)
convert ChIndex into a string
Definition: MuonStationIndex.cxx:119
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:435
xAOD::MMHits
@ MMHits
Definition: TrackingPrimitives.h:438
xAOD::middleClosePrecisionHits
@ middleClosePrecisionHits
number of close precision hits in the middle layer
Definition: TrackingPrimitives.h:370
xAOD::middleSmallHoles
@ middleSmallHoles
number of precision holes in the middle small layer
Definition: TrackingPrimitives.h:342
xAOD::combinedTrackOutBoundsPrecisionHits
@ combinedTrackOutBoundsPrecisionHits
total out-of-bounds hits on the combined track
Definition: TrackingPrimitives.h:378
xAOD::phiLayer4TGCHoles
@ phiLayer4TGCHoles
number of phi holes in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:416
xAOD::cscEtaHits
@ cscEtaHits
number of CSC eta clusters on the track
Definition: TrackingPrimitives.h:450
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
xAOD::isSmallGoodSectors
@ isSmallGoodSectors
if non-deweighted track chambers are small
Definition: TrackingPrimitives.h:381
xAOD::phiLayer3TGCHits
@ phiLayer3TGCHits
number of phi hits in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:405
xAOD::etaLayer2RPCHits
@ etaLayer2RPCHits
number of eta hits in the second RPC trigger layer (BML2)
Definition: TrackingPrimitives.h:389
xAOD::etaLayer2STGCHits
@ etaLayer2STGCHits
number of eta hits in the second STGC trigger layer (STGC2)
Definition: TrackingPrimitives.h:429
xAOD::etaLayer1Holes
@ etaLayer1Holes
number of eta holes in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:364
xAOD::middleSmallHits
@ middleSmallHits
number of precision hits in the middle small layer
Definition: TrackingPrimitives.h:333
RPC
@ RPC
Definition: RegSelEnums.h:32
xAOD::innerSmallHoles
@ innerSmallHoles
number of precision holes in the inner small layer
Definition: TrackingPrimitives.h:340
xAOD::phiLayer1Holes
@ phiLayer1Holes
number of phi holes in the first trigger layer (BML1 ot T4)
Definition: TrackingPrimitives.h:359
xAOD::isEndcapGoodLayers
@ isEndcapGoodLayers
if non-deweighted track chambers are in endcap
Definition: TrackingPrimitives.h:380
xAOD::outerSmallHits
@ outerSmallHits
number of precision hits in the outer small layer
Definition: TrackingPrimitives.h:335
xAOD::etaLayer4RPCHoles
@ etaLayer4RPCHoles
number of eta holes in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:401
Muon::MuonStationIndex::PhiIndex
PhiIndex
enum to classify the different phi layers in the muon spectrometer
Definition: MuonStationIndex.h:31
xAOD::phiLayer1TGCHoles
@ phiLayer1TGCHoles
number of phi holes in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:413
xAOD::etaLayer1RPCHoles
@ etaLayer1RPCHoles
number of eta holes in the first RPC trigger layer (BML1)
Definition: TrackingPrimitives.h:398
eflowRec::phiIndex
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
Definition: EtaPhiLUT.cxx:23
xAOD::phiLayer3TGCHoles
@ phiLayer3TGCHoles
number of phi holes in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:415
xAOD::secondarySector
@ secondarySector
secondary sector crossed by the muon (set to the primary if the muon only passed one sector)
Definition: TrackingPrimitives.h:329
xAOD::outerLargeHits
@ outerLargeHits
number of precision hits in the outer large layer
Definition: TrackingPrimitives.h:336
xAOD::extendedLargeHoles
@ extendedLargeHoles
number of precision holes in the extended large layer
Definition: TrackingPrimitives.h:347
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Trk::Track::trackSummary
const Trk::TrackSummary * trackSummary() const
Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr)
xAOD::phiLayer2RPCHoles
@ phiLayer2RPCHoles
number of phi holes in the second RPC trigger layer (BML2)
Definition: TrackingPrimitives.h:394
xAOD::etaLayer3TGCHoles
@ etaLayer3TGCHoles
number of eta holes in the third TGC trigger layer (T2)
Definition: TrackingPrimitives.h:420
xAOD::etaLayer1STGCHits
@ etaLayer1STGCHits
number of eta hits in the first STGC trigger layer (STGC1)
Definition: TrackingPrimitives.h:428
xAOD::etaLayer4Holes
@ etaLayer4Holes
number of eta holes in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:367
xAOD::phiLayer4Holes
@ phiLayer4Holes
number of phi holes in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:362
xAOD::numberOfGoodPrecisionLayers
@ numberOfGoodPrecisionLayers
layers with at least 3 hits that are not deweighted [uint8_t]
Definition: TrackingPrimitives.h:295
xAOD::etaLayer1TGCHits
@ etaLayer1TGCHits
number of eta hits in the first TGC trigger layer (T4)
Definition: TrackingPrimitives.h:408
xAOD::etaLayer4RPCHits
@ etaLayer4RPCHits
number of eta hits in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:391
Muon::MuonStationIndex::toLayerIndex
LayerIndex toLayerIndex(ChIndex index)
convert ChIndex into LayerIndex
xAOD::phiLayer4RPCHoles
@ phiLayer4RPCHoles
number of phi holes in the fourth RPC trigger layer (BOL2)
Definition: TrackingPrimitives.h:396
Muon::MuonStationIndex::ChIndex
ChIndex
enum to classify the different chamber layers in the muon spectrometer
Definition: MuonStationIndex.h:15
CSC
@ CSC
Definition: RegSelEnums.h:34
xAOD::middleOutBoundsPrecisionHits
@ middleOutBoundsPrecisionHits
number of out-of-bounds hits in the middle layer
Definition: TrackingPrimitives.h:375
xAOD::phiLayer1STGCHits
@ phiLayer1STGCHits
number of phi hits in the first STGC trigger layer (STGC1)
Definition: TrackingPrimitives.h:425
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::extendedSmallHits
@ extendedSmallHits
number of precision hits in the extended small layer
Definition: TrackingPrimitives.h:337
xAOD::innerSmallHits
@ innerSmallHits
number of precision hits in the inner small layer
Definition: TrackingPrimitives.h:331
Muon::MuonStationIndex::phiName
const std::string & phiName(PhiIndex index)
convert PhiIndex into a string
Definition: MuonStationIndex.cxx:87
xAOD::etaLayer4TGCHits
@ etaLayer4TGCHits
number of eta hits in the fourth TGC trigger layer (T3)
Definition: TrackingPrimitives.h:411
xAOD::numberOfPhiLayers
@ numberOfPhiLayers
layers with a trigger phi hit [unit8_t].
Definition: TrackingPrimitives.h:291
xAOD::phiLayer1RPCHoles
@ phiLayer1RPCHoles
number of phi holes in the first RPC trigger layer (BML1)
Definition: TrackingPrimitives.h:393
xAOD::etaLayer4Hits
@ etaLayer4Hits
number of eta hits in the fourth trigger layer (T3)
Definition: TrackingPrimitives.h:357
MDT
@ MDT
Definition: RegSelEnums.h:31
xAOD::phiLayer2STGCHoles
@ phiLayer2STGCHoles
number of phi holes in the second STGC trigger layer (STGC2)
Definition: TrackingPrimitives.h:432
Muon::MuonStationIndex::isSmall
bool isSmall(const ChIndex index)
Returns true if the chamber index is in a small sector.
xAOD::phiLayer2TGCHits
@ phiLayer2TGCHits
number of phi hits in the second TGC trigger layer (T1)
Definition: TrackingPrimitives.h:404
xAOD::numberOfPrecisionLayers
@ numberOfPrecisionLayers
layers with at least 3 hits [unit8_t].
Definition: TrackingPrimitives.h:289
Identifier
Definition: IdentifierFieldParser.cxx:14
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65