11 drop_low_quality_alct_no_gems_(tmbParams_.getParameter<
bool>(
"dropLowQualityALCTsNoGEMs")),
12 drop_low_quality_clct_no_gems_(tmbParams_.getParameter<
bool>(
"dropLowQualityCLCTsNoGEMs")),
13 build_lct_from_alct_gem_(tmbParams_.getParameter<
bool>(
"buildLCTfromALCTandGEM")),
14 build_lct_from_clct_gem_(tmbParams_.getParameter<
bool>(
"buildLCTfromCLCTandGEM")) {
32 edm::LogError(
"CSCGEMMotherboard") <<
"TMB constructed while runME11ILT_ is not set!";
36 edm::LogError(
"CSCGEMMotherboard") <<
"TMB constructed while runME21ILT_ is not set!";
61 if (
gem_g ==
nullptr) {
62 edm::LogError(
"CSCGEMMotherboard") <<
"run() called for GEM-CSC integrated trigger without valid GEM geometry! \n";
68 edm::LogError(
"CSCGEMMotherboard") <<
"run() called for non-existing ALCT/CLCT processor! \n";
76 const std::vector<CSCALCTDigi>&
alctV =
alctProc->run(wiredc);
77 const std::vector<CSCCLCTDigi>&
clctV =
clctProc->run(compdc);
123 if (
alctProc->getBestALCT(bx_alct).isValid()) {
135 if (
clctProc->getBestCLCT(bx_clct).isValid()) {
136 LogTrace(
"CSCMotherboard") <<
"Successful ALCT-CLCT match: bx_alct = " << bx_alct <<
"; bx_clct = " << bx_clct
137 <<
"; mbx = " << mbx;
149 if (
allLCTs_(bx_alct, mbx, 0).isValid()) {
151 used_clct_mask[bx_clct] =
true;
153 bunch_crossing_mask[bx_alct] =
true;
174 if (bunch_crossing_mask[bx_gem])
178 if (!
clusterProc_->getCoincidenceClusters(bx_gem).empty()) {
192 if (
clctProc->getBestCLCT(bx_clct).isValid()) {
206 if (
allLCTs_(bx_gem, mbx, 0).isValid()) {
208 used_clct_mask[bx_clct] =
true;
210 bunch_crossing_mask[bx_gem] =
true;
234 if (bunch_crossing_mask[bx_alct])
237 if (
alctProc->getBestALCT(bx_alct).isValid()) {
248 if (!
clusterProc_->getCoincidenceClusters(bx_gem).empty()) {
257 if (
allLCTs_(bx_alct, mbx, 0).isValid()) {
259 used_gem_mask[bx_gem] =
true;
261 bunch_crossing_mask[bx_alct] =
true;
288 std::vector<CSCCorrelatedLCTDigi> lcts;
296 edm::LogError(
"CSCGEMMotherboard") <<
"Best ALCT invalid in correlateLCTsGEM!";
301 edm::LogError(
"CSCGEMMotherboard") <<
"Best CLCT invalid in correlateLCTsGEM!";
354 lcts.push_back(lctbb);
356 if (bestALCT.
isValid() and secondCLCT.
isValid() and (secondCLCT != bestCLCT)) {
358 lcts.push_back(lctbs);
360 if (bestCLCT.
isValid() and secondALCT.
isValid() and (secondALCT != bestALCT)) {
362 lcts.push_back(lctsb);
364 if (secondALCT.
isValid() and secondCLCT.
isValid() and (secondALCT != bestALCT) and (secondCLCT != bestCLCT)) {
366 lcts.push_back(lctss);
402 edm::LogError(
"CSCGEMMotherboard") <<
"Best CLCT invalid in correlateLCTsGEM!";
407 if (secondCLCT == bestCLCT)
438 edm::LogError(
"CSCGEMMotherboard") <<
"Best ALCT invalid in correlateLCTsGEM!";
443 if (secondALCT == bestALCT)
470 if (
gem.isCoincidence()) {
472 }
else if (
gem.isValid()) {
606 return lct1.
getSlope() < lct2.getSlope();