CMS 3D CMS Logo

RecHitTask.cc
Go to the documentation of this file.
2 #include <cmath>
3 
4 using namespace hcaldqm;
5 using namespace hcaldqm::constants;
6 using namespace hcaldqm::filter;
7 
9  : DQTask(ps), hcalDbServiceToken_(esConsumes<HcalDbService, HcalDbRecord, edm::Transition::BeginRun>()) {
10  _tagHBHE = ps.getUntrackedParameter<edm::InputTag>("tagHBHE", edm::InputTag("hbhereco"));
11  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO", edm::InputTag("horeco"));
12  _tagHF = ps.getUntrackedParameter<edm::InputTag>("tagHF", edm::InputTag("hfreco"));
14  _hfPreRecHitsAvailable = ps.getUntrackedParameter<bool>("hfPreRecHitsAvailable", false);
15 
16  _tokHBHE = consumes<HBHERecHitCollection>(_tagHBHE);
17  _tokHO = consumes<HORecHitCollection>(_tagHO);
18  _tokHF = consumes<HFRecHitCollection>(_tagHF);
19  _tokPreHF = consumes<HFPreRecHitCollection>(_tagPreHF);
20 
21  _cutE_HBHE = ps.getUntrackedParameter<double>("cutE_HBHE", 5);
22  _cutE_HO = ps.getUntrackedParameter<double>("cutE_HO", 5);
23  _cutE_HF = ps.getUntrackedParameter<double>("cutE_HF", 5);
24  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
25 
26  // order must be the same as in RecoFlag enum
27  _vflags.resize(nRecoFlag);
28  _vflags[fUni] = flag::Flag("UniSlotHF");
29  _vflags[fTCDS] = flag::Flag("TCDS");
30  _vflags[fUnknownIds] = flag::Flag("UnknownIds");
31 }
32 
33 /* virtual */ void RecHitTask::bookHistograms(DQMStore::IBooker& ib, edm::Run const& r, edm::EventSetup const& es) {
35 
36  // GET WHAT YOU NEED
38  _emap = dbs->getHcalMapping();
39 
40  std::vector<uint32_t> vVME;
41  std::vector<uint32_t> vuTCA;
42  vVME.push_back(
47  std::vector<uint32_t> vhashHF;
48  vhashHF.push_back(
50 
52 
53  // INITIALIZE FIRST
54  // Energy
56  "Energy",
60  0);
62  "Energy",
67  0);
68 
69  // Timing
71  "TimingCut",
75  0);
77  "TimingvsEnergy",
82  0);
83 
85  "TimingCut",
89  0);
91  "TimingCut",
96  0);
98  "TimingCutvsLS",
102  0);
103 
104  // Occupancy
106  "Occupancy",
111  0);
112 
114  "OccupancyvsLS",
118  0);
119 
121  "OccupancyCut",
126  0);
127 
130  _name,
131  "ChargeVsAsymmetry",
136  0);
138  "AsymmetryMean",
143  0);
145  "Asymmetry",
149  0);
150  }
151 
152  // INITIALIZE HISTOGRAMS to be used only in Online
153  if (_ptype == fOnline) {
155  "Energyvsieta",
159  0);
161  "Energyvsiphi",
165  0);
167  "EnergyvsLS",
171  0);
173  "EnergyvsBX",
177  0);
179  "TimingCutvsieta",
183  0);
185  "TimingCutvsiphi",
189  0);
191  "TimingCutvsBX",
195  0);
197  "Occupancyvsiphi",
201  0);
203  "Occupancyvsieta",
207  0);
209  "OccupancyCutvsiphi",
213  0);
215  "OccupancyCutvsieta",
219  0);
221  "OccupancyCutvsBX",
225  0);
227  "OccupancyCutvsiphivsLS",
232  0);
234  "OccupancyCutvsLS",
238  0);
239  }
240 
241  // FED-based plots
242  if (_ptype != fOffline) { // hidefed2crate
243  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
244  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
245  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
246 
247  // push the rawIds of each fed into the vector
248  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
250  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
251  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
252  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
253  }
254 
256  "TimingCut",
261  0);
263  "TimingCutvsLS",
267  0);
269  "TimingCut",
271  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
274  0);
275 
277  "Occupancy",
282  0);
284  "Occupancy",
286  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
289  0);
290 
292  "OccupancyCut",
297  0);
299  "OccupancyCut",
301  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
304  0);
305  if (_ptype == fOnline) {
307  "SummaryvsLS",
312  0);
314  "SummaryvsLS",
318  0);
319 
322  }
323  }
324 
325  // BOOK HISTOGRAMS
326  char cutstr[200];
327  sprintf(cutstr, "_EHBHE%dHO%dHF%d", int(_cutE_HBHE), int(_cutE_HO), int(_cutE_HF));
328  char cutstr2[200];
329  sprintf(cutstr2, "_EHF%d", int(_cutE_HF));
330 
331  // Energy
334 
335  // Timing
338  if (_ptype != fOffline) { // hidefed2crate
341  }
345  if (_ptype != fOffline) { // hidefed2crate
347  }
348 
349  // Occupancy
351  if (_ptype != fOffline) { // hidefed2crate
354  }
357  if (_ptype != fOffline) { // hidefed2crate
360  }
361 
366  }
367 
368  // BOOK HISTOGRAMS to be used only in Online
369  if (_ptype == fOnline) {
386 
387  std::vector<uint32_t> vhashFEDHF;
388  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
389  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
390  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
391  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
392  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
393  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
394  HashFilter filter_FEDHF;
396 
398  if (_ptype != fOffline) { // hidefed2crate
399  _xUniHF.book(_emap, filter_FEDHF);
400  _xUni.book(_emap);
401  }
402  }
403 
404  // initialize hash map
406 
407  // book some mes...
408  ib.setCurrentFolder(_subsystem + "/" + _name);
409  auto scope = DQMStore::IBooker::UseLumiScope(ib);
410  meUnknownIds1LS = ib.book1DD("UnknownIds", "UnknownIds", 1, 0, 1);
411  _unknownIdsPresent = false;
412 }
413 
415  switch (uf) {
416  case hcaldqm::f1LS:
417  _unknownIdsPresent = false;
418  break;
419  default:
420  break;
421  }
422 
423  DQTask::_resetMonitors(uf);
424 }
425 
426 /* virtual */ void RecHitTask::_process(edm::Event const& e, edm::EventSetup const&) {
430 
431  if (!(e.getByToken(_tokHBHE, chbhe)))
432  _logger.dqmthrow("Collection HBHERecHitCollection not available " + _tagHBHE.label() + " " + _tagHBHE.instance());
433  if (!(e.getByToken(_tokHO, cho)))
434  _logger.dqmthrow("Collection HORecHitCollection not available " + _tagHO.label() + " " + _tagHO.instance());
435  if (!(e.getByToken(_tokHF, chf)))
436  _logger.dqmthrow("Collection HFRecHitCollection not available " + _tagHF.label() + " " + _tagHF.instance());
437 
440  if (!(e.getByToken(_tokPreHF, cprehf)))
441  _logger.dqmthrow("Collection HFPreRecHitCollection not available " + _tagPreHF.label() + " " +
442  _tagPreHF.instance());
443  }
444 
445  // extract some info per event
446  int bx = e.bunchCrossing();
447 
448  auto lumiCache = luminosityBlockCache(e.getLuminosityBlock().index());
449  _currentLS = lumiCache->currentLS;
450 
451  // To fill histograms outside of the loop, you need to determine if there were
452  // any valid det ids first
453  uint32_t rawidHBValid = 0;
454  uint32_t rawidHEValid = 0;
455 
456  double ehbm = 0;
457  double ehbp = 0;
458  double ehem = 0;
459  double ehep = 0;
460  int nChsHB = 0;
461  int nChsHE = 0;
462  int nChsHBCut = 0;
463  int nChsHECut = 0;
464  for (HBHERecHitCollection::const_iterator it = chbhe->begin(); it != chbhe->end(); ++it) {
465  double energy = it->energy();
466  double timing = it->time();
467 
468  // Explicit check on the DetIds present in the Collection
469  HcalDetId did = it->id();
470  uint32_t rawid = _ehashmap.lookup(did);
471  /*
472  * Needs to be removed as DetIds that belong to the HEP17 after combination
473  * are not present in the emap
474  * Removed until further notice!
475  *
476  */
477  //if (rawid==0)
478  //{meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
479 
480  HcalElectronicsId const& eid(rawid);
481  if (did.subdet() == HcalBarrel)
482  rawidHBValid = did.rawId();
483  else if (did.subdet() == HcalEndcap)
484  rawidHEValid = did.rawId();
485 
488  _cOccupancy_depth.fill(did);
489  did.subdet() == HcalBarrel ? did.ieta() > 0 ? ehbp += energy : ehbm += energy
490  : did.ieta() > 0 ? ehep += energy
491  : ehem += energy;
492 
493  // ONLINE ONLY!
494  if (_ptype == fOnline) {
497  }
498  // ^^^ONLINE ONLY!
499  //
500  if (_ptype != fOffline) { // hidefed2crate
501  // Also, for these electronics plots, require that the channel was found in the emap.
502  if (rawid != 0) {
503  if (!eid.isVMEid()) {
506  }
507  }
508  }
509 
510  if (energy > _cutE_HBHE) {
511  // ONLINE ONLY!
512  if (_ptype == fOnline) {
523  }
524  // ^^^ONLINE ONLY!
525  _cEnergy_depth.fill(did, energy);
529 
530  // ONLINE
531  if (_ptype == fOnline) {
532  if (rawid != 0) {
534  }
536  // ^^^ONLINE
537  } else {
538  if (_ptype != fOffline) { // hidefed2crate
539  if (rawid != 0) {
541  }
542  }
544  }
546  if (_ptype != fOffline) { // hidefed2crate
547  if (rawid != 0) {
548  if (eid.isUTCAid()) {
549  if (_ptype == fOnline) {
550  // time constraints are explicit!
553  } else {
556  }
559  }
560  }
561  }
562  did.subdet() == HcalBarrel ? nChsHBCut++ : nChsHECut++;
563  }
564  did.subdet() == HcalBarrel ? nChsHB++ : nChsHE++;
565  }
566 
567  if (rawidHBValid != 0 && rawidHEValid != 0) {
568  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHBValid), _currentLS, nChsHB);
569  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHEValid), _currentLS, nChsHE);
570 
571  // ONLINE ONLY!
572  if (_ptype == fOnline) {
573  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidHBValid), bx, nChsHBCut);
574  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidHEValid), bx, nChsHECut);
575  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidHBValid), _currentLS, nChsHBCut);
576  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidHEValid), _currentLS, nChsHECut);
577  }
578  // ^^^ONLINE ONLY!
579  }
580 
581  // To fill histograms outside of the loop, you need to determine if there were
582  // any valid det ids first
583  uint32_t rawidValid = 0;
584 
585  int nChsHO = 0;
586  int nChsHOCut = 0;
587  double ehop = 0;
588  double ehom = 0;
589  for (HORecHitCollection::const_iterator it = cho->begin(); it != cho->end(); ++it) {
590  double energy = it->energy();
591  double timing = it->time();
592 
593  // Explicit check on the DetIds present in the Collection
594  HcalDetId did = it->id();
595  uint32_t rawid = _ehashmap.lookup(did);
596  if (rawid == 0) {
597  meUnknownIds1LS->Fill(1);
598  _unknownIdsPresent = true;
599  continue;
600  }
601  HcalElectronicsId const& eid(rawid);
602  if (did.subdet() == HcalOuter)
603  rawidValid = did.rawId();
604 
607  _cOccupancy_depth.fill(did);
608  did.ieta() > 0 ? ehop += energy : ehom += energy;
609 
610  // IMPORTANT: ONLINE ONLY!
611  if (_ptype == fOnline) {
614  }
615  // ONLINE ONLY!
616 
617  if (_ptype != fOffline) { // hidefed2crate
618  if (!eid.isVMEid()) {
621  }
622  }
623 
624  if (energy > _cutE_HO) {
625  // ONLINE ONLY!
626  if (_ptype == fOnline) {
637  }
638  // ^^^ONLINE ONLY!
639 
640  _cEnergy_depth.fill(did, energy);
643  if (_ptype != fOffline) { // hidefed2crate
645  }
648  if (_ptype != fOffline) { // hidefed2crate
649  if (!eid.isVMEid()) {
654  }
655  }
656  nChsHOCut++;
657  }
658  nChsHO++;
659  }
660 
661  if (rawidValid != 0) {
662  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHO);
663  // ONLINE ONLY!
664  if (_ptype == fOnline) {
665  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidValid), bx, nChsHOCut);
666  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHOCut);
667  }
668  // ^^^ONLINE ONLY!
669  }
670 
671  //reset
672  rawidValid = 0;
673 
674  int nChsHF = 0;
675  int nChsHFCut = 0;
676  double ehfp = 0;
677  double ehfm = 0;
678  for (HFRecHitCollection::const_iterator it = chf->begin(); it != chf->end(); ++it) {
679  double energy = it->energy();
680  double timing = it->time();
681 
682  // Explicit check on the DetIds present in the Collection
683  HcalDetId did = it->id();
684  uint32_t rawid = _ehashmap.lookup(did);
685  if (rawid == 0) {
686  meUnknownIds1LS->Fill(1);
687  _unknownIdsPresent = true;
688  continue;
689  }
690  HcalElectronicsId const& eid(rawid);
691  if (did.subdet() == HcalForward)
692  rawidValid = did.rawId();
693 
696  _cOccupancy_depth.fill(did);
697  did.ieta() > 0 ? ehfp += energy : ehfm += energy;
698 
699  // IMPORTANT:
700  // only for Online Processing
701  //
702  if (_ptype == fOnline) {
705  }
706  // ONLINE ONLY!
707 
708  if (_ptype != fOffline) { // hidefed2crate
709  if (!eid.isVMEid()) {
712  }
713  }
714 
715  if (energy > _cutE_HF) {
716  // ONLINE ONLY!
717  if (_ptype == fOnline) {
728  if (_ptype != fOffline) { // hidefed2crate
729  _xUniHF.get(eid)++;
730  }
731  }
732  // ^^^ONLINE ONLY!
733  _cEnergy_depth.fill(did, energy);
736  if (_ptype != fOffline) { // hidefed2crate
738  }
741  if (_ptype != fOffline) { // hidefed2crate
742  if (!eid.isVMEid()) {
747  }
748  }
749  nChsHFCut++;
750  }
751  nChsHF++;
752  }
753 
754  if (rawidValid != 0) {
755  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHF);
756  // ONLINE ONLY!
757  if (_ptype == fOnline) {
758  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidValid), bx, nChsHFCut);
759  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHFCut);
760  }
761  // ^^^ONLINE ONLY!
762  }
763 
764  // Loop over HFPreRecHits to get charge and charge asymmetry
766  for (HFPreRecHitCollection::const_iterator it = cprehf->begin(); it != cprehf->end(); ++it) {
767  HcalDetId did = it->id();
768  if (_filter_HF.filter(did)) {
769  continue;
770  }
771  std::pair<float, bool> chargeAsymmetry = it->chargeAsymmetry(0.);
772  std::pair<float, bool> chargeAsymmetryCut = it->chargeAsymmetry(20.);
773 
774  if (chargeAsymmetry.second) {
775  _cDAAsymmetryVsCharge_SubdetPM.fill(did, chargeAsymmetry.first, it->charge());
776  }
777  if (chargeAsymmetryCut.second) {
778  _cDAAsymmetryMean_cut_depth.fill(did, chargeAsymmetryCut.first);
779  _cDAAsymmetry_cut_SubdetPM.fill(did, chargeAsymmetryCut.first);
780  }
781  }
782  }
783 }
784 
785 std::shared_ptr<hcaldqm::Cache> RecHitTask::globalBeginLuminosityBlock(edm::LuminosityBlock const& lb,
786  edm::EventSetup const& es) const {
787  return DQTask::globalBeginLuminosityBlock(lb, es);
788 }
789 
791  if (_ptype != fOnline)
792  return;
793 
794  auto lumiCache = luminosityBlockCache(lb.index());
795  _currentLS = lumiCache->currentLS;
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(); it != _xUniHF.end(); ++it) {
805  uint32_t hash1 = it->first;
806  HcalElectronicsId eid1(hash1);
807  double x1 = it->second;
808 
809  for (uintCompactMap::const_iterator jt = _xUniHF.begin(); jt != _xUniHF.end(); ++jt) {
810  if (jt == it)
811  continue;
812  double x2 = jt->second;
813  if (x2 == 0)
814  continue;
815  if (x1 / x2 < _thresh_unihf)
816  _xUni.get(eid1)++;
817  }
818  }
819 
820  if (_ptype != fOffline) { // hidefed2crate
821  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
822  flag::Flag fSum("RECO");
824 
825  std::vector<uint32_t>::const_iterator cit = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), *it);
826  if (cit == _vcdaqEids.end()) {
827  // not @cDAQ
828  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
831  continue;
832  }
833 
834  // FED is @cDAQ
835  if (hcaldqm::utilities::isFEDHF(eid) && (_runkeyVal == 0 || _runkeyVal == 4)) {
836  if (_xUni.get(eid) > 0)
837  _vflags[fUni]._state = flag::fPROBLEMATIC;
838  else
839  _vflags[fUni]._state = flag::fGOOD;
840  }
841 
842  if (_unknownIdsPresent)
843  _vflags[fUnknownIds]._state = flag::fBAD;
844  else
845  _vflags[fUnknownIds]._state = flag::fGOOD;
846 
847  int iflag = 0;
848  for (std::vector<flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
849  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag), int(ft->_state));
850  fSum += (*ft);
851  iflag++;
852 
853  // reset after using
854  ft->reset();
855  }
857  }
858  _xUniHF.reset();
859  _xUni.reset();
860  }
861 
862  // in the end always do the DQTask::endLumi
863  DQTask::globalEndLuminosityBlock(lb, es);
864 }
865 
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: RecHitTask.h:111
hcaldqm::Container2D _cOccupancyCut_depth
Definition: RecHitTask.h:106
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RecHitTask.h:123
std::vector< uint32_t > _vhashFEDs
Definition: RecHitTask.h:55
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: RecHitTask.h:98
edm::EDGetTokenT< HBHERecHitCollection > _tokHBHE
Definition: RecHitTask.h:45
hcaldqm::ContainerProf2D _cEnergy_depth
Definition: RecHitTask.h:75
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
hcaldqm::Container2D _cTimingvsEnergy_SubdetPM
Definition: RecHitTask.h:80
int const CRATE_VME_MIN
Definition: Constants.h:99
double _cutE_HO
Definition: RecHitTask.h:51
void fill(HcalDetId const &) override
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
edm::EDGetTokenT< HFRecHitCollection > _tokHF
Definition: RecHitTask.h:47
dbs
Find files in dataset.
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: RecHitTask.h:111
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
void _resetMonitors(hcaldqm::UpdateFreq) override
Definition: RecHitTask.cc:414
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: RecHitTask.h:107
hcaldqm::ContainerProf1D _cEnergyvsieta_Subdet
Definition: RecHitTask.h:73
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
hcaldqm::ContainerProf1D _cEnergyvsiphi_SubdetPM
Definition: RecHitTask.h:74
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: RecHitTask.h:110
std::vector< HcalGenericDetId > _gids
Definition: RecHitTask.h:122
virtual CompactMap::const_iterator begin()
Definition: ContainerXXX.h:70
UpdateFreq
Definition: DQTask.h:32
State _state
Definition: Flag.h:62
std::vector< T >::const_iterator const_iterator
hcaldqm::Container1D _cTimingCut_SubdetPM
Definition: RecHitTask.h:83
RecHitTask(edm::ParameterSet const &)
Definition: RecHitTask.cc:8
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
int const SPIGOT_MIN
Definition: Constants.h:124
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
virtual void reset()
Definition: ContainerXXX.h:293
std::string const & label() const
Definition: InputTag.h:36
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: RecHitTask.cc:790
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: RecHitTask.h:90
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
int const FIBER_VME_MIN
Definition: Constants.h:129
hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM
Definition: RecHitTask.h:77
int const FIBERCH_MIN
Definition: Constants.h:138
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:115
T getUntrackedParameter(std::string const &, T const &) const
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: RecHitTask.h:86
void Fill(long long x)
virtual CompactMap::const_iterator end()
Definition: ContainerXXX.h:71
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RecHitTask.h:58
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
double _cutE_HBHE
Definition: RecHitTask.h:51
ProcessingType _ptype
Definition: DQModule.h:44
virtual void fill(uint32_t)
Definition: Container1D.cc:73
hcaldqm::Container1D _cEnergy_Subdet
Definition: RecHitTask.h:72
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
Definition: RecHitTask.h:88
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
Definition: RecHitTask.h:89
void reset()
Definition: Flag.h:59
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: RecHitTask.h:104
virtual void setBinContent(int, int, int)
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: RecHitTask.h:109
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
int const FED_VME_MIN
Definition: Constants.h:86
edm::InputTag _tagPreHF
Definition: RecHitTask.h:43
int const FIBER_uTCA_MIN1
Definition: Constants.h:132
double _cutE_HF
Definition: RecHitTask.h:51
Transition
Definition: Transition.h:12
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: RecHitTask.cc:33
hash_function_did const hash_did[nHashType_did]
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
Logger _logger
Definition: DQModule.h:55
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
Definition: RecHitTask.h:103
const_iterator begin() const
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RecHitTask.h:62
MonitorElement * meUnknownIds1LS
Definition: RecHitTask.h:119
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
Definition: DQMStore.h:540
edm::EDGetTokenT< HFPreRecHitCollection > _tokPreHF
Definition: RecHitTask.h:48
std::string _name
Definition: DQModule.h:42
HcalElectronicsMap const * _emap
Definition: DQTask.h:81
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RecHitTask.h:124
double _thresh_unihf
Definition: RecHitTask.h:52
int const CRATE_uTCA_MIN
Definition: Constants.h:104
const_iterator end() const
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: RecHitTask.h:97
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:88
edm::InputTag _tagHO
Definition: RecHitTask.h:41
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:592
hcaldqm::filter::HashFilter _filter_HF
Definition: RecHitTask.h:69
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
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
hcaldqm::Container2D _cOccupancy_FEDuTCA
Definition: RecHitTask.h:96
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
edm::InputTag _tagHF
Definition: RecHitTask.h:42
edm::ESGetToken< HcalDbService, HcalDbRecord > hcalDbServiceToken_
Definition: RecHitTask.h:49
constexpr uint32_t rawId() const
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
hcaldqm::Container2D _cDAAsymmetryVsCharge_SubdetPM
Definition: RecHitTask.h:114
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
hcaldqm::Container1D _cTimingCut_HBHEPartition
Definition: RecHitTask.h:84
LuminosityBlockIndex index() const
hcaldqm::filter::HashFilter _filter_uTCA
Definition: RecHitTask.h:66
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: RecHitTask.h:105
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:198
HLT enums.
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: RecHitTask.h:100
std::vector< HcalGenericDetId > allPrecisionId() const
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:97
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:135
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
bool _hfPreRecHitsAvailable
Definition: RecHitTask.h:44
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:24
std::string _subsystem
Definition: DQModule.h:49
hcaldqm::ContainerProf1D _cTimingCutvsBX_SubdetPM
Definition: RecHitTask.h:92
edm::EDGetTokenT< HORecHitCollection > _tokHO
Definition: RecHitTask.h:46
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:69
void _process(edm::Event const &, edm::EventSetup const &) override
Definition: RecHitTask.cc:426
edm::InputTag _tagHBHE
Definition: RecHitTask.h:40
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
Definition: RecHitTask.h:85
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:82
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:567
hcaldqm::Container2D _cOccupancy_depth
Definition: RecHitTask.h:95
hcaldqm::ContainerProf2D _cDAAsymmetryMean_cut_depth
Definition: RecHitTask.h:115
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: RecHitTask.h:91
hcaldqm::ContainerProf2D _cTimingCut_depth
Definition: RecHitTask.h:87
Readout chain identification for Hcal.
std::shared_ptr< hcaldqm::Cache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
Definition: RecHitTask.cc:785
hcaldqm::filter::HashFilter _filter_VME
Definition: RecHitTask.h:65
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
Definition: RecHitTask.h:108
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:170
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: RecHitTask.h:99
int const SLOT_uTCA_MIN
Definition: Constants.h:111
Definition: Run.h:45
bool _unknownIdsPresent
Definition: RecHitTask.h:120
ib
Definition: cuy.py:661
hcaldqm::Container1D _cDAAsymmetry_cut_SubdetPM
Definition: RecHitTask.h:116
hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM
Definition: RecHitTask.h:76