51 <<
"+++ trying to instantiate TMB of illegal CSC id ["
52 <<
" endcap = " << endc <<
" station = " <<
stat <<
" sector = " << sect <<
" subsector = " << subs
53 <<
" chamber = " <<
cham <<
"]; skipping it... +++\n";
63 std::make_unique<CSCMotherboardME11>(endc,
stat, sect, subs,
cham, conf);
66 std::make_unique<CSCGEMMotherboardME11>(endc,
stat, sect, subs,
cham, conf);
69 std::make_unique<CSCGEMMotherboardME21>(endc,
stat, sect, subs,
cham, conf);
74 std::make_unique<CSCUpgradeMotherboard>(endc,
stat, sect, subs,
cham, conf);
77 std::make_unique<CSCMotherboard>(endc,
stat, sect, subs,
cham, conf);
81 mpc_[endc - 1][
stat - 1][sect - 1] = std::make_unique<CSCMuonPortCard>(endc,
stat, sect, conf);
101 tmb_[endc - 1][
stat - 1][sect - 1][subs - 1][
cham - 1]->setConfigParameters(conf);
161 LogTrace(
"CSCTriggerPrimitivesBuilder")
162 <<
"CSCTriggerPrimitivesBuilder::build in E:" << endc <<
" S:" <<
stat <<
" R:" <<
ring;
163 tmb11->
run(wiredc, compdc);
168 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb11->
readoutLCTs1b();
169 const std::vector<CSCCorrelatedLCTDigi>& lctV1a = tmb11->
readoutLCTs1a();
170 const std::vector<CSCALCTDigi>& alctV = tmb11->
alctProc->readoutALCTs();
171 const std::vector<CSCALCTDigi>& alctV_all =
173 const std::vector<CSCCLCTDigi>& clctV = tmb11->
clctProc->readoutCLCTsME1b();
174 const std::vector<CSCCLCTDigi>& clctV_all =
176 const std::vector<int>& preTriggerBXs = tmb11->
clctProc->preTriggerBXs();
177 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb11->
clctProc->preTriggerDigisME1b();
178 const std::vector<CSCCLCTDigi>& clctV1a = tmb11->
clctProc->readoutCLCTsME1a();
179 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV1a = tmb11->
clctProc->preTriggerDigisME1a();
180 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb11->
alctProc->preTriggerDigis();
183 LogTrace(
"CSCTriggerPrimitivesBuilder")
184 <<
"CSCTriggerPrimitivesBuilder:: a=" << alctV.size() <<
" c=" << clctV.size()
185 <<
" l=" << lctV.size() <<
" c=" << clctV1a.size() <<
" l=" << lctV1a.size();
189 if (!(lctV.empty() && alctV.empty() && clctV.empty()) and
infoV > 1) {
190 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid;
193 put(lctV, oc_lct, detid,
" ME1b LCT digi");
194 put(alctV, oc_alct, detid,
" ME1b ALCT digi");
195 put(alctV_all, oc_alct_all, detid,
" ME1b ALCT digi");
196 put(clctV, oc_clct, detid,
" ME1b CLCT digi");
197 put(clctV_all, oc_clct_all, detid,
" ME1b CLCT digi");
198 put(pretriggerV, oc_pretrigger, detid,
" ME1b CLCT pre-trigger digi");
199 put(preTriggerBXs, oc_pretrig, detid,
" ME1b CLCT pre-trigger BX");
200 put(alctpretriggerV, oc_alctpretrigger, detid,
" ME1b ALCT pre-trigger digi");
209 if (!(lctV1a.empty() && clctV1a.empty()) and
infoV > 1) {
210 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid1a;
214 put(lctV1a, oc_lct, detid,
" ME1a LCT digi");
215 put(clctV1a, oc_clct, detid,
" ME1a CLCT digi");
216 put(pretriggerV1a, oc_pretrigger, detid,
" ME1a CLCT pre-trigger digi");
226 LogTrace(
"CSCTriggerPrimitivesBuilder")
227 <<
"CSCTriggerPrimitivesBuilder::build in E:" << endc <<
" S:" <<
stat <<
" R:" <<
ring;
229 tmb11GEM->
run(wiredc, compdc, gemClusters);
235 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb11GEM->
readoutLCTs1b();
236 const std::vector<CSCCorrelatedLCTDigi>& lctV1a = tmb11GEM->
readoutLCTs1a();
237 const std::vector<CSCALCTDigi>& alctV = tmb11GEM->
alctProc->readoutALCTs();
238 const std::vector<CSCALCTDigi>& alctV_all =
240 const std::vector<CSCCLCTDigi>& clctV = tmb11GEM->
clctProc->readoutCLCTsME1b();
241 const std::vector<CSCCLCTDigi>& clctV_all =
243 const std::vector<int>& preTriggerBXs = tmb11GEM->
clctProc->preTriggerBXs();
244 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb11GEM->
clctProc->preTriggerDigisME1b();
245 const std::vector<CSCCLCTDigi>& clctV1a = tmb11GEM->
clctProc->readoutCLCTsME1a();
246 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV1a = tmb11GEM->
clctProc->preTriggerDigisME1a();
247 const std::vector<GEMCoPadDigi>& copads = tmb11GEM->
coPadProcessor->readoutCoPads();
248 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb11GEM->
alctProc->preTriggerDigis();
251 if (!(lctV.empty() && alctV.empty() && clctV.empty()) and
infoV > 1) {
252 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid;
256 put(lctV, oc_lct, detid,
" ME1b LCT digi");
257 put(alctV, oc_alct, detid,
" ME1b ALCT digi");
258 put(alctV_all, oc_alct_all, detid,
" ME1b ALCT digi");
259 put(clctV, oc_clct, detid,
" ME1b CLCT digi");
260 put(clctV_all, oc_clct_all, detid,
" ME1b CLCT digi");
261 put(pretriggerV, oc_pretrigger, detid,
" ME1b CLCT pre-trigger digi");
262 put(preTriggerBXs, oc_pretrig, detid,
" ME1b CLCT pre-trigger BX");
263 put(copads, oc_gemcopad, gemId,
" GEM coincidence pad");
264 put(alctpretriggerV, oc_alctpretrigger, detid,
" ME1b ALCT pre-trigger digi");
272 if (!(lctV1a.empty() && clctV1a.empty()) and
infoV > 1) {
273 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid1a;
277 put(lctV1a, oc_lct, detid,
" ME1a LCT digi");
278 put(clctV1a, oc_clct, detid,
" ME1a CLCT digi");
279 put(pretriggerV1a, oc_pretrigger, detid,
" ME1a CLCT pre-trigger digi");
289 tmb21GEM->
run(wiredc, compdc, gemClusters);
295 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb21GEM->
readoutLCTs();
296 const std::vector<CSCALCTDigi>& alctV = tmb21GEM->
alctProc->readoutALCTs();
297 const std::vector<CSCALCTDigi>& alctV_all =
299 const std::vector<CSCCLCTDigi>& clctV = tmb21GEM->
clctProc->readoutCLCTs();
300 const std::vector<CSCCLCTDigi>& clctV_all =
302 const std::vector<int>& preTriggerBXs = tmb21GEM->
clctProc->preTriggerBXs();
303 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb21GEM->
clctProc->preTriggerDigis();
304 const std::vector<GEMCoPadDigi>& copads = tmb21GEM->
coPadProcessor->readoutCoPads();
305 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb21GEM->
alctProc->preTriggerDigis();
307 if (!(alctV.empty() && clctV.empty() && lctV.empty()) and
infoV > 1) {
308 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder got results in " << detid;
312 put(lctV, oc_lct, detid,
" ME21 LCT digi");
313 put(alctV, oc_alct, detid,
" ME21 ALCT digi");
314 put(alctV_all, oc_alct_all, detid,
" ME21 ALCT digi");
315 put(clctV, oc_clct, detid,
" ME21 CLCT digi");
316 put(clctV_all, oc_clct_all, detid,
" ME21 CLCT digi");
317 put(pretriggerV, oc_pretrigger, detid,
" ME21 CLCT pre-trigger digi");
318 put(preTriggerBXs, oc_pretrig, detid,
" ME21 CLCT pre-trigger BX");
319 put(copads, oc_gemcopad, gemId,
" GEM coincidence pad");
320 put(alctpretriggerV, oc_alctpretrigger, detid,
" ME21 ALCT pre-trigger digi");
329 utmb->
run(wiredc, compdc);
332 const std::vector<CSCCorrelatedLCTDigi>& lctV = utmb->
readoutLCTs();
333 const std::vector<CSCALCTDigi>& alctV = utmb->
alctProc->readoutALCTs();
334 const std::vector<CSCALCTDigi>& alctV_all =
336 const std::vector<CSCCLCTDigi>& clctV = utmb->
clctProc->readoutCLCTs();
337 const std::vector<CSCCLCTDigi>& clctV_all =
339 const std::vector<int>& preTriggerBXs = utmb->
clctProc->preTriggerBXs();
340 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = utmb->
clctProc->preTriggerDigis();
341 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = utmb->
alctProc->preTriggerDigis();
343 if (!(alctV.empty() && clctV.empty() && lctV.empty()) and
infoV > 1) {
344 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder got results in " << detid;
348 put(lctV, oc_lct, detid,
" LCT digi");
349 put(alctV, oc_alct, detid,
" ALCT digi");
350 put(alctV_all, oc_alct_all, detid,
" ALCT digi");
351 put(clctV, oc_clct, detid,
" CLCT digi");
352 put(clctV_all, oc_clct_all, detid, tmb->
getCSCName() +
" CLCT digi");
353 put(pretriggerV, oc_pretrigger, detid,
" CLCT pre-trigger digi");
354 put(preTriggerBXs, oc_pretrig, detid,
" CLCT pre-trigger BX");
355 put(alctpretriggerV, oc_alctpretrigger, detid,
" ALCT pre-trigger digi");
361 tmb->
run(wiredc, compdc);
364 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb->
readoutLCTs();
365 const std::vector<CSCALCTDigi>& alctV = tmb->
alctProc->readoutALCTs();
366 const std::vector<CSCALCTDigi>& alctV_all =
368 const std::vector<CSCCLCTDigi>& clctV = tmb->
clctProc->readoutCLCTs();
369 const std::vector<CSCCLCTDigi>& clctV_all =
371 const std::vector<int>& preTriggerBXs = tmb->
clctProc->preTriggerBXs();
372 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb->
clctProc->preTriggerDigis();
373 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb->
alctProc->preTriggerDigis();
375 if (!(alctV.empty() && clctV.empty() && lctV.empty()) and
infoV > 1) {
376 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder got results in " << detid;
381 put(alctV, oc_alct, detid, tmb->
getCSCName() +
" ALCT digi");
382 put(alctV_all, oc_alct_all, detid, tmb->
getCSCName() +
" ALCT digi");
383 put(clctV, oc_clct, detid, tmb->
getCSCName() +
" CLCT digi");
384 put(clctV_all, oc_clct_all, detid, tmb->
getCSCName() +
" CLCT digi");
385 put(pretriggerV, oc_pretrigger, detid, tmb->
getCSCName() +
" CLCT pre-trigger digi");
386 put(preTriggerBXs, oc_pretrig, detid, tmb->
getCSCName() +
" CLCT pre-trigger BX");
387 put(alctpretriggerV, oc_alctpretrigger, detid, tmb->
getCSCName() +
" ALCT pre-trigger digi");
400 auto mpc =
mpc_[endc - 1][
stat - 1][sect - 1].get();
403 mpc->loadLCTs(oc_lct);
409 const auto&
result = mpc->getLCTs();
413 for (
const auto& lct :
result) {
414 oc_sorted_lct.insertDigi(
CSCDetId(lct.getDetId().rawId()), *(lct.getDigi()));
416 LogDebug(
"CSCTriggerPrimitivesBuilder")
417 <<
"MPC " << *(lct.getDigi()) <<
" found in ME" << ((lct.endcap() == 1) ?
"+" :
"-") << lct.station()
419 <<
" (sector " << lct.sector() <<
" trig id. " << lct.cscid() <<
")"