CMS 3D CMS Logo

CSCUpgradeMotherboard.cc
Go to the documentation of this file.
2 
4  unsigned station,
5  unsigned sector,
6  unsigned subsector,
7  unsigned chamber,
8  const edm::ParameterSet& conf)
9  : // special configuration parameters for ME11 treatment
10  CSCMotherboard(endcap, station, sector, subsector, chamber, conf),
11  allLCTs(match_trig_window_size) {
12  if (!isSLHC_)
13  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while isSLHC_ is not set! +++\n";
14 
15  if (theRing == 1) {
16  if (theStation == 1 and !runME11Up_)
17  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME11Up_ is not set! +++\n";
18  if (theStation == 2 and !runME21Up_)
19  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME21Up_ is not set! +++\n";
20  if (theStation == 3 and !runME31Up_)
21  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME31Up_ is not set! +++\n";
22  if (theStation == 4 and !runME41Up_)
23  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME41Up_ is not set! +++\n";
24  }
25 
27 
28  // generate the LUTs
30 
31  // enable the upgrade processors
32  if (isSLHC_ and theRing == 1) {
33  clctProc.reset(new CSCUpgradeCathodeLCTProcessor(endcap, station, sector, subsector, chamber, conf));
34  if (enableAlctSLHC_) {
35  alctProc.reset(new CSCUpgradeAnodeLCTProcessor(endcap, station, sector, subsector, chamber, conf));
36  }
37  }
38 
39  match_earliest_alct_only = tmbParams_.getParameter<bool>("matchEarliestAlctOnly");
40  match_earliest_clct_only = tmbParams_.getParameter<bool>("matchEarliestClctOnly");
41  clct_to_alct = tmbParams_.getParameter<bool>("clctToAlct");
42  drop_used_clcts = tmbParams_.getParameter<bool>("tmbDropUsedClcts");
43  tmb_cross_bx_algo = tmbParams_.getParameter<unsigned int>("tmbCrossBxAlgorithm");
44  max_lcts = tmbParams_.getParameter<unsigned int>("maxLCTs");
45  debug_matching = tmbParams_.getParameter<bool>("debugMatching");
46  debug_luts = tmbParams_.getParameter<bool>("debugLUTs");
47 
48  setPrefIndex();
49 }
50 
51 CSCUpgradeMotherboard::CSCUpgradeMotherboard() : CSCMotherboard(), allLCTs(match_trig_window_size) {
52  if (!isSLHC_)
53  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while isSLHC_ is not set! +++\n";
54 
55  if (theRing == 1) {
56  if (theStation == 1 and !runME11Up_)
57  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME11Up_ is not set! +++\n";
58  if (theStation == 2 and !runME21Up_)
59  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME21Up_ is not set! +++\n";
60  if (theStation == 3 and !runME31Up_)
61  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME31Up_ is not set! +++\n";
62  if (theStation == 4 and !runME41Up_)
63  edm::LogError("CSCUpgradeMotherboard|SetupError") << "+++ TMB constructed while runME41Up_ is not set! +++\n";
64  }
65 
66  setPrefIndex();
67 }
68 
70  clear();
71 
72  if (!(alctProc and clctProc)) {
73  edm::LogError("CSCUpgradeMotherboard|SetupError")
74  << "+++ run() called for non-existing ALCT/CLCT processor! +++ \n";
75  return;
76  }
77 
78  alctProc->setCSCGeometry(cscGeometry_);
79  clctProc->setCSCGeometry(cscGeometry_);
80 
81  alctV = alctProc->run(wiredc); // run anodeLCT
82  clctV = clctProc->run(compdc); // run cathodeLCT
83 
84  // if there are no ALCTs and no CLCTs, it does not make sense to run this TMB
85  if (alctV.empty() and clctV.empty())
86  return;
87 
88  // encode high multiplicity bits
89  unsigned alctBits = alctProc->getHighMultiplictyBits();
91 
92  int used_clct_mask[20];
93  for (int c = 0; c < 20; ++c)
94  used_clct_mask[c] = 0;
95 
96  // ALCT centric matching
97  for (int bx_alct = 0; bx_alct < CSCConstants::MAX_ALCT_TBINS; bx_alct++) {
98  if (alctProc->getBestALCT(bx_alct).isValid()) {
99  const int bx_clct_start(bx_alct - match_trig_window_size / 2 - alctClctOffset_);
100  const int bx_clct_stop(bx_alct + match_trig_window_size / 2 - alctClctOffset_);
101 
102  if (debug_matching) {
103  LogTrace("CSCUpgradeMotherboard")
104  << "========================================================================" << std::endl;
105  LogTrace("CSCUpgradeMotherboard") << "ALCT-CLCT matching in ME34/1 chamber: " << cscId_ << std::endl;
106  LogTrace("CSCUpgradeMotherboard")
107  << "------------------------------------------------------------------------" << std::endl;
108  LogTrace("CSCUpgradeMotherboard") << "+++ Best ALCT Details: ";
109  alctProc->getBestALCT(bx_alct).print();
110  LogTrace("CSCUpgradeMotherboard") << "+++ Second ALCT Details: ";
111  alctProc->getSecondALCT(bx_alct).print();
112 
113  LogTrace("CSCUpgradeMotherboard")
114  << "------------------------------------------------------------------------" << std::endl;
115  LogTrace("CSCUpgradeMotherboard") << "Attempt ALCT-CLCT matching in ME34/13 in bx range: [" << bx_clct_start
116  << "," << bx_clct_stop << "]" << std::endl;
117  }
118 
119  // ALCT-to-CLCT
120  for (int bx_clct = bx_clct_start; bx_clct <= bx_clct_stop; bx_clct++) {
121  if (bx_clct < 0 or bx_clct >= CSCConstants::MAX_CLCT_TBINS)
122  continue;
123  if (drop_used_clcts and used_clct_mask[bx_clct])
124  continue;
125  if (clctProc->getBestCLCT(bx_clct).isValid()) {
126  if (debug_matching)
127  LogTrace("CSCUpgradeMotherboard") << "++Valid ME21 CLCT: " << clctProc->getBestCLCT(bx_clct) << std::endl;
128 
129  int mbx = bx_clct - bx_clct_start;
130  CSCUpgradeMotherboard::correlateLCTs(alctProc->getBestALCT(bx_alct),
131  alctProc->getSecondALCT(bx_alct),
132  clctProc->getBestCLCT(bx_clct),
133  clctProc->getSecondCLCT(bx_clct),
134  allLCTs(bx_alct, mbx, 0),
135  allLCTs(bx_alct, mbx, 1));
136  if (infoV > 1)
137  LogTrace("CSCUpgradeMotherboard")
138  << "Successful ALCT-CLCT match in ME21: bx_alct = " << bx_alct << "; match window: [" << bx_clct_start
139  << "; " << bx_clct_stop << "]; bx_clct = " << bx_clct << std::endl;
140  LogTrace("CSCUpgradeMotherboard") << "+++ Best CLCT Details: ";
141  clctProc->getBestCLCT(bx_clct).print();
142  LogTrace("CSCUpgradeMotherboard") << "+++ Second CLCT Details: ";
143  clctProc->getSecondCLCT(bx_clct).print();
144  if (allLCTs(bx_alct, mbx, 0).isValid()) {
145  used_clct_mask[bx_clct] += 1;
147  break;
148  }
149  }
150  }
151  }
152  }
153 
154  // reduction of nLCTs per each BX
155  for (int bx = 0; bx < CSCConstants::MAX_LCT_TBINS; bx++) {
156  // counting
157  unsigned int n = 0;
158  for (unsigned int mbx = 0; mbx < match_trig_window_size; mbx++) {
159  for (int i = 0; i < CSCConstants::MAX_LCTS_PER_CSC; i++) {
160  if (allLCTs(bx, mbx, i).isValid()) {
161  ++n;
162  if (infoV > 0) {
163  LogDebug("CSCUpgradeMotherboard")
164  << "LCT" << i + 1 << " " << bx << "/" << bx + mbx - match_trig_window_size / 2 << ": "
165  << allLCTs(bx, mbx, i) << std::endl;
166  }
167  }
168  }
169  }
170 
171  // some simple cross-bx sorting algorithms
172  if (tmb_cross_bx_algo == 1 and (n > 2)) {
173  n = 0;
174  for (unsigned int mbx = 0; mbx < match_trig_window_size; mbx++) {
175  for (int i = 0; i < CSCConstants::MAX_LCTS_PER_CSC; i++) {
176  if (allLCTs(bx, pref[mbx], i).isValid()) {
177  n++;
178  if (n > 2)
179  allLCTs(bx, pref[mbx], i).clear();
180  }
181  }
182  }
183 
184  n = 0;
185  for (unsigned int mbx = 0; mbx < match_trig_window_size; mbx++) {
186  for (int i = 0; i < CSCConstants::MAX_LCTS_PER_CSC; i++) {
187  if (allLCTs(bx, mbx, i).isValid()) {
188  n++;
189  if (infoV > 0) {
190  LogDebug("CSCUpgradeMotherboard")
191  << "LCT" << i + 1 << " " << bx << "/" << bx + mbx - match_trig_window_size / 2 << ": "
192  << allLCTs(bx, mbx, i) << std::endl;
193  }
194  }
195  }
196  }
197  if (infoV > 0 and n > 0)
198  LogDebug("CSCUpgradeMotherboard") << "bx " << bx << " nnLCT:" << n << " " << n << std::endl;
199  } // x-bx sorting
200  }
201 
202  bool first = true;
203  unsigned int n = 0;
204  for (const auto& p : readoutLCTs()) {
205  if (debug_matching and first) {
206  LogTrace("CSCUpgradeMotherboard") << "========================================================================"
207  << std::endl;
208  LogTrace("CSCUpgradeMotherboard") << "Counting the final LCTs" << std::endl;
209  LogTrace("CSCUpgradeMotherboard") << "========================================================================"
210  << std::endl;
211  first = false;
212  LogTrace("CSCUpgradeMotherboard") << "tmb_cross_bx_algo: " << tmb_cross_bx_algo << std::endl;
213  }
214  n++;
215  if (debug_matching)
216  LogTrace("CSCUpgradeMotherboard") << "LCT " << n << " " << p << std::endl;
217  }
218 }
219 
221  const CSCALCTDigi& sALCT,
222  const CSCCLCTDigi& bCLCT,
223  const CSCCLCTDigi& sCLCT,
224  CSCCorrelatedLCTDigi& lct1,
225  CSCCorrelatedLCTDigi& lct2) const {
226  CSCALCTDigi bestALCT = bALCT;
227  CSCALCTDigi secondALCT = sALCT;
228  CSCCLCTDigi bestCLCT = bCLCT;
229  CSCCLCTDigi secondCLCT = sCLCT;
230 
231  const bool anodeBestValid = bestALCT.isValid();
232  const bool anodeSecondValid = secondALCT.isValid();
233  const bool cathodeBestValid = bestCLCT.isValid();
234  const bool cathodeSecondValid = secondCLCT.isValid();
235 
236  if (anodeBestValid and !anodeSecondValid)
237  secondALCT = bestALCT;
238  if (!anodeBestValid and anodeSecondValid)
239  bestALCT = secondALCT;
240  if (cathodeBestValid and !cathodeSecondValid)
241  secondCLCT = bestCLCT;
242  if (!cathodeBestValid and cathodeSecondValid)
243  bestCLCT = secondCLCT;
244 
245  // ALCT-CLCT matching conditions are defined by "trig_enable" configuration
246  // parameters.
247  if ((alct_trig_enable and bestALCT.isValid()) or (clct_trig_enable and bestCLCT.isValid()) or
248  (match_trig_enable and bestALCT.isValid() and bestCLCT.isValid())) {
249  lct1 = constructLCTs(bestALCT, bestCLCT, CSCCorrelatedLCTDigi::ALCTCLCT, 1);
250  }
251 
252  if (((secondALCT != bestALCT) or (secondCLCT != bestCLCT)) and
253  ((alct_trig_enable and secondALCT.isValid()) or (clct_trig_enable and secondCLCT.isValid()) or
254  (match_trig_enable and secondALCT.isValid() and secondCLCT.isValid()))) {
255  lct2 = constructLCTs(secondALCT, secondCLCT, CSCCorrelatedLCTDigi::ALCTCLCT, 2);
256  }
257 }
258 
259 //readout LCTs
260 std::vector<CSCCorrelatedLCTDigi> CSCUpgradeMotherboard::readoutLCTs() const {
261  std::vector<CSCCorrelatedLCTDigi> result;
263  if (tmb_cross_bx_algo == 2)
265 
266  // do a final check on the LCTs in readout
267  for (const auto& lct : result) {
268  checkValid(lct);
269  }
270 
271  return result;
272 }
273 
275 
276 enum CSCPart CSCUpgradeMotherboard::getCSCPart(int keystrip) const {
277  if (theStation == 1 and (theRing == 1 or theRing == 4)) {
278  if (keystrip > CSCConstants::MAX_HALF_STRIP_ME1B) {
279  if (gangedME1a_)
280  return CSCPart::ME1Ag;
281  else
282  return CSCPart::ME1A;
283  } else if (keystrip <= CSCConstants::MAX_HALF_STRIP_ME1B and keystrip >= 0)
284  return CSCPart::ME1B;
285  else
286  return CSCPart::ME11;
287  } else if (theStation == 2 and theRing == 1)
288  return CSCPart::ME21;
289  else if (theStation == 3 and theRing == 1)
290  return CSCPart::ME31;
291  else if (theStation == 4 and theRing == 1)
292  return CSCPart::ME41;
293  else {
294  edm::LogError("CSCUpgradeMotherboard|Error") << " ++ getCSCPart() failed to find the CSC chamber for in case ";
295  return CSCPart::ME11; // return ME11 by default
296  }
297 }
298 
300  if (debug_luts)
302 }
303 
305  return lct1.getQuality() > lct2.getQuality();
306 }
307 
309  return true;
310 }
311 
312 void CSCUpgradeMotherboard::sortLCTs(std::vector<CSCCorrelatedLCTDigi>& lcts,
313  bool (*sorter)(const CSCCorrelatedLCTDigi&, const CSCCorrelatedLCTDigi&)) const {
314  std::sort(lcts.begin(), lcts.end(), *sorter);
315  if (lcts.size() > max_lcts)
316  lcts.erase(lcts.begin() + max_lcts, lcts.end());
317 }
318 
320 
322  pref[0] = match_trig_window_size / 2;
323  for (unsigned int m = 2; m < match_trig_window_size; m += 2) {
324  pref[m - 1] = pref[0] - m / 2;
325  pref[m] = pref[0] + m / 2;
326  }
327 }
328 
331  allLCTs.clear();
332 }
ME11
Definition: CSCUpgradeMotherboardLUT.h:12
mps_fire.i
i
Definition: mps_fire.py:355
CSCBaseboard::theEndcap
const unsigned theEndcap
Definition: CSCBaseboard.h:42
CSCMotherboard::match_trig_window_size
unsigned int match_trig_window_size
Definition: CSCMotherboard.h:99
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
CSCMotherboard::checkValid
void checkValid(const CSCCorrelatedLCTDigi &lct) const
Definition: CSCMotherboard.cc:647
CSCBaseboard::theSector
const unsigned theSector
Definition: CSCBaseboard.h:44
ME41
Definition: CSCUpgradeMotherboardLUT.h:12
CSCBaseboard::cscGeometry_
const CSCGeometry * cscGeometry_
Definition: CSCBaseboard.h:64
CSCBaseboard::isSLHC_
bool isSLHC_
Definition: CSCBaseboard.h:83
CSCConstants::MAX_ALCT_TBINS
Definition: CSCConstants.h:62
CSCBaseboard::enableAlctSLHC_
bool enableAlctSLHC_
Definition: CSCBaseboard.h:84
CSCBaseboard::tmbParams_
edm::ParameterSet tmbParams_
Definition: CSCBaseboard.h:71
relativeConstraints.station
station
Definition: relativeConstraints.py:67
CSCMotherboard::alctProc
std::unique_ptr< CSCAnodeLCTProcessor > alctProc
Definition: CSCMotherboard.h:75
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
CSCBaseboard::theStation
const unsigned theStation
Definition: CSCBaseboard.h:43
CSCUpgradeMotherboard::clear
void clear()
Definition: CSCUpgradeMotherboard.cc:329
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
CSCUpgradeMotherboardLUTGenerator
Definition: CSCUpgradeMotherboardLUTGenerator.h:11
CSCMotherboard
Definition: CSCMotherboard.h:41
CSCMotherboard::clear
void clear()
Definition: CSCMotherboard.cc:88
CSCUpgradeMotherboard::tmb_cross_bx_algo
unsigned int tmb_cross_bx_algo
Definition: CSCUpgradeMotherboard.h:109
CSCMotherboard::clct_trig_enable
unsigned int clct_trig_enable
Definition: CSCMotherboard.h:98
CSCUpgradeMotherboard::debugLUTs
void debugLUTs()
Definition: CSCUpgradeMotherboard.cc:299
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
dqmdumpme.first
first
Definition: dqmdumpme.py:55
CSCCLCTDigi
Definition: CSCCLCTDigi.h:17
CSCCorrelatedLCTDigi::ALCTCLCT
Definition: CSCCorrelatedLCTDigi.h:160
CSCMotherboard::clctV
std::vector< CSCCLCTDigi > clctV
Definition: CSCMotherboard.h:84
CSCMotherboard::clctProc
std::unique_ptr< CSCCathodeLCTProcessor > clctProc
Definition: CSCMotherboard.h:78
CSCBaseboard::runME11Up_
bool runME11Up_
Definition: CSCBaseboard.h:105
LCTContainer::getMatched
void getMatched(std::vector< CSCCorrelatedLCTDigi > &) const
Definition: LCTContainer.cc:23
ME31
Definition: CSCUpgradeMotherboardLUT.h:12
CSCMotherboard::alctV
std::vector< CSCALCTDigi > alctV
Definition: CSCMotherboard.h:83
CSCConstants::MAX_LCTS_PER_CSC
Definition: CSCConstants.h:73
CSCMotherboard::constructLCTs
CSCCorrelatedLCTDigi constructLCTs(const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT, int type, int trknmb) const
Definition: CSCMotherboard.cc:484
CSCUpgradeMotherboard::readoutLCTs
std::vector< CSCCorrelatedLCTDigi > readoutLCTs() const override
Definition: CSCUpgradeMotherboard.cc:260
CSCPart
CSCPart
Definition: CSCUpgradeMotherboardLUT.h:12
CSCUpgradeMotherboard::getCSCPart
enum CSCPart getCSCPart(int keystrip) const
Definition: CSCUpgradeMotherboard.cc:276
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
CSCUpgradeMotherboard::setupGeometry
void setupGeometry()
Definition: CSCUpgradeMotherboard.cc:319
CSCUpgradeMotherboard::match_earliest_clct_only
bool match_earliest_clct_only
Definition: CSCUpgradeMotherboard.h:106
CSCBaseboard::alctClctOffset_
unsigned int alctClctOffset_
Definition: CSCBaseboard.h:96
CSCUpgradeMotherboard::sortLCTsByGEMDphi
static bool sortLCTsByGEMDphi(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)
Definition: CSCUpgradeMotherboard.cc:308
CSCUpgradeMotherboard::theParity
Parity theParity
Definition: CSCUpgradeMotherboard.h:92
CSCBaseboard::runME41Up_
bool runME41Up_
Definition: CSCBaseboard.h:108
CSCBaseboard::theSubsector
const unsigned theSubsector
Definition: CSCBaseboard.h:45
CSCConstants::MAX_LCT_TBINS
Definition: CSCConstants.h:63
CSCBaseboard::gangedME1a_
bool gangedME1a_
Definition: CSCBaseboard.h:87
CSCBaseboard::runME31Up_
bool runME31Up_
Definition: CSCBaseboard.h:107
CSCBaseboard::runME21Up_
bool runME21Up_
Definition: CSCBaseboard.h:106
CSCUpgradeMotherboard::correlateLCTs
void correlateLCTs(const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2) const
Definition: CSCUpgradeMotherboard.cc:220
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
edm::LogError
Definition: MessageLogger.h:183
ME1A
Definition: CSCUpgradeMotherboardLUT.h:12
LCTContainer::clear
void clear()
Definition: LCTContainer.cc:31
CSCUpgradeMotherboard::debug_matching
bool debug_matching
Definition: CSCUpgradeMotherboard.h:115
sorter
Definition: SETFilter.cc:31
CSCConstants::MAX_HALF_STRIP_ME1B
Definition: CSCConstants.h:39
CSCCLCTDigi::isValid
bool isValid() const
check CLCT validity (1 - valid CLCT)
Definition: CSCCLCTDigi.h:45
CSCUpgradeMotherboard::sortLCTs
void sortLCTs(std::vector< CSCCorrelatedLCTDigi > &lcts, bool(*sorter)(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)) const
Definition: CSCUpgradeMotherboard.cc:312
CSCUpgradeMotherboard::pref
int pref[CSCConstants::MAX_LCT_TBINS]
Definition: CSCUpgradeMotherboard.h:103
CSCComparatorDigiCollection
CSCUpgradeMotherboard::match_earliest_alct_only
bool match_earliest_alct_only
Definition: CSCUpgradeMotherboard.h:105
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
CSCUpgradeMotherboard::~CSCUpgradeMotherboard
~CSCUpgradeMotherboard() override
Definition: CSCUpgradeMotherboard.cc:274
CSCBaseboard::theChamber
unsigned theChamber
Definition: CSCBaseboard.h:49
CSCUpgradeCathodeLCTProcessor
Definition: CSCUpgradeCathodeLCTProcessor.h:24
CSCUpgradeMotherboard::CSCUpgradeMotherboard
CSCUpgradeMotherboard()
Definition: CSCUpgradeMotherboard.cc:51
CSCMotherboard::drop_used_clcts
bool drop_used_clcts
Definition: CSCMotherboard.h:105
CSCMotherboard::encodeHighMultiplicityBits
void encodeHighMultiplicityBits(unsigned alctBits)
Definition: CSCMotherboard.cc:638
CSCUpgradeMotherboard::sortLCTsByQuality
static bool sortLCTsByQuality(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)
Definition: CSCUpgradeMotherboard.cc:304
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
MCScenario_CRAFT1_22X.sorter
def sorter(a, b)
Definition: MCScenario_CRAFT1_22X.py:97
CSCUpgradeMotherboard::allLCTs
LCTContainer allLCTs
Definition: CSCUpgradeMotherboard.h:98
CSCWireDigiCollection
ME1Ag
Definition: CSCUpgradeMotherboardLUT.h:12
CSCALCTDigi
Definition: CSCALCTDigi.h:16
CSCMotherboard::alct_trig_enable
unsigned int alct_trig_enable
Definition: CSCMotherboard.h:98
CSCUpgradeMotherboard::setPrefIndex
void setPrefIndex()
Definition: CSCUpgradeMotherboard.cc:321
Odd
Definition: CSCUpgradeMotherboardLUT.h:13
CSCConstants::MAX_CLCT_TBINS
Definition: CSCConstants.h:61
CSCUpgradeMotherboard::run
void run(const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc) override
Definition: CSCUpgradeMotherboard.cc:69
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
CSCBaseboard::theTrigChamber
const unsigned theTrigChamber
Definition: CSCBaseboard.h:46
CSCBaseboard::cscId_
CSCDetId cscId_
Definition: CSCBaseboard.h:56
CSCALCTDigi::isValid
bool isValid() const
check ALCT validity (1 - valid ALCT)
Definition: CSCALCTDigi.h:37
CSCMotherboard::clct_to_alct
bool clct_to_alct
Definition: CSCMotherboard.h:115
CSCUpgradeMotherboard::debug_luts
bool debug_luts
Definition: CSCUpgradeMotherboard.h:118
CSCUpgradeAnodeLCTProcessor
Definition: CSCUpgradeAnodeLCTProcessor.h:16
mps_fire.result
result
Definition: mps_fire.py:303
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
CSCMotherboard::match_trig_enable
unsigned int match_trig_enable
Definition: CSCMotherboard.h:98
Even
Definition: CSCUpgradeMotherboardLUT.h:13
CSCUpgradeMotherboard::generator_
std::unique_ptr< CSCUpgradeMotherboardLUTGenerator > generator_
Definition: CSCUpgradeMotherboard.h:100
CSCCorrelatedLCTDigi::getQuality
uint16_t getQuality() const
return the Quality
Definition: CSCCorrelatedLCTDigi.h:53
CSCUpgradeMotherboard::max_lcts
unsigned int max_lcts
Definition: CSCUpgradeMotherboard.h:112
CSCCorrelatedLCTDigi
Definition: CSCCorrelatedLCTDigi.h:19
CSCUpgradeMotherboard.h
ME21
Definition: CSCUpgradeMotherboardLUT.h:12
ME1B
Definition: CSCUpgradeMotherboardLUT.h:12
CSCBaseboard::infoV
int infoV
Definition: CSCBaseboard.h:62
CSCBaseboard::theRing
unsigned theRing
Definition: CSCBaseboard.h:48