CMS 3D CMS Logo

DigiPhase1Task.cc
Go to the documentation of this file.
2 
3 using namespace hcaldqm;
4 using namespace hcaldqm::constants;
5 using namespace hcaldqm::filter;
6 
8  _tagHBHE = ps.getUntrackedParameter<edm::InputTag>("tagHBHE", edm::InputTag("hcalDigis"));
9  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO", edm::InputTag("hcalDigis"));
10  _tagHF = ps.getUntrackedParameter<edm::InputTag>("tagHF", edm::InputTag("hcalDigis"));
11 
12  _tokHBHE = consumes<QIE11DigiCollection>(_tagHBHE);
13  _tokHO = consumes<HODigiCollection>(_tagHO);
14  _tokHF = consumes<QIE10DigiCollection>(_tagHF);
15 
16  _cutSumQ_HBHE = ps.getUntrackedParameter<double>("cutSumQ_HBHE", 20);
17  _cutSumQ_HO = ps.getUntrackedParameter<double>("cutSumQ_HO", 20);
18  _cutSumQ_HF = ps.getUntrackedParameter<double>("cutSumQ_HF", 20);
19  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
20 
21  _vflags.resize(nDigiFlag);
22  _vflags[fUni] = hcaldqm::flag::Flag("UniSlotHF");
23  _vflags[fDigiSize] = hcaldqm::flag::Flag("DigiSize");
24  _vflags[fNChsHF] = hcaldqm::flag::Flag("NChsHF");
25  _vflags[fUnknownIds] = hcaldqm::flag::Flag("UnknownIds");
26 }
27 
29  DQTask::bookHistograms(ib, r, es);
30 
31  // GET WHAT YOU NEED
33  es.get<HcalDbRecord>().get(dbs);
34  _emap = dbs->getHcalMapping();
35  std::vector<uint32_t> vVME;
36  std::vector<uint32_t> vuTCA;
37  vVME.push_back(
39  vuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
42 
43  // INITIALIZE FIRST
45  "ADC",
49  0);
51  "fC",
55  0);
57  "SumQ",
61  0);
63  "SumQ",
68  0);
70  "SumQvsLS",
74  0);
76  "TimingCut",
80  0);
82  "TimingCut",
87  0);
88 
89  // Occupancy w/o a cut
91  "OccupancyvsLS",
95  0);
97  "Occupancy",
102  0);
103 
104  // Occupancy w/ a cut
106  "OccupancyCutvsLS",
110  0);
112  "OccupancyCut",
117  0);
118 
119  if (_ptype != fOffline) { // hidefed2crate
120  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
121  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
122  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
123 
124  std::vector<uint32_t> vFEDHF;
125  vFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
126  vFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
127  vFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
128  // initialize filters
130 
131  // push the rawIds of each fed into the vector...
132  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it) {
133  _vhashFEDs.push_back(
135  }
136  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
137  std::pair<uint16_t, uint16_t> cspair = hcaldqm::utilities::fed2crate(*it);
138  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
139  }
140 
142  "Shape",
146  0);
147 
149  "TimingCut",
154  0);
156  "TimingCut",
161  0);
163  "TimingCut",
165  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
168  0);
170  "TimingCut",
172  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
175  0);
177  "TimingvsLS",
181  0);
182 
184  "Occupancy",
189  0);
191  "Occupancy",
196  0);
198  "Occupancy",
200  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
203  0);
205  "Occupancy",
207  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
210  0);
211 
213  "OccupancyCut",
218  0);
220  "OccupancyCut",
225  0);
227  "OccupancyCut",
229  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
232  0);
234  "OccupancyCut",
236  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
239  0);
240 
242  "DigiSize",
246  0);
247  }
248 
249  // BOOK HISTOGRAMS
250  char cutstr[200];
251  sprintf(cutstr, "_SumQHBHE%dHO%dHF%d", int(_cutSumQ_HBHE), int(_cutSumQ_HO), int(_cutSumQ_HF));
252  char cutstr2[200];
253  sprintf(cutstr2, "_SumQHF%d", int(_cutSumQ_HF));
254 
256 
261 
264 
268 
269  if (_ptype != fOffline) { // hidefed2crate
285  }
286 
287  // BOOK HISTOGRAMS that are only for Online
290 
291  // MARK THESE HISTOGRAMS AS LUMI BASED FOR OFFLINE PROCESSING
292  if (_ptype == fOffline) {
293  //_cDigiSize_FED.setLumiFlag(); // hidefed2crate : FED stuff not available offline anymore, so this histogram doesn't make sense?
295  }
296 
297  // book Number of Events vs LS histogram
298  ib.setCurrentFolder(_subsystem + "/RunInfo");
299  meNumEvents1LS = ib.book1D("NumberOfEvents", "NumberOfEvents", 1, 0, 1);
301 
302  // book the flag for unknown ids and the online guy as well
303  ib.setCurrentFolder(_subsystem + "/" + _name);
304  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds", 1, 0, 1);
305  _unknownIdsPresent = false;
307 }
308 
310  DQTask::_resetMonitors(uf);
311 
312  switch (uf) {
313  case hcaldqm::f1LS:
314  _unknownIdsPresent = false;
315  break;
316  case hcaldqm::f50LS:
317  break;
318  default:
319  break;
320  }
321 }
322 
323 /* virtual */ void DigiPhase1Task::_process(edm::Event const& e, edm::EventSetup const&) {
327 
328  if (!e.getByToken(_tokHBHE, chbhe))
329  _logger.dqmthrow("Collection HBHEDigiCollection isn't available" + _tagHBHE.label() + " " + _tagHBHE.instance());
330  if (!e.getByToken(_tokHO, cho))
331  _logger.dqmthrow("Collection HODigiCollection isn't available" + _tagHO.label() + " " + _tagHO.instance());
332  if (!e.getByToken(_tokHF, chf))
333  _logger.dqmthrow("Collection HF QIE10Collection isn't available" + _tagHF.label() + " " + _tagHF.instance());
334 
335  // extract some info per event
336  meNumEvents1LS->Fill(0.5); // just increment
337 
338  // To fill histograms outside of the loop, you need to determine if there were
339  // any valid det ids first
340  uint32_t rawidValid = 0;
341  uint32_t rawidHBValid = 0;
342  uint32_t rawidHEValid = 0;
343 
344  // HB collection
345  int numChs = 0;
346  int numChsCut = 0;
347  int numChsHE = 0;
348  int numChsCutHE = 0;
349  for (QIE11DigiCollection::const_iterator it = chbhe->begin(); it != chbhe->end(); ++it) {
350  QIE11DataFrame const& frame = *it;
351  double sumQ = hcaldqm::utilities::sumQ_v10<QIE11DataFrame>(frame, 2.5, 0, frame.samples() - 1);
352 
353  // Explicit check on the DetIds present in the Collection
354  HcalDetId const& did = frame.detid();
355  uint32_t rawid = _ehashmap.lookup(did);
356  if (rawid == 0) {
357  meUnknownIds1LS->Fill(1);
358  _unknownIdsPresent = true;
359  continue;
360  }
361  HcalElectronicsId const& eid(rawid);
362  if (did.subdet() == HcalBarrel) {
363  rawidHBValid = did.rawId();
364  } else if (did.subdet() == HcalEndcap) {
365  rawidHEValid = did.rawId();
366  } else {
367  // Skip non-HB or HE detids
368  continue;
369  }
370 
371  // filter out channels that are masked out
372  if (_xQuality.exists(did)) {
373  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
375  continue;
376  }
377 
378  _cSumQ_SubdetPM.fill(did, sumQ);
379  _cOccupancy_depth.fill(did);
380 
381  if (_ptype != fOffline) { // hidefed2crate
382  _cDigiSize_FED.fill(eid, frame.samples());
383  }
384  if (eid.isVMEid()) {
385  if (_ptype != fOffline) { // hidefed2crate
388  }
389  } else {
390  if (_ptype != fOffline) { // hidefed2crate
393  }
394  /*
395  if (!it->validate(0, it->size()))
396  {
397  _cCapIdRots_depth.fill(did);
398  _cCapIdRots_FEDuTCA.fill(eid, 1);
399  }*/
400  }
401 
402  for (int i = 0; i < frame.samples(); i++) {
403  _cADC_SubdetPM.fill(did, frame[i].adc());
404  _cfC_SubdetPM.fill(did, constants::adc2fC[frame[i].adc()]);
405  if (_ptype != fOffline) { // hidefed2crate
406  if (sumQ > _cutSumQ_HBHE)
407  _cShapeCut_FED.fill(eid, i, constants::adc2fC[frame[i].adc()]);
408  }
409  }
410 
411  if (sumQ > _cutSumQ_HBHE) {
412  double timing = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(frame, 2.5, 0, frame.samples() - 1);
413  _cTimingCut_SubdetPM.fill(did, timing);
414  _cTimingCut_depth.fill(did, timing);
416  if (_ptype != fOffline) { // hidefed2crate
417  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
418  }
419  _cSumQ_depth.fill(did, sumQ);
420  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
421 
422  if (eid.isVMEid()) {
423  if (_ptype != fOffline) { // hidefed2crate
424  _cTimingCut_FEDVME.fill(eid, timing);
426  _cTimingCut_ElectronicsVME.fill(eid, timing);
428  }
429  } else {
430  if (_ptype != fOffline) { // hidefed2crate
431  _cTimingCut_FEDuTCA.fill(eid, timing);
433  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
435  }
436  }
437  did.subdet() == HcalBarrel ? numChsCut++ : numChsCutHE++;
438  }
439  did.subdet() == HcalBarrel ? numChs++ : numChsHE++;
440  }
441 
442  if (rawidHBValid != 0 && rawidHEValid != 0) {
443  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHBValid), _currentLS, numChs);
444  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHEValid), _currentLS, numChsHE);
445  }
446  numChs = 0;
447  numChsCut = 0;
448 
449  // reset
450  rawidValid = 0;
451 
452  // HO collection
453  for (HODigiCollection::const_iterator it = cho->begin(); it != cho->end(); ++it) {
454  double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(*it, 8.5, 0, it->size() - 1);
455 
456  // Explicit check on the DetIds present in the Collection
457  HcalDetId const& did = it->id();
458  uint32_t rawid = _ehashmap.lookup(did);
459  if (rawid == 0) {
460  meUnknownIds1LS->Fill(1);
461  _unknownIdsPresent = true;
462  continue;
463  }
464  HcalElectronicsId const& eid(rawid);
465  if (did.subdet() == HcalOuter)
466  rawidValid = did.rawId();
467 
468  // filter out channels that are masked out
469  if (_xQuality.exists(did)) {
470  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
472  continue;
473  }
474 
475  _cSumQ_SubdetPM.fill(did, sumQ);
476  _cOccupancy_depth.fill(did);
477  if (_ptype != fOffline) { // hidefed2crate
478  _cDigiSize_FED.fill(eid, it->size());
479  }
480  if (eid.isVMEid()) {
481  if (_ptype != fOffline) { // hidefed2crate
484  }
485  /*
486  if (!it->validate(0, it->size()))
487  _cCapIdRots_FEDVME.fill(eid, 1);
488  */
489  } else {
490  if (_ptype != fOffline) { // hidefed2crate
493  }
494  /*
495  if (!it->validate(0, it->size()))
496  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
497  }
498 
499  for (int i = 0; i < it->size(); i++) {
500  _cADC_SubdetPM.fill(did, it->sample(i).adc());
501  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
502  if (_ptype != fOffline) { // hidefed2crate
503  if (sumQ > _cutSumQ_HO)
504  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
505  }
506  }
507 
508  if (sumQ > _cutSumQ_HO) {
509  double timing = hcaldqm::utilities::aveTS<HODataFrame>(*it, 8.5, 0, it->size() - 1);
510  _cSumQ_depth.fill(did, sumQ);
511  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
513  _cTimingCut_SubdetPM.fill(did, timing);
514  _cTimingCut_depth.fill(did, timing);
515  if (_ptype != fOffline) { // hidefed2crate
516  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
517  }
518 
519  if (eid.isVMEid()) {
520  if (_ptype != fOffline) { // hidefed2crate
521  _cTimingCut_FEDVME.fill(eid, timing);
523  _cTimingCut_ElectronicsVME.fill(eid, timing);
525  }
526  } else {
527  if (_ptype != fOffline) { // hidefed2crate
528  _cTimingCut_FEDuTCA.fill(eid, timing);
530  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
532  }
533  }
534  numChsCut++;
535  }
536  numChs++;
537  }
538 
539  if (rawidValid != 0) {
540  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, numChs);
541  }
542  numChs = 0;
543  numChsCut = 0;
544 
545  // reset
546  rawidValid = 0;
547 
548  // HF collection
549  for (QIE10DigiCollection::const_iterator it = chf->begin(); it != chf->end(); ++it) {
550  QIE10DataFrame frame = *it;
551  double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(frame, 2.5, 0, frame.samples() - 1);
552 
553  // Explicit check on the DetIds present in the Collection
554  HcalDetId const& did = it->id();
555  uint32_t rawid = _ehashmap.lookup(did);
556  if (rawid == 0) {
557  meUnknownIds1LS->Fill(1);
558  _unknownIdsPresent = true;
559  continue;
560  }
561  HcalElectronicsId const& eid(rawid);
562  if (did.subdet() == HcalForward) {
563  rawidValid = did.rawId();
564  } else {
565  // Skip non-HF detids
566  continue;
567  }
568 
569  // filter out channels that are masked out
570  if (_xQuality.exists(did)) {
571  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
573  continue;
574  }
575 
576  _cSumQ_SubdetPM.fill(did, sumQ);
577  _cOccupancy_depth.fill(did);
578  if (_ptype != fOffline) { // hidefed2crate
579  _cDigiSize_FED.fill(eid, frame.samples());
580  }
581  if (eid.isVMEid()) {
582  if (_ptype != fOffline) { // hidefed2crate
585  }
586  /*
587  if (!it->validate(0, it->size()))
588  _cCapIdRots_FEDVME.fill(eid, 1);*/
589  } else {
590  if (_ptype != fOffline) { // hidefed2crate
593  }
594  /*
595  if (!it->validate(0, it->size()))
596  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
597  }
598 
599  for (int i = 0; i < frame.samples(); i++) {
600  _cADC_SubdetPM.fill(did, frame[i].adc());
601  _cfC_SubdetPM.fill(did, constants::adc2fC[frame[i].adc()]);
602  if (_ptype != fOffline) { // hidefed2crate
603  if (sumQ > _cutSumQ_HF)
604  _cShapeCut_FED.fill(eid, i, constants::adc2fC[frame[i].adc()]);
605  }
606  }
607 
608  if (sumQ > _cutSumQ_HF) {
609  double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(frame, 2.5, 0, frame.samples() - 1);
610 
611  _cSumQ_depth.fill(did, sumQ);
612  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
613 
614  _cTimingCut_SubdetPM.fill(did, timing);
615  _cTimingCut_depth.fill(did, timing);
616  if (_ptype != fOffline) { // hidefed2crate
617  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
618  }
620  if (eid.isVMEid()) {
621  if (_ptype != fOffline) { // hidefed2crate
622  _cTimingCut_FEDVME.fill(eid, timing);
624  _cTimingCut_ElectronicsVME.fill(eid, timing);
626  }
627  } else {
628  if (_ptype != fOffline) { // hidefed2crate
629  _cTimingCut_FEDuTCA.fill(eid, timing);
631  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
633  }
634  }
635  numChsCut++;
636  }
637  numChs++;
638  }
639 
640  if (rawidValid != 0) {
641  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, numChs);
642  }
643 }
644 
646  DQTask::beginLuminosityBlock(lb, es);
647 }
648 
650  DQTask::endLuminosityBlock(lb, es);
651 }
652 
int samples() const
total number of samples in the digi
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
constexpr uint32_t rawId() const
T getUntrackedParameter(std::string const &, T const &) const
hcaldqm::Container1D _cADC_SubdetPM
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:33
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:212
hcaldqm::ContainerProf2D _cSumQ_depth
int const CRATE_VME_MIN
Definition: Constants.h:91
edm::InputTag _tagHF
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
void fill(HcalDetId const &) override
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
DigiPhase1Task(edm::ParameterSet const &)
unique_ptr< ClusterSequence > cs
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
edm::EDGetTokenT< HODigiCollection > _tokHO
UpdateFreq
Definition: DQTask.h:16
std::vector< T >::const_iterator const_iterator
int const SPIGOT_MIN
Definition: Constants.h:116
hcaldqm::Container1D _cTimingCut_SubdetPM
MonitorElement * meNumEvents1LS
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
const_iterator begin() const
hcaldqm::Container2D _cOccupancyCut_depth
std::vector< uint32_t > _vhashFEDs
int const FIBER_VME_MIN
Definition: Constants.h:121
void _process(edm::Event const &, edm::EventSetup const &) override
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
std::vector< hcaldqm::flag::Flag > _vflags
int const FIBERCH_MIN
Definition: Constants.h:130
hcaldqm::Container1D _cShapeCut_FED
void Fill(long long x)
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:101
hcaldqm::filter::HashFilter _filter_VME
double _cutSumQ_HBHE
MonitorElement * meUnknownIds1LS
hcaldqm::ContainerProf2D _cTimingCut_depth
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
hcaldqm::electronicsmap::ElectronicsMap _dhashmap
void setLumiFlag()
this ME is meant to be stored for each luminosity section
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
constexpr bool isVMEid() const
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:48
int const FED_VME_MIN
Definition: Constants.h:78
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
int const FIBER_uTCA_MIN1
Definition: Constants.h:124
Logger _logger
Definition: DQModule.h:54
hcaldqm::Container2D _cOccupancyCut_FEDVME
hcaldqm::filter::HashFilter _filter_uTCA
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
std::string _name
Definition: DQModule.h:41
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
int const CRATE_uTCA_MIN
Definition: Constants.h:96
const_iterator end() const
double const adc2fC[256]
Definition: Constants.h:248
hcaldqm::Container1D _cDigiSize_FED
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:592
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:25
double _thresh_unihf
edm::InputTag _tagHO
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
hcaldqm::Container2D _cOccupancy_FEDVME
hcaldqm::Container2D _cOccupancy_ElectronicsVME
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
std::string const & label() const
Definition: InputTag.h:36
const_iterator end() const
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
virtual void setLumiFlag()
Definition: Container1D.cc:769
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:83
T get() const
Definition: EventSetup.h:71
edm::InputTag _tagHBHE
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:121
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
const HcalElectronicsMap * getHcalMapping() const
void _resetMonitors(hcaldqm::UpdateFreq) override
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
std::string _subsystem
Definition: DQModule.h:48
hcaldqm::Container1D _cSumQ_SubdetPM
hcaldqm::filter::HashFilter _filter_FEDHF
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:558
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
int samples() const
total number of samples in the digi
hcaldqm::Container2D _cOccupancy_depth
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::Container1D _cfC_SubdetPM
edm::EDGetTokenT< QIE11DigiCollection > _tokHBHE
int const SLOT_uTCA_MIN
Definition: Constants.h:103
const_iterator begin() const
Definition: Run.h:45
ib
Definition: cuy.py:662
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:126
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
hcaldqm::Container2D _cOccupancy_FEDuTCA