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);
106 tmb_[endc - 1][
stat - 1][sect - 1][subs - 1][
cham - 1]->setConfigParameters(conf);
167 LogTrace(
"CSCTriggerPrimitivesBuilder")
168 <<
"CSCTriggerPrimitivesBuilder::build in E:" << endc <<
" S:" <<
stat <<
" R:" <<
ring;
169 tmb11->
run(wiredc, compdc);
174 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb11->
readoutLCTs1b();
175 const std::vector<CSCCorrelatedLCTDigi>& lctV1a = tmb11->
readoutLCTs1a();
176 const std::vector<CSCALCTDigi>& alctV = tmb11->
alctProc->readoutALCTs();
177 const std::vector<CSCALCTDigi>& alctV_all =
179 const std::vector<CSCCLCTDigi>& clctV = tmb11->
clctProc->readoutCLCTsME1b();
180 const std::vector<CSCCLCTDigi>& clctV_all =
182 const std::vector<int>& preTriggerBXs = tmb11->
clctProc->preTriggerBXs();
183 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb11->
clctProc->preTriggerDigisME1b();
184 const std::vector<CSCCLCTDigi>& clctV1a = tmb11->
clctProc->readoutCLCTsME1a();
185 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV1a = tmb11->
clctProc->preTriggerDigisME1a();
186 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb11->
alctProc->preTriggerDigis();
189 LogTrace(
"CSCTriggerPrimitivesBuilder")
190 <<
"CSCTriggerPrimitivesBuilder:: a=" << alctV.size() <<
" c=" << clctV.size()
191 <<
" l=" << lctV.size() <<
" c=" << clctV1a.size() <<
" l=" << lctV1a.size();
195 if (!(lctV.empty() && alctV.empty() && clctV.empty()) and
infoV > 1) {
196 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid;
199 put(lctV, oc_lct, detid,
" ME1b LCT digi");
200 put(alctV, oc_alct, detid,
" ME1b ALCT digi");
201 put(alctV_all, oc_alct_all, detid,
" ME1b ALCT digi");
202 put(clctV, oc_clct, detid,
" ME1b CLCT digi");
203 put(clctV_all, oc_clct_all, detid,
" ME1b CLCT digi");
204 put(pretriggerV, oc_pretrigger, detid,
" ME1b CLCT pre-trigger digi");
205 put(preTriggerBXs, oc_pretrig, detid,
" ME1b CLCT pre-trigger BX");
206 put(alctpretriggerV, oc_alctpretrigger, detid,
" ME1b ALCT pre-trigger digi");
215 if (!(lctV1a.empty() && clctV1a.empty()) and
infoV > 1) {
216 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid1a;
220 put(lctV1a, oc_lct, detid,
" ME1a LCT digi");
221 put(clctV1a, oc_clct, detid,
" ME1a CLCT digi");
222 put(pretriggerV1a, oc_pretrigger, detid,
" ME1a CLCT pre-trigger digi");
232 LogTrace(
"CSCTriggerPrimitivesBuilder")
233 <<
"CSCTriggerPrimitivesBuilder::build in E:" << endc <<
" S:" <<
stat <<
" R:" <<
ring;
236 tmb11GEM->
run(wiredc, compdc, gemClusters);
238 tmb11GEM->
run(wiredc, compdc, gemPads);
245 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb11GEM->
readoutLCTs1b();
246 const std::vector<CSCCorrelatedLCTDigi>& lctV1a = tmb11GEM->
readoutLCTs1a();
247 const std::vector<CSCALCTDigi>& alctV = tmb11GEM->
alctProc->readoutALCTs();
248 const std::vector<CSCALCTDigi>& alctV_all =
250 const std::vector<CSCCLCTDigi>& clctV = tmb11GEM->
clctProc->readoutCLCTsME1b();
251 const std::vector<CSCCLCTDigi>& clctV_all =
253 const std::vector<int>& preTriggerBXs = tmb11GEM->
clctProc->preTriggerBXs();
254 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb11GEM->
clctProc->preTriggerDigisME1b();
255 const std::vector<CSCCLCTDigi>& clctV1a = tmb11GEM->
clctProc->readoutCLCTsME1a();
256 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV1a = tmb11GEM->
clctProc->preTriggerDigisME1a();
257 const std::vector<GEMCoPadDigi>& copads = tmb11GEM->
coPadProcessor->readoutCoPads();
258 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb11GEM->
alctProc->preTriggerDigis();
261 if (!(lctV.empty() && alctV.empty() && clctV.empty()) and
infoV > 1) {
262 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid;
266 put(lctV, oc_lct, detid,
" ME1b LCT digi");
267 put(alctV, oc_alct, detid,
" ME1b ALCT digi");
268 put(alctV_all, oc_alct_all, detid,
" ME1b ALCT digi");
269 put(clctV, oc_clct, detid,
" ME1b CLCT digi");
270 put(clctV_all, oc_clct_all, detid,
" ME1b CLCT digi");
271 put(pretriggerV, oc_pretrigger, detid,
" ME1b CLCT pre-trigger digi");
272 put(preTriggerBXs, oc_pretrig, detid,
" ME1b CLCT pre-trigger BX");
273 put(copads, oc_gemcopad, gemId,
" GEM coincidence pad");
274 put(alctpretriggerV, oc_alctpretrigger, detid,
" ME1b ALCT pre-trigger digi");
282 if (!(lctV1a.empty() && clctV1a.empty()) and
infoV > 1) {
283 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder results in " << detid1a;
287 put(lctV1a, oc_lct, detid,
" ME1a LCT digi");
288 put(clctV1a, oc_clct, detid,
" ME1a CLCT digi");
289 put(pretriggerV1a, oc_pretrigger, detid,
" ME1a CLCT pre-trigger digi");
300 tmb21GEM->
run(wiredc, compdc, gemClusters);
302 tmb21GEM->
run(wiredc, compdc, gemPads);
309 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb21GEM->
readoutLCTs();
310 const std::vector<CSCALCTDigi>& alctV = tmb21GEM->
alctProc->readoutALCTs();
311 const std::vector<CSCALCTDigi>& alctV_all =
313 const std::vector<CSCCLCTDigi>& clctV = tmb21GEM->
clctProc->readoutCLCTs();
314 const std::vector<CSCCLCTDigi>& clctV_all =
316 const std::vector<int>& preTriggerBXs = tmb21GEM->
clctProc->preTriggerBXs();
317 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb21GEM->
clctProc->preTriggerDigis();
318 const std::vector<GEMCoPadDigi>& copads = tmb21GEM->
coPadProcessor->readoutCoPads();
319 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb21GEM->
alctProc->preTriggerDigis();
321 if (!(alctV.empty() && clctV.empty() && lctV.empty()) and
infoV > 1) {
322 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder got results in " << detid;
326 put(lctV, oc_lct, detid,
" ME21 LCT digi");
327 put(alctV, oc_alct, detid,
" ME21 ALCT digi");
328 put(alctV_all, oc_alct_all, detid,
" ME21 ALCT digi");
329 put(clctV, oc_clct, detid,
" ME21 CLCT digi");
330 put(clctV_all, oc_clct_all, detid,
" ME21 CLCT digi");
331 put(pretriggerV, oc_pretrigger, detid,
" ME21 CLCT pre-trigger digi");
332 put(preTriggerBXs, oc_pretrig, detid,
" ME21 CLCT pre-trigger BX");
333 put(copads, oc_gemcopad, gemId,
" GEM coincidence pad");
334 put(alctpretriggerV, oc_alctpretrigger, detid,
" ME21 ALCT pre-trigger digi");
343 utmb->
run(wiredc, compdc);
346 const std::vector<CSCCorrelatedLCTDigi>& lctV = utmb->
readoutLCTs();
347 const std::vector<CSCALCTDigi>& alctV = utmb->
alctProc->readoutALCTs();
348 const std::vector<CSCALCTDigi>& alctV_all =
350 const std::vector<CSCCLCTDigi>& clctV = utmb->
clctProc->readoutCLCTs();
351 const std::vector<CSCCLCTDigi>& clctV_all =
353 const std::vector<int>& preTriggerBXs = utmb->
clctProc->preTriggerBXs();
354 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = utmb->
clctProc->preTriggerDigis();
355 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = utmb->
alctProc->preTriggerDigis();
357 if (!(alctV.empty() && clctV.empty() && lctV.empty()) and
infoV > 1) {
358 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder got results in " << detid;
362 put(lctV, oc_lct, detid,
" LCT digi");
363 put(alctV, oc_alct, detid,
" ALCT digi");
364 put(alctV_all, oc_alct_all, detid,
" ALCT digi");
365 put(clctV, oc_clct, detid,
" CLCT digi");
366 put(clctV_all, oc_clct_all, detid, tmb->
getCSCName() +
" CLCT digi");
367 put(pretriggerV, oc_pretrigger, detid,
" CLCT pre-trigger digi");
368 put(preTriggerBXs, oc_pretrig, detid,
" CLCT pre-trigger BX");
369 put(alctpretriggerV, oc_alctpretrigger, detid,
" ALCT pre-trigger digi");
375 tmb->
run(wiredc, compdc);
378 const std::vector<CSCCorrelatedLCTDigi>& lctV = tmb->
readoutLCTs();
379 const std::vector<CSCALCTDigi>& alctV = tmb->
alctProc->readoutALCTs();
380 const std::vector<CSCALCTDigi>& alctV_all =
382 const std::vector<CSCCLCTDigi>& clctV = tmb->
clctProc->readoutCLCTs();
383 const std::vector<CSCCLCTDigi>& clctV_all =
385 const std::vector<int>& preTriggerBXs = tmb->
clctProc->preTriggerBXs();
386 const std::vector<CSCCLCTPreTriggerDigi>& pretriggerV = tmb->
clctProc->preTriggerDigis();
387 const std::vector<CSCALCTPreTriggerDigi>& alctpretriggerV = tmb->
alctProc->preTriggerDigis();
389 if (!(alctV.empty() && clctV.empty() && lctV.empty()) and
infoV > 1) {
390 LogTrace(
"L1CSCTrigger") <<
"CSCTriggerPrimitivesBuilder got results in " << detid;
395 put(alctV, oc_alct, detid, tmb->
getCSCName() +
" ALCT digi");
396 put(alctV_all, oc_alct_all, detid, tmb->
getCSCName() +
" ALCT digi");
397 put(clctV, oc_clct, detid, tmb->
getCSCName() +
" CLCT digi");
398 put(clctV_all, oc_clct_all, detid, tmb->
getCSCName() +
" CLCT digi");
399 put(pretriggerV, oc_pretrigger, detid, tmb->
getCSCName() +
" CLCT pre-trigger digi");
400 put(preTriggerBXs, oc_pretrig, detid, tmb->
getCSCName() +
" CLCT pre-trigger BX");
401 put(alctpretriggerV, oc_alctpretrigger, detid, tmb->
getCSCName() +
" ALCT pre-trigger digi");
414 std::vector<csctf::TrackStub>
result;
420 std::vector<csctf::TrackStub> subs1, subs2;
423 result.insert(
result.end(), subs1.begin(), subs1.end());
424 result.insert(
result.end(), subs2.begin(), subs2.end());
426 std::vector<csctf::TrackStub> sector;
428 result.insert(
result.end(), sector.begin(), sector.end());
434 std::vector<csctf::TrackStub>::const_iterator
itr =
result.begin();
436 oc_sorted_lct.insertDigi(
CSCDetId(
itr->getDetId().rawId()), *(
itr->getDigi()));
438 LogDebug(
"L1CSCTrigger") <<
"MPC " << *(
itr->getDigi()) <<
" found in ME" << ((
itr->endcap() == 1) ?
"+" :
"-")
441 <<
" trig id. " <<
itr->cscid() <<
")"