CMS 3D CMS Logo

LCTQualityControl.cc
Go to the documentation of this file.
2 #include <unordered_map>
3 
4 // constructor
6  unsigned station,
7  unsigned sector,
8  unsigned subsector,
9  unsigned chamber,
10  const edm::ParameterSet& conf)
11  : CSCBaseboard(endcap, station, sector, subsector, chamber, conf) {
12  nplanes_clct_hit_pattern = clctParams_.getParameter<unsigned int>("clctNplanesHitPattern");
13 }
14 
15 // Check if the ALCT is valid
18 }
19 
21  int value, int min_value, int max_value, const std::string& comment, unsigned& errors) const {
22  if (value < min_value or value > max_value) {
23  edm::LogError("LCTQualityControl") << comment << value << "; allowed [" << min_value << ", " << max_value << "]";
24  errors++;
25  }
26 }
27 
28 template <class T>
29 void LCTQualityControl::reportErrors(const T& lct, const unsigned errors) const {
30  if (errors > 0) {
31  edm::LogError("LCTQualityControl") << "Invalid stub in " << cscId_ << " (" << errors << " errors):\n" << lct;
32  }
33 }
34 
35 // Check if the ALCT is valid
36 void LCTQualityControl::checkValid(const CSCALCTDigi& alct, unsigned max_stubs) const {
37  const unsigned max_wire = get_csc_max_wire(theStation, theRing);
38  const unsigned max_quality = get_csc_alct_max_quality(theStation, theRing, runME21ILT_);
39 
40  unsigned errors = 0;
41 
42  // stub must be valid
43  checkRange(alct.isValid(), 1, 1, "CSCALCTDigi with invalid bit set: ", errors);
44 
45  // ALCT number is 1 or 2
46  checkRange(alct.getTrknmb(), 1, max_stubs, "CSCALCTDigi with invalid track number: ", errors);
47 
48  // ALCT quality must be valid
49  // number of layers - 3
50  checkRange(alct.getQuality(), 1, max_quality, "CSCALCTDigi with invalid quality: ", errors);
51 
52  // ALCT key wire-group must be within bounds
53  checkRange(alct.getKeyWG(), 0, max_wire - 1, "CSCALCTDigi with invalid wire-group: ", errors);
54 
55  // ALCT with out-of-time BX
56  checkRange(alct.getBX(), 0, CSCConstants::MAX_ALCT_TBINS - 1, "CSCALCTDigi with invalid BX: ", errors);
57 
58  // ALCT is neither accelerator or collision
59  checkRange(alct.getCollisionB(), 0, 1, "CSCALCTDigi with invalid accel/coll biit: ", errors);
60 
61  reportErrors(alct, errors);
62 }
63 
64 // Check if the CLCT is valid
65 void LCTQualityControl::checkValid(const CSCCLCTDigi& clct, unsigned max_stubs) const {
66  const unsigned max_strip = get_csc_max_halfstrip(theStation, theRing);
67  const auto& [min_pattern_run2, max_pattern_run2] = get_csc_min_max_pattern(false);
68  const auto& [min_pattern_run3, max_pattern_run3] = get_csc_min_max_pattern(true);
69  const auto& [min_slope, max_slope] = get_csc_clct_min_max_slope();
70  const auto& [min_cfeb, max_cfeb] = get_csc_min_max_cfeb(theStation, theRing);
71  const unsigned max_quality = get_csc_clct_max_quality();
72  unsigned errors = 0;
73 
74  // CLCT must be valid
75  checkRange(clct.isValid(), 1, 1, "CSCCLCTDigi with invalid bit set: ", errors);
76 
77  // CLCT number is 1 or max
78  checkRange(clct.getTrknmb(), 1, max_stubs, "CSCCLCTDigi with invalid track number: ", errors);
79 
80  // CLCT quality must be valid
81  // CLCTs require at least 4 layers hit
82  // Run-3: ME1/1 CLCTs require only 3 layers
83  // Run-4: ME2/1 CLCTs require only 3 layers
84  checkRange(clct.getQuality(), nplanes_clct_hit_pattern, max_quality, "CSCCLCTDigi with invalid quality: ", errors);
85 
86  // CLCT half-strip must be within bounds
87  checkRange(
88  clct.getStrip(), 0, CSCConstants::NUM_HALF_STRIPS_PER_CFEB - 1, "CSCCLCTDigi with invalid half-strip: ", errors);
89 
90  // CLCT key half-strip must be within bounds
91  checkRange(clct.getKeyStrip(), 0, max_strip - 1, "CSCCLCTDigi with invalid key half-strip: ", errors);
92 
93  // CLCT with out-of-time BX
94  checkRange(clct.getBX(), 0, CSCConstants::MAX_CLCT_TBINS - 1, "CSCCLCTDigi with invalid BX: ", errors);
95 
96  // CLCT with neither left nor right bending
97  checkRange(clct.getBend(), 0, 1, "CSCCLCTDigi with invalid bending: ", errors);
98 
99  // CLCT with an invalid pattern ID
100  checkRange(
101  clct.getPattern(), min_pattern_run2, max_pattern_run2, "CSCCLCTDigi with invalid Run-2 pattern ID: ", errors);
102 
103  // CLCT with an invalid pattern ID
104  checkRange(
105  clct.getRun3Pattern(), min_pattern_run3, max_pattern_run3, "CSCCLCTDigi with invalid Run-3 pattern ID: ", errors);
106 
107  // CLCT with an invalid slope
108  checkRange(clct.getSlope(), min_slope, max_slope, "CSCCLCTDigi with invalid slope: ", errors);
109 
110  // CLCT with an invalid CFEB ID
111  checkRange(clct.getCFEB(), min_cfeb, max_cfeb, "CSCCLCTDigi with invalid CFEB ID: ", errors);
112 
113  if (runCCLUT_) {
114  // CLCT comparator code is invalid
115  checkRange(clct.getCompCode(), 0, std::pow(2, 12) - 1, "CSCCLCTDigi with invalid comparator code: ", errors);
116 
117  const unsigned max_quartstrip = get_csc_max_quartstrip(theStation, theRing);
118  const unsigned max_eighthstrip = get_csc_max_eighthstrip(theStation, theRing);
119 
120  // CLCT key quart-strip must be within bounds
121  checkRange(clct.getKeyStrip(4), 0, max_quartstrip - 1, "CSCCLCTDigi with invalid key quart-strip: ", errors);
122 
123  // CLCT key eighth-strip must be within bounds
124  checkRange(clct.getKeyStrip(8), 0, max_eighthstrip - 1, "CSCCLCTDigi with invalid key quart-strip: ", errors);
125  }
126 
127  reportErrors(clct, errors);
128 }
129 
131 
132 void LCTQualityControl::checkValid(const CSCCorrelatedLCTDigi& lct, const unsigned station, const unsigned ring) const {
133  const unsigned max_strip = get_csc_max_halfstrip(station, ring);
134  const unsigned max_quartstrip = get_csc_max_quartstrip(station, ring);
135  const unsigned max_eighthstrip = get_csc_max_eighthstrip(station, ring);
136  const unsigned max_wire = get_csc_max_wire(station, ring);
137  const auto& [min_pattern, max_pattern] = get_csc_lct_min_max_pattern();
138  const unsigned max_quality = get_csc_lct_max_quality();
139 
140  unsigned errors = 0;
141 
142  // LCT must be valid
143  checkRange(lct.isValid(), 1, 1, "CSCCorrelatedLCTDigi with invalid bit set: ", errors);
144 
145  // LCT number is 1 or 2
146  checkRange(lct.getTrknmb(), 1, 2, "CSCCorrelatedLCTDigi with invalid track number: ", errors);
147 
148  // LCT quality must be valid
149  checkRange(lct.getQuality(), 0, max_quality, "CSCCorrelatedLCTDigi with invalid quality: ", errors);
150 
151  // LCT key half-strip must be within bounds
152  checkRange(lct.getStrip(), 0, max_strip - 1, "CSCCorrelatedLCTDigi with invalid key half-strip: ", errors);
153 
154  // LCT key quart-strip must be within bounds
155  checkRange(lct.getStrip(4), 0, max_quartstrip - 1, "CSCCorrelatedLCTDigi with invalid key quart-strip: ", errors);
156 
157  // LCT key eighth-strip must be within bounds
158  checkRange(lct.getStrip(8), 0, max_eighthstrip - 1, "CSCCorrelatedLCTDigi with invalid key eighth-strip: ", errors);
159 
160  // LCT key wire-group must be within bounds
161  checkRange(lct.getKeyWG(), 0, max_wire - 1, "CSCCorrelatedLCTDigi with invalid wire-group: ", errors);
162 
163  // LCT with out-of-time BX
164  checkRange(lct.getBX(), 0, CSCConstants::MAX_LCT_TBINS - 1, "CSCCorrelatedLCTDigi with invalid BX: ", errors);
165 
166  // LCT with neither left nor right bending
167  checkRange(lct.getBend(), 0, 1, "CSCCorrelatedLCTDigi with invalid bending: ", errors);
168 
169  // LCT with invalid MPC link
170  checkRange(lct.getMPCLink(), 0, CSCConstants::MAX_LCTS_PER_MPC, "CSCCorrelatedLCTDigi with MPC link: ", errors);
171 
172  // LCT with invalid CSCID
173  checkRange(lct.getCSCID(),
176  "CSCCorrelatedLCTDigi with invalid CSCID: ",
177  errors);
178 
179  // LCT with an invalid pattern ID
180  checkRange(lct.getPattern(), min_pattern, max_pattern, "CSCCorrelatedLCTDigi with invalid pattern ID: ", errors);
181 
182  // simulated LCT type must be valid
185  edm::LogError("LCTQualityControl") << "CSCCorrelatedLCTDigi with invalid type (SIM): " << lct.getType()
186  << "; allowed [" << CSCCorrelatedLCTDigi::ALCTCLCT << ", "
188  errors++;
189  }
190 
191  // non-GEM-CSC stations ALWAYS send out ALCTCLCT type LCTs
192  if (!(ring == 1 and (station == 1 or station == 2))) {
194  edm::LogError("LCTQualityControl") << "CSCCorrelatedLCTDigi with invalid type (SIM) in this station: "
195  << lct.getType() << "; allowed [" << CSCCorrelatedLCTDigi::ALCTCLCT << "]";
196  errors++;
197  }
198  }
199 
200  // GEM-CSC stations can send out GEM-type LCTs ONLY when the ILT is turned on!
201  if (ring == 1 and lct.getType() != CSCCorrelatedLCTDigi::ALCTCLCT) {
202  if ((station == 1 and !runME11ILT_) or (station == 2 and !runME21ILT_)) {
203  edm::LogError("LCTQualityControl") << "CSCCorrelatedLCTDigi with invalid type (SIM) with GEM-CSC trigger not on: "
204  << lct.getType() << "; allowed [" << CSCCorrelatedLCTDigi::ALCTCLCT << "]";
205  errors++;
206  }
207  }
208 
209  reportErrors(lct, errors);
210 }
211 
212 void LCTQualityControl::checkMultiplicityBX(const std::vector<CSCALCTDigi>& collection) const {
214 }
215 
216 void LCTQualityControl::checkMultiplicityBX(const std::vector<CSCCLCTDigi>& collection) const {
218 }
219 
220 void LCTQualityControl::checkMultiplicityBX(const std::vector<CSCCorrelatedLCTDigi>& collection) const {
222 }
223 
225  // PID 2 is actually a left-bending pattern with a negative slope
226  // PID 3 is actually a right-bending pattern with a positive slope
227  int slopeList[CSCConstants::NUM_CLCT_PATTERNS] = {0, 0, -8, 8, -6, 6, -4, 4, -2, 2, 0};
228  return slopeList[pattern];
229 }
230 
232  int min_slope, max_slope;
233  // Run-3 case with CCLUT
234  // 5-bit number (includes the L/R bending)
235  if (runCCLUT_) {
236  min_slope = 0;
237  max_slope = 31;
238  }
239  // Run-1 or Run-2 case
240  // Run-3 case without CCLUT
241  else {
242  min_slope = -10;
243  max_slope = 10;
244  }
245 
246  return std::make_pair(min_slope, max_slope);
247 }
248 
249 // Number of halfstrips and wiregroups
250 // +----------------------------+------------+------------+
251 // | Chamber type | Num of | Num of |
252 // | | halfstrips | wiregroups |
253 // +----------------------------+------------+------------+
254 // | ME1/1a | 96 | 48 |
255 // | ME1/1b | 128 | 48 |
256 // | ME1/2 | 160 | 64 |
257 // | ME1/3 | 128 | 32 |
258 // | ME2/1 | 160 | 112 |
259 // | ME3/1, ME4/1 | 160 | 96 |
260 // | ME2/2, ME3/2, ME4/2 | 160 | 64 |
261 // +----------------------------+------------+------------+
262 
264  unsigned max_wire = 0; // wiregroup
265  if (station == 1 && ring == 4) { // ME1/1a
266  max_wire = 48;
267  } else if (station == 1 && ring == 1) { // ME1/1b
268  max_wire = 48;
269  } else if (station == 1 && ring == 2) { // ME1/2
270  max_wire = 64;
271  } else if (station == 1 && ring == 3) { // ME1/3
272  max_wire = 32;
273  } else if (station == 2 && ring == 1) { // ME2/1
274  max_wire = 112;
275  } else if (station >= 3 && ring == 1) { // ME3/1, ME4/1
276  max_wire = 96;
277  } else if (station >= 2 && ring == 2) { // ME2/2, ME3/2, ME4/2
278  max_wire = 64;
279  }
280  return max_wire;
281 }
282 
284  int max_strip = 0; // halfstrip
285  if (station == 1 && ring == 4) { // ME1/1a
286  max_strip = 96;
287  } else if (station == 1 && ring == 1) { // ME1/1b
288  // In the CSC local trigger
289  // ME1/a is taken together with ME1/b
290  max_strip = 128 + 96;
291  } else if (station == 1 && ring == 2) { // ME1/2
292  max_strip = 160;
293  } else if (station == 1 && ring == 3) { // ME1/3
294  max_strip = 128;
295  } else if (station == 2 && ring == 1) { // ME2/1
296  max_strip = 160;
297  } else if (station >= 3 && ring == 1) { // ME3/1, ME4/1
298  max_strip = 160;
299  } else if (station >= 2 && ring == 2) { // ME2/2, ME3/2, ME4/2
300  max_strip = 160;
301  }
302  return max_strip;
303 }
304 
306  return get_csc_max_halfstrip(station, ring) * 2;
307 }
308 
310  return get_csc_max_halfstrip(station, ring) * 4;
311 }
312 
313 std::pair<unsigned, unsigned> LCTQualityControl::get_csc_min_max_cfeb(int station, int ring) const {
314  // 5 CFEBs [0,4] for non-ME1/1 chambers
315  int min_cfeb = 0;
316  int max_cfeb = CSCConstants::MAX_CFEBS - 1; // 4
317  // 7 CFEBs [0,6] for ME1/1 chambers
318  if (station == 1 and ring == 1) {
319  max_cfeb = 6;
320  }
321  return std::make_pair(min_cfeb, max_cfeb);
322 }
323 
324 std::pair<unsigned, unsigned> LCTQualityControl::get_csc_min_max_pattern(bool runCCLUT) const {
325  int min_pattern, max_pattern;
326  // Run-1 or Run-2 case
327  if (!runCCLUT) {
328  min_pattern = 2;
329  max_pattern = 10;
330  }
331  // Run-3 case
332  else {
333  min_pattern = 0;
334  max_pattern = 4;
335  }
336  return std::make_pair(min_pattern, max_pattern);
337 }
338 
339 std::pair<unsigned, unsigned> LCTQualityControl::get_csc_lct_min_max_pattern() const {
340  int min_pattern, max_pattern;
341  // Run-1 or Run-2 case
342  if (!runCCLUT_) {
343  min_pattern = 2;
344  max_pattern = 10;
345  }
346  // Run-3 case: pattern Id is interpreted as the slope!
347  else {
348  min_pattern = 0;
349  max_pattern = 15;
350  }
351  return std::make_pair(min_pattern, max_pattern);
352 }
353 
354 unsigned LCTQualityControl::get_csc_alct_max_quality(int station, int ring, bool runGEMCSC) const {
355  int max_quality = 3;
356  // GE2/1-ME2/1 ALCTs are allowed 3-layer ALCTs
357  if (runGEMCSC and station == 2 and ring == 1) {
358  max_quality = 4;
359  }
360  return max_quality;
361 }
362 
364  int max_quality = 6;
365  return max_quality;
366 }
367 
369  int max_quality = 15;
370  return max_quality;
371 }
CSCALCTDigi::getBX
uint16_t getBX() const
return BX - five low bits of BXN counter tagged by the ALCT
Definition: CSCALCTDigi.h:73
LCTQualityControl::checkValidReadout
void checkValidReadout(const CSCALCTDigi &alct) const
Definition: LCTQualityControl.cc:16
LCTQualityControl::getSlopePhase1
int getSlopePhase1(int pattern) const
Definition: LCTQualityControl.cc:224
CSCBaseboard::clctParams_
edm::ParameterSet clctParams_
Definition: CSCBaseboard.h:78
CSCCorrelatedLCTDigi::getTrknmb
uint16_t getTrknmb() const
return track number
Definition: CSCCorrelatedLCTDigi.h:52
LCTQualityControl::get_csc_min_max_pattern
std::pair< unsigned, unsigned > get_csc_min_max_pattern(bool isRun3) const
Definition: LCTQualityControl.cc:324
CSCConstants::MAX_ALCT_TBINS
Definition: CSCConstants.h:64
CSCCLCTDigi::getTrknmb
uint16_t getTrknmb() const
return track number (1,2)
Definition: CSCCLCTDigi.h:132
CSCCorrelatedLCTDigi::getType
int getType() const
Definition: CSCCorrelatedLCTDigi.h:212
relativeConstraints.station
station
Definition: relativeConstraints.py:67
CSCCorrelatedLCTDigi::CLCTALCT
Definition: CSCCorrelatedLCTDigi.h:202
LCTQualityControl::nplanes_clct_hit_pattern
unsigned nplanes_clct_hit_pattern
Definition: LCTQualityControl.h:84
CSCCorrelatedLCTDigi::getStrip
uint16_t getStrip(uint16_t n=2) const
return the key halfstrip from 0,159
Definition: CSCCorrelatedLCTDigi.cc:72
CSCBaseboard::theStation
const unsigned theStation
Definition: CSCBaseboard.h:42
CSCCorrelatedLCTDigi::getKeyWG
uint16_t getKeyWG() const
return the key wire group. counts from 0.
Definition: CSCCorrelatedLCTDigi.h:61
CSCCLCTDigi::getCompCode
int16_t getCompCode() const
Definition: CSCCLCTDigi.h:171
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
CSCCLCTDigi::getKeyStrip
uint16_t getKeyStrip(const uint16_t n=2) const
Definition: CSCCLCTDigi.cc:131
CSCCLCTDigi
Definition: CSCCLCTDigi.h:17
CSCCorrelatedLCTDigi::ALCTCLCT
Definition: CSCCorrelatedLCTDigi.h:203
CSCBaseboard::runME11ILT_
bool runME11ILT_
Definition: CSCBaseboard.h:91
CSCCorrelatedLCTDigi::CLCT2GEM
Definition: CSCCorrelatedLCTDigi.h:207
auxiliaryParams.runCCLUT
runCCLUT
Definition: auxiliaryParams.py:33
CSCALCTDigi::getKeyWG
uint16_t getKeyWG() const
return key wire group
Definition: CSCALCTDigi.h:67
CSCCLCTDigi::getQuality
uint16_t getQuality() const
return quality of a pattern (number of layers hit!)
Definition: CSCCLCTDigi.h:56
LCTQualityControl::LCTQualityControl
LCTQualityControl(unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf)
Definition: LCTQualityControl.cc:5
CSCCLCTDigi::getBend
uint16_t getBend() const
Definition: CSCCLCTDigi.h:93
CSCConstants::MAX_LCTS_PER_CSC
Definition: CSCConstants.h:75
errors
Definition: errors.py:1
LCTQualityControl::reportErrors
void reportErrors(const T &lct, const unsigned errors) const
Definition: LCTQualityControl.cc:29
CSCCorrelatedLCTDigi::CLCTONLY
Definition: CSCCorrelatedLCTDigi.h:208
CSCConstants::MAX_LCT_TBINS
Definition: CSCConstants.h:65
CSCConstants::MAX_ALCTS_READOUT
Definition: CSCConstants.h:73
CSCCorrelatedLCTDigi::getBend
uint16_t getBend() const
Definition: CSCCorrelatedLCTDigi.h:115
hcaldqm::quantity::min_value
const std::map< ValueQuantityType, double > min_value
Definition: ValueQuantity.h:130
CSCALCTDigi::getCollisionB
uint16_t getCollisionB() const
Definition: CSCALCTDigi.h:61
LCTQualityControl::checkRange
void checkRange(int parameter, int min_value, int max_value, const std::string &comment, unsigned &errors) const
Definition: LCTQualityControl.cc:20
LCTQualityControl::get_csc_lct_max_quality
unsigned get_csc_lct_max_quality() const
Definition: LCTQualityControl.cc:368
CSCALCTDigi::getQuality
uint16_t getQuality() const
return quality of a pattern
Definition: CSCALCTDigi.h:46
LCTQualityControl::get_csc_max_quartstrip
unsigned get_csc_max_quartstrip(int station, int ring) const
Definition: LCTQualityControl.cc:305
LCTQualityControl::get_csc_alct_max_quality
unsigned get_csc_alct_max_quality(int station, int ring, bool runGEMCSC) const
Definition: LCTQualityControl.cc:354
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CSCCLCTDigi::getStrip
uint16_t getStrip() const
return halfstrip that goes from 0 to 31 in a (D)CFEB
Definition: CSCCLCTDigi.cc:157
edm::ParameterSet
Definition: ParameterSet.h:47
CSCTriggerNumbering::minTriggerCscId
static int minTriggerCscId()
Definition: CSCTriggerNumbering.h:111
CSCBaseboard
Definition: CSCBaseboard.h:14
CSCCorrelatedLCTDigi::getCSCID
uint16_t getCSCID() const
Definition: CSCCorrelatedLCTDigi.h:133
CSCCLCTDigi::isValid
bool isValid() const
check CLCT validity (1 - valid CLCT)
Definition: CSCCLCTDigi.h:50
universalConfigTemplate.collection
collection
Definition: universalConfigTemplate.py:81
LCTQualityControl::get_csc_min_max_cfeb
std::pair< unsigned, unsigned > get_csc_min_max_cfeb(int station, int ring) const
Definition: LCTQualityControl.cc:313
LCTQualityControl::checkValid
void checkValid(const CSCALCTDigi &alct, unsigned max_stubs=CSCConstants::MAX_ALCTS_PER_PROCESSOR) const
Definition: LCTQualityControl.cc:36
value
Definition: value.py:1
topSingleLeptonDQM_PU_cfi.pattern
pattern
Definition: topSingleLeptonDQM_PU_cfi.py:39
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
CSCCLCTDigi::getSlope
uint16_t getSlope() const
return the slope
Definition: CSCCLCTDigi.cc:106
LCTQualityControl::get_csc_lct_min_max_pattern
std::pair< unsigned, unsigned > get_csc_lct_min_max_pattern() const
Definition: LCTQualityControl.cc:339
CSCCLCTDigi::getBX
uint16_t getBX() const
return BX
Definition: CSCCLCTDigi.h:123
CSCBaseboard::runME21ILT_
bool runME21ILT_
Definition: CSCBaseboard.h:94
CSCConstants::MAX_CLCTS_READOUT
Definition: CSCConstants.h:70
hcaldqm::quantity::max_value
const std::map< ValueQuantityType, double > max_value
Definition: ValueQuantity.h:190
LCTQualityControl::get_csc_max_wire
unsigned get_csc_max_wire(int station, int ring) const
Definition: LCTQualityControl.cc:263
T
long double T
Definition: Basic3DVectorLD.h:48
CSCCorrelatedLCTDigi::getPattern
uint16_t getPattern() const
Definition: CSCCorrelatedLCTDigi.cc:151
CSCALCTDigi
Definition: CSCALCTDigi.h:17
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
CSCConstants::MAX_CLCT_TBINS
Definition: CSCConstants.h:63
CSCCorrelatedLCTDigi::getMPCLink
uint16_t getMPCLink() const
return MPC link number, 0 means not sorted, 1-3 give MPC sorting rank
Definition: CSCCorrelatedLCTDigi.h:131
LCTQualityControl::checkMultiplicityBX
void checkMultiplicityBX(const std::vector< CSCALCTDigi > &alcts) const
Definition: LCTQualityControl.cc:212
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
LCTQualityControl::get_csc_clct_min_max_slope
std::pair< int, int > get_csc_clct_min_max_slope() const
Definition: LCTQualityControl.cc:231
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
CSCCLCTDigi::getCFEB
uint16_t getCFEB() const
return Key CFEB ID
Definition: CSCCLCTDigi.h:117
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
CSCCorrelatedLCTDigi::ALCTONLY
Definition: CSCCorrelatedLCTDigi.h:209
CSCTriggerNumbering::maxTriggerCscId
static int maxTriggerCscId()
Definition: CSCTriggerNumbering.h:110
CSCBaseboard::cscId_
CSCDetId cscId_
Definition: CSCBaseboard.h:57
LCTQualityControl::get_csc_max_eighthstrip
unsigned get_csc_max_eighthstrip(int station, int ring) const
Definition: LCTQualityControl.cc:309
CSCALCTDigi::isValid
bool isValid() const
check ALCT validity (1 - valid ALCT)
Definition: CSCALCTDigi.h:40
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
CSCConstants::MAX_LCTS_PER_MPC
Definition: CSCConstants.h:77
CSCALCTDigi::getTrknmb
uint16_t getTrknmb() const
return track number (1,2)
Definition: CSCALCTDigi.h:79
CSCConstants::NUM_CLCT_PATTERNS
Definition: CSCConstants.h:52
CSCCLCTDigi::getPattern
uint16_t getPattern() const
return pattern
Definition: CSCCLCTDigi.cc:88
CSCCorrelatedLCTDigi::getBX
uint16_t getBX() const
return BX
Definition: CSCCorrelatedLCTDigi.h:118
LCTQualityControl::get_csc_clct_max_quality
unsigned get_csc_clct_max_quality() const
Definition: LCTQualityControl.cc:363
CSCConstants::NUM_HALF_STRIPS_PER_CFEB
Definition: CSCConstants.h:32
CSCCorrelatedLCTDigi::isValid
bool isValid() const
return valid pattern bit
Definition: CSCCorrelatedLCTDigi.h:55
CSCCorrelatedLCTDigi::getQuality
uint16_t getQuality() const
return the Quality
Definition: CSCCorrelatedLCTDigi.h:58
LCTQualityControl::get_csc_max_halfstrip
unsigned get_csc_max_halfstrip(int station, int ring) const
Definition: LCTQualityControl.cc:283
CSCConstants::MAX_CFEBS
Definition: CSCConstants.h:15
CSCCorrelatedLCTDigi
Definition: CSCCorrelatedLCTDigi.h:19
CSCBaseboard::runCCLUT_
bool runCCLUT_
Definition: CSCBaseboard.h:102
LCTQualityControl.h
CSCBaseboard::theRing
unsigned theRing
Definition: CSCBaseboard.h:47
debug_messages_cfi.errors
errors
Definition: debug_messages_cfi.py:54
CSCCLCTDigi::getRun3Pattern
uint16_t getRun3Pattern() const
return pattern
Definition: CSCCLCTDigi.cc:94