70 std::vector<unsigned int> nprecHitsPerChamberLayer;
71 std::vector<unsigned int> nphiHitsPerChamberLayer;
72 std::vector<unsigned int> ntrigEtaHitsPerChamberLayer;
74 ntrigEtaHitsPerChamberLayer.resize(
toInt(PhiIndex::PhiIndexMax));
75 nprecHitsPerChamberLayer.resize(
toInt(ChIndex::ChIndexMax));
76 nphiHitsPerChamberLayer.resize(
toInt(PhiIndex::PhiIndexMax));
85 for (
const std::pair<Identifier, HepMcParticleLink> trajectory : *col) {
87 if (std::ranges::find(truthParticleHistory,
HepMC::uniqueID(trajectory.second)) == truthParticleHistory.end()) {
98 if (
index == PhiIndex::T4) {
99 ids[ChIndex::EIS].push_back(
id);
100 ids[ChIndex::EIL].push_back(
id);
102 ids[ChIndex::EMS].push_back(
id);
103 ids[ChIndex::EML].push_back(
id);
119 if (
index != PhiIndex::PhiUnknown) {
123 ++ntrigEtaHitsPerChamberLayer.at(
toInt(
index));
136 uint8_t innerSmallHits = nprecHitsPerChamberLayer[
toInt(ChIndex::BIS)] +
137 nprecHitsPerChamberLayer[
toInt(ChIndex::EIS)] +
138 nprecHitsPerChamberLayer[
toInt(ChIndex::CSS)];
140 uint8_t innerLargeHits = nprecHitsPerChamberLayer[
toInt(ChIndex::BIL)] +
141 nprecHitsPerChamberLayer[
toInt(ChIndex::EIL)] +
142 nprecHitsPerChamberLayer[
toInt(ChIndex::CSL)];
144 uint8_t middleSmallHits = nprecHitsPerChamberLayer[
toInt(ChIndex::BMS)] +
145 nprecHitsPerChamberLayer[
toInt(ChIndex::EMS)];
147 uint8_t middleLargeHits = nprecHitsPerChamberLayer[
toInt(ChIndex::BML)] +
148 nprecHitsPerChamberLayer[
toInt(ChIndex::EML)];
150 uint8_t outerSmallHits = nprecHitsPerChamberLayer[
toInt(ChIndex::BOS)] +
151 nprecHitsPerChamberLayer[
toInt(ChIndex::EOS)];
153 uint8_t outerLargeHits = nprecHitsPerChamberLayer[
toInt(ChIndex::BML)] +
154 nprecHitsPerChamberLayer[
toInt(ChIndex::EOL)];
156 uint8_t extendedSmallHits = nprecHitsPerChamberLayer[
toInt(ChIndex::EES)] +
157 nprecHitsPerChamberLayer[
toInt(ChIndex::BEE)];
159 uint8_t extendedLargeHits = nprecHitsPerChamberLayer[
toInt(ChIndex::EEL)];
161 uint8_t phiLayer1Hits = nphiHitsPerChamberLayer[
toInt(PhiIndex::BM1)] +
162 nphiHitsPerChamberLayer[
toInt(PhiIndex::T4)] +
163 nphiHitsPerChamberLayer[
toInt(PhiIndex::CSC)] +
164 nphiHitsPerChamberLayer[
toInt(PhiIndex::STGC1)] +
165 nphiHitsPerChamberLayer[
toInt(PhiIndex::STGC2)];
167 uint8_t phiLayer2Hits = nphiHitsPerChamberLayer[
toInt(PhiIndex::BM2)] +
168 nphiHitsPerChamberLayer[
toInt(PhiIndex::T1)];
170 uint8_t phiLayer3Hits = nphiHitsPerChamberLayer[
toInt(PhiIndex::BO1)] +
171 nphiHitsPerChamberLayer[
toInt(PhiIndex::T2)];
173 uint8_t phiLayer4Hits = nphiHitsPerChamberLayer[
toInt(PhiIndex::BO2)] +
174 nphiHitsPerChamberLayer[
toInt(PhiIndex::T3)];
176 uint8_t etaLayer1Hits = ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BM1)] +
177 ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T4)]+
178 ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::CSC)] +
179 ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::STGC1)] +
180 ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::STGC2)];
182 uint8_t etaLayer2Hits = ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BM2)] +
183 ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T1)];
185 uint8_t etaLayer3Hits = ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BO1)] +
186 ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T2)];
188 uint8_t etaLayer4Hits = ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BO2)] +
189 ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T3)];
191 uint8_t nprecLayers = 0;
192 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::BIS)] + nprecHitsPerChamberLayer[
toInt(ChIndex::BIL)] > 3);
193 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::BMS)] + nprecHitsPerChamberLayer[
toInt(ChIndex::BML)] > 2);
194 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::BOS)] + nprecHitsPerChamberLayer[
toInt(ChIndex::BOL)] > 2);
195 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::EIS)] + nprecHitsPerChamberLayer[
toInt(ChIndex::EIL)] > 3);
196 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::EMS)] + nprecHitsPerChamberLayer[
toInt(ChIndex::EML)] > 2);
197 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::EOS)] + nprecHitsPerChamberLayer[
toInt(ChIndex::EOL)] > 2);
198 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::EES)] + nprecHitsPerChamberLayer[
toInt(ChIndex::EEL)] > 3);
199 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::CSS)] + nprecHitsPerChamberLayer[
toInt(ChIndex::CSL)] > 2);
200 nprecLayers += (nprecHitsPerChamberLayer[
toInt(ChIndex::BEE)] > 3);
202 uint8_t nphiLayers = 0;
203 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::BM1)] > 0);
204 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::BM2)] > 0);
205 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::BO1)] > 0);
206 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::BO2)] > 0);
207 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::T1)] > 0);
208 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::T2)] > 0);
209 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::T3)] > 0);
210 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::T4)] > 0);
211 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::CSC)] > 2);
212 nphiLayers += (nphiHitsPerChamberLayer[
toInt(PhiIndex::STGC1)] + nphiHitsPerChamberLayer[
toInt(PhiIndex::STGC2)] > 3);
214 uint8_t ntrigEtaLayers = 0;
215 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BM1)] > 0);
216 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BM2)] > 0);
217 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BO1)] > 0);
218 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::BO2)] > 0);
219 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T1)] > 0);
220 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T2)] > 0);
221 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T3)] > 0);
222 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::T4)] > 0);
223 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::CSC)] > 2);
224 ntrigEtaLayers += (ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::STGC1)] + ntrigEtaHitsPerChamberLayer[
toInt(PhiIndex::STGC2)] > 3);
250 ATH_MSG_DEBUG(
"Precision layers " <<
static_cast<int>(nprecLayers) <<
" phi layers " <<
static_cast<int>(nphiLayers)
251 <<
" triggerEta layers " <<
static_cast<int>(ntrigEtaLayers));
253 if (nprecLayers > 0) {
254 msg(MSG::VERBOSE) <<
" Precision chambers ";
256 for (
int index = 0; index < static_cast<int>(nprecHitsPerChamberLayer.size()); ++
index) {
257 if (nprecHitsPerChamberLayer[
index] > 0)
259 <<
" hits " << nprecHitsPerChamberLayer[
index];
262 if (nphiLayers > 0) {
263 msg(MSG::VERBOSE) <<
endmsg <<
" Phi chambers ";
264 for (
int index = 0; index < static_cast<int>(nphiHitsPerChamberLayer.size()); ++
index) {
265 if (nphiHitsPerChamberLayer[
index] > 0)
267 <<
" hits " << nphiHitsPerChamberLayer[
index];
271 if (ntrigEtaLayers > 0) {
272 msg(MSG::VERBOSE) <<
endmsg <<
" Trigger Eta ";
273 for (
int index = 0; index < static_cast<int>(ntrigEtaHitsPerChamberLayer.size()); ++
index) {
274 if (ntrigEtaHitsPerChamberLayer[
index] > 0)
276 <<
" hits " << ntrigEtaHitsPerChamberLayer[
index];
281 return StatusCode::SUCCESS;