CMS 3D CMS Logo

RecHitTask.cc
Go to the documentation of this file.
2 #include <math.h>
3 
4 using namespace hcaldqm;
5 using namespace hcaldqm::constants;
6 using namespace hcaldqm::filter;
7 
9  DQTask(ps)
10 {
12  edm::InputTag("hbhereco"));
14  edm::InputTag("horeco"));
16  edm::InputTag("hfreco"));
17 
18  _tokHBHE = consumes<HBHERecHitCollection>(_tagHBHE);
19  _tokHO = consumes<HORecHitCollection>(_tagHO);
20  _tokHF = consumes<HFRecHitCollection>(_tagHF);
21 
22  _cutE_HBHE = ps.getUntrackedParameter<double>("cutE_HBHE", 5);
23  _cutE_HO = ps.getUntrackedParameter<double>("cutE_HO", 5);
24  _cutE_HF = ps.getUntrackedParameter<double>("cutE_HF", 5);
25  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
26 
27  // order must be the same as in RecoFlag enum
28  _vflags.resize(nRecoFlag);
29  _vflags[fUni]=flag::Flag("UniSlotHF");
30  _vflags[fTCDS]=flag::Flag("TCDS");
31  _vflags[fUnknownIds] = flag::Flag("UnknownIds");
32 }
33 
35  edm::Run const& r, edm::EventSetup const& es)
36 {
37  DQTask::bookHistograms(ib,r,es);
38 
39  // GET WHAT YOU NEED
41  es.get<HcalDbRecord>().get(dbs);
42  _emap = dbs->getHcalMapping();
43 
44  std::vector<uint32_t> vVME;
45  std::vector<uint32_t> vuTCA;
49  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
51  vVME);
53  vuTCA);
54 
55  // INITIALIZE FIRST
56  // Energy
64 
65  // Timing
70  _cTimingvsEnergy_SubdetPM.initialize(_name, "TimingvsEnergy",
75 
80  _cTimingCut_depth.initialize(_name, "TimingCut",
85  _cTimingCutvsLS_SubdetPM.initialize(_name, "TimingCutvsLS",
89 
90  // Occupancy
91  _cOccupancy_depth.initialize(_name, "Occupancy",
96 
97  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
101 
102  _cOccupancyCut_depth.initialize(_name, "OccupancyCut",
107 
108  // INITIALIZE HISTOGRAMS to be used only in Online
109  if (_ptype==fOnline)
110  {
111  _cEnergyvsieta_Subdet.initialize(_name, "Energyvsieta",
115  _cEnergyvsiphi_SubdetPM.initialize(_name, "Energyvsiphi",
119  _cEnergyvsLS_SubdetPM.initialize(_name, "EnergyvsLS",
123  _cEnergyvsBX_SubdetPM.initialize(_name, "EnergyvsBX",
127  _cTimingCutvsieta_Subdet.initialize(_name, "TimingCutvsieta",
131  _cTimingCutvsiphi_SubdetPM.initialize(_name, "TimingCutvsiphi",
135  _cTimingCutvsBX_SubdetPM.initialize(_name, "TimingCutvsBX",
139  _cOccupancyvsiphi_SubdetPM.initialize(_name, "Occupancyvsiphi",
143  _cOccupancyvsieta_Subdet.initialize(_name, "Occupancyvsieta",
147  _cOccupancyCutvsiphi_SubdetPM.initialize(_name, "OccupancyCutvsiphi",
151  _cOccupancyCutvsieta_Subdet.initialize(_name, "OccupancyCutvsieta",
155  _cOccupancyCutvsBX_Subdet.initialize(_name, "OccupancyCutvsBX",
160  "OccupancyCutvsiphivsLS", hcaldqm::hashfunctions::fSubdetPM,
164  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
168  }
169 
170  // FED-based plots
171  if (_ptype != fOffline) { // hidefed2crate
172  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
173  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
174  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
175 
176  // push the rawIds of each fed into the vector
177  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
178  it!=vFEDsVME.end(); ++it)
179  _vhashFEDs.push_back(HcalElectronicsId(
180  FIBERCH_MIN, FIBER_VME_MIN, SPIGOT_MIN, (*it)-FED_VME_MIN).rawId());
181  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
182  it!=vFEDsuTCA.end(); ++it)
183  {
184  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
185  _vhashFEDs.push_back(HcalElectronicsId(
186  cspair.first, cspair.second, FIBER_uTCA_MIN1,
187  FIBERCH_MIN, false).rawId());
188  }
189 
190  _cTimingCut_FEDVME.initialize(_name, "TimingCut",
195  _cTimingCut_FEDuTCA.initialize(_name, "TimingCut",
200  _cTimingCutvsLS_FED.initialize(_name, "TimingCutvsLS",
206  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
211  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
214 
215  _cOccupancy_FEDVME.initialize(_name, "Occupancy",
220  _cOccupancy_FEDuTCA.initialize(_name, "Occupancy",
227  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
232  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
235 
236  _cOccupancyCut_FEDVME.initialize(_name, "OccupancyCut",
241  _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut",
248  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
253  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
256  if (_ptype == fOnline) {
257  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
262  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
266 
269  }
270  }
271 
272  // BOOK HISTOGRAMS
273  char cutstr[200];
274  sprintf(cutstr, "_EHBHE%dHO%dHF%d", int(_cutE_HBHE),
275  int(_cutE_HO), int(_cutE_HF));
276  char cutstr2[200];
277  sprintf(cutstr2, "_EHF%d", int(_cutE_HF));
278 
279  // Energy
282 
283  // Timing
286  if (_ptype != fOffline) { // hidefed2crate
291  }
295  if (_ptype != fOffline) { // hidefed2crate
297  }
298 
299  // Occupancy
301  if (_ptype != fOffline) { // hidefed2crate
306  }
309  if (_ptype != fOffline) { // hidefed2crate
314  }
315 
316  // BOOK HISTOGRAMS to be used only in Online
317  if (_ptype==fOnline)
318  {
335 
336  std::vector<uint32_t> vhashFEDHF;
337  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN,
338  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
339  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN,
340  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
341  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN,
342  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
343  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN+6,
344  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
345  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN+6,
346  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
347  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN+6,
348  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
349  HashFilter filter_FEDHF;
351  vhashFEDHF);
352 
354  if (_ptype != fOffline) { // hidefed2crate
355  _xUniHF.book(_emap, filter_FEDHF);
356  _xUni.book(_emap);
357  }
358  }
359 
360  // initialize hash map
362 
363  // book some mes...
365  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds",
366  1, 0, 1);
367  _unknownIdsPresent = false;
369 }
370 
372 {
373  switch(uf)
374  {
375  case hcaldqm::f1LS:
376  _unknownIdsPresent = false;
377  break;
378  default:
379  break;
380  }
381 
382  DQTask::_resetMonitors(uf);
383 }
384 
385 /* virtual */ void RecHitTask::_process(edm::Event const& e,
386  edm::EventSetup const&)
387 {
391 
392  if (!(e.getByToken(_tokHBHE, chbhe)))
393  _logger.dqmthrow("Collection HBHERecHitCollection not available "
394  + _tagHBHE.label() + " " + _tagHBHE.instance());
395  if (!(e.getByToken(_tokHO, cho)))
396  _logger.dqmthrow("Collection HORecHitCollection not available "
397  + _tagHO.label() + " " + _tagHO.instance());
398  if (!(e.getByToken(_tokHF, chf)))
399  _logger.dqmthrow("Collection HFRecHitCollection not available "
400  + _tagHF.label() + " " + _tagHF.instance());
401 
402  // extract some info per event
403  int bx = e.bunchCrossing();
404 
405  // To fill histograms outside of the loop, you need to determine if there were
406  // any valid det ids first
407  uint32_t rawidValid = 0;
408  uint32_t rawidHBValid = 0;
409  uint32_t rawidHEValid = 0;
410 
411  double ehbm = 0; double ehbp = 0;
412  double ehem = 0; double ehep = 0;
413  int nChsHB = 0; int nChsHE = 0;
414  int nChsHBCut = 0; int nChsHECut = 0;
416  it!=chbhe->end(); ++it)
417  {
418  double energy = it->energy();
419  double timing = it->time();
420 
421  // Explicit check on the DetIds present in the Collection
422  HcalDetId did = it->id();
423  uint32_t rawid = _ehashmap.lookup(did);
424  /*
425  * Needs to be removed as DetIds that belong to the HEP17 after combination
426  * are not present in the emap
427  * Removed until further notice!
428  *
429  */
430  //if (rawid==0)
431  //{meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
432 
433  HcalElectronicsId const& eid(rawid);
434  rawidValid = did.rawId();
435  if (did.subdet()==HcalBarrel)
436  rawidHBValid = did.rawId();
437  else if (did.subdet()==HcalEndcap)
438  rawidHEValid = did.rawId();
439 
440  _cEnergy_Subdet.fill(did, energy);
441  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
442  _cOccupancy_depth.fill(did);
443  did.subdet()==HcalBarrel?did.ieta()>0?ehbp+=energy:ehbm+=energy:
444  did.ieta()>0?ehep+=energy:ehem+=energy;
445 
446  // ONLINE ONLY!
447  if (_ptype==fOnline)
448  {
451  }
452  // ^^^ONLINE ONLY!
453  //
454  if (_ptype != fOffline) { // hidefed2crate
455  // Also, for these electronics plots, require that the channel was found in the emap.
456  if (rawid != 0) {
457  if (eid.isVMEid())
458  {
461  } else if (eid.isUTCAid()) {
464  }
465  }
466  }
467 
468  if (energy>_cutE_HBHE)
469  {
470  // ONLINE ONLY!
471  if (_ptype==fOnline)
472  {
473  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
474  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
475  _cEnergyvsieta_Subdet.fill(did, energy);
476  _cEnergyvsiphi_SubdetPM.fill(did, energy);
477  _cTimingCutvsieta_Subdet.fill(did, timing);
478  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
479  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
483  }
484  // ^^^ONLINE ONLY!
485  _cEnergy_depth.fill(did, energy);
486  _cTimingCut_SubdetPM.fill(did, timing);
487  _cTimingCut_HBHEPartition.fill(did, timing);
489 
490  // ONLINE
491  if (_ptype==fOnline) {
492  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
493  _cTimingCut_depth.fill(did, timing);
494  // ^^^ONLINE
495  } else {
496  if (_ptype != fOffline) { // hidefed2crate
497  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
498  }
499  _cTimingCut_depth.fill(did, timing);
500  }
502  if (_ptype != fOffline) { // hidefed2crate
503  if (rawid != 0) {
504  if (eid.isVMEid()){
505  // ONLINE
506  if (_ptype==fOnline)
507  {
508  _cTimingCut_FEDVME.fill(eid, timing);
509  _cTimingCut_ElectronicsVME.fill(eid, timing);
510  } // ^^^ ONLINE
511  else
512  {
513  _cTimingCut_FEDVME.fill(eid, timing);
514  _cTimingCut_ElectronicsVME.fill(eid, timing);
515  }
516  // ^^^ONLINE
517 
520  } else if (eid.isUTCAid()) {
521  if (_ptype==fOnline)
522  {
523  // time constraints are explicit!
524  _cTimingCut_FEDuTCA.fill(eid, timing);
525  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
526  }
527  else
528  {
529  _cTimingCut_FEDuTCA.fill(eid, timing);
530  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
531  }
534  }
535  }
536  }
537  did.subdet()==HcalBarrel?nChsHBCut++:nChsHECut++;
538  }
539  did.subdet()==HcalBarrel?nChsHB++:nChsHE++;
540  }
541 
542  if (rawidHBValid!=0 && rawidHEValid!=0)
543  {
545  nChsHB);
547  nChsHE);
548 
549  // ONLINE ONLY!
550  if (_ptype==fOnline)
551  {
553  bx, nChsHBCut);
555  bx, nChsHECut);
557  _currentLS, nChsHBCut);
559  _currentLS, nChsHECut);
560  }
561  // ^^^ONLINE ONLY!
562  }
563 
564  // reset
565  rawidValid = 0;
566 
567  int nChsHO = 0; int nChsHOCut = 0;
568  double ehop = 0; double ehom = 0;
570  it!=cho->end(); ++it)
571  {
572  double energy = it->energy();
573  double timing = it->time();
574 
575  // Explicit check on the DetIds present in the Collection
576  HcalDetId did = it->id();
577  uint32_t rawid = _ehashmap.lookup(did);
578  if (rawid==0)
579  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
580  HcalElectronicsId const& eid(rawid);
581  if (did.subdet()==HcalOuter)
582  rawidValid = did.rawId();
583 
584  _cEnergy_Subdet.fill(did, energy);
585  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
586  _cOccupancy_depth.fill(did);
587  did.ieta()>0?ehop+=energy:ehom+=energy;
588 
589  // IMPORTANT: ONLINE ONLY!
590  if (_ptype==fOnline)
591  {
594  }
595  // ONLINE ONLY!
596 
597  if (_ptype != fOffline) { // hidefed2crate
598  if (eid.isVMEid())
599  {
602  }
603  else
604  {
607  }
608  }
609 
610  if (energy>_cutE_HO)
611  {
612  // ONLINE ONLY!
613  if (_ptype==fOnline)
614  {
615  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
616  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
617  _cEnergyvsieta_Subdet.fill(did, energy);
618  _cEnergyvsiphi_SubdetPM.fill(did, energy);
619  _cTimingCutvsieta_Subdet.fill(did, timing);
620  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
621  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
625  }
626  // ^^^ONLINE ONLY!
627 
628  _cEnergy_depth.fill(did, energy);
629  _cTimingCut_SubdetPM.fill(did, timing);
631  if (_ptype != fOffline) { // hidefed2crate
632  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
633  }
635  _cTimingCut_depth.fill(did, timing);
636  if (_ptype != fOffline) { // hidefed2crate
637  if (eid.isVMEid())
638  {
639  _cTimingCut_FEDVME.fill(eid, timing);
640  _cTimingCut_ElectronicsVME.fill(eid, timing);
643  }
644  else
645  {
646  _cTimingCut_FEDuTCA.fill(eid, timing);
647  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
650  }
651  }
652  nChsHOCut++;
653  }
654  nChsHO++;
655  }
656 
657  if (rawidValid!=0)
658  {
660  nChsHO);
661  // ONLINE ONLY!
662  if (_ptype==fOnline)
663  {
665  bx, nChsHOCut);
667  _currentLS, nChsHOCut);
668  }
669  // ^^^ONLINE ONLY!
670  }
671 
672  //reset
673  rawidValid = 0;
674 
675  int nChsHF = 0; int nChsHFCut = 0;
676  double ehfp = 0; double ehfm = 0;
678  it!=chf->end(); ++it)
679  {
680  double energy = it->energy();
681  double timing = it->time();
682 
683  // Explicit check on the DetIds present in the Collection
684  HcalDetId did = it->id();
685  uint32_t rawid = _ehashmap.lookup(did);
686  if (rawid==0)
687  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
688  HcalElectronicsId const& eid(rawid);
689  if (did.subdet()==HcalForward)
690  rawidValid = did.rawId();
691 
692  _cEnergy_Subdet.fill(did, energy);
693  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
694  _cOccupancy_depth.fill(did);
695  did.ieta()>0?ehfp+=energy:ehfm+=energy;
696 
697  // IMPORTANT:
698  // only for Online Processing
699  //
700  if (_ptype==fOnline)
701  {
704  }
705  // ONLINE ONLY!
706 
707  if (_ptype != fOffline) { // hidefed2crate
708  if (eid.isVMEid())
709  {
712  }
713  else
714  {
717  }
718  }
719 
720  if (energy>_cutE_HF)
721  {
722  // ONLINE ONLY!
723  if (_ptype==fOnline)
724  {
725  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
726  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
727  _cEnergyvsieta_Subdet.fill(did, energy);
728  _cEnergyvsiphi_SubdetPM.fill(did, energy);
729  _cTimingCutvsieta_Subdet.fill(did, timing);
730  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
731  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
735  if (_ptype != fOffline) { // hidefed2crate
736  _xUniHF.get(eid)++;
737  }
738  }
739  // ^^^ONLINE ONLY!
740  _cEnergy_depth.fill(did, energy);
741  _cTimingCut_SubdetPM.fill(did, timing);
743  if (_ptype != fOffline) { // hidefed2crate
744  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
745  }
747  _cTimingCut_depth.fill(did, timing);
748  if (_ptype != fOffline) { // hidefed2crate
749  if (eid.isVMEid())
750  {
751  _cTimingCut_FEDVME.fill(eid, timing);
752  _cTimingCut_ElectronicsVME.fill(eid, timing);
755  }
756  else
757  {
758  _cTimingCut_FEDuTCA.fill(eid, timing);
759  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
762  }
763  }
764  nChsHFCut++;
765  }
766  nChsHF++;
767  }
768 
769  if (rawidValid!=0)
770  {
772  nChsHF);
773  // ONLINE ONLY!
774  if (_ptype==fOnline)
775  {
777  bx, nChsHFCut);
779  _currentLS, nChsHFCut);
780  }
781  // ^^^ONLINE ONLY!
782  }
783 }
784 
786  lb, edm::EventSetup const& es)
787 {
788  DQTask::beginLuminosityBlock(lb, es);
789 }
790 
792  lb, edm::EventSetup const& es)
793 {
794  if (_ptype!=fOnline)
795  return;
796 
797  //
798  // GENERATE STATUS ONLY FOR ONLINE
799  //
800 // for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
801 // it!=gids.end(); ++it)
802 // {}
803 
804  for (uintCompactMap::const_iterator it=_xUniHF.begin();
805  it!=_xUniHF.end(); ++it)
806  {
807  uint32_t hash1 = it->first;
808  HcalElectronicsId eid1(hash1);
809  double x1 = it->second;
810 
811  for (uintCompactMap::const_iterator jt=_xUniHF.begin();
812  jt!=_xUniHF.end(); ++jt)
813  {
814  if (jt==it)
815  continue;
816  double x2 = jt->second;
817  if (x2==0)
818  continue;
819  if (x1/x2<_thresh_unihf)
820  _xUni.get(eid1)++;
821  }
822  }
823 
824  if (_ptype != fOffline) { // hidefed2crate
825  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
826  it!=_vhashFEDs.end(); ++it)
827  {
828  flag::Flag fSum("RECO");
830 
831  std::vector<uint32_t>::const_iterator cit=std::find(
832  _vcdaqEids.begin(), _vcdaqEids.end(), *it);
833  if (cit==_vcdaqEids.end())
834  {
835  // not @cDAQ
836  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
837  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
838  int(flag::fNCDAQ));
840  continue;
841  }
842 
843  // FED is @cDAQ
844  if (hcaldqm::utilities::isFEDHF(eid) && (_runkeyVal==0 || _runkeyVal==4))
845  {
846  if (_xUni.get(eid)>0)
847  _vflags[fUni]._state = flag::fPROBLEMATIC;
848  else
849  _vflags[fUni]._state = flag::fGOOD;
850  }
851 
852  if (_unknownIdsPresent)
853  _vflags[fUnknownIds]._state = flag::fBAD;
854  else
855  _vflags[fUnknownIds]._state = flag::fGOOD;
856 
857  int iflag=0;
858  for (std::vector<flag::Flag>::iterator ft=_vflags.begin();
859  ft!=_vflags.end(); ++ft)
860  {
861  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
862  int(ft->_state));
863  fSum+=(*ft);
864  iflag++;
865 
866  // reset after using
867  ft->reset();
868  }
870  }
871  _xUniHF.reset(); _xUni.reset();
872  }
873 
874  // in the end always do the DQTask::endLumi
875  DQTask::endLuminosityBlock(lb, es);
876 }
877 
879 
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: RecHitTask.h:122
T getUntrackedParameter(std::string const &, T const &) const
hcaldqm::Container2D _cOccupancyCut_depth
Definition: RecHitTask.h:117
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RecHitTask.h:129
std::vector< uint32_t > _vhashFEDs
Definition: RecHitTask.h:54
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: RecHitTask.h:107
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *qy=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
edm::EDGetTokenT< HBHERecHitCollection > _tokHBHE
Definition: RecHitTask.h:46
hcaldqm::ContainerProf2D _cEnergy_depth
Definition: RecHitTask.h:80
hcaldqm::Container2D _cTimingvsEnergy_SubdetPM
Definition: RecHitTask.h:85
int const CRATE_VME_MIN
Definition: Constants.h:68
hcaldqm::Container2D _cOccupancyCut_FEDVME
Definition: RecHitTask.h:112
hcaldqm::Container2D _cOccupancy_FEDVME
Definition: RecHitTask.h:103
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
double _cutE_HO
Definition: RecHitTask.h:50
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:13
uint32_t rawId() const
edm::EDGetTokenT< HFRecHitCollection > _tokHF
Definition: RecHitTask.h:48
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: RecHitTask.h:122
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: RecHitTask.h:118
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
hcaldqm::ContainerProf1D _cEnergyvsieta_Subdet
Definition: RecHitTask.h:78
hcaldqm::ContainerProf1D _cEnergyvsiphi_SubdetPM
Definition: RecHitTask.h:79
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: RecHitTask.h:121
std::vector< HcalGenericDetId > _gids
Definition: RecHitTask.h:128
virtual CompactMap::const_iterator begin()
Definition: ContainerXXX.h:75
UpdateFreq
Definition: DQTask.h:17
State _state
Definition: Flag.h:79
std::vector< HBHERecHit >::const_iterator const_iterator
hcaldqm::Container1D _cTimingCut_SubdetPM
Definition: RecHitTask.h:88
int bunchCrossing() const
Definition: EventBase.h:64
RecHitTask(edm::ParameterSet const &)
Definition: RecHitTask.cc:8
int const SPIGOT_MIN
Definition: Constants.h:93
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: RecHitTask.cc:791
virtual void reset()
Definition: ContainerXXX.h:366
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: RecHitTask.h:97
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
int const FIBER_VME_MIN
Definition: Constants.h:98
hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM
Definition: RecHitTask.h:82
void bookHistograms(fwlite::EventContainer &eventCont)
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
Definition: RecHitTask.h:114
int const FIBERCH_MIN
Definition: Constants.h:108
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:110
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: RecHitTask.h:93
virtual CompactMap::const_iterator end()
Definition: ContainerXXX.h:77
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RecHitTask.h:57
double _cutE_HBHE
Definition: RecHitTask.h:50
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
hcaldqm::Container1D _cEnergy_Subdet
Definition: RecHitTask.h:77
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, int debug=0)
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
Definition: RecHitTask.h:95
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
Definition: RecHitTask.h:90
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
Definition: RecHitTask.h:96
void reset()
Definition: Flag.h:76
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: RecHitTask.h:115
virtual void setBinContent(int, int, int)
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: RecHitTask.h:120
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
int const FED_VME_MIN
Definition: Constants.h:55
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fEnergy), int debug=0)
int ieta() const
get the cell ieta
Definition: HcalDetId.h:56
hcaldqm::Container2D _cOccupancy_ElectronicsVME
Definition: RecHitTask.h:105
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
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:101
double _cutE_HF
Definition: RecHitTask.h:50
std::vector< HcalGenericDetId > allPrecisionId() const
Logger _logger
Definition: DQModule.h:70
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
Definition: RecHitTask.h:113
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RecHitTask.h:68
MonitorElement * meUnknownIds1LS
Definition: RecHitTask.h:125
std::string _name
Definition: DQModule.h:57
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RecHitTask.h:130
double _thresh_unihf
Definition: RecHitTask.h:51
int const CRATE_uTCA_MIN
Definition: Constants.h:73
const_iterator end() const
bool isVMEid() const
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: RecHitTask.h:106
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:99
edm::InputTag _tagHO
Definition: RecHitTask.h:44
virtual void initialize(std::string const &folder, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:957
const T & get() const
Definition: EventSetup.h:56
hcaldqm::Container2D _cOccupancy_FEDuTCA
Definition: RecHitTask.h:104
edm::InputTag _tagHF
Definition: RecHitTask.h:45
virtual void _process(edm::Event const &, edm::EventSetup const &)
Definition: RecHitTask.cc:385
HcalElectronicsMap const * _emap
Definition: RecHitTask.h:67
virtual void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:235
std::string const & label() const
Definition: InputTag.h:36
hcaldqm::Container1D _cTimingCut_HBHEPartition
Definition: RecHitTask.h:89
hcaldqm::filter::HashFilter _filter_uTCA
Definition: RecHitTask.h:72
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: RecHitTask.h:116
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:249
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: RecHitTask.h:109
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:86
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:136
virtual void fill(HcalDetId const &) override
Definition: Container2D.cc:59
const HcalElectronicsMap * getHcalMapping() const
std::string _subsystem
Definition: DQModule.h:64
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
Definition: RecHitTask.cc:34
hcaldqm::ContainerProf1D _cTimingCutvsBX_SubdetPM
Definition: RecHitTask.h:99
edm::EDGetTokenT< HORecHitCollection > _tokHO
Definition: RecHitTask.h:47
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
edm::InputTag _tagHBHE
Definition: RecHitTask.h:43
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
Definition: RecHitTask.h:91
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:91
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: RecHitTask.cc:785
virtual void initialize(FilterType ftype, HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:26
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:895
virtual void _resetMonitors(hcaldqm::UpdateFreq)
Definition: RecHitTask.cc:371
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
hcaldqm::Container2D _cOccupancy_depth
Definition: RecHitTask.h:102
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: RecHitTask.h:98
hcaldqm::ContainerProf2D _cTimingCut_depth
Definition: RecHitTask.h:94
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
Definition: RecHitTask.h:92
hcaldqm::filter::HashFilter _filter_VME
Definition: RecHitTask.h:71
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
Definition: RecHitTask.h:119
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:185
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: RecHitTask.h:108
int const SLOT_uTCA_MIN
Definition: Constants.h:80
bool isUTCAid() const
const_iterator begin() const
Definition: Run.h:42
bool _unknownIdsPresent
Definition: RecHitTask.h:126
ib
Definition: cuy.py:660
hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM
Definition: RecHitTask.h:81