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|ConfigError")
14  << "+++ Upgrade CSCUpgradeMotherboard constructed while isSLHC_ is not set! +++\n";
15 
17 
18  // generate the LUTs
20 
21  // enable the upgrade processors
22  if (isSLHC_ and theRing == 1) {
23  clctProc.reset(new CSCUpgradeCathodeLCTProcessor(endcap, station, sector, subsector, chamber, conf));
24  if (enableAlctSLHC_) {
25  alctProc.reset(new CSCUpgradeAnodeLCTProcessor(endcap, station, sector, subsector, chamber, conf));
26  }
27  }
28 
29  match_earliest_alct_only = tmbParams_.getParameter<bool>("matchEarliestAlctOnly");
30  match_earliest_clct_only = tmbParams_.getParameter<bool>("matchEarliestClctOnly");
31  clct_to_alct = tmbParams_.getParameter<bool>("clctToAlct");
32  drop_used_clcts = tmbParams_.getParameter<bool>("tmbDropUsedClcts");
33  tmb_cross_bx_algo = tmbParams_.getParameter<unsigned int>("tmbCrossBxAlgorithm");
34  max_lcts = tmbParams_.getParameter<unsigned int>("maxLCTs");
35  debug_matching = tmbParams_.getParameter<bool>("debugMatching");
36  debug_luts = tmbParams_.getParameter<bool>("debugLUTs");
37 
38  setPrefIndex();
39 }
40 
41 CSCUpgradeMotherboard::CSCUpgradeMotherboard() : CSCMotherboard(), allLCTs(match_trig_window_size) {
42  if (!isSLHC_)
43  edm::LogError("CSCUpgradeMotherboard|ConfigError")
44  << "+++ Upgrade CSCUpgradeMotherboard constructed while isSLHC_ is not set! +++\n";
45 
46  setPrefIndex();
47 }
48 
50  clear();
51 
52  if (!(alctProc and clctProc)) {
53  if (infoV >= 0)
54  edm::LogError("CSCUpgradeMotherboard|SetupError")
55  << "+++ run() called for non-existing ALCT/CLCT processor! +++ \n";
56  return;
57  }
58 
59  alctProc->setCSCGeometry(cscGeometry_);
60  clctProc->setCSCGeometry(cscGeometry_);
61 
62  alctV = alctProc->run(wiredc); // run anodeLCT
63  clctV = clctProc->run(compdc); // run cathodeLCT
64 
65  // if there are no ALCTs and no CLCTs, it does not make sense to run this TMB
66  if (alctV.empty() and clctV.empty())
67  return;
68 
69  // encode high multiplicity bits
70  unsigned alctBits = alctProc->getHighMultiplictyBits();
72 
73  int used_clct_mask[20];
74  for (int c = 0; c < 20; ++c)
75  used_clct_mask[c] = 0;
76 
77  // ALCT centric matching
78  for (int bx_alct = 0; bx_alct < CSCConstants::MAX_ALCT_TBINS; bx_alct++) {
79  if (alctProc->getBestALCT(bx_alct).isValid()) {
80  const int bx_clct_start(bx_alct - match_trig_window_size / 2 - alctClctOffset_);
81  const int bx_clct_stop(bx_alct + match_trig_window_size / 2 - alctClctOffset_);
82 
83  if (debug_matching) {
84  LogTrace("CSCUpgradeMotherboard")
85  << "========================================================================" << std::endl;
86  LogTrace("CSCUpgradeMotherboard") << "ALCT-CLCT matching in ME34/1 chamber: " << cscId_ << std::endl;
87  LogTrace("CSCUpgradeMotherboard")
88  << "------------------------------------------------------------------------" << std::endl;
89  LogTrace("CSCUpgradeMotherboard") << "+++ Best ALCT Details: ";
90  alctProc->getBestALCT(bx_alct).print();
91  LogTrace("CSCUpgradeMotherboard") << "+++ Second ALCT Details: ";
92  alctProc->getSecondALCT(bx_alct).print();
93 
94  LogTrace("CSCUpgradeMotherboard")
95  << "------------------------------------------------------------------------" << std::endl;
96  LogTrace("CSCUpgradeMotherboard") << "Attempt ALCT-CLCT matching in ME34/13 in bx range: [" << bx_clct_start
97  << "," << bx_clct_stop << "]" << std::endl;
98  }
99 
100  // ALCT-to-CLCT
101  for (int bx_clct = bx_clct_start; bx_clct <= bx_clct_stop; bx_clct++) {
102  if (bx_clct < 0 or bx_clct >= CSCConstants::MAX_CLCT_TBINS)
103  continue;
104  if (drop_used_clcts and used_clct_mask[bx_clct])
105  continue;
106  if (clctProc->getBestCLCT(bx_clct).isValid()) {
107  if (debug_matching)
108  LogTrace("CSCUpgradeMotherboard") << "++Valid ME21 CLCT: " << clctProc->getBestCLCT(bx_clct) << std::endl;
109 
110  int mbx = bx_clct - bx_clct_start;
111  CSCUpgradeMotherboard::correlateLCTs(alctProc->getBestALCT(bx_alct),
112  alctProc->getSecondALCT(bx_alct),
113  clctProc->getBestCLCT(bx_clct),
114  clctProc->getSecondCLCT(bx_clct),
115  allLCTs(bx_alct, mbx, 0),
116  allLCTs(bx_alct, mbx, 1));
117  if (infoV > 1)
118  LogTrace("CSCUpgradeMotherboard")
119  << "Successful ALCT-CLCT match in ME21: bx_alct = " << bx_alct << "; match window: [" << bx_clct_start
120  << "; " << bx_clct_stop << "]; bx_clct = " << bx_clct << std::endl;
121  LogTrace("CSCUpgradeMotherboard") << "+++ Best CLCT Details: ";
122  clctProc->getBestCLCT(bx_clct).print();
123  LogTrace("CSCUpgradeMotherboard") << "+++ Second CLCT Details: ";
124  clctProc->getSecondCLCT(bx_clct).print();
125  if (allLCTs(bx_alct, mbx, 0).isValid()) {
126  used_clct_mask[bx_clct] += 1;
128  break;
129  }
130  }
131  }
132  }
133  }
134 
135  // reduction of nLCTs per each BX
136  for (int bx = 0; bx < CSCConstants::MAX_LCT_TBINS; bx++) {
137  // counting
138  unsigned int n = 0;
139  for (unsigned int mbx = 0; mbx < match_trig_window_size; mbx++) {
140  for (int i = 0; i < CSCConstants::MAX_LCTS_PER_CSC; i++) {
141  if (allLCTs(bx, mbx, i).isValid()) {
142  ++n;
143  if (infoV > 0) {
144  LogDebug("CSCUpgradeMotherboard")
145  << "LCT" << i + 1 << " " << bx << "/" << bx + mbx - match_trig_window_size / 2 << ": "
146  << allLCTs(bx, mbx, i) << std::endl;
147  }
148  }
149  }
150  }
151 
152  // some simple cross-bx sorting algorithms
153  if (tmb_cross_bx_algo == 1 and (n > 2)) {
154  n = 0;
155  for (unsigned int mbx = 0; mbx < match_trig_window_size; mbx++) {
156  for (int i = 0; i < CSCConstants::MAX_LCTS_PER_CSC; i++) {
157  if (allLCTs(bx, pref[mbx], i).isValid()) {
158  n++;
159  if (n > 2)
160  allLCTs(bx, pref[mbx], i).clear();
161  }
162  }
163  }
164 
165  n = 0;
166  for (unsigned int mbx = 0; mbx < match_trig_window_size; mbx++) {
167  for (int i = 0; i < CSCConstants::MAX_LCTS_PER_CSC; i++) {
168  if (allLCTs(bx, mbx, i).isValid()) {
169  n++;
170  if (infoV > 0) {
171  LogDebug("CSCUpgradeMotherboard")
172  << "LCT" << i + 1 << " " << bx << "/" << bx + mbx - match_trig_window_size / 2 << ": "
173  << allLCTs(bx, mbx, i) << std::endl;
174  }
175  }
176  }
177  }
178  if (infoV > 0 and n > 0)
179  LogDebug("CSCUpgradeMotherboard") << "bx " << bx << " nnLCT:" << n << " " << n << std::endl;
180  } // x-bx sorting
181  }
182 
183  bool first = true;
184  unsigned int n = 0;
185  for (const auto& p : readoutLCTs()) {
186  if (debug_matching and first) {
187  LogTrace("CSCUpgradeMotherboard") << "========================================================================"
188  << std::endl;
189  LogTrace("CSCUpgradeMotherboard") << "Counting the final LCTs" << std::endl;
190  LogTrace("CSCUpgradeMotherboard") << "========================================================================"
191  << std::endl;
192  first = false;
193  LogTrace("CSCUpgradeMotherboard") << "tmb_cross_bx_algo: " << tmb_cross_bx_algo << std::endl;
194  }
195  n++;
196  if (debug_matching)
197  LogTrace("CSCUpgradeMotherboard") << "LCT " << n << " " << p << std::endl;
198  }
199 }
200 
202  const CSCALCTDigi& sALCT,
203  const CSCCLCTDigi& bCLCT,
204  const CSCCLCTDigi& sCLCT,
205  CSCCorrelatedLCTDigi& lct1,
206  CSCCorrelatedLCTDigi& lct2) const {
207  CSCALCTDigi bestALCT = bALCT;
208  CSCALCTDigi secondALCT = sALCT;
209  CSCCLCTDigi bestCLCT = bCLCT;
210  CSCCLCTDigi secondCLCT = sCLCT;
211 
212  const bool anodeBestValid = bestALCT.isValid();
213  const bool anodeSecondValid = secondALCT.isValid();
214  const bool cathodeBestValid = bestCLCT.isValid();
215  const bool cathodeSecondValid = secondCLCT.isValid();
216 
217  if (anodeBestValid and !anodeSecondValid)
218  secondALCT = bestALCT;
219  if (!anodeBestValid and anodeSecondValid)
220  bestALCT = secondALCT;
221  if (cathodeBestValid and !cathodeSecondValid)
222  secondCLCT = bestCLCT;
223  if (!cathodeBestValid and cathodeSecondValid)
224  bestCLCT = secondCLCT;
225 
226  // ALCT-CLCT matching conditions are defined by "trig_enable" configuration
227  // parameters.
228  if ((alct_trig_enable and bestALCT.isValid()) or (clct_trig_enable and bestCLCT.isValid()) or
229  (match_trig_enable and bestALCT.isValid() and bestCLCT.isValid())) {
230  lct1 = constructLCTs(bestALCT, bestCLCT, CSCCorrelatedLCTDigi::ALCTCLCT, 1);
231  }
232 
233  if (((secondALCT != bestALCT) or (secondCLCT != bestCLCT)) and
234  ((alct_trig_enable and secondALCT.isValid()) or (clct_trig_enable and secondCLCT.isValid()) or
235  (match_trig_enable and secondALCT.isValid() and secondCLCT.isValid()))) {
236  lct2 = constructLCTs(secondALCT, secondCLCT, CSCCorrelatedLCTDigi::ALCTCLCT, 2);
237  }
238 }
239 
240 //readout LCTs
241 std::vector<CSCCorrelatedLCTDigi> CSCUpgradeMotherboard::readoutLCTs() const {
242  std::vector<CSCCorrelatedLCTDigi> result;
244  if (tmb_cross_bx_algo == 2)
246  return result;
247 }
248 
250 
251 enum CSCPart CSCUpgradeMotherboard::getCSCPart(int keystrip) const {
252  if (theStation == 1 and (theRing == 1 or theRing == 4)) {
253  if (keystrip > CSCConstants::MAX_HALF_STRIP_ME1B) {
254  if (gangedME1a_)
255  return CSCPart::ME1Ag;
256  else
257  return CSCPart::ME1A;
258  } else if (keystrip <= CSCConstants::MAX_HALF_STRIP_ME1B and keystrip >= 0)
259  return CSCPart::ME1B;
260  else
261  return CSCPart::ME11;
262  } else if (theStation == 2 and theRing == 1)
263  return CSCPart::ME21;
264  else if (theStation == 3 and theRing == 1)
265  return CSCPart::ME31;
266  else if (theStation == 4 and theRing == 1)
267  return CSCPart::ME41;
268  else {
269  edm::LogError("CSCUpgradeMotherboard|Error") << " ++ getCSCPart() failed to find the CSC chamber for in case ";
270  return CSCPart::ME11; // return ME11 by default
271  }
272 }
273 
275  if (debug_luts)
277 }
278 
280  return lct1.getQuality() > lct2.getQuality();
281 }
282 
284  return true;
285 }
286 
287 void CSCUpgradeMotherboard::sortLCTs(std::vector<CSCCorrelatedLCTDigi>& lcts,
288  bool (*sorter)(const CSCCorrelatedLCTDigi&, const CSCCorrelatedLCTDigi&)) const {
289  std::sort(lcts.begin(), lcts.end(), *sorter);
290  if (lcts.size() > max_lcts)
291  lcts.erase(lcts.begin() + max_lcts, lcts.end());
292 }
293 
295 
297  pref[0] = match_trig_window_size / 2;
298  for (unsigned int m = 2; m < match_trig_window_size; m += 2) {
299  pref[m - 1] = pref[0] - m / 2;
300  pref[m] = pref[0] + m / 2;
301  }
302 }
303 
306  allLCTs.clear();
307 }
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
CSCBaseboard::theSector
const unsigned theSector
Definition: CSCBaseboard.h:44
ME41
Definition: CSCUpgradeMotherboardLUT.h:12
CSCBaseboard::cscGeometry_
const CSCGeometry * cscGeometry_
Definition: CSCBaseboard.h:63
CSCBaseboard::isSLHC_
bool isSLHC_
Definition: CSCBaseboard.h:82
CSCConstants::MAX_ALCT_TBINS
Definition: CSCConstants.h:62
CSCBaseboard::enableAlctSLHC_
bool enableAlctSLHC_
Definition: CSCBaseboard.h:83
CSCBaseboard::tmbParams_
edm::ParameterSet tmbParams_
Definition: CSCBaseboard.h:70
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:304
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:85
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:274
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
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:476
CSCUpgradeMotherboard::readoutLCTs
std::vector< CSCCorrelatedLCTDigi > readoutLCTs() const override
Definition: CSCUpgradeMotherboard.cc:241
CSCPart
CSCPart
Definition: CSCUpgradeMotherboardLUT.h:12
CSCUpgradeMotherboard::getCSCPart
enum CSCPart getCSCPart(int keystrip) const
Definition: CSCUpgradeMotherboard.cc:251
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
CSCUpgradeMotherboard::setupGeometry
void setupGeometry()
Definition: CSCUpgradeMotherboard.cc:294
CSCUpgradeMotherboard::match_earliest_clct_only
bool match_earliest_clct_only
Definition: CSCUpgradeMotherboard.h:106
CSCBaseboard::alctClctOffset_
unsigned int alctClctOffset_
Definition: CSCBaseboard.h:95
CSCUpgradeMotherboard::sortLCTsByGEMDphi
static bool sortLCTsByGEMDphi(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)
Definition: CSCUpgradeMotherboard.cc:283
CSCUpgradeMotherboard::theParity
Parity theParity
Definition: CSCUpgradeMotherboard.h:92
CSCBaseboard::theSubsector
const unsigned theSubsector
Definition: CSCBaseboard.h:45
CSCConstants::MAX_LCT_TBINS
Definition: CSCConstants.h:63
CSCBaseboard::gangedME1a_
bool gangedME1a_
Definition: CSCBaseboard.h:86
CSCUpgradeMotherboard::correlateLCTs
void correlateLCTs(const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2) const
Definition: CSCUpgradeMotherboard.cc:201
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:287
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:249
CSCBaseboard::theChamber
unsigned theChamber
Definition: CSCBaseboard.h:49
CSCUpgradeCathodeLCTProcessor
Definition: CSCUpgradeCathodeLCTProcessor.h:24
CSCUpgradeMotherboard::CSCUpgradeMotherboard
CSCUpgradeMotherboard()
Definition: CSCUpgradeMotherboard.cc:41
CSCMotherboard::drop_used_clcts
bool drop_used_clcts
Definition: CSCMotherboard.h:105
CSCMotherboard::encodeHighMultiplicityBits
void encodeHighMultiplicityBits(unsigned alctBits)
Definition: CSCMotherboard.cc:630
CSCUpgradeMotherboard::sortLCTsByQuality
static bool sortLCTsByQuality(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)
Definition: CSCUpgradeMotherboard.cc:279
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:296
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:49
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:55
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:61
CSCBaseboard::theRing
unsigned theRing
Definition: CSCBaseboard.h:48