CMS 3D CMS Logo

MESetBinningUtils.cc
Go to the documentation of this file.
2 
4 
8 
9 #include "TPRegexp.h"
10 #include "TObjArray.h"
11 
12 namespace ecaldqm {
13  namespace binning {
14  AxisSpecs getBinning(ObjectType _otype, BinningType _btype, bool _isMap, int _axis, unsigned _iME) {
15  if (_otype >= nObjType || _btype >= unsigned(nPresetBinnings))
16  return AxisSpecs(); // you are on your own
17 
18  switch (_otype) {
19  case kEB:
20  return getBinningEB_(_btype, _isMap, _axis);
21  case kEE:
22  return getBinningEE_(_btype, _isMap, 0, _axis);
23  case kEEm:
24  return getBinningEE_(_btype, _isMap, -1, _axis);
25  case kEEp:
26  return getBinningEE_(_btype, _isMap, 1, _axis);
27  case kSM:
28  return getBinningSM_(_btype, _isMap, _iME, _axis);
29  case kEBSM:
30  return getBinningSM_(_btype, _isMap, _iME + 9, _axis);
31  case kEESM:
32  if (_iME <= kEEmHigh)
33  return getBinningSM_(_btype, _isMap, _iME, _axis);
34  else
35  return getBinningSM_(_btype, _isMap, _iME + nEBDCC, _axis);
36  case kSMMEM:
37  return getBinningSMMEM_(_btype, _isMap, _iME, _axis);
38  case kEBSMMEM:
39  return getBinningSMMEM_(_btype, _isMap, _iME + nEEDCCMEM / 2, _axis);
40  case kEESMMEM:
41  if (_iME <= kEEmHigh)
42  return getBinningSMMEM_(_btype, _isMap, _iME, _axis);
43  else
44  return getBinningSMMEM_(_btype, _isMap, _iME + nEBDCC, _axis);
45  case kEcal:
46  return getBinningEcal_(_btype, _isMap, _axis);
47  case kMEM:
48  return getBinningMEM_(_btype, _isMap, -1, _axis);
49  case kEBMEM:
50  return getBinningMEM_(_btype, _isMap, EcalBarrel, _axis);
51  case kEEMEM:
52  return getBinningMEM_(_btype, _isMap, EcalEndcap, _axis);
53  default:
54  return AxisSpecs();
55  }
56  }
57 
58  int findBin1D(ObjectType _otype, BinningType _btype, const DetId &_id) {
59  switch (_otype) {
60  case kSM:
61  case kEBSM:
62  case kEESM:
63  if (_btype == kSuperCrystal)
64  return towerId(_id);
65  else if (_btype == kTriggerTower) {
66  unsigned tccid(tccId(_id));
67  if (tccid <= 36 || tccid >= 73) { // EE
68  unsigned bin(ttId(_id));
69  bool outer((tccid >= 19 && tccid <= 36) || (tccid >= 73 && tccid <= 90));
70  // For the following, the constants nTTInner and nTTOuter are defined in
71  // EcalDQMCommonUtils.h.
72  if (outer)
73  bin += 2 * nTTInner; // For outer TCCs, sets bin number to increment
74  // by twice the number of TTs in inner TCCs, because numbering of bins
75  // is in the order (inner1, inner2, outer1, outer2).
76  // ("inner"" := closer to the beam)
77  bin += (tccid % 2) * (outer ? nTTOuter : nTTInner); // Yields x-axis bin number
78  // in the format above; TTs in even-numbered TCCs are filled in inner1
79  // or outer1, and those in odd-numbered TCC are filled in inner2 and
80  // outer2.
81  return bin;
82  } else
83  return ttId(_id);
84  } else
85  break;
86  case kEcal:
87  if (_btype == kDCC)
88  return dccId(_id);
89  else if (_btype == kTCC)
90  return tccId(_id);
91  else
92  break;
93  case kEB:
94  if (_btype == kDCC)
95  return dccId(_id) - 9;
96  else if (_btype == kTCC)
97  return tccId(_id) - 36;
98  else
99  break;
100  case kEEm:
101  if (_btype == kDCC)
102  return dccId(_id);
103  else if (_btype == kTCC)
104  return tccId(_id);
105  else
106  break;
107  case kEEp:
108  if (_btype == kDCC)
109  return dccId(_id) - 45;
110  else if (_btype == kTCC)
111  return tccId(_id) - 72;
112  else
113  break;
114  case kEE:
115  if (_btype == kDCC) {
116  int bin(dccId(_id));
117  if (bin >= 46)
118  bin -= 36;
119  return bin;
120  } else if (_btype == kTCC) {
121  int bin(tccId(_id));
122  if (bin >= 72)
123  bin -= 36;
124  return bin;
125  } else
126  break;
127  case kSMMEM:
128  case kEBSMMEM:
129  case kEESMMEM:
130  if (_btype == kCrystal)
131  return EcalPnDiodeDetId(_id).iPnId();
132  else
133  break;
134  default:
135  break;
136  }
137 
138  return 0;
139  }
140 
141  int findBin1D(ObjectType _otype, BinningType _btype, const EcalElectronicsId &_id) {
142  switch (_otype) {
143  case kSM:
144  case kEBSM:
145  case kEESM:
146  if (_btype == kSuperCrystal)
147  return towerId(_id);
148  else if (_btype == kTriggerTower) {
149  unsigned tccid(tccId(_id));
150  if (tccid <= 36 || tccid >= 73) { // EE
151  unsigned bin(ttId(_id));
152  bool outer((tccid >= 19 && tccid <= 36) || (tccid >= 73 && tccid <= 90));
153  // For the following, the constants nTTInner and nTTOuter are defined in
154  // EcalDQMCommonUtils.h.
155  if (outer)
156  bin += 2 * nTTInner; // For outer TCCs, sets bin number to increment
157  // by twice the number of TTs in inner TCCs, because numbering of bins
158  // is in the order (inner1, inner2, outer1, outer2).
159  // ("inner"" := closer to the beam)
160  bin += (tccid % 2) * (outer ? nTTOuter : nTTInner); // Yields x-axis bin number
161  // in the format above; TTs in even-numbered TCCs are filled in inner1
162  // or outer1, and those in odd-numbered TCC are filled in inner2 and
163  // outer2.
164  return bin;
165  } else
166  return ttId(_id);
167  } else
168  break;
169  case kEcal:
170  if (_btype == kDCC)
171  return dccId(_id);
172  else if (_btype == kTCC)
173  return tccId(_id);
174  else
175  break;
176  case kEB:
177  if (_btype == kDCC)
178  return dccId(_id) - 9;
179  else if (_btype == kTCC)
180  return tccId(_id) - 36;
181  else
182  break;
183  case kEEm:
184  if (_btype == kDCC)
185  return dccId(_id);
186  else if (_btype == kTCC)
187  return tccId(_id);
188  else
189  break;
190  case kEEp:
191  if (_btype == kDCC)
192  return dccId(_id) - 45;
193  else if (_btype == kTCC)
194  return tccId(_id) - 72;
195  else
196  break;
197  case kEE:
198  if (_btype == kDCC) {
199  int bin(dccId(_id));
200  if (bin >= 46)
201  bin -= 36;
202  return bin;
203  } else if (_btype == kTCC) {
204  int bin(tccId(_id));
205  if (bin >= 72)
206  bin -= 36;
207  return bin;
208  } else
209  break;
210  default:
211  break;
212  }
213 
214  return 0;
215  }
216 
217  int findBin1D(ObjectType _otype, BinningType _btype, int _dcctccid) {
218  if (_otype == kEcal && _btype == kDCC)
219  return _dcctccid;
220  else if (_otype == kEcal && _btype == kTCC)
221  return _dcctccid;
222  if (_otype == kEB && _btype == kDCC)
223  return _dcctccid - 9;
224  else if (_otype == kEB && _btype == kTCC)
225  return _dcctccid - 36;
226  else if (_otype == kEEm && _btype == kDCC)
227  return _dcctccid;
228  else if (_otype == kEEm && _btype == kTCC)
229  return _dcctccid;
230  else if (_otype == kEEp && _btype == kDCC)
231  return _dcctccid - 45;
232  else if (_otype == kEEp && _btype == kTCC)
233  return _dcctccid - 72;
234  else if (_otype == kEE && _btype == kDCC)
235  return _dcctccid <= 9 ? _dcctccid : _dcctccid - 36;
236  else if (_otype == kEE && _btype == kTCC)
237  return _dcctccid <= 36 ? _dcctccid : _dcctccid - 36;
238 
239  return 0;
240  }
241 
242  int findBin2D(ObjectType _otype, BinningType _btype, const DetId &_id) {
243  if (_otype >= nObjType || _btype >= unsigned(nPresetBinnings))
244  return 0;
245 
246  switch (_btype) {
247  case kCrystal:
248  return findBinCrystal_(_otype, _id);
249  break;
250  case kTriggerTower:
251  return findBinTriggerTower_(_otype, _id);
252  break;
253  case kSuperCrystal:
254  return findBinSuperCrystal_(_otype, _id);
255  break;
256  case kPseudoStrip:
257  return findBinPseudoStrip_(_otype, _id);
258  break;
259  case kRCT:
260  return findBinRCT_(_otype, _id);
261  break;
262  default:
263  return 0;
264  }
265  }
266 
267  int findBin2D(ObjectType _otype, BinningType _btype, const EcalElectronicsId &_id) {
268  if (_otype >= nObjType || _btype >= unsigned(nPresetBinnings))
269  return 0;
270 
271  switch (_btype) {
272  case kCrystal:
273  return findBinCrystal_(_otype, _id);
274  break;
275  case kSuperCrystal:
276  return findBinSuperCrystal_(_otype, _id);
277  break;
278  default:
279  return 0;
280  }
281  }
282 
283  int findBin2D(ObjectType _otype, BinningType _btype, int _dccid) {
284  if (_otype != kEcal || _btype != kDCC)
285  return 0;
286 
287  int nbinsX(9);
288  unsigned iDCC(_dccid - 1);
289  int xbin(0);
290  if (iDCC <= kEEmHigh || iDCC >= kEEpLow)
291  xbin = (iDCC + 6) % nbinsX + 1;
292  else
293  xbin = iDCC % nbinsX + 1;
294  int ybin(6 - iDCC / nbinsX);
295 
296  return (nbinsX + 2) * ybin + xbin;
297  }
298 
299  unsigned findPlotIndex(ObjectType _otype, const DetId &_id) {
300  if (getNObjects(_otype) == 1)
301  return 0;
302 
303  switch (_otype) {
304  case kEcal3P:
305  if (_id.subdetId() == EcalBarrel)
306  return 1;
307  else if (_id.subdetId() == EcalEndcap && zside(_id) > 0)
308  return 2;
309  else if (_id.subdetId() == EcalTriggerTower) {
310  if (!isEndcapTTId(_id))
311  return 1;
312  else {
313  if (zside(_id) > 0)
314  return 2;
315  else
316  return 0;
317  }
318  } else
319  return 0;
320 
321  case kEcal2P:
322  if (_id.subdetId() == EcalBarrel)
323  return 1;
324  else if (_id.subdetId() == EcalTriggerTower && !isEndcapTTId(_id))
325  return 1;
326  else
327  return 0;
328 
329  case kEE2P:
330  if (zside(_id) > 0)
331  return 1;
332  else
333  return 0;
334 
335  case kMEM2P:
336  if (_id.subdetId() == EcalLaserPnDiode) {
337  unsigned iDCC(dccId(_id) - 1);
338  if (iDCC >= kEBmLow && iDCC <= kEBpHigh)
339  return 1;
340  else
341  return 0;
342  } else
343  return -1;
344 
345  default:
346  return findPlotIndex(_otype, dccId(_id));
347  }
348  }
349 
350  unsigned findPlotIndex(ObjectType _otype, const EcalElectronicsId &_id) {
351  if (getNObjects(_otype) == 1)
352  return 0;
353 
354  return findPlotIndex(_otype, _id.dccId());
355  }
356 
357  unsigned findPlotIndex(ObjectType _otype, int _dcctccid, BinningType _btype /* = kDCC*/) {
358  if (getNObjects(_otype) == 1)
359  return 0;
360 
361  int iSM(_dcctccid - 1);
362 
363  switch (_otype) {
364  case kSM:
365  if (_btype == kPseudoStrip) {
366  iSM = iSM <= kEEmTCCHigh ? (iSM + 1) % 18 / 2
367  : iSM >= kEEpTCCLow ? (iSM + 1 - 72) % 18 / 2 + 45 : (iSM + 1) - kEEmTCCHigh;
368  return iSM;
369  } else
370  return iSM;
371 
372  case kEBSM:
373  return iSM - 9;
374 
375  case kEESM:
376  if (iSM <= kEEmHigh)
377  return iSM;
378  else
379  return iSM - nEBDCC;
380 
381  case kSMMEM:
382  return memDCCIndex(_dcctccid);
383 
384  case kEBSMMEM:
385  return memDCCIndex(_dcctccid) - nEEDCCMEM / 2;
386 
387  case kEESMMEM:
388  if (iSM <= kEEmHigh)
389  return memDCCIndex(_dcctccid);
390  else
391  return memDCCIndex(_dcctccid) - nEBDCC;
392 
393  case kEcal2P:
394  if (_btype == kDCC) {
395  if (iSM <= kEEmHigh || iSM >= kEEpLow)
396  return 0;
397  else
398  return 1;
399  } else if (_btype == kTCC) {
400  if (iSM <= kEEmTCCHigh || iSM >= kEEpTCCLow)
401  return 0;
402  else
403  return 1;
404  } else {
405  if (iSM == EcalBarrel - 1)
406  return 1;
407  else
408  return 0;
409  }
410 
411  case kEcal3P:
412  if (_btype == kDCC) {
413  if (iSM <= kEEmHigh)
414  return 0;
415  else if (iSM <= kEBpHigh)
416  return 1;
417  else
418  return 2;
419  } else if (_btype == kTCC) {
420  if (iSM <= kEEmTCCHigh)
421  return 0;
422  else if (iSM <= kEBTCCHigh)
423  return 1;
424  else
425  return 2;
426  } else {
427  if (iSM == -EcalEndcap - 1)
428  return 0;
429  else if (iSM == EcalBarrel - 1)
430  return 1;
431  else
432  return 2;
433  }
434 
435  case kEE2P:
436  if (_btype == kDCC) {
437  if (iSM >= kEEpLow)
438  return 1;
439  else
440  return 0;
441  } else {
442  if (iSM >= kEEpTCCLow)
443  return 1;
444  else
445  return 0;
446  }
447 
448  case kMEM2P:
449  if (_btype == kDCC) {
450  if (iSM <= kEEmHigh || iSM >= kEEpLow)
451  return 0;
452  else
453  return 1;
454  } else if (_btype == kTCC)
455  return -1;
456  else {
457  if (iSM == kEB)
458  return 1;
459  else
460  return 0;
461  }
462  default:
463  return -1;
464  }
465  }
466 
467  ObjectType getObject(ObjectType _otype, unsigned _iObj) {
468  switch (_otype) {
469  case kEcal3P:
470  switch (_iObj) {
471  case 0:
472  return kEEm;
473  case 1:
474  return kEB;
475  case 2:
476  return kEEp;
477  default:
478  return nObjType;
479  }
480  case kEcal2P:
481  switch (_iObj) {
482  case 0:
483  return kEE;
484  case 1:
485  return kEB;
486  default:
487  return nObjType;
488  }
489  case kEE2P:
490  switch (_iObj) {
491  case 0:
492  return kEEm;
493  case 1:
494  return kEEp;
495  default:
496  return nObjType;
497  }
498  case kMEM2P:
499  switch (_iObj) {
500  case 0:
501  return kEEMEM;
502  case 1:
503  return kEBMEM;
504  default:
505  return nObjType;
506  }
507  default:
508  return _otype;
509  }
510  }
511 
512  unsigned getNObjects(ObjectType _otype) {
513  switch (_otype) {
514  case kSM:
515  return nDCC;
516  case kEBSM:
517  return nEBDCC;
518  case kEESM:
519  return nEEDCC;
520  case kSMMEM:
521  return nDCCMEM;
522  case kEBSMMEM:
523  return nEBDCC;
524  case kEESMMEM:
525  return nEEDCCMEM;
526  case kEcal2P:
527  return 2;
528  case kEcal3P:
529  return 3;
530  case kEE2P:
531  return 2;
532  case kMEM2P:
533  return 2;
534  default:
535  return 1;
536  }
537  }
538 
539  bool isValidIdBin(ObjectType _otype, BinningType _btype, unsigned _iME, int _bin) {
540  if (_otype == kEEm || _otype == kEEp) {
541  if (_btype == kCrystal || _btype == kTriggerTower)
542  return EEDetId::validDetId(_bin % 102, _bin / 102, 1);
543  else if (_btype == kSuperCrystal)
544  return EcalScDetId::validDetId(_bin % 22, _bin / 22, 1);
545  } else if (_otype == kEE) {
546  if (_btype == kCrystal || _btype == kTriggerTower) {
547  int ix(_bin % 202);
548  if (ix > 100)
549  ix = (ix - 100) % 101;
550  return EEDetId::validDetId(ix, _bin / 202, 1);
551  } else if (_btype == kSuperCrystal) {
552  int ix(_bin % 42);
553  if (ix > 20)
554  ix = (ix - 20) % 21;
555  return EcalScDetId::validDetId(ix, _bin / 42, 1);
556  }
557  } else if (_otype == kSM || _otype == kEESM) {
558  unsigned iSM(_iME);
559  if (_otype == kEESM && iSM > kEEmHigh)
560  iSM += nEBDCC;
561 
562  if (iSM >= kEBmLow && iSM <= kEBpHigh)
563  return true;
564 
565  if (_btype == kCrystal || _btype == kTriggerTower) {
566  int nX(nEESMX);
567  if (iSM == kEEm02 || iSM == kEEm08 || iSM == kEEp02 || iSM == kEEp08)
568  nX = nEESMXExt;
569  if (iSM == kEEm01 || iSM == kEEm05 || iSM == kEEm09 || iSM == kEEp01 || iSM == kEEp05 || iSM == kEEp09)
570  nX = nEESMXRed;
571  int ix(_bin % (nX + 2) + xlow_(iSM));
572  int iy(_bin / (nX + 2) + ylow_(iSM));
573  int z(iSM <= kEEmHigh ? -1 : 1);
574  return EEDetId::validDetId(ix, iy, 1) && iSM == dccId(EEDetId(ix, iy, z)) - 1;
575  } else if (_btype == kSuperCrystal) {
576  int nX(nEESMX / 5);
577  if (iSM == kEEm02 || iSM == kEEm08 || iSM == kEEp02 || iSM == kEEp08)
578  nX = nEESMXExt / 5;
579  if (iSM == kEEm01 || iSM == kEEm05 || iSM == kEEm09 || iSM == kEEp01 || iSM == kEEp05 || iSM == kEEp09)
580  nX = nEESMXRed / 5;
581  int ix(_bin % (nX + 2) + xlow_(iSM) / 5);
582  int iy(_bin / (nX + 2) + ylow_(iSM) / 5);
583  int z(iSM <= kEEmHigh ? -1 : 1);
584  return EcalScDetId::validDetId(ix, iy, z) && iSM == dccId(EcalScDetId(ix, iy, z)) - 1;
585  }
586  }
587 
588  return true;
589  }
590 
591  std::string channelName(uint32_t _rawId, BinningType _btype /* = kDCC*/) {
592  // assume the following IDs for respective binning types:
593  // Crystal: EcalElectronicsId
594  // TriggerTower: EcalTriggerElectronicsId (pstrip and channel ignored)
595  // SuperCrystal: EcalElectronicsId (strip and crystal ignored)
596  // TCC: TCC ID
597  // DCC: DCC ID
598 
599  std::stringstream ss;
600 
601  switch (_btype) {
602  case kCrystal: {
603  // EB-03 DCC 12 CCU 12 strip 3 xtal 1 (EB ieta -13 iphi 60) (TCC 39 TT 12
604  // pstrip 3 chan 1)
605  EcalElectronicsId eid(_rawId);
606  if (eid.towerId() >= 69)
607  ss << smName(eid.dccId()) << " DCC " << eid.dccId() << " CCU " << eid.towerId() << " PN " << eid.xtalId();
608  else {
609  ss << smName(eid.dccId()) << " DCC " << eid.dccId() << " CCU " << eid.towerId() << " strip "
610  << eid.stripId() << " xtal " << eid.xtalId();
611 
612  if (eid.dccId() >= kEBmLow + 1 && eid.dccId() <= kEBpHigh + 1) {
613  EBDetId ebid(getElectronicsMap()->getDetId(eid));
614  ss << " (EB ieta " << std::showpos << ebid.ieta() << std::noshowpos << " iphi " << ebid.iphi() << ")";
615  } else {
616  EEDetId eeid(getElectronicsMap()->getDetId(eid));
617  ss << " (EE ix " << eeid.ix() << " iy " << eeid.iy() << ")";
618  }
619  EcalTriggerElectronicsId teid(getElectronicsMap()->getTriggerElectronicsId(eid));
620  ss << " (TCC " << teid.tccId() << " TT " << teid.ttId() << " pstrip " << teid.pseudoStripId() << " chan "
621  << teid.channelId() << ")";
622  break;
623  }
624  }
625  [[fallthrough]];
626  case kTriggerTower: {
627  // EB-03 DCC 12 TCC 18 TT 3
628  EcalTriggerElectronicsId teid(_rawId);
629  EcalElectronicsId eid(getElectronicsMap()->getElectronicsId(teid));
630  ss << smName(eid.dccId()) << " DCC " << eid.dccId() << " TCC " << teid.tccId() << " TT " << teid.ttId();
631  break;
632  }
633  case kSuperCrystal: {
634  // EB-03 DCC 12 CCU 18 (EBTT ieta -13 iphi 60)
635  EcalElectronicsId eid(_rawId);
636  ss << smName(eid.dccId()) << " DCC " << eid.dccId() << " CCU " << eid.towerId();
637  if (eid.dccId() >= kEBmLow + 1 && eid.dccId() <= kEBpHigh + 1) {
638  EcalTrigTowerDetId ttid(EBDetId(getElectronicsMap()->getDetId(eid)).tower());
639  ss << " (EBTT ieta " << std::showpos << ttid.ieta() << std::noshowpos << " iphi " << ttid.iphi() << ")";
640  } else {
641  EcalScDetId scid(EEDetId(getElectronicsMap()->getDetId(eid)).sc());
642  ss << " (EESC ix " << scid.ix() << " iy " << scid.iy() << ")";
643  }
644  break;
645  }
646  case kTCC: {
647  // EB-03 TCC 12
648  int tccid(_rawId - nDCC);
649  int dccid(getElectronicsMap()->DCCid(getElectronicsMap()->getTrigTowerDetId(tccid, 1)));
650  ss << smName(dccid) << " TCC " << (_rawId - nDCC);
651  break;
652  }
653  case kDCC:
654  ss << smName(_rawId);
655  break;
656  default:
657  break;
658  }
659 
660  return ss.str();
661  }
662 
663  uint32_t idFromName(std::string const &_name) {
664  TString name(_name);
665  TPRegexp re(
666  "(EB|EE)([+-][0-9][0-9])(?: TCC ([0-9]+)| DCC ([0-9]+) (CCU|TCC) "
667  "([0-9]+)(?: (TT|strip|PN) ([0-9]+)(?: xtal ([0-9]+)|)|)|)");
668  // 1 2 3 4 5 6 7 8 9
669  uint32_t rawId(0);
670 
671  TObjArray *matches(re.MatchS(name));
672  matches->SetOwner(true);
673  if (matches->GetEntries() == 0)
674  return 0;
675  else if (matches->GetEntries() == 3) {
676  TString subdet(static_cast<TObjString *>(matches->At(1))->GetString());
677  if (subdet == "EB") {
678  int dccid(static_cast<TObjString *>(matches->At(2))->GetString().Atoi());
679  unsigned offset(0);
680  if (dccid < 0) {
681  dccid *= -1;
682  offset = kEEmLow;
683  } else
684  offset = kEEpLow;
685  rawId = (dccid + 2) % 9 + 1 + offset;
686  } else {
687  int dccid(static_cast<TObjString *>(matches->At(2))->GetString().Atoi());
688  if (dccid < 0)
689  dccid *= -1;
690  else
691  dccid += 18;
692  rawId = kEBmLow + dccid;
693  }
694  } else if (matches->GetEntries() == 4)
695  rawId = static_cast<TObjString *>(matches->At(3))->GetString().Atoi() + nDCC;
696  else {
697  TString subtype(static_cast<TObjString *>(matches->At(5))->GetString());
698  if (subtype == "TCC") {
699  int tccid(static_cast<TObjString *>(matches->At(6))->GetString().Atoi());
700  int ttid(static_cast<TObjString *>(matches->At(8))->GetString().Atoi());
701  rawId = EcalTriggerElectronicsId(tccid, ttid, 1, 1).rawId();
702  } else {
703  int dccid(static_cast<TObjString *>(matches->At(4))->GetString().Atoi());
704  int towerid(static_cast<TObjString *>(matches->At(6))->GetString().Atoi());
705  if (matches->GetEntries() == 7)
706  rawId = EcalElectronicsId(dccid, towerid, 1, 1).rawId();
707  else {
708  TString chType(static_cast<TObjString *>(matches->At(7))->GetString());
709  int stripOrPNid(static_cast<TObjString *>(matches->At(8))->GetString().Atoi());
710  if (chType == "PN")
711  rawId = EcalElectronicsId(dccid, towerid, 1, stripOrPNid).rawId();
712  else if (chType == "strip") {
713  int xtalid(static_cast<TObjString *>(matches->At(9))->GetString().Atoi());
714  rawId = EcalElectronicsId(dccid, towerid, stripOrPNid, xtalid).rawId();
715  }
716  // case "TT" is already taken care of
717  }
718  }
719  }
720 
721  delete matches;
722 
723  return rawId;
724  }
725 
726  uint32_t idFromBin(ObjectType _otype, BinningType _btype, unsigned _iME, int _bin) {
727  if (_otype == kEB) {
728  if (_btype == kCrystal) {
729  int ieta(_bin / 362 - 86);
730  if (ieta >= 0)
731  ++ieta;
732  return EBDetId(ieta, _bin % 362);
733  } else if (_btype == kTriggerTower || _btype == kSuperCrystal) {
734  int ieta(_bin / 74 - 17);
735  int z(1);
736  if (ieta <= 0) {
737  z = -1;
738  ieta = -ieta + 1;
739  }
740  return EcalTrigTowerDetId(z, EcalBarrel, ieta, (_bin % 74 + 69) % 72 + 1);
741  }
742  } else if (_otype == kEEm || _otype == kEEp) {
743  int z(_otype == kEEm ? -1 : 1);
744  if (_btype == kCrystal || _btype == kTriggerTower)
745  return EEDetId(_bin % 102, _bin / 102, z).rawId();
746  else if (_btype == kSuperCrystal)
747  return EcalScDetId(_bin % 22, _bin / 22, z).rawId();
748  } else if (_otype == kEE) {
749  if (_btype == kCrystal || _btype == kTriggerTower) {
750  int ix(_bin % 202);
751  int z(ix > 100 ? 1 : -1);
752  if (z > 0)
753  ix = (ix - 100) % 101;
754  return EEDetId(ix, _bin / 202, z).rawId();
755  } else if (_btype == kSuperCrystal) {
756  int ix(_bin % 42);
757  int z(ix > 20 ? 1 : -1);
758  if (z > 0)
759  ix = (ix - 20) % 21;
760  return EcalScDetId(ix, _bin / 42, z).rawId();
761  }
762  } else if (_otype == kSM || _otype == kEBSM || _otype == kEESM) {
763  unsigned iSM(_iME);
764  if (_otype == kEBSM)
765  iSM += 9;
766  else if (_otype == kEESM && iSM > kEEmHigh)
767  iSM += nEBDCC;
768 
769  int z(iSM <= kEBmHigh ? -1 : 1);
770 
771  if ((iSM >= kEBmLow && iSM <= kEBmHigh) || (iSM >= kEBpLow && iSM <= kEBpHigh)) {
772  if (_btype == kCrystal) {
773  int iphi(((iSM - 9) % 18) * 20 + (z < 0 ? _bin / 87 : 21 - _bin / 87));
774  int ieta((_bin % 87) * z);
775  return EBDetId(ieta, iphi).rawId();
776  } else if (_btype == kTriggerTower || _btype == kSuperCrystal) {
777  int iphi((((iSM - 9) % 18) * 4 + (z < 0 ? _bin / 19 : 5 - _bin / 19) + 69) % 72 + 1);
778  int ieta(_bin % 19);
780  }
781  } else {
782  if (_btype == kCrystal || _btype == kTriggerTower) {
783  int nX(nEESMX);
784  if (iSM == kEEm02 || iSM == kEEm08 || iSM == kEEp02 || iSM == kEEp08)
785  nX = nEESMXExt;
786  if (iSM == kEEm01 || iSM == kEEm05 || iSM == kEEm09 || iSM == kEEp01 || iSM == kEEp05 || iSM == kEEp09)
787  nX = nEESMXRed;
788  return EEDetId(_bin % (nX + 2) + xlow_(iSM), _bin / (nX + 2) + ylow_(iSM), z).rawId();
789  } else if (_btype == kSuperCrystal) {
790  int nX(nEESMX / 5);
791  if (iSM == kEEm02 || iSM == kEEm08 || iSM == kEEp02 || iSM == kEEp08)
792  nX = nEESMXExt / 5;
793  if (iSM == kEEm01 || iSM == kEEm05 || iSM == kEEm09 || iSM == kEEp01 || iSM == kEEp05 || iSM == kEEp09)
794  nX = nEESMXRed / 5;
795  return EcalScDetId(_bin % (nX + 2) + xlow_(iSM) / 5, _bin / (nX + 2) + ylow_(iSM) / 5, z).rawId();
796  }
797  }
798  }
799 
800  return 0;
801  }
802 
803  AxisSpecs formAxis(edm::ParameterSet const &_axisParams) {
804  AxisSpecs axis;
805 
806  if (_axisParams.existsAs<std::vector<double>>("edges", false)) {
807  std::vector<double> const &vEdges(_axisParams.getUntrackedParameter<std::vector<double>>("edges"));
808  axis.nbins = vEdges.size() - 1;
809  axis.edges = new float[vEdges.size()];
810  std::copy(vEdges.begin(), vEdges.end(), axis.edges);
811  } else {
812  axis.nbins = _axisParams.getUntrackedParameter<int>("nbins");
813  axis.low = _axisParams.getUntrackedParameter<double>("low");
814  bool highSet(_axisParams.existsAs<double>("high", false));
815  bool perBinSet(_axisParams.existsAs<double>("unitsPerBin", false));
816  if (highSet) {
817  if (perBinSet)
818  edm::LogWarning("EcalDQM") << "Maximum and bin width both set in an axis; using the former";
819  axis.high = _axisParams.getUntrackedParameter<double>("high");
820  } else if (perBinSet)
821  axis.high = axis.low + _axisParams.getUntrackedParameter<double>("unitsPerBin") * axis.nbins;
822  else
823  axis.high = 0.;
824  }
825 
826  if (_axisParams.existsAs<std::vector<std::string>>("labels", false)) {
827  std::vector<std::string> const &labels(_axisParams.getUntrackedParameter<std::vector<std::string>>("labels"));
828  if (int(labels.size()) == axis.nbins) {
829  axis.labels = new std::string[axis.nbins];
830  for (int iB(0); iB != axis.nbins; ++iB)
831  axis.labels[iB] = labels[iB];
832  }
833  }
834 
835  axis.title = _axisParams.getUntrackedParameter<std::string>("title");
836 
837  return axis;
838  }
839 
841  _desc.addUntracked<std::string>("title", "");
842  _desc.addUntracked<int>("nbins", 0);
843  _desc.addUntracked<double>("low", 0.);
844  _desc.addOptionalNode(edm::ParameterDescription<double>("high", 0., false) ^
845  edm::ParameterDescription<double>("unitsPerBin", 0., false),
846  false);
847  _desc.addOptionalUntracked<std::vector<double>>("edges");
848  _desc.addOptionalUntracked<std::vector<std::string>>("labels");
849  }
850 
852  if (_otypeName == "EB")
853  return kEB;
854  else if (_otypeName == "EE")
855  return kEE;
856  else if (_otypeName == "EEm")
857  return kEEm;
858  else if (_otypeName == "EEp")
859  return kEEp;
860  else if (_otypeName == "SM")
861  return kSM;
862  else if (_otypeName == "EBSM")
863  return kEBSM;
864  else if (_otypeName == "EESM")
865  return kEESM;
866  else if (_otypeName == "SMMEM")
867  return kSMMEM;
868  else if (_otypeName == "EBSMMEM")
869  return kEBSMMEM;
870  else if (_otypeName == "EESMMEM")
871  return kEESMMEM;
872  else if (_otypeName == "Ecal")
873  return kEcal;
874  else if (_otypeName == "MEM")
875  return kMEM;
876  else if (_otypeName == "EBMEM")
877  return kEBMEM;
878  else if (_otypeName == "EEMEM")
879  return kEEMEM;
880  else if (_otypeName == "Ecal2P")
881  return kEcal2P;
882  else if (_otypeName == "Ecal3P")
883  return kEcal3P;
884  else if (_otypeName == "EE2P")
885  return kEE2P;
886  else if (_otypeName == "MEM2P")
887  return kMEM2P;
888  else if (_otypeName == "Channel")
889  return kChannel;
890  else if (_otypeName == "None")
891  return nObjType;
892 
893  throw cms::Exception("InvalidConfiguration") << "No object type " << _otypeName << " defined";
894  }
895 
897  if (_btypeName == "Crystal")
898  return kCrystal;
899  else if (_btypeName == "TriggerTower")
900  return kTriggerTower;
901  else if (_btypeName == "SuperCrystal")
902  return kSuperCrystal;
903  else if (_btypeName == "PseudoStrip")
904  return kPseudoStrip;
905  else if (_btypeName == "TCC")
906  return kTCC;
907  else if (_btypeName == "DCC")
908  return kDCC;
909  else if (_btypeName == "ProjEta")
910  return kProjEta;
911  else if (_btypeName == "ProjPhi")
912  return kProjPhi;
913  else if (_btypeName == "RCT")
914  return kRCT;
915  else if (_btypeName == "User")
916  return kUser;
917  else if (_btypeName == "Report")
918  return kReport;
919  else if (_btypeName == "Trend")
920  return kTrend;
921 
922  throw cms::Exception("InvalidConfiguration") << "No binning type " << _btypeName << " defined";
923  }
924 
926  if (_kindName == "REAL")
928  else if (_kindName == "TH1F")
930  else if (_kindName == "TProfile")
932  else if (_kindName == "TH2F")
934  else if (_kindName == "TProfile2D")
936  else
938  }
939  } // namespace binning
940 } // namespace ecaldqm
ecaldqm::binning::getBinningEcal_
AxisSpecs getBinningEcal_(BinningType, bool, int)
Definition: MESetBinningUtils2.cc:332
MESetBinningUtils.h
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
ecaldqm::binning::findBinPseudoStrip_
int findBinPseudoStrip_(ObjectType, DetId const &)
Definition: MESetBinningUtils2.cc:582
ecaldqm::kEBmHigh
Definition: EcalDQMCommonUtils.h:86
EBDetId::ieta
int ieta() const
get the crystal ieta
Definition: EBDetId.h:49
ecaldqm::tccId
unsigned tccId(DetId const &)
Definition: EcalDQMCommonUtils.cc:56
EcalTrigTowerDetId::iphi
int iphi() const
get the tower iphi
Definition: EcalTrigTowerDetId.h:52
MessageLogger.h
ecaldqm
Definition: DQWorker.h:24
ecaldqm::binning::kSuperCrystal
Definition: MESetBinningUtils.h:43
ecaldqm::kEEm09
Definition: EcalDQMCommonUtils.h:29
ecaldqm::kEEp09
Definition: EcalDQMCommonUtils.h:74
ecaldqm::binning::kEE2P
Definition: MESetBinningUtils.h:34
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
EcalTriggerElectronicsId
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
Definition: EcalTriggerElectronicsId.h:18
EcalTriggerElectronicsId::tccId
int tccId() const
get the DCC (Ecal Local DCC value not global one) id
Definition: EcalTriggerElectronicsId.h:31
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
MonitorElementData::Kind::TH1F
EBDetId
Definition: EBDetId.h:17
EcalLaserPnDiode
Definition: EcalSubdetector.h:10
ecaldqm::binning::AxisSpecs::labels
std::string * labels
Definition: MESetBinningUtils.h:76
ecaldqm::binning::kEEp
Definition: MESetBinningUtils.h:21
ecaldqm::binning::kEB
Definition: MESetBinningUtils.h:18
ecaldqm::binning::idFromBin
uint32_t idFromBin(ObjectType, BinningType, unsigned, int)
Definition: MESetBinningUtils.cc:726
EcalScDetId::validDetId
static bool validDetId(int ix, int iy, int iz)
Definition: EcalScDetId.cc:59
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
hgcalTowerProducer_cfi.tower
tower
Definition: hgcalTowerProducer_cfi.py:3
ecaldqm::ttId
unsigned ttId(DetId const &)
Definition: EcalDQMCommonUtils.cc:101
ecaldqm::memDCCIndex
unsigned memDCCIndex(unsigned)
Definition: EcalDQMCommonUtils.cc:48
ecaldqm::nEBDCC
Definition: EcalDQMCommonUtils.h:93
EcalPnDiodeDetId::iPnId
int iPnId() const
get the PnId
Definition: EcalPnDiodeDetId.h:46
ecaldqm::binning::findBinRCT_
int findBinRCT_(ObjectType, DetId const &)
Definition: MESetBinningUtils2.cc:523
hlt_dqm_clientPB-live_cfg.nbinsX
nbinsX
Definition: hlt_dqm_clientPB-live_cfg.py:65
ecaldqm::binning::kEcal2P
Definition: MESetBinningUtils.h:32
ecaldqm::isEndcapTTId
bool isEndcapTTId(DetId const &)
Definition: EcalDQMCommonUtils.cc:270
ecaldqm::binning::AxisSpecs::edges
float * edges
Definition: MESetBinningUtils.h:75
ecaldqm::kEEmLow
Definition: EcalDQMCommonUtils.h:81
ecaldqm::kEEm01
Definition: EcalDQMCommonUtils.h:30
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
ecaldqm::binning::isValidIdBin
bool isValidIdBin(ObjectType, BinningType, unsigned, int)
Definition: MESetBinningUtils.cc:539
ecaldqm::binning::kProjEta
Definition: MESetBinningUtils.h:47
ecaldqm::binning::kEBMEM
Definition: MESetBinningUtils.h:30
EcalPnDiodeDetId
Definition: EcalPnDiodeDetId.h:22
edm::ParameterSet::existsAs
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:160
EcalTrigTowerDetId
Definition: EcalTrigTowerDetId.h:14
EcalElectronicsId::dccId
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
Definition: EcalElectronicsId.h:31
EEDetId::ix
int ix() const
Definition: EEDetId.h:77
ecaldqm::binning::kEE
Definition: MESetBinningUtils.h:19
EcalTriggerElectronicsId::ttId
int ttId() const
get the tower id
Definition: EcalTriggerElectronicsId.h:33
EcalBarrel
Definition: EcalSubdetector.h:10
edm::ParameterSetDescription::addOptionalUntracked
ParameterDescriptionBase * addOptionalUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:110
ecaldqm::binning::kReport
Definition: MESetBinningUtils.h:51
edm::ParameterSetDescription::addOptionalNode
ParameterDescriptionNode * addOptionalNode(ParameterDescriptionNode const &node, bool writeToCfi)
Definition: ParameterSetDescription.cc:50
MonitorElementData::Kind::TH2F
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
ecaldqm::binning::kProjPhi
Definition: MESetBinningUtils.h:48
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
DetId
Definition: DetId.h:17
ecaldqm::binning::getNObjects
unsigned getNObjects(ObjectType)
Definition: MESetBinningUtils.cc:512
ecaldqm::binning::kCrystal
Definition: MESetBinningUtils.h:41
ecaldqm::binning::kEcal3P
Definition: MESetBinningUtils.h:33
ecaldqm::binning::translateObjectType
ObjectType translateObjectType(std::string const &)
Definition: MESetBinningUtils.cc:851
ecaldqm::binning::AxisSpecs::low
float low
Definition: MESetBinningUtils.h:74
ecaldqm::kEBTCCHigh
Definition: EcalDQMCommonUtils.h:112
EcalScDetId
Definition: EcalScDetId.h:24
ecaldqm::binning::AxisSpecs::nbins
int nbins
Definition: MESetBinningUtils.h:73
ecaldqm::kEEp02
Definition: EcalDQMCommonUtils.h:76
ecaldqm::kEBpHigh
Definition: EcalDQMCommonUtils.h:88
ecaldqm::binning::nEESMX
Definition: MESetBinningUtils.h:61
ecaldqm::binning::findBinSuperCrystal_
int findBinSuperCrystal_(ObjectType, DetId const &, int=-1)
Definition: MESetBinningUtils2.cc:599
ecaldqm::binning::getObject
ObjectType getObject(ObjectType, unsigned)
Definition: MESetBinningUtils.cc:467
ecaldqm::kEEmHigh
Definition: EcalDQMCommonUtils.h:82
ParameterSetDescription.h
EcalElectronicsId
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
Definition: EcalElectronicsId.h:18
ecaldqm::kEEm08
Definition: EcalDQMCommonUtils.h:28
ecaldqm::nEEDCC
Definition: EcalDQMCommonUtils.h:94
ecaldqm::kEEp01
Definition: EcalDQMCommonUtils.h:75
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
EEDetId
Definition: EEDetId.h:14
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalEndcap
Definition: EcalSubdetector.h:10
edm::LogWarning
Definition: MessageLogger.h:141
ecaldqm::binning::getBinningSM_
AxisSpecs getBinningSM_(BinningType, bool, unsigned, int)
Definition: MESetBinningUtils2.cc:225
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
ecaldqm::binning::getBinning
AxisSpecs getBinning(ObjectType, BinningType, bool, int, unsigned)
Definition: MESetBinningUtils.cc:14
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
ecaldqm::nEEDCCMEM
Definition: EcalDQMCommonUtils.h:96
edm::ParameterSet
Definition: ParameterSet.h:36
ecaldqm::binning::AxisSpecs::title
std::string title
Definition: MESetBinningUtils.h:77
listHistos.binning
binning
Definition: listHistos.py:43
ecaldqm::binning::ObjectType
ObjectType
Definition: MESetBinningUtils.h:17
ecaldqm::binning::getBinningSMMEM_
AxisSpecs getBinningSMMEM_(BinningType, bool, unsigned, int)
Definition: MESetBinningUtils2.cc:306
EcalTriggerElectronicsId::pseudoStripId
int pseudoStripId() const
get the tower id
Definition: EcalTriggerElectronicsId.h:35
MonitorElementData::Kind
Kind
Definition: MonitorElementCollection.h:129
ecaldqm::binning::kEBSM
Definition: MESetBinningUtils.h:23
ecaldqm::binning::kEESM
Definition: MESetBinningUtils.h:24
ecaldqm::binning::translateKind
dqm::legacy::MonitorElement::Kind translateKind(std::string const &)
Definition: MESetBinningUtils.cc:925
ecaldqm::binning::getBinningEB_
AxisSpecs getBinningEB_(BinningType, bool, int)
Definition: MESetBinningUtils2.cc:89
ecaldqm::nTTOuter
Definition: EcalDQMCommonUtils.h:98
ecaldqm::kEEp05
Definition: EcalDQMCommonUtils.h:79
runTauDisplay.eid
eid
Definition: runTauDisplay.py:298
EcalScDetId::iy
int iy() const
Definition: EcalScDetId.h:76
ecaldqm::binning::findPlotIndex
unsigned findPlotIndex(ObjectType, DetId const &)
Definition: MESetBinningUtils.cc:299
ecaldqm::kEEmTCCHigh
Definition: EcalDQMCommonUtils.h:108
ecaldqm::kEBmLow
Definition: EcalDQMCommonUtils.h:85
EcalElectronicsId::rawId
uint32_t rawId() const
Definition: EcalElectronicsId.h:28
ecaldqm::kEEm05
Definition: EcalDQMCommonUtils.h:34
ecaldqm::binning::AxisSpecs
Definition: MESetBinningUtils.h:72
ecaldqm::binning::idFromName
uint32_t idFromName(std::string const &)
Definition: MESetBinningUtils.cc:663
EcalTriggerElectronicsId::channelId
int channelId() const
get the channel id
Definition: EcalTriggerElectronicsId.h:37
ecaldqm::nTTInner
Definition: EcalDQMCommonUtils.h:99
EcalTrigTowerDetId::ieta
int ieta() const
get the tower ieta
Definition: EcalTrigTowerDetId.h:44
EEDetId::iy
int iy() const
Definition: EEDetId.h:83
ecaldqm::binning::nEESMXExt
Definition: MESetBinningUtils.h:63
ecaldqm::binning::kUser
Definition: MESetBinningUtils.h:50
ecaldqm::binning::translateBinningType
BinningType translateBinningType(std::string const &)
Definition: MESetBinningUtils.cc:896
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
ecaldqm::binning::nEESMXRed
Definition: MESetBinningUtils.h:62
ecaldqm::binning::formAxis
AxisSpecs formAxis(edm::ParameterSet const &)
Definition: MESetBinningUtils.cc:803
ecaldqm::binning::kPseudoStrip
Definition: MESetBinningUtils.h:44
ecaldqm::towerId
unsigned towerId(DetId const &)
Definition: EcalDQMCommonUtils.cc:79
ecaldqm::binning::kMEM
Definition: MESetBinningUtils.h:29
ecaldqm::binning::findBin1D
int findBin1D(ObjectType, BinningType, DetId const &)
Definition: MESetBinningUtils.cc:58
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
EcalTriggerTower
Definition: EcalSubdetector.h:10
MonitorElementData::Kind::TPROFILE2D
ecaldqm::binning::channelName
std::string channelName(uint32_t, BinningType _btype=kDCC)
Definition: MESetBinningUtils.cc:591
MonitorElementData::Kind::INVALID
ecaldqm::binning::nObjType
Definition: MESetBinningUtils.h:37
ecaldqm::kEEpLow
Definition: EcalDQMCommonUtils.h:83
Exception
Definition: hltDiff.cc:246
ecaldqm::binning::kDCC
Definition: MESetBinningUtils.h:46
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
ecaldqm::smName
std::string smName(unsigned)
Definition: EcalDQMCommonUtils.cc:289
ecaldqm::binning::kEcal
Definition: MESetBinningUtils.h:28
ecaldqm::binning::getBinningMEM_
AxisSpecs getBinningMEM_(BinningType, bool, int, int)
Definition: MESetBinningUtils2.cc:403
ecaldqm::binning::AxisSpecs::high
float high
Definition: MESetBinningUtils.h:74
patCandidatesForDimuonsSequences_cff.matches
matches
Definition: patCandidatesForDimuonsSequences_cff.py:131
EEDetId::validDetId
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
ecaldqm::kEEpTCCLow
Definition: EcalDQMCommonUtils.h:109
ecaldqm::binning::findBin2D
int findBin2D(ObjectType, BinningType, DetId const &)
Definition: MESetBinningUtils.cc:242
ecaldqm::nDCC
Definition: EcalDQMCommonUtils.h:92
ecaldqm::binning::kEBSMMEM
Definition: MESetBinningUtils.h:26
ecaldqm::binning::fillAxisDescriptions
void fillAxisDescriptions(edm::ParameterSetDescription &)
Definition: MESetBinningUtils.cc:840
ecaldqm::binning::kTrend
Definition: MESetBinningUtils.h:52
ecaldqm::binning::kMEM2P
Definition: MESetBinningUtils.h:35
EBDetId::iphi
int iphi() const
get the crystal iphi
Definition: EBDetId.h:51
ecaldqm::binning::findBinTriggerTower_
int findBinTriggerTower_(ObjectType, DetId const &)
Definition: MESetBinningUtils2.cc:539
ParameterSet.h
ecaldqm::binning::kEEMEM
Definition: MESetBinningUtils.h:31
ecaldqm::binning::BinningType
BinningType
Definition: MESetBinningUtils.h:40
ecaldqm::binning::ylow_
int ylow_(int)
Definition: MESetBinningUtils2.cc:52
SurfaceOrientation::outer
Definition: Surface.h:19
ecaldqm::binning::getBinningEE_
AxisSpecs getBinningEE_(BinningType, bool, int, int)
Definition: MESetBinningUtils2.cc:154
ecaldqm::getElectronicsMap
const EcalElectronicsMapping * getElectronicsMap()
Definition: EcalDQMCommonUtils.cc:438
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
ecaldqm::binning::kSM
Definition: MESetBinningUtils.h:22
ecaldqm::kEBpLow
Definition: EcalDQMCommonUtils.h:87
ecaldqm::binning::kSMMEM
Definition: MESetBinningUtils.h:25
ecaldqm::binning::kTriggerTower
Definition: MESetBinningUtils.h:42
ecaldqm::nDCCMEM
Definition: EcalDQMCommonUtils.h:95
ecaldqm::kEEm02
Definition: EcalDQMCommonUtils.h:31
ecaldqm::binning::kEEm
Definition: MESetBinningUtils.h:20
ecaldqm::binning::kTCC
Definition: MESetBinningUtils.h:45
MonitorElementData::Kind::TPROFILE
edm::ParameterDescription
Definition: ParameterDescription.h:110
EcalScDetId::ix
int ix() const
Definition: EcalScDetId.h:70
EcalTriggerElectronicsId::rawId
uint32_t rawId() const
Definition: EcalTriggerElectronicsId.h:28
ecaldqm::binning::findBinCrystal_
int findBinCrystal_(ObjectType, DetId const &, int=-1)
Definition: MESetBinningUtils2.cc:429
ecaldqm::binning::kRCT
Definition: MESetBinningUtils.h:49
MonitorElementData::Kind::REAL
ecaldqm::binning::kEESMMEM
Definition: MESetBinningUtils.h:27
ecaldqm::binning::xlow_
int xlow_(int)
Definition: MESetBinningUtils2.cc:13
ecaldqm::binning::nPresetBinnings
Definition: MESetBinningUtils.h:57
EcalDQMCommonUtils.h
ecaldqm::binning::kChannel
Definition: MESetBinningUtils.h:36
ecaldqm::kEEp08
Definition: EcalDQMCommonUtils.h:73
ecaldqm::dccId
unsigned dccId(DetId const &)
Definition: EcalDQMCommonUtils.cc:16