23 if (!trackSummary && (muon.muonType() != xAOD::Muon::MuonType::SegmentTagged &&
24 muon.muonType() != xAOD::Muon::MuonType::CaloTagged ) ) {
27 if (primTrk->
track()) {
32 uint8_t innerSmallHits{0}, innerLargeHits{0}, middleSmallHits{0}, middleLargeHits{0},
33 outerSmallHits{0}, outerLargeHits{0}, extendedSmallHits{0}, extendedLargeHits{0};
35 uint8_t innerSmallHoles{0}, innerLargeHoles{0}, middleSmallHoles{0}, middleLargeHoles{0},
36 outerSmallHoles{0}, outerLargeHoles{0}, extendedSmallHoles{0}, extendedLargeHoles{0};
38 auto incrementPrecSummary = [&](
const Identifier chId,
const uint8_t hits,
const uint8_t holes) {
42 (
isSmall(chIdx) ? innerSmallHits : innerLargeHits) += hits;
43 (
isSmall(chIdx) ? innerSmallHoles : innerLargeHoles) += holes;
46 (
isSmall(chIdx) ? middleSmallHits : middleLargeHits) += hits;
47 (
isSmall(chIdx) ? middleSmallHoles : middleLargeHoles) += holes;
50 (
isSmall(chIdx) ? outerSmallHits : outerLargeHits) += hits;
51 (
isSmall(chIdx) ? outerSmallHoles : outerLargeHoles) += holes;
54 (
isSmall(chIdx) ? extendedSmallHits : extendedLargeHits) += hits;
55 (
isSmall(chIdx) ? extendedSmallHoles : extendedLargeHoles) += holes;
58 extendedSmallHits += hits;
59 extendedSmallHoles += holes;
70 uint8_t phiLayer1Hits{0}, phiLayer2Hits{0}, phiLayer3Hits{0}, phiLayer4Hits{0};
71 uint8_t etaLayer1Hits{0}, etaLayer2Hits{0}, etaLayer3Hits{0}, etaLayer4Hits{0};
73 uint8_t phiLayer1Holes{0}, phiLayer2Holes{0}, phiLayer3Holes{0}, phiLayer4Holes{0};
74 uint8_t etaLayer1Holes{0}, etaLayer2Holes{0}, etaLayer3Holes{0}, etaLayer4Holes{0};
76 uint8_t phiLayer1RPCHits{0}, phiLayer2RPCHits{0}, phiLayer3RPCHits{0}, phiLayer4RPCHits{0};
77 uint8_t etaLayer1RPCHits{0}, etaLayer2RPCHits{0}, etaLayer3RPCHits{0}, etaLayer4RPCHits{0};
79 uint8_t phiLayer1RPCHoles{0}, phiLayer2RPCHoles{0}, phiLayer3RPCHoles{0}, phiLayer4RPCHoles{0};
80 uint8_t etaLayer1RPCHoles{0}, etaLayer2RPCHoles{0}, etaLayer3RPCHoles{0}, etaLayer4RPCHoles{0};
82 uint8_t phiLayer1TGCHits{0}, phiLayer2TGCHits{0}, phiLayer3TGCHits{0}, phiLayer4TGCHits{0};
83 uint8_t etaLayer1TGCHits{0}, etaLayer2TGCHits{0}, etaLayer3TGCHits{0}, etaLayer4TGCHits{0};
85 uint8_t phiLayer1TGCHoles{0}, phiLayer2TGCHoles{0}, phiLayer3TGCHoles{0}, phiLayer4TGCHoles{0};
86 uint8_t etaLayer1TGCHoles{0}, etaLayer2TGCHoles{0}, etaLayer3TGCHoles{0}, etaLayer4TGCHoles{0};
88 uint8_t phiLayer1STGCHits{0}, phiLayer2STGCHits{0};
89 uint8_t etaLayer1STGCHits{0}, etaLayer2STGCHits{0};
91 uint8_t phiLayer1STGCHoles{0}, phiLayer2STGCHoles{0};
92 uint8_t etaLayer1STGCHoles{0}, etaLayer2STGCHoles{0};
94 auto incrementTrigSummary = [&](
const Identifier& chId,
95 const uint8_t etaHits,
const uint8_t etaHoles,
96 const uint8_t phiHits,
const uint8_t phiHoles) {
104 phiLayer1Hits += phiHits; phiLayer1Holes += phiHoles;
105 etaLayer1Hits += etaHits; etaLayer1Holes += etaHoles;
111 phiLayer2Hits += phiHits; phiLayer2Holes += phiHoles;
112 etaLayer2Hits += etaHits; etaLayer2Holes += etaHoles;
116 phiLayer3Hits += phiHits; phiLayer3Holes += phiHoles;
117 etaLayer3Hits += etaHits; etaLayer3Holes += etaHoles;
121 phiLayer4Hits += phiHits; phiLayer4Holes += phiHoles;
122 etaLayer4Hits += etaHits; etaLayer4Holes += etaHoles;
142 phiLayer1RPCHits += phiHits; etaLayer1RPCHits += etaHits;
143 phiLayer1RPCHoles += phiHoles; etaLayer1RPCHoles += etaHoles;
146 phiLayer2RPCHits += phiHits; etaLayer2RPCHits += etaHits;
147 phiLayer2RPCHoles += phiHoles; etaLayer2RPCHoles += etaHoles;
150 phiLayer3RPCHits += phiHits; etaLayer3RPCHits += etaHits;
151 phiLayer3RPCHoles += phiHoles; etaLayer3RPCHoles += etaHoles;
154 phiLayer4RPCHits += phiHits; etaLayer4RPCHits += etaHits;
155 phiLayer4RPCHoles += phiHoles; etaLayer4RPCHoles += etaHoles;
158 phiLayer1TGCHits += phiHits; etaLayer1TGCHits += etaHits;
159 phiLayer1TGCHoles += phiHoles; etaLayer1TGCHoles += etaHoles;
162 phiLayer2TGCHits += phiHits; etaLayer2TGCHits += etaHits;
163 phiLayer2TGCHoles += phiHoles; etaLayer2TGCHoles += etaHoles;
166 phiLayer3TGCHits += phiHits; etaLayer3TGCHits += etaHits;
167 phiLayer3TGCHoles += phiHoles; etaLayer3TGCHoles += etaHoles;
170 phiLayer4TGCHits += phiHits; etaLayer4TGCHits += etaHits;
171 phiLayer4TGCHoles += phiHoles; etaLayer4TGCHoles += etaHoles;
174 phiLayer1STGCHits += phiHits; etaLayer1STGCHits += etaHits;
175 phiLayer1STGCHoles += phiHoles; etaLayer1STGCHoles += etaHoles;
178 phiLayer2STGCHits += phiHits; etaLayer2STGCHits += etaHits;
179 phiLayer2STGCHoles += phiHoles; etaLayer2STGCHoles += etaHoles;
184 uint8_t innerCloseHits{0}, middleCloseHits{0}, outerCloseHits{0}, extendedCloseHits{0};
185 uint8_t innerOutBoundsHits{0}, middleOutBoundsHits{0}, outerOutBoundsHits{0}, extendedOutBoundsHits{0};
187 uint8_t combinedTrackOutBoundsHits{0};
189 uint8_t numberOfPrecisionLayers{0}, numberOfPrecisionHoleLayers{0}, numberOfGoodPrecisionLayers{0};
190 uint8_t numberOfPhiLayers{0}, numberOfPhiHoleLayers{0};
192 uint8_t numberOfTriggerEtaLayers{0}, numberOfTriggerEtaHoleLayers{0};
195 uint8_t mainSector{0}, secondSector{0}, isEndcap{0},
isSmall{0};
197 uint8_t cscEtaHits{0}, cscUnspoiledEtaHits{0}, MMHits{0}, MMHoles{0};
203 mainSector = secondSector = summary.mainSector;
205 for (
auto sec : summary.sectors) {
206 if (sec != summary.mainSector) {
211 numberOfPrecisionLayers = summary.nprecisionLayers;
212 numberOfPrecisionHoleLayers = summary.nprecisionHoleLayers;
213 numberOfPhiLayers = summary.nphiLayers;
214 numberOfPhiHoleLayers = summary.nphiHoleLayers;
215 numberOfTriggerEtaLayers = summary.ntrigEtaLayers;
216 numberOfTriggerEtaHoleLayers = summary.ntrigEtaHoleLayers;
217 numberOfGoodPrecisionLayers = summary.nprecisionGoodLayers;
219 isEndcap = (summary.isEndcap);
222 for (
auto layer : summary.stationLayers) {
223 combinedTrackOutBoundsHits += layer.second.noutBoundsHits;
224 switch (layer.first) {
227 innerCloseHits += layer.second.nprecisionCloseHits;
231 middleCloseHits += layer.second.nprecisionCloseHits;
235 outerCloseHits += layer.second.nprecisionCloseHits;
239 extendedCloseHits += layer.second.nprecisionCloseHits;
241 case StIndex::StUnknown:
242 case StIndex::StIndexMax:
249 const xAOD::TrackParticle* MStrk = muon.trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle);
252 switch (layer.first) {
255 innerOutBoundsHits += layer.second.noutBoundsHits;
259 middleOutBoundsHits += layer.second.noutBoundsHits;
263 outerOutBoundsHits += layer.second.noutBoundsHits;
267 extendedOutBoundsHits += layer.second.noutBoundsHits;
269 case StIndex::StUnknown:
270 case StIndex::StIndexMax:
281 switch (
m_idHelperSvc->technologyIndex(summary.chamberId())) {
287 incrementPrecSummary(summary.chamberId(), summary.nhits(), summary.nholes());
290 incrementPrecSummary(summary.chamberId(), summary.netaHits(), summary.etaProjection().nholes);
291 cscEtaHits += summary.etaProjection().nhits;
292 cscUnspoiledEtaHits += summary.etaProjection().ngoodHits;
295 incrementPrecSummary(summary.chamberId(), summary.nhits(), summary.nholes());
296 MMHits += summary.nhits();
297 MMHoles += summary.nholes();
300 incrementPrecSummary(summary.chamberId(), summary.netaHits(), summary.etaProjection().nholes);
301 incrementTrigSummary(summary.chamberId(),
302 summary.netaHits(), summary.etaProjection().nholes,
303 summary.nphiHits(), summary.phiProjection().nholes);
307 incrementTrigSummary(summary.chamberId(),
308 summary.netaHits(), summary.etaProjection().nholes,
309 summary.nphiHits(), summary.phiProjection().nholes);