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  DQTask(ps)
9 {
11  edm::InputTag("hcalDigis"));
13  edm::InputTag("hcalDigis"));
15  edm::InputTag("hcalDigis"));
16 
17  _tokHBHE = consumes<QIE11DigiCollection>(_tagHBHE);
18  _tokHO = consumes<HODigiCollection>(_tagHO);
19  _tokHF = consumes<QIE10DigiCollection>(_tagHF);
20 
21  _cutSumQ_HBHE = ps.getUntrackedParameter<double>("cutSumQ_HBHE", 20);
22  _cutSumQ_HO = ps.getUntrackedParameter<double>("cutSumQ_HO", 20);
23  _cutSumQ_HF = ps.getUntrackedParameter<double>("cutSumQ_HF", 20);
24  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
25 
26  _vflags.resize(nDigiFlag);
27  _vflags[fUni]=hcaldqm::flag::Flag("UniSlotHF");
31 }
32 
34  edm::Run const& r, edm::EventSetup const& es)
35 {
36  DQTask::bookHistograms(ib,r,es);
37 
38  // GET WHAT YOU NEED
40  es.get<HcalDbRecord>().get(dbs);
41  _emap = dbs->getHcalMapping();
42  std::vector<uint32_t> vVME;
43  std::vector<uint32_t> vuTCA;
47  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
49  vVME);
51  vuTCA);
52 
53  // INITIALIZE FIRST
75  _cTimingCut_depth.initialize(_name, "TimingCut",
80 
81  // Occupancy w/o a cut
82  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
86  _cOccupancy_depth.initialize(_name, "Occupancy",
91 
92  // Occupancy w/ a cut
93  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
97  _cOccupancyCut_depth.initialize(_name, "OccupancyCut",
102 
103  if (_ptype != fOffline) { // hidefed2crate
104  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
105  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
106  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
107 
108  std::vector<uint32_t> vFEDHF;
109  vFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN,
110  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
111  vFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN,
112  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
113  vFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN,
114  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
115  // initialize filters
117  vFEDHF);
118 
119  // push the rawIds of each fed into the vector...
120  for (std::vector<int>::const_iterator it=vFEDsVME.begin(); it!=vFEDsVME.end(); ++it) {
121  _vhashFEDs.push_back(HcalElectronicsId(
123  (*it)-FED_VME_MIN).rawId());
124  }
125  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
126  it!=vFEDsuTCA.end(); ++it)
127  {
128  std::pair<uint16_t, uint16_t> cspair = hcaldqm::utilities::fed2crate(*it);
129  _vhashFEDs.push_back(HcalElectronicsId(
130  cspair.first, cspair.second, FIBER_uTCA_MIN1,
131  FIBERCH_MIN, false).rawId());
132  }
133 
138 
139  _cTimingCut_FEDVME.initialize(_name, "TimingCut",
144  _cTimingCut_FEDuTCA.initialize(_name, "TimingCut",
151  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
156  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
159  _cTimingCutvsLS_FED.initialize(_name, "TimingvsLS",
163 
164  _cOccupancy_FEDVME.initialize(_name, "Occupancy",
169  _cOccupancy_FEDuTCA.initialize(_name, "Occupancy",
176  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
181  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
184 
185  _cOccupancyCut_FEDVME.initialize(_name, "OccupancyCut",
190  _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut",
197  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
202  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
205 
206  _cDigiSize_FED.initialize(_name, "DigiSize",
210 
211  }
212 
213 
214  // BOOK HISTOGRAMS
215  char cutstr[200];
216  sprintf(cutstr, "_SumQHBHE%dHO%dHF%d", int(_cutSumQ_HBHE),
217  int(_cutSumQ_HO), int(_cutSumQ_HF));
218  char cutstr2[200];
219  sprintf(cutstr2, "_SumQHF%d", int(_cutSumQ_HF));
220 
222 
227 
228 
231 
235 
236  if (_ptype != fOffline) { // hidefed2crate
252  }
253 
254  // BOOK HISTOGRAMS that are only for Online
257 
258  // MARK THESE HISTOGRAMS AS LUMI BASED FOR OFFLINE PROCESSING
259  if (_ptype==fOffline)
260  {
261  //_cDigiSize_FED.setLumiFlag(); // hidefed2crate : FED stuff not available offline anymore, so this histogram doesn't make sense?
263  }
264 
265  // book Number of Events vs LS histogram
266  ib.setCurrentFolder(_subsystem+"/RunInfo");
267  meNumEvents1LS = ib.book1D("NumberOfEvents", "NumberOfEvents",
268  1, 0, 1);
270 
271  // book the flag for unknown ids and the online guy as well
273  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds",
274  1, 0, 1);
275  _unknownIdsPresent = false;
277 }
278 
280 {
281  DQTask::_resetMonitors(uf);
282 
283  switch(uf)
284  {
285  case hcaldqm::f1LS:
286  _unknownIdsPresent = false;
287  break;
288  case hcaldqm::f50LS:
289  break;
290  default:
291  break;
292  }
293 }
294 
295 /* virtual */ void DigiPhase1Task::_process(edm::Event const& e,
296  edm::EventSetup const&)
297 {
301 
302  if (!e.getByToken(_tokHBHE, chbhe))
303  _logger.dqmthrow("Collection HBHEDigiCollection isn't available"
304  + _tagHBHE.label() + " " + _tagHBHE.instance());
305  if (!e.getByToken(_tokHO, cho))
306  _logger.dqmthrow("Collection HODigiCollection isn't available"
307  + _tagHO.label() + " " + _tagHO.instance());
308  if (!e.getByToken(_tokHF, chf))
309  _logger.dqmthrow("Collection HF QIE10Collection isn't available"
310  + _tagHF.label() + " " + _tagHF.instance());
311 
312  // extract some info per event
313  meNumEvents1LS->Fill(0.5); // just increment
314 
315  // To fill histograms outside of the loop, you need to determine if there were
316  // any valid det ids first
317  uint32_t rawidValid = 0;
318  uint32_t rawidHBValid = 0;
319  uint32_t rawidHEValid = 0;
320 
321  // HB collection
322  int numChs = 0;
323  int numChsCut = 0;
324  int numChsHE = 0;
325  int numChsCutHE = 0;
326  for (QIE11DigiCollection::const_iterator it=chbhe->begin(); it!=chbhe->end(); ++it) {
327  QIE11DataFrame const& frame = *it;
328  double sumQ = hcaldqm::utilities::sumQ_v10<QIE11DataFrame>(frame, 2.5, 0, frame.samples()-1);
329 
330  // Explicit check on the DetIds present in the Collection
331  HcalDetId const& did = frame.detid();
332  uint32_t rawid = _ehashmap.lookup(did);
333  if (rawid==0)
334  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
335  HcalElectronicsId const& eid(rawid);
336  if (did.subdet()==HcalBarrel) {
337  rawidHBValid = did.rawId();
338  } else if (did.subdet()==HcalEndcap) {
339  rawidHEValid = did.rawId();
340  } else {
341  // Skip non-HB or HE detids
342  continue;
343  }
344 
345  // filter out channels that are masked out
346  if (_xQuality.exists(did))
347  {
348  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
349  if (
352  continue;
353  }
354 
355  _cSumQ_SubdetPM.fill(did, sumQ);
356  _cOccupancy_depth.fill(did);
357 
358  if (_ptype != fOffline) { // hidefed2crate
359  _cDigiSize_FED.fill(eid, frame.samples());
360  }
361  if (eid.isVMEid())
362  {
363  if (_ptype != fOffline) { // hidefed2crate
366  }
367  }
368  else
369  {
370  if (_ptype != fOffline) { // hidefed2crate
373  }
374  /*
375  if (!it->validate(0, it->size()))
376  {
377  _cCapIdRots_depth.fill(did);
378  _cCapIdRots_FEDuTCA.fill(eid, 1);
379  }*/
380  }
381 
382  for (int i=0; i<frame.samples(); i++)
383  {
384  _cADC_SubdetPM.fill(did, frame[i].adc());
385  _cfC_SubdetPM.fill(did,constants::adc2fC[frame[i].adc()]);
386  if (_ptype != fOffline) { // hidefed2crate
387  if (sumQ>_cutSumQ_HBHE)
388  _cShapeCut_FED.fill(eid, i, constants::adc2fC[frame[i].adc()]);
389  }
390  }
391 
392  if (sumQ>_cutSumQ_HBHE)
393  {
394  double timing = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(frame, 2.5, 0, frame.samples()-1);
395  _cTimingCut_SubdetPM.fill(did, timing);
396  _cTimingCut_depth.fill(did, timing);
398  if (_ptype != fOffline) { // hidefed2crate
399  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
400  }
401  _cSumQ_depth.fill(did, sumQ);
402  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
403 
404  if (eid.isVMEid())
405  {
406  if (_ptype != fOffline) { // hidefed2crate
407  _cTimingCut_FEDVME.fill(eid, timing);
409  _cTimingCut_ElectronicsVME.fill(eid, timing);
411  }
412  }
413  else
414  {
415  if (_ptype != fOffline) { // hidefed2crate
416  _cTimingCut_FEDuTCA.fill(eid, timing);
418  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
420  }
421  }
422  did.subdet()==HcalBarrel?numChsCut++:numChsCutHE++;
423  }
424  did.subdet()==HcalBarrel?numChs++:numChsHE++;
425  }
426 
427  if (rawidHBValid!=0 && rawidHEValid!=0)
428  {
430  numChs);
432  numChsHE);
433 
434  }
435  numChs=0;
436  numChsCut = 0;
437 
438  // reset
439  rawidValid = 0;
440 
441  // HO collection
442  for (HODigiCollection::const_iterator it=cho->begin(); it!=cho->end();
443  ++it)
444  {
445  double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(*it, 8.5, 0, it->size()-1);
446 
447  // Explicit check on the DetIds present in the Collection
448  HcalDetId const& did = it->id();
449  uint32_t rawid = _ehashmap.lookup(did);
450  if (rawid==0)
451  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
452  HcalElectronicsId const& eid(rawid);
453  if (did.subdet()==HcalOuter)
454  rawidValid = did.rawId();
455 
456  // filter out channels that are masked out
457  if (_xQuality.exists(did))
458  {
459  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
460  if (
463  continue;
464  }
465 
466  _cSumQ_SubdetPM.fill(did, sumQ);
467  _cOccupancy_depth.fill(did);
468  if (_ptype != fOffline) { // hidefed2crate
469  _cDigiSize_FED.fill(eid, it->size());
470  }
471  if (eid.isVMEid())
472  {
473  if (_ptype != fOffline) { // hidefed2crate
476  }
477  /*
478  if (!it->validate(0, it->size()))
479  _cCapIdRots_FEDVME.fill(eid, 1);
480  */
481  }
482  else
483  {
484  if (_ptype != fOffline) { // hidefed2crate
487  }
488  /*
489  if (!it->validate(0, it->size()))
490  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
491  }
492 
493  for (int i=0; i<it->size(); i++)
494  {
495  _cADC_SubdetPM.fill(did, it->sample(i).adc());
496  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
497  if (_ptype != fOffline) { // hidefed2crate
498  if (sumQ>_cutSumQ_HO)
499  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
500  }
501  }
502 
503  if (sumQ>_cutSumQ_HO)
504  {
505  double timing = hcaldqm::utilities::aveTS<HODataFrame>(*it, 8.5, 0,
506  it->size()-1);
507  _cSumQ_depth.fill(did, sumQ);
508  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
510  _cTimingCut_SubdetPM.fill(did, timing);
511  _cTimingCut_depth.fill(did, timing);
512  if (_ptype != fOffline) { // hidefed2crate
513  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
514  }
515 
516  if (eid.isVMEid())
517  {
518  if (_ptype != fOffline) { // hidefed2crate
519  _cTimingCut_FEDVME.fill(eid, timing);
521  _cTimingCut_ElectronicsVME.fill(eid, timing);
523  }
524  }
525  else
526  {
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  {
542  numChs);
543  }
544  numChs=0; numChsCut=0;
545 
546  // reset
547  rawidValid = 0;
548 
549  // HF collection
550  for (QIE10DigiCollection::const_iterator it=chf->begin(); it!=chf->end();
551  ++it)
552  {
553  QIE10DataFrame frame = *it;
554  double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(frame,
555  2.5, 0, frame.samples()-1);
556 
557  // Explicit check on the DetIds present in the Collection
558  HcalDetId const& did = it->id();
559  uint32_t rawid = _ehashmap.lookup(did);
560  if (rawid==0)
561  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
562  HcalElectronicsId const& eid(rawid);
563  if (did.subdet()==HcalForward) {
564  rawidValid = did.rawId();
565  } else {
566  // Skip non-HF detids
567  continue;
568  }
569 
570  // filter out channels that are masked out
571  if (_xQuality.exists(did))
572  {
573  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
574  if (
577  continue;
578  }
579 
580  _cSumQ_SubdetPM.fill(did, sumQ);
581  _cOccupancy_depth.fill(did);
582  if (_ptype != fOffline) { // hidefed2crate
583  _cDigiSize_FED.fill(eid, frame.samples());
584  }
585  if (eid.isVMEid())
586  {
587  if (_ptype != fOffline) { // hidefed2crate
590  }
591  /*
592  if (!it->validate(0, it->size()))
593  _cCapIdRots_FEDVME.fill(eid, 1);*/
594  }
595  else
596  {
597  if (_ptype != fOffline) { // hidefed2crate
600  }
601  /*
602  if (!it->validate(0, it->size()))
603  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
604  }
605 
606  for (int i=0; i<frame.samples(); i++)
607  {
608  _cADC_SubdetPM.fill(did, frame[i].adc());
609  _cfC_SubdetPM.fill(did, constants::adc2fC[frame[i].adc()]);
610  if (_ptype != fOffline) { // hidefed2crate
611  if (sumQ>_cutSumQ_HF)
612  _cShapeCut_FED.fill(eid, i, constants::adc2fC[frame[i].adc()]);
613  }
614  }
615 
616  if (sumQ>_cutSumQ_HF)
617  {
618  double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(frame, 2.5, 0,
619  frame.samples()-1);
620 
621  _cSumQ_depth.fill(did, sumQ);
622  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
623 
624  _cTimingCut_SubdetPM.fill(did, timing);
625  _cTimingCut_depth.fill(did, timing);
626  if (_ptype != fOffline) { // hidefed2crate
627  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
628  }
630  if (eid.isVMEid())
631  {
632  if (_ptype != fOffline) { // hidefed2crate
633  _cTimingCut_FEDVME.fill(eid, timing);
635  _cTimingCut_ElectronicsVME.fill(eid, timing);
637  }
638  }
639  else
640  {
641  if (_ptype != fOffline) { // hidefed2crate
642  _cTimingCut_FEDuTCA.fill(eid, timing);
644  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
646  }
647  }
648  numChsCut++;
649  }
650  numChs++;
651  }
652 
653  if (rawidValid!=0)
654  {
656  numChs);
657 
658  }
659 }
660 
662  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
663 {
664  DQTask::beginLuminosityBlock(lb, es);
665 }
666 
668  edm::EventSetup const& es)
669 {
670  DQTask::endLuminosityBlock(lb, es);
671 }
672 
674 
int adc(sample_type sample)
get the ADC sample (12 bits)
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:41
auto_ptr< ClusterSequence > cs
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:265
hcaldqm::ContainerProf2D _cSumQ_depth
int const CRATE_VME_MIN
Definition: Constants.h:111
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:12
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
DigiPhase1Task(edm::ParameterSet const &)
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
edm::EDGetTokenT< HODigiCollection > _tokHO
UpdateFreq
Definition: DQTask.h:17
std::vector< HODataFrame >::const_iterator const_iterator
int const SPIGOT_MIN
Definition: Constants.h:136
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:141
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:151
hcaldqm::Container1D _cShapeCut_FED
void Fill(long long x)
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:119
hcaldqm::filter::HashFilter _filter_VME
double _cutSumQ_HBHE
MonitorElement * meUnknownIds1LS
hcaldqm::ContainerProf2D _cTimingCut_depth
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:83
hcaldqm::electronicsmap::ElectronicsMap _dhashmap
void setLumiFlag()
this ME is meant to be stored for each luminosity section
constexpr bool isVMEid() const
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:62
int const FED_VME_MIN
Definition: Constants.h:98
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
int const FIBER_uTCA_MIN1
Definition: Constants.h:144
Logger _logger
Definition: DQModule.h:70
hcaldqm::Container2D _cOccupancyCut_FEDVME
hcaldqm::filter::HashFilter _filter_uTCA
std::string _name
Definition: DQModule.h:57
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
int const CRATE_uTCA_MIN
Definition: Constants.h:116
const_iterator end() const
double const adc2fC[256]
Definition: Constants.h:271
hcaldqm::Container1D _cDigiSize_FED
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
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:958
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:32
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
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:247
virtual void setLumiFlag()
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:95
T get() const
Definition: EventSetup.h:63
edm::InputTag _tagHBHE
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:145
void fill(HcalDetId const &) override
Definition: Container2D.cc:59
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:28
std::string _subsystem
Definition: DQModule.h:64
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:895
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:123
const_iterator begin() const
Definition: Run.h:44
ib
Definition: cuy.py:661
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:121
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
hcaldqm::Container2D _cOccupancy_FEDuTCA