CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DigiTask.cc
Go to the documentation of this file.
2 
4  DQTask(ps)
5 {
7  edm::InputTag("hcalDigis"));
9  edm::InputTag("hcalDigis"));
11  edm::InputTag("hcalDigis"));
12 
13  _tokHBHE = consumes<HBHEDigiCollection>(_tagHBHE);
14  _tokHO = consumes<HODigiCollection>(_tagHO);
15  _tokHF = consumes<HFDigiCollection>(_tagHF);
16 
17  _cutSumQ_HBHE = ps.getUntrackedParameter<double>("cutSumQ_HBHE", 20);
18  _cutSumQ_HO = ps.getUntrackedParameter<double>("cutSumQ_HO", 20);
19  _cutSumQ_HF = ps.getUntrackedParameter<double>("cutSumQ_HF", 20);
20  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
21 
22  _vflags.resize(nDigiFlag);
23  _vflags[fUni]=flag::Flag("UniSlotHF");
24  _vflags[fDigiSize]=flag::Flag("DigiSize");
25  _vflags[fNChsHF]=flag::Flag("NChsHF");
26 }
27 
29  edm::Run const& r, edm::EventSetup const& es)
30 {
31  DQTask::bookHistograms(ib,r,es);
32 
33  // GET WHAT YOU NEED
35  es.get<HcalDbRecord>().get(dbs);
36  _emap = dbs->getHcalMapping();
37  std::vector<int> vFEDs = utilities::getFEDList(_emap);
38  std::vector<int> vFEDsVME = utilities::getFEDVMEList(_emap);
39  std::vector<int> vFEDsuTCA = utilities::getFEDuTCAList(_emap);
40  std::vector<uint32_t> vVME;
41  std::vector<uint32_t> vuTCA;
42  std::vector<uint32_t> vFEDHF;
46  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
48  vVME);
50  vuTCA);
51  vFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN,
52  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
53  vFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN,
54  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
55  vFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN,
56  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
57 
58  // initialize filters
60  vFEDHF);
61 
62  // push the rawIds of each fed into the vector...
63  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
64  it!=vFEDsVME.end(); ++it)
65  _vhashFEDs.push_back(HcalElectronicsId(
67  (*it)-FED_VME_MIN).rawId());
68  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
69  it!=vFEDsuTCA.end(); ++it)
70  _vhashFEDs.push_back(HcalElectronicsId(
72  FIBERCH_MIN, false).rawId());
73 
74  // INITIALIZE FIRST
100  _cTimingCut_FEDVME.initialize(_name, "TimingCut",
105  _cTimingCut_FEDuTCA.initialize(_name, "TimingCut",
112  new quantity::FEDQuantity(vFEDsVME),
117  new quantity::FEDQuantity(vFEDsuTCA),
120  _cTimingCutvsLS_FED.initialize(_name, "TimingvsLS",
124  _cTimingCut_depth.initialize(_name, "TimingCut",
129 
130  // Occupancy w/o a cut
131  _cOccupancy_FEDVME.initialize(_name, "Occupancy",
136  _cOccupancy_FEDuTCA.initialize(_name, "Occupancy",
143  new quantity::FEDQuantity(vFEDsVME),
148  new quantity::FEDQuantity(vFEDsuTCA),
151  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
155  _cOccupancy_depth.initialize(_name, "Occupancy",
160 
161  // Occupancy w/ a cut
162  _cOccupancyCut_FEDVME.initialize(_name, "OccupancyCut",
167  _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut",
174  new quantity::FEDQuantity(vFEDsVME),
179  new quantity::FEDQuantity(vFEDsuTCA),
182  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
186  _cOccupancyCut_depth.initialize(_name, "OccupancyCut",
191 
192  _cDigiSize_FED.initialize(_name, "DigiSize",
196 
197  // INITIALIZE HISTOGRAMS that are only for Online
198  if (_ptype==fOnline)
199  {
200  std::vector<uint32_t> vhashHF;
201  vhashHF.push_back(HcalDetId(HcalForward, 31,1,1).rawId());
203  vhashHF);
204 
205  // Charge sharing
214  _cDigiSizevsLS_FED.initialize(_name, "DigiSizevsLS",
218  _cTimingCutvsiphi_SubdetPM.initialize(_name, "TimingCutvsiphi",
222  _cTimingCutvsieta_Subdet.initialize(_name, "TimingCutvsieta",
226  _cOccupancyvsiphi_SubdetPM.initialize(_name, "Occupancyvsiphi",
230  _cOccupancyvsieta_Subdet.initialize(_name, "Occupancyvsieta",
234  _cOccupancyCutvsiphi_SubdetPM.initialize(_name, "OccupancyCutvsiphi",
238  _cOccupancyCutvsieta_Subdet.initialize(_name, "OccupancyCutvsieta",
242  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
246  _cOccupancyCutvsBX_Subdet.initialize(_name, "OccupancyCutvsBX",
250 // _cOccupancyCutvsSlotvsLS_HFPM.initialize(_name,
251 // "OccupancyCutvsSlotvsLS", hashfunctions::fSubdetPM,
252 // new quantity::LumiSection(_maxLS),
253 // new quantity::ElectronicsQuantity(quantity::fSlotuTCA),
254 // new quantity::ValueQuantity(quantity::fN));
256  "OccupancyCutvsiphivsLS", hashfunctions::fSubdetPM,
260  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
265  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
267  new quantity::FEDQuantity(vFEDs),
269 
275  }
276 
277  // BOOK HISTOGRAMS
278  char cutstr[200];
279  sprintf(cutstr, "_SumQHBHE%dHO%dHF%d", int(_cutSumQ_HBHE),
280  int(_cutSumQ_HO), int(_cutSumQ_HF));
281  char cutstr2[200];
282  sprintf(cutstr2, "_SumQHF%d", int(_cutSumQ_HF));
283 
285 
290 
292 
300 
312 
314 
315  // BOOK HISTOGRAMS that are only for Online
316  if (_ptype==fOnline)
317  {
329 // _cOccupancyCutvsSlotvsLS_HFPM.book(ib, _emap, _filter_HF, _subsystem);
333 
335  _xNChs.book(_emap);
337  _xUni.book(_emap);
339 
340  // just PER HF FED RECORD THE #CHANNELS
341  // ONLY WAY TO DO THAT AUTOMATICALLY AND W/O HARDCODING 1728
342  // or ANY OTHER VALUES LIKE 2592, 2192
344  std::vector<HcalGenericDetId> gids = _emap->allPrecisionId();
345  for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
346  it!=gids.end(); ++it)
347  {
348  if (!it->isHcalDetId())
349  continue;
350  HcalDetId did(it->rawId());
352  _xNChsNominal.get(eid)++; // he will know the nominal #channels per FED
353  }
354  }
355 
356  // MARK THESE HISTOGRAMS AS LUMI BASED FOR OFFLINE PROCESSING
357  if (_ptype==fOffline)
358  {
361  }
362 
363  ib.setCurrentFolder(_subsystem+"/RunInfo");
364  meNumEvents1LS = ib.book1D("NumberOfEvents", "NumberOfEvents",
365  1, 0, 1);
367 }
368 
369 /* virtual */ void DigiTask::_resetMonitors(UpdateFreq uf)
370 {
371  DQTask::_resetMonitors(uf);
372 }
373 
374 /* virtual */ void DigiTask::_process(edm::Event const& e,
375  edm::EventSetup const&)
376 {
380 
381  if (!e.getByToken(_tokHBHE, chbhe))
382  _logger.dqmthrow("Collection HBHEDigiCollection isn't available"
383  + _tagHBHE.label() + " " + _tagHBHE.instance());
384  if (!e.getByToken(_tokHO, cho))
385  _logger.dqmthrow("Collection HODigiCollection isn't available"
386  + _tagHO.label() + " " + _tagHO.instance());
387  if (!e.getByToken(_tokHF, chf))
388  _logger.dqmthrow("Collection HFDigiCollection isn't available"
389  + _tagHF.label() + " " + _tagHF.instance());
390 
391  // extract some info per event
392  int bx = e.bunchCrossing();
393  meNumEvents1LS->Fill(0.5); // just increment
394 
395  // HB collection
396  int numChs = 0;
397  int numChsCut = 0;
398  int numChsHE = 0;
399  int numChsCutHE = 0;
400  for (HBHEDigiCollection::const_iterator it=chbhe->begin(); it!=chbhe->end();
401  ++it)
402  {
403  double sumQ = utilities::sumQ<HBHEDataFrame>(*it, 2.5, 0, it->size()-1);
404  HcalDetId const& did = it->id();
405  HcalElectronicsId const& eid = it->elecId();
406 
407  _cSumQ_SubdetPM.fill(did, sumQ);
408  _cOccupancy_depth.fill(did);
409  if (_ptype==fOnline)
410  {
411  _cDigiSizevsLS_FED.fill(eid, _currentLS, it->size());
412  it->size()!=constants::DIGISIZE[did.subdet()-1]?
413  _xDigiSize.get(eid)++:_xDigiSize.get(eid)+=0;
416  }
417  _cDigiSize_FED.fill(eid, it->size());
418  if (eid.isVMEid())
419  {
422  }
423  else
424  {
427  /*
428  if (!it->validate(0, it->size()))
429  {
430  _cCapIdRots_depth.fill(did);
431  _cCapIdRots_FEDuTCA.fill(eid, 1);
432  }*/
433  }
434 
435  for (int i=0; i<it->size(); i++)
436  {
437  _cADC_SubdetPM.fill(did, it->sample(i).adc());
438  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
439  if (sumQ>_cutSumQ_HBHE)
440  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
441  }
442 
443  if (sumQ>_cutSumQ_HBHE)
444  {
445  double timing = utilities::aveTS<HBHEDataFrame>(*it, 2.5, 0,
446  it->size()-1);
447  _cTimingCut_SubdetPM.fill(did, timing);
448  _cTimingCut_depth.fill(did, timing);
450  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
451  _cSumQ_depth.fill(did, sumQ);
452  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
453  if (_ptype==fOnline)
454  {
455  _cSumQvsBX_SubdetPM.fill(did, bx, sumQ);
456  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
457  _cTimingCutvsieta_Subdet.fill(did, timing);
461  }
462  if (eid.isVMEid())
463  {
464  _cTimingCut_FEDVME.fill(eid, timing);
465  _cTimingCut_ElectronicsVME.fill(eid, timing);
468  }
469  else
470  {
471  _cTimingCut_FEDuTCA.fill(eid, timing);
472  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
475  }
476  did.subdet()==HcalBarrel?numChsCut++:numChsCutHE++;
477  }
478  did.subdet()==HcalBarrel?numChs++:numChsHE++;
479  }
481  numChs);
483  numChsHE);
484  // ONLINE ONLY!
485  if (_ptype==fOnline)
486  {
488  _currentLS, numChsCut);
490  numChsCut);
492  _currentLS, numChsCutHE);
494  numChsCutHE);
495  }
496  // ^^^ONLINE ONLY!
497  numChs=0;
498  numChsCut = 0;
499 
500  // HO collection
501  for (HODigiCollection::const_iterator it=cho->begin(); it!=cho->end();
502  ++it)
503  {
504  double sumQ = utilities::sumQ<HODataFrame>(*it, 8.5, 0, it->size()-1);
505  HcalDetId const& did = it->id();
506  HcalElectronicsId const& eid = it->elecId();
507 
508  _cSumQ_SubdetPM.fill(did, sumQ);
509  _cOccupancy_depth.fill(did);
510  if (_ptype==fOnline)
511  {
512  _cDigiSizevsLS_FED.fill(eid, _currentLS, it->size());
513  it->size()!=constants::DIGISIZE[did.subdet()-1]?
514  _xDigiSize.get(eid)++:_xDigiSize.get(eid)+=0;
517  }
518  _cDigiSize_FED.fill(eid, it->size());
519  if (eid.isVMEid())
520  {
523  /*
524  if (!it->validate(0, it->size()))
525  _cCapIdRots_FEDVME.fill(eid, 1);
526  */
527  }
528  else
529  {
532  /*
533  if (!it->validate(0, it->size()))
534  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
535  }
536 
537  for (int i=0; i<it->size(); i++)
538  {
539  _cADC_SubdetPM.fill(did, it->sample(i).adc());
540  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
541  if (sumQ>_cutSumQ_HO)
542  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
543  }
544 
545  if (sumQ>_cutSumQ_HO)
546  {
547  double timing = utilities::aveTS<HODataFrame>(*it, 8.5, 0,
548  it->size()-1);
549  _cSumQ_depth.fill(did, sumQ);
550  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
552  _cTimingCut_SubdetPM.fill(did, timing);
553  _cTimingCut_depth.fill(did, timing);
554  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
555  if (_ptype==fOnline)
556  {
557  _cSumQvsBX_SubdetPM.fill(did, bx, sumQ);
558  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
559  _cTimingCutvsieta_Subdet.fill(did, timing);
563  }
564  if (eid.isVMEid())
565  {
566  _cTimingCut_FEDVME.fill(eid, timing);
567  _cTimingCut_ElectronicsVME.fill(eid, timing);
570  }
571  else
572  {
573  _cTimingCut_FEDuTCA.fill(eid, timing);
574  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
577  }
578  numChsCut++;
579  }
580  numChs++;
581  }
583  numChs);
584 
585  if (_ptype==fOnline)
586  {
588  _currentLS, numChsCut);
590  numChsCut);
591  }
592  numChs=0; numChsCut=0;
593 
594  // HF collection
595  for (HFDigiCollection::const_iterator it=chf->begin(); it!=chf->end();
596  ++it)
597  {
598  double sumQ = utilities::sumQ<HFDataFrame>(*it, 2.5, 0, it->size()-1);
599  HcalDetId const& did = it->id();
600  HcalElectronicsId const& eid = it->elecId();
601 
602  _cSumQ_SubdetPM.fill(did, sumQ);
603  _cOccupancy_depth.fill(did);
604  if (_ptype==fOnline)
605  {
606  _xNChs.get(eid)++;
607  _cDigiSizevsLS_FED.fill(eid, _currentLS, it->size());
608  it->size()!=constants::DIGISIZE[did.subdet()-1]?
609  _xDigiSize.get(eid)++:_xDigiSize.get(eid)+=0;
612  }
613  _cDigiSize_FED.fill(eid, it->size());
614  if (eid.isVMEid())
615  {
618  /*
619  if (!it->validate(0, it->size()))
620  _cCapIdRots_FEDVME.fill(eid, 1);*/
621  }
622  else
623  {
626  /*
627  if (!it->validate(0, it->size()))
628  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
629  }
630 
631  for (int i=0; i<it->size(); i++)
632  {
633  _cADC_SubdetPM.fill(did, it->sample(i).adc());
634  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
635  if (sumQ>_cutSumQ_HF)
636  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
637  }
638 
639  if (sumQ>_cutSumQ_HF)
640  {
641  double timing = utilities::aveTS<HFDataFrame>(*it, 2.5, 0,
642  it->size()-1);
643  double q1 = it->sample(1).nominal_fC()-2.5;
644  double q2 = it->sample(2).nominal_fC()-2.5;
645  double q2q12 = q2/(q1+q2);
646  _cSumQ_depth.fill(did, sumQ);
647  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
648  if (_ptype==fOnline)
649  {
650  _cSumQvsBX_SubdetPM.fill(did, bx, sumQ);
651  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
652  _cTimingCutvsieta_Subdet.fill(did, timing);
656 // _cOccupancyCutvsSlotvsLS_HFPM.fill(did, _currentLS);
657  _xUniHF.get(eid)++;
658  }
659  _cTimingCut_SubdetPM.fill(did, timing);
660  _cTimingCut_depth.fill(did, timing);
661  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
663  if (!eid.isVMEid())
664  if (_ptype==fOnline)
665  _cQ2Q12CutvsLS_FEDHF.fill(eid, _currentLS, q2q12);
666  if (eid.isVMEid())
667  {
668  _cTimingCut_FEDVME.fill(eid, timing);
669  _cTimingCut_ElectronicsVME.fill(eid, timing);
672  }
673  else
674  {
675  _cTimingCut_FEDuTCA.fill(eid, timing);
676  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
679  }
680  numChsCut++;
681  }
682  numChs++;
683  }
685  numChs);
686 
687  if (_ptype==fOnline)
688  {
690  _currentLS, numChsCut);
692  numChsCut);
693  }
694 }
695 
697  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
698 {
699  DQTask::beginLuminosityBlock(lb, es);
700 
701  /*
702  _cOccupancyvsLS_Subdet.extendAxisRange(_currentLS);
703  _cSumQvsLS_SubdetPM.extendAxisRange(_currentLS);
704  _cTimingCutvsLS_FED.extendAxisRange(_currentLS);
705 
706  // ONLINE ONLY
707  if (_ptype!=fOnline)
708  return;
709  _cQ2Q12CutvsLS_FEDHF.extendAxisRange(_currentLS);
710  _cOccupancyCutvsiphivsLS_SubdetPM.extendAxisRange(_currentLS);
711  _cOccupancyCutvsLS_Subdet.extendAxisRange(_currentLS);
712  _cDigiSizevsLS_FED.extendAxisRange(_currentLS);
713 // _cSummaryvsLS_FED.extendAxisRange(_currentLS);
714 // _cSummaryvsLS.extendAxisRange(_currentLS);
715  */
716 }
717 
719  edm::EventSetup const& es)
720 {
721  if (_ptype!=fOnline)
722  return;
723 
724  for (uintCompactMap::const_iterator it=_xUniHF.begin();
725  it!=_xUniHF.end(); ++it)
726  {
727  uint32_t hash1 = it->first;
728  HcalElectronicsId eid1(hash1);
729  double x1 = it->second;
730 
731  for (uintCompactMap::const_iterator jt=_xUniHF.begin();
732  jt!=_xUniHF.end(); ++jt)
733  {
734  if (jt==it)
735  continue;
736  double x2 = jt->second;
737  if (x2==0)
738  continue;
739  if (x1/x2<_thresh_unihf)
740  _xUni.get(eid1)++;
741  }
742  }
743 
744  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
745  it!=_vhashFEDs.end(); ++it)
746  {
747  flag::Flag fSum("DIGI");
749 
750  std::vector<uint32_t>::const_iterator cit=std::find(
751  _vcdaqEids.begin(), _vcdaqEids.end(), *it);
752  if (cit==_vcdaqEids.end())
753  {
754  // not @cDAQ
755  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
756  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
757  int(flag::fNCDAQ));
759  continue;
760  }
761 
762  // FED is @cDAQ
763  if (utilities::isFEDHBHE(eid) || utilities::isFEDHF(eid) ||
764  utilities::isFEDHO(eid))
765  {
766  if (_xDigiSize.get(eid)>0)
767  _vflags[fDigiSize]._state = flag::fBAD;
768  else
769  _vflags[fDigiSize]._state = flag::fGOOD;
770  if (utilities::isFEDHF(eid))
771  {
772  if (_runkeyVal==0 || _runkeyVal==4)
773  {
774  // only for pp or hi
775  if (_xUni.get(eid)>0)
776  _vflags[fUni]._state = flag::fBAD;
777  else
778  _vflags[fUni]._state = flag::fGOOD;
779  }
780  if (_xNChs.get(eid)!=(_xNChsNominal.get(eid)*_evsPerLS))
781  _vflags[fNChsHF]._state = flag::fBAD;
782  else
783  _vflags[fNChsHF]._state = flag::fGOOD;
784  }
785  }
786 
787  int iflag=0;
788  for (std::vector<flag::Flag>::iterator ft=_vflags.begin();
789  ft!=_vflags.end(); ++ft)
790  {
792  int(ft->_state));
793  fSum+=(*ft);
794  iflag++;
795 
796  // reset!
797  ft->reset();
798  }
800  }
801 
803  _xNChs.reset();
804 
805  // in the end always do the DQTask::endLumi
806  DQTask::endLuminosityBlock(lb, es);
807 }
808 
810 
Container2D _cOccupancy_FEDVME
Definition: DigiTask.h:110
ContainerProf2D _cTimingCut_FEDVME
Definition: DigiTask.h:96
Container1D _cOccupancyCutvsieta_Subdet
Definition: DigiTask.h:127
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meNumEvents1LS
Definition: DigiTask.h:145
int i
Definition: DBlmapReader.cc:9
ContainerProf2D _cTimingCut_FEDuTCA
Definition: DigiTask.h:97
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *qy=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: DigiTask.h:129
virtual void setBinContent(HcalDetId const &, int)
Definition: Container2D.cc:235
int const CRATE_VME_MIN
Definition: Constants.h:60
int ib
Definition: cuy.py:660
uint16_t fed2crate(int fed)
Definition: Utilities.cc:12
Container2D _cOccupancyCut_FEDVME
Definition: DigiTask.h:121
edm::InputTag _tagHO
Definition: DigiTask.h:49
Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: DigiTask.h:126
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: DigiTask.h:51
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
edm::EDGetTokenT< HFDigiCollection > _tokHF
Definition: DigiTask.h:53
double _cutSumQ_HO
Definition: DigiTask.h:55
Container2D _cOccupancyCut_depth
Definition: DigiTask.h:125
virtual CompactMap::const_iterator begin()
Definition: ContainerXXX.h:69
double _thresh_unihf
Definition: DigiTask.h:56
UpdateFreq
Definition: DQTask.h:17
State _state
Definition: Flag.h:79
std::vector< HBHEDataFrame >::const_iterator const_iterator
int bunchCrossing() const
Definition: EventBase.h:65
Container2D _cSummaryvsLS_FED
Definition: DigiTask.h:147
int const SPIGOT_MIN
Definition: Constants.h:85
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: DigiTask.h:52
virtual void reset()
Definition: ContainerXXX.h:342
ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: DigiTask.h:102
Container1D _cDigiSize_FED
Definition: DigiTask.h:137
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
int const FIBER_VME_MIN
Definition: Constants.h:90
void bookHistograms(fwlite::EventContainer &eventCont)
double q2[4]
Definition: TauolaWrapper.h:88
Container1D _cADC_SubdetPM
Definition: DigiTask.h:83
Container1D _cShapeCut_FED
Definition: DigiTask.h:91
int const FIBERCH_MIN
Definition: Constants.h:100
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: DigiTask.cc:696
ContainerXXX< uint32_t > _xNChs
Definition: DigiTask.h:141
ContainerProf1D _cQ2Q12CutvsLS_FEDHF
Definition: DigiTask.h:106
void Fill(long long x)
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:71
ContainerProf2D _cTimingCut_depth
Definition: DigiTask.h:101
ContainerXXX< uint32_t > _xUniHF
Definition: DigiTask.h:140
virtual CompactMap::const_iterator end()
Definition: ContainerXXX.h:71
ContainerProf2D _cSumQ_depth
Definition: DigiTask.h:86
Container1D _cfC_SubdetPM
Definition: DigiTask.h:84
virtual void fill(HcalDetId const &)
Definition: Container2D.cc:59
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, int debug=0)
edm::InputTag _tagHBHE
Definition: DigiTask.h:48
void reset()
Definition: Flag.h:76
HashFilter _filter_uTCA
Definition: DigiTask.h:77
virtual void setBinContent(int, int, int)
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
int const FED_VME_MIN
Definition: Constants.h:47
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fEnergy), int debug=0)
Container2D _cOccupancy_ElectronicsuTCA
Definition: DigiTask.h:113
ContainerProf1D _cSumQvsBX_SubdetPM
Definition: DigiTask.h:88
Container2D _cOccupancyCut_ElectronicsVME
Definition: DigiTask.h:123
Container2D _cOccupancyCut_FEDuTCA
Definition: DigiTask.h:122
double _cutSumQ_HF
Definition: DigiTask.h:55
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
Container1D _cSumQ_SubdetPM
Definition: DigiTask.h:85
ContainerSingle2D _cSummaryvsLS
Definition: DigiTask.h:148
virtual void _resetMonitors(UpdateFreq)
Definition: DigiTask.cc:369
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:32
int const FIBER_uTCA_MIN1
Definition: Constants.h:93
double _cutSumQ_HBHE
Definition: DigiTask.h:55
std::vector< HcalGenericDetId > allPrecisionId() const
Logger _logger
Definition: DQModule.h:70
ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: DigiTask.h:134
ContainerXXX< uint32_t > _xUni
Definition: DigiTask.h:140
std::string _name
Definition: DQModule.h:57
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Container1D _cTimingCut_SubdetPM
Definition: DigiTask.h:95
int const CRATE_uTCA_MIN
Definition: Constants.h:65
HashFilter _filter_VME
Definition: DigiTask.h:76
Container2D _cOccupancy_depth
Definition: DigiTask.h:114
HashFilter _filter_FEDHF
Definition: DigiTask.h:78
DigiTask(edm::ParameterSet const &)
Definition: DigiTask.cc:3
std::vector< flag::Flag > _vflags
Definition: DigiTask.h:59
bool isVMEid() const
ContainerXXX< uint32_t > _xNChsNominal
Definition: DigiTask.h:142
edm::InputTag _tagHF
Definition: DigiTask.h:50
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:124
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container2D.cc:895
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:93
virtual void initialize(std::string const &folder, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
double q1[4]
Definition: TauolaWrapper.h:87
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:957
ContainerProf1D _cTimingCutvsieta_Subdet
Definition: DigiTask.h:103
const T & get() const
Definition: EventSetup.h:56
int const DIGISIZE[SUBDET_NUM]
Definition: Constants.h:132
ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: DigiTask.h:99
std::string const & label() const
Definition: InputTag.h:36
ContainerProf1D _cTimingCutvsLS_FED
Definition: DigiTask.h:100
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:243
Container1D _cOccupancyvsieta_Subdet
Definition: DigiTask.h:116
virtual void setLumiFlag()
ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: DigiTask.h:133
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:47
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:97
ContainerProf1D _cDigiSizevsLS_FED
Definition: DigiTask.h:138
ContainerProf1D _cOccupancyvsLS_Subdet
Definition: DigiTask.h:132
std::string _subsystem
Definition: DQModule.h:64
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: DigiTask.cc:718
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:171
HashFilter _filter_HF
Definition: DigiTask.h:79
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:85
Container2D _cOccupancy_FEDuTCA
Definition: DigiTask.h:111
virtual void initialize(FilterType ftype, HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:26
ContainerProf1D _cSumQvsLS_SubdetPM
Definition: DigiTask.h:87
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
electronicsmap::ElectronicsMap _ehashmap
Definition: DigiTask.h:73
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
HcalElectronicsMap const * _emap
Definition: DigiTask.h:72
std::vector< uint32_t > _vhashFEDs
Definition: DigiTask.h:69
ContainerProf2D _cTimingCut_ElectronicsVME
Definition: DigiTask.h:98
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
Definition: DigiTask.cc:28
ContainerXXX< uint32_t > _xDigiSize
Definition: DigiTask.h:139
virtual void _process(edm::Event const &, edm::EventSetup const &)
Definition: DigiTask.cc:374
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:146
Container2D _cOccupancy_ElectronicsVME
Definition: DigiTask.h:112
int const SLOT_uTCA_MIN
Definition: Constants.h:72
Container1D _cOccupancyvsiphi_SubdetPM
Definition: DigiTask.h:115
Definition: Run.h:43
Container2D _cOccupancyCut_ElectronicsuTCA
Definition: DigiTask.h:124
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:52