23 if (!trackSummary && (muon.muonType() != xAOD::Muon::SegmentTagged && muon.muonType() != xAOD::Muon::CaloTagged ) ) {
26 if (primTrk->
track()) {
31 uint8_t innerSmallHits{0}, innerLargeHits{0}, middleSmallHits{0}, middleLargeHits{0},
32 outerSmallHits{0}, outerLargeHits{0}, extendedSmallHits{0}, extendedLargeHits{0};
34 uint8_t innerSmallHoles{0}, innerLargeHoles{0}, middleSmallHoles{0}, middleLargeHoles{0},
35 outerSmallHoles{0}, outerLargeHoles{0}, extendedSmallHoles{0}, extendedLargeHoles{0};
37 auto incrementPrecSummary = [&](
const Identifier chId,
const uint8_t hits,
const uint8_t holes) {
41 (
isSmall(chIdx) ? innerSmallHits : innerLargeHits) += hits;
42 (
isSmall(chIdx) ? innerSmallHoles : innerLargeHoles) += holes;
45 (
isSmall(chIdx) ? middleSmallHits : middleLargeHits) += hits;
46 (
isSmall(chIdx) ? middleSmallHoles : middleLargeHoles) += holes;
49 (
isSmall(chIdx) ? outerSmallHits : outerLargeHits) += hits;
50 (
isSmall(chIdx) ? outerSmallHoles : outerLargeHoles) += holes;
53 (
isSmall(chIdx) ? extendedSmallHits : extendedLargeHits) += hits;
54 (
isSmall(chIdx) ? extendedSmallHoles : extendedLargeHoles) += holes;
57 extendedSmallHits += hits;
58 extendedSmallHoles += holes;
69 uint8_t phiLayer1Hits{0}, phiLayer2Hits{0}, phiLayer3Hits{0}, phiLayer4Hits{0};
70 uint8_t etaLayer1Hits{0}, etaLayer2Hits{0}, etaLayer3Hits{0}, etaLayer4Hits{0};
72 uint8_t phiLayer1Holes{0}, phiLayer2Holes{0}, phiLayer3Holes{0}, phiLayer4Holes{0};
73 uint8_t etaLayer1Holes{0}, etaLayer2Holes{0}, etaLayer3Holes{0}, etaLayer4Holes{0};
75 uint8_t phiLayer1RPCHits{0}, phiLayer2RPCHits{0}, phiLayer3RPCHits{0}, phiLayer4RPCHits{0};
76 uint8_t etaLayer1RPCHits{0}, etaLayer2RPCHits{0}, etaLayer3RPCHits{0}, etaLayer4RPCHits{0};
78 uint8_t phiLayer1RPCHoles{0}, phiLayer2RPCHoles{0}, phiLayer3RPCHoles{0}, phiLayer4RPCHoles{0};
79 uint8_t etaLayer1RPCHoles{0}, etaLayer2RPCHoles{0}, etaLayer3RPCHoles{0}, etaLayer4RPCHoles{0};
81 uint8_t phiLayer1TGCHits{0}, phiLayer2TGCHits{0}, phiLayer3TGCHits{0}, phiLayer4TGCHits{0};
82 uint8_t etaLayer1TGCHits{0}, etaLayer2TGCHits{0}, etaLayer3TGCHits{0}, etaLayer4TGCHits{0};
84 uint8_t phiLayer1TGCHoles{0}, phiLayer2TGCHoles{0}, phiLayer3TGCHoles{0}, phiLayer4TGCHoles{0};
85 uint8_t etaLayer1TGCHoles{0}, etaLayer2TGCHoles{0}, etaLayer3TGCHoles{0}, etaLayer4TGCHoles{0};
87 uint8_t phiLayer1STGCHits{0}, phiLayer2STGCHits{0};
88 uint8_t etaLayer1STGCHits{0}, etaLayer2STGCHits{0};
90 uint8_t phiLayer1STGCHoles{0}, phiLayer2STGCHoles{0};
91 uint8_t etaLayer1STGCHoles{0}, etaLayer2STGCHoles{0};
93 auto incrementTrigSummary = [&](
const Identifier& chId,
94 const uint8_t etaHits,
const uint8_t etaHoles,
95 const uint8_t phiHits,
const uint8_t phiHoles) {
103 phiLayer1Hits += phiHits; phiLayer1Holes += phiHoles;
104 etaLayer1Hits += etaHits; etaLayer1Holes += etaHoles;
110 phiLayer2Hits += phiHits; phiLayer2Holes += phiHoles;
111 etaLayer2Hits += etaHits; etaLayer2Holes += etaHoles;
115 phiLayer3Hits += phiHits; phiLayer3Holes += phiHoles;
116 etaLayer3Hits += etaHits; etaLayer3Holes += etaHoles;
120 phiLayer4Hits += phiHits; phiLayer4Holes += phiHoles;
121 etaLayer4Hits += etaHits; etaLayer4Holes += etaHoles;
141 phiLayer1RPCHits += phiHits; etaLayer1RPCHits += etaHits;
142 phiLayer1RPCHoles += phiHoles; etaLayer1RPCHoles += etaHoles;
145 phiLayer2RPCHits += phiHits; etaLayer2RPCHits += etaHits;
146 phiLayer2RPCHoles += phiHoles; etaLayer2RPCHoles += etaHoles;
149 phiLayer3RPCHits += phiHits; etaLayer3RPCHits += etaHits;
150 phiLayer3RPCHoles += phiHoles; etaLayer3RPCHoles += etaHoles;
153 phiLayer4RPCHits += phiHits; etaLayer4RPCHits += etaHits;
154 phiLayer4RPCHoles += phiHoles; etaLayer4RPCHoles += etaHoles;
157 phiLayer1TGCHits += phiHits; etaLayer1TGCHits += etaHits;
158 phiLayer1TGCHoles += phiHoles; etaLayer1TGCHoles += etaHoles;
161 phiLayer2TGCHits += phiHits; etaLayer2TGCHits += etaHits;
162 phiLayer2TGCHoles += phiHoles; etaLayer2TGCHoles += etaHoles;
165 phiLayer3TGCHits += phiHits; etaLayer3TGCHits += etaHits;
166 phiLayer3TGCHoles += phiHoles; etaLayer3TGCHoles += etaHoles;
169 phiLayer4TGCHits += phiHits; etaLayer4TGCHits += etaHits;
170 phiLayer4TGCHoles += phiHoles; etaLayer4TGCHoles += etaHoles;
173 phiLayer1STGCHits += phiHits; etaLayer1STGCHits += etaHits;
174 phiLayer1STGCHoles += phiHoles; etaLayer1STGCHoles += etaHoles;
177 phiLayer2STGCHits += phiHits; etaLayer2STGCHits += etaHits;
178 phiLayer2STGCHoles += phiHoles; etaLayer2STGCHoles += etaHoles;
183 uint8_t innerCloseHits{0}, middleCloseHits{0}, outerCloseHits{0}, extendedCloseHits{0};
184 uint8_t innerOutBoundsHits{0}, middleOutBoundsHits{0}, outerOutBoundsHits{0}, extendedOutBoundsHits{0};
186 uint8_t combinedTrackOutBoundsHits{0};
188 uint8_t numberOfPrecisionLayers{0}, numberOfPrecisionHoleLayers{0}, numberOfGoodPrecisionLayers{0};
189 uint8_t numberOfPhiLayers{0}, numberOfPhiHoleLayers{0};
191 uint8_t numberOfTriggerEtaLayers{0}, numberOfTriggerEtaHoleLayers{0};
194 uint8_t mainSector{0}, secondSector{0}, isEndcap{0},
isSmall{0};
196 uint8_t cscEtaHits{0}, cscUnspoiledEtaHits{0}, MMHits{0}, MMHoles{0};
202 mainSector = secondSector = summary.mainSector;
204 for (
auto sec : summary.sectors) {
205 if (sec != summary.mainSector) {
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;
218 isEndcap = (summary.isEndcap);
221 for (
auto layer : summary.stationLayers) {
222 combinedTrackOutBoundsHits += layer.second.noutBoundsHits;
223 switch (layer.first) {
226 innerCloseHits += layer.second.nprecisionCloseHits;
230 middleCloseHits += layer.second.nprecisionCloseHits;
234 outerCloseHits += layer.second.nprecisionCloseHits;
238 extendedCloseHits += layer.second.nprecisionCloseHits;
240 case StIndex::StUnknown:
241 case StIndex::StIndexMax:
248 const xAOD::TrackParticle* MStrk = muon.trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle);
251 switch (layer.first) {
254 innerOutBoundsHits += layer.second.noutBoundsHits;
258 middleOutBoundsHits += layer.second.noutBoundsHits;
262 outerOutBoundsHits += layer.second.noutBoundsHits;
266 extendedOutBoundsHits += layer.second.noutBoundsHits;
268 case StIndex::StUnknown:
269 case StIndex::StIndexMax:
280 switch (
m_idHelperSvc->technologyIndex(summary.chamberId())) {
286 incrementPrecSummary(summary.chamberId(), summary.nhits(), summary.nholes());
289 incrementPrecSummary(summary.chamberId(), summary.netaHits(), summary.etaProjection().nholes);
290 cscEtaHits += summary.etaProjection().nhits;
291 cscUnspoiledEtaHits += summary.etaProjection().ngoodHits;
294 incrementPrecSummary(summary.chamberId(), summary.nhits(), summary.nholes());
295 MMHits += summary.nhits();
296 MMHoles += summary.nholes();
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);
306 incrementTrigSummary(summary.chamberId(),
307 summary.netaHits(), summary.etaProjection().nholes,
308 summary.nphiHits(), summary.phiProjection().nholes);