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  _tagHBHE = ps.getUntrackedParameter<edm::InputTag>("tagHBHE", edm::InputTag("hbhereco"));
10  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO", edm::InputTag("horeco"));
11  _tagHF = ps.getUntrackedParameter<edm::InputTag>("tagHF", edm::InputTag("hfreco"));
13  _hfPreRecHitsAvailable = ps.getUntrackedParameter<bool>("hfPreRecHitsAvailable", false);
14 
15  _tokHBHE = consumes<HBHERecHitCollection>(_tagHBHE);
16  _tokHO = consumes<HORecHitCollection>(_tagHO);
17  _tokHF = consumes<HFRecHitCollection>(_tagHF);
18  _tokPreHF = consumes<HFPreRecHitCollection>(_tagPreHF);
19 
20  _cutE_HBHE = ps.getUntrackedParameter<double>("cutE_HBHE", 5);
21  _cutE_HO = ps.getUntrackedParameter<double>("cutE_HO", 5);
22  _cutE_HF = ps.getUntrackedParameter<double>("cutE_HF", 5);
23  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
24 
25  // order must be the same as in RecoFlag enum
26  _vflags.resize(nRecoFlag);
27  _vflags[fUni] = flag::Flag("UniSlotHF");
28  _vflags[fTCDS] = flag::Flag("TCDS");
29  _vflags[fUnknownIds] = flag::Flag("UnknownIds");
30 }
31 
32 /* virtual */ void RecHitTask::bookHistograms(DQMStore::IBooker& ib, edm::Run const& r, edm::EventSetup const& es) {
34 
35  // GET WHAT YOU NEED
37  es.get<HcalDbRecord>().get(dbs);
38  _emap = dbs->getHcalMapping();
39 
40  std::vector<uint32_t> vVME;
41  std::vector<uint32_t> vuTCA;
42  vVME.push_back(
44  vuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
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  "TimingCut",
268  0);
270  "TimingCutvsLS",
274  0);
276  "TimingCut",
278  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
281  0);
283  "TimingCut",
285  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
288  0);
289 
291  "Occupancy",
296  0);
298  "Occupancy",
303  0);
305  "Occupancy",
307  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
310  0);
312  "Occupancy",
314  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
317  0);
318 
320  "OccupancyCut",
325  0);
327  "OccupancyCut",
332  0);
334  "OccupancyCut",
336  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
339  0);
341  "OccupancyCut",
343  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
346  0);
347  if (_ptype == fOnline) {
349  "SummaryvsLS",
354  0);
356  "SummaryvsLS",
360  0);
361 
364  }
365  }
366 
367  // BOOK HISTOGRAMS
368  char cutstr[200];
369  sprintf(cutstr, "_EHBHE%dHO%dHF%d", int(_cutE_HBHE), int(_cutE_HO), int(_cutE_HF));
370  char cutstr2[200];
371  sprintf(cutstr2, "_EHF%d", int(_cutE_HF));
372 
373  // Energy
376 
377  // Timing
380  if (_ptype != fOffline) { // hidefed2crate
385  }
389  if (_ptype != fOffline) { // hidefed2crate
391  }
392 
393  // Occupancy
395  if (_ptype != fOffline) { // hidefed2crate
400  }
403  if (_ptype != fOffline) { // hidefed2crate
408  }
409 
414  }
415 
416  // BOOK HISTOGRAMS to be used only in Online
417  if (_ptype == fOnline) {
434 
435  std::vector<uint32_t> vhashFEDHF;
436  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
437  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
438  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
439  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
440  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
441  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
442  HashFilter filter_FEDHF;
444 
446  if (_ptype != fOffline) { // hidefed2crate
447  _xUniHF.book(_emap, filter_FEDHF);
448  _xUni.book(_emap);
449  }
450  }
451 
452  // initialize hash map
454 
455  // book some mes...
456  ib.setCurrentFolder(_subsystem + "/" + _name);
457  auto scope = DQMStore::IBooker::UseLumiScope(ib);
458  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds", 1, 0, 1);
459  _unknownIdsPresent = false;
460 }
461 
463  switch (uf) {
464  case hcaldqm::f1LS:
465  _unknownIdsPresent = false;
466  break;
467  default:
468  break;
469  }
470 
471  DQTask::_resetMonitors(uf);
472 }
473 
474 /* virtual */ void RecHitTask::_process(edm::Event const& e, edm::EventSetup const&) {
478 
479  if (!(e.getByToken(_tokHBHE, chbhe)))
480  _logger.dqmthrow("Collection HBHERecHitCollection not available " + _tagHBHE.label() + " " + _tagHBHE.instance());
481  if (!(e.getByToken(_tokHO, cho)))
482  _logger.dqmthrow("Collection HORecHitCollection not available " + _tagHO.label() + " " + _tagHO.instance());
483  if (!(e.getByToken(_tokHF, chf)))
484  _logger.dqmthrow("Collection HFRecHitCollection not available " + _tagHF.label() + " " + _tagHF.instance());
485 
488  if (!(e.getByToken(_tokPreHF, cprehf)))
489  _logger.dqmthrow("Collection HFPreRecHitCollection not available " + _tagPreHF.label() + " " +
490  _tagPreHF.instance());
491  }
492 
493  // extract some info per event
494  int bx = e.bunchCrossing();
495 
496  auto lumiCache = luminosityBlockCache(e.getLuminosityBlock().index());
497  _currentLS = lumiCache->currentLS;
498 
499  // To fill histograms outside of the loop, you need to determine if there were
500  // any valid det ids first
501  uint32_t rawidValid = 0;
502  uint32_t rawidHBValid = 0;
503  uint32_t rawidHEValid = 0;
504 
505  double ehbm = 0;
506  double ehbp = 0;
507  double ehem = 0;
508  double ehep = 0;
509  int nChsHB = 0;
510  int nChsHE = 0;
511  int nChsHBCut = 0;
512  int nChsHECut = 0;
513  for (HBHERecHitCollection::const_iterator it = chbhe->begin(); it != chbhe->end(); ++it) {
514  double energy = it->energy();
515  double timing = it->time();
516 
517  // Explicit check on the DetIds present in the Collection
518  HcalDetId did = it->id();
519  uint32_t rawid = _ehashmap.lookup(did);
520  /*
521  * Needs to be removed as DetIds that belong to the HEP17 after combination
522  * are not present in the emap
523  * Removed until further notice!
524  *
525  */
526  //if (rawid==0)
527  //{meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
528 
529  HcalElectronicsId const& eid(rawid);
530  rawidValid = did.rawId();
531  if (did.subdet() == HcalBarrel)
532  rawidHBValid = did.rawId();
533  else if (did.subdet() == HcalEndcap)
534  rawidHEValid = did.rawId();
535 
538  _cOccupancy_depth.fill(did);
539  did.subdet() == HcalBarrel ? did.ieta() > 0 ? ehbp += energy : ehbm += energy
540  : did.ieta() > 0 ? ehep += energy : ehem += energy;
541 
542  // ONLINE ONLY!
543  if (_ptype == fOnline) {
546  }
547  // ^^^ONLINE ONLY!
548  //
549  if (_ptype != fOffline) { // hidefed2crate
550  // Also, for these electronics plots, require that the channel was found in the emap.
551  if (rawid != 0) {
552  if (eid.isVMEid()) {
555  } else if (eid.isUTCAid()) {
558  }
559  }
560  }
561 
562  if (energy > _cutE_HBHE) {
563  // ONLINE ONLY!
564  if (_ptype == fOnline) {
575  }
576  // ^^^ONLINE ONLY!
577  _cEnergy_depth.fill(did, energy);
581 
582  // ONLINE
583  if (_ptype == fOnline) {
584  if (rawid != 0) {
586  }
588  // ^^^ONLINE
589  } else {
590  if (_ptype != fOffline) { // hidefed2crate
591  if (rawid != 0) {
593  }
594  }
596  }
598  if (_ptype != fOffline) { // hidefed2crate
599  if (rawid != 0) {
600  if (eid.isVMEid()) {
601  // ONLINE
602  if (_ptype == fOnline) {
605  } // ^^^ ONLINE
606  else {
609  }
610  // ^^^ONLINE
611 
614  } else if (eid.isUTCAid()) {
615  if (_ptype == fOnline) {
616  // time constraints are explicit!
619  } else {
622  }
625  }
626  }
627  }
628  did.subdet() == HcalBarrel ? nChsHBCut++ : nChsHECut++;
629  }
630  did.subdet() == HcalBarrel ? nChsHB++ : nChsHE++;
631  }
632 
633  if (rawidHBValid != 0 && rawidHEValid != 0) {
634  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHBValid), _currentLS, nChsHB);
635  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHEValid), _currentLS, nChsHE);
636 
637  // ONLINE ONLY!
638  if (_ptype == fOnline) {
639  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidHBValid), bx, nChsHBCut);
640  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidHEValid), bx, nChsHECut);
641  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidHBValid), _currentLS, nChsHBCut);
642  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidHEValid), _currentLS, nChsHECut);
643  }
644  // ^^^ONLINE ONLY!
645  }
646 
647  // reset
648  rawidValid = 0;
649 
650  int nChsHO = 0;
651  int nChsHOCut = 0;
652  double ehop = 0;
653  double ehom = 0;
654  for (HORecHitCollection::const_iterator it = cho->begin(); it != cho->end(); ++it) {
655  double energy = it->energy();
656  double timing = it->time();
657 
658  // Explicit check on the DetIds present in the Collection
659  HcalDetId did = it->id();
660  uint32_t rawid = _ehashmap.lookup(did);
661  if (rawid == 0) {
662  meUnknownIds1LS->Fill(1);
663  _unknownIdsPresent = true;
664  continue;
665  }
666  HcalElectronicsId const& eid(rawid);
667  if (did.subdet() == HcalOuter)
668  rawidValid = did.rawId();
669 
672  _cOccupancy_depth.fill(did);
673  did.ieta() > 0 ? ehop += energy : ehom += energy;
674 
675  // IMPORTANT: ONLINE ONLY!
676  if (_ptype == fOnline) {
679  }
680  // ONLINE ONLY!
681 
682  if (_ptype != fOffline) { // hidefed2crate
683  if (eid.isVMEid()) {
686  } else {
689  }
690  }
691 
692  if (energy > _cutE_HO) {
693  // ONLINE ONLY!
694  if (_ptype == fOnline) {
705  }
706  // ^^^ONLINE ONLY!
707 
708  _cEnergy_depth.fill(did, energy);
711  if (_ptype != fOffline) { // hidefed2crate
713  }
716  if (_ptype != fOffline) { // hidefed2crate
717  if (eid.isVMEid()) {
722  } else {
727  }
728  }
729  nChsHOCut++;
730  }
731  nChsHO++;
732  }
733 
734  if (rawidValid != 0) {
735  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHO);
736  // ONLINE ONLY!
737  if (_ptype == fOnline) {
738  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidValid), bx, nChsHOCut);
739  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHOCut);
740  }
741  // ^^^ONLINE ONLY!
742  }
743 
744  //reset
745  rawidValid = 0;
746 
747  int nChsHF = 0;
748  int nChsHFCut = 0;
749  double ehfp = 0;
750  double ehfm = 0;
751  for (HFRecHitCollection::const_iterator it = chf->begin(); it != chf->end(); ++it) {
752  double energy = it->energy();
753  double timing = it->time();
754 
755  // Explicit check on the DetIds present in the Collection
756  HcalDetId did = it->id();
757  uint32_t rawid = _ehashmap.lookup(did);
758  if (rawid == 0) {
759  meUnknownIds1LS->Fill(1);
760  _unknownIdsPresent = true;
761  continue;
762  }
763  HcalElectronicsId const& eid(rawid);
764  if (did.subdet() == HcalForward)
765  rawidValid = did.rawId();
766 
769  _cOccupancy_depth.fill(did);
770  did.ieta() > 0 ? ehfp += energy : ehfm += energy;
771 
772  // IMPORTANT:
773  // only for Online Processing
774  //
775  if (_ptype == fOnline) {
778  }
779  // ONLINE ONLY!
780 
781  if (_ptype != fOffline) { // hidefed2crate
782  if (eid.isVMEid()) {
785  } else {
788  }
789  }
790 
791  if (energy > _cutE_HF) {
792  // ONLINE ONLY!
793  if (_ptype == fOnline) {
804  if (_ptype != fOffline) { // hidefed2crate
805  _xUniHF.get(eid)++;
806  }
807  }
808  // ^^^ONLINE ONLY!
809  _cEnergy_depth.fill(did, energy);
812  if (_ptype != fOffline) { // hidefed2crate
814  }
817  if (_ptype != fOffline) { // hidefed2crate
818  if (eid.isVMEid()) {
823  } else {
828  }
829  }
830  nChsHFCut++;
831  }
832  nChsHF++;
833  }
834 
835  if (rawidValid != 0) {
836  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHF);
837  // ONLINE ONLY!
838  if (_ptype == fOnline) {
839  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidValid), bx, nChsHFCut);
840  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, nChsHFCut);
841  }
842  // ^^^ONLINE ONLY!
843  }
844 
845  // Loop over HFPreRecHits to get charge and charge asymmetry
847  for (HFPreRecHitCollection::const_iterator it = cprehf->begin(); it != cprehf->end(); ++it) {
848  HcalDetId did = it->id();
849  if (_filter_HF.filter(did)) {
850  continue;
851  }
852  std::pair<float, bool> chargeAsymmetry = it->chargeAsymmetry(0.);
853  std::pair<float, bool> chargeAsymmetryCut = it->chargeAsymmetry(20.);
854 
855  if (chargeAsymmetry.second) {
856  _cDAAsymmetryVsCharge_SubdetPM.fill(did, chargeAsymmetry.first, it->charge());
857  }
858  if (chargeAsymmetryCut.second) {
859  _cDAAsymmetryMean_cut_depth.fill(did, chargeAsymmetryCut.first);
860  _cDAAsymmetry_cut_SubdetPM.fill(did, chargeAsymmetryCut.first);
861  }
862  }
863  }
864 }
865 
866 std::shared_ptr<hcaldqm::Cache> RecHitTask::globalBeginLuminosityBlock(edm::LuminosityBlock const& lb,
867  edm::EventSetup const& es) const {
868  return DQTask::globalBeginLuminosityBlock(lb, es);
869 }
870 
872  if (_ptype != fOnline)
873  return;
874 
875  auto lumiCache = luminosityBlockCache(lb.index());
876  _currentLS = lumiCache->currentLS;
877 
878  //
879  // GENERATE STATUS ONLY FOR ONLINE
880  //
881  // for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
882  // it!=gids.end(); ++it)
883  // {}
884 
885  for (uintCompactMap::const_iterator it = _xUniHF.begin(); it != _xUniHF.end(); ++it) {
886  uint32_t hash1 = it->first;
887  HcalElectronicsId eid1(hash1);
888  double x1 = it->second;
889 
890  for (uintCompactMap::const_iterator jt = _xUniHF.begin(); jt != _xUniHF.end(); ++jt) {
891  if (jt == it)
892  continue;
893  double x2 = jt->second;
894  if (x2 == 0)
895  continue;
896  if (x1 / x2 < _thresh_unihf)
897  _xUni.get(eid1)++;
898  }
899  }
900 
901  if (_ptype != fOffline) { // hidefed2crate
902  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
903  flag::Flag fSum("RECO");
905 
906  std::vector<uint32_t>::const_iterator cit = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), *it);
907  if (cit == _vcdaqEids.end()) {
908  // not @cDAQ
909  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
912  continue;
913  }
914 
915  // FED is @cDAQ
916  if (hcaldqm::utilities::isFEDHF(eid) && (_runkeyVal == 0 || _runkeyVal == 4)) {
917  if (_xUni.get(eid) > 0)
918  _vflags[fUni]._state = flag::fPROBLEMATIC;
919  else
920  _vflags[fUni]._state = flag::fGOOD;
921  }
922 
923  if (_unknownIdsPresent)
924  _vflags[fUnknownIds]._state = flag::fBAD;
925  else
926  _vflags[fUnknownIds]._state = flag::fGOOD;
927 
928  int iflag = 0;
929  for (std::vector<flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
930  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag), int(ft->_state));
931  fSum += (*ft);
932  iflag++;
933 
934  // reset after using
935  ft->reset();
936  }
938  }
939  _xUniHF.reset();
940  _xUni.reset();
941  }
942 
943  // in the end always do the DQTask::endLumi
944  DQTask::globalEndLuminosityBlock(lb, es);
945 }
946 
hcaldqm::flag::Flag
Definition: Flag.h:24
hcaldqm::quantity::FEDQuantity
Definition: ElectronicsQuantity.h:356
hcaldqm::constants::FED_VME_MIN
const int FED_VME_MIN
Definition: Constants.h:80
RecHitTask::_cTimingCutvsieta_Subdet
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: RecHitTask.h:91
hcaldqm::ContainerXXX::initialize
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:81
RecHitTask::_thresh_unihf
double _thresh_unihf
Definition: RecHitTask.h:51
RecHitTask::_cOccupancyCutvsLS_Subdet
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: RecHitTask.h:110
RecHitTask::_cOccupancyCut_FEDVME
hcaldqm::Container2D _cOccupancyCut_FEDVME
Definition: RecHitTask.h:106
hcaldqm::flag::Flag::_state
State _state
Definition: Flag.h:62
RecHitTask::_cTimingCut_FEDVME
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
Definition: RecHitTask.h:84
RecHitTask::_cOccupancy_FEDVME
hcaldqm::Container2D _cOccupancy_FEDVME
Definition: RecHitTask.h:97
hcaldqm::constants
Definition: Constants.h:9
hcaldqm::Container2D::initialize
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
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
RecHitTask::fTCDS
Definition: RecHitTask.h:58
hcaldqm::UpdateFreq
UpdateFreq
Definition: DQTask.h:32
RecHitTask::_cOccupancyCut_depth
hcaldqm::Container2D _cOccupancyCut_depth
Definition: RecHitTask.h:111
hcaldqm::quantity::FlagQuantity
Definition: ValueQuantity.h:364
hcaldqm::electronicsmap::ElectronicsMap::lookup
uint32_t lookup(DetId const &)
Definition: ElectronicsMap.cc:122
RecHitTask.h
bookHistograms
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
RecHitTask::_cOccupancyvsLS_Subdet
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: RecHitTask.h:101
edm::InputTag::instance
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::quantity::fSlotuTCA
Definition: ElectronicsQuantity.h:21
RecHitTask::_cOccupancyCutvsieta_Subdet
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
Definition: RecHitTask.h:113
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
RecHitTask::_tagHBHE
edm::InputTag _tagHBHE
Definition: RecHitTask.h:40
edm::Run
Definition: Run.h:45
RecHitTask::_cDAAsymmetryMean_cut_depth
hcaldqm::ContainerProf2D _cDAAsymmetryMean_cut_depth
Definition: RecHitTask.h:120
hcaldqm::ContainerProf2D::book
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: ContainerProf2D.cc:47
hcaldqm::quantity::ValueQuantity
Definition: ValueQuantity.h:309
hcaldqm::hashfunctions::fElectronics
Definition: HashFunctions.h:145
RecHitTask::_xUniHF
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: RecHitTask.h:116
hcaldqm::quantity::fN_to8000
Definition: ValueQuantity.h:40
edm::LuminosityBlock::index
LuminosityBlockIndex index() const
Definition: LuminosityBlock.cc:27
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition: testProducerWithPsetDescEmpty_cfi.py:28
hcaldqm::flag::fGOOD
Definition: Flag.h:17
RecHitTask::_cTimingCut_ElectronicsVME
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
Definition: RecHitTask.h:86
hcaldqm
Definition: Constants.h:8
RecHitTask::_filter_HF
hcaldqm::filter::HashFilter _filter_HF
Definition: RecHitTask.h:68
RecHitTask::_cOccupancy_FEDuTCA
hcaldqm::Container2D _cOccupancy_FEDuTCA
Definition: RecHitTask.h:98
RecHitTask::_cDAAsymmetry_cut_SubdetPM
hcaldqm::Container1D _cDAAsymmetry_cut_SubdetPM
Definition: RecHitTask.h:121
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:85964
hcaldqm::electronicsmap::ElectronicsMap::initialize
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
Definition: ElectronicsMap.cc:6
hcaldqm::hashfunctions::fSubdetPM
Definition: HashFunctions.h:127
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
hcaldqm::constants::SPIGOT_MIN
const int SPIGOT_MIN
Definition: Constants.h:118
RecHitTask::_cOccupancyCut_FEDuTCA
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
Definition: RecHitTask.h:107
hcaldqm::filter::fPreserver
Definition: HashFilter.h:19
hcaldqm::constants::SLOT_uTCA_MIN
const int SLOT_uTCA_MIN
Definition: Constants.h:105
hcaldqm::constants::FIBER_uTCA_MIN1
const int FIBER_uTCA_MIN1
Definition: Constants.h:126
RecHitTask::_tokHO
edm::EDGetTokenT< HORecHitCollection > _tokHO
Definition: RecHitTask.h:46
RecHitTask::_cutE_HO
double _cutE_HO
Definition: RecHitTask.h:50
RecHitTask::_filter_uTCA
hcaldqm::filter::HashFilter _filter_uTCA
Definition: RecHitTask.h:65
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
RecHitTask::_cTimingCut_FEDuTCA
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
Definition: RecHitTask.h:85
hcaldqm::DQModule::_runkeyVal
int _runkeyVal
Definition: DQModule.h:46
hcaldqm::hashfunctions::fFED
Definition: HashFunctions.h:136
HcalBarrel
Definition: HcalAssistant.h:33
hcaldqm::DQModule::_ptype
ProcessingType _ptype
Definition: DQModule.h:43
hcaldqm::flag::fBAD
Definition: Flag.h:19
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
RecHitTask::_cEnergyvsLS_SubdetPM
hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM
Definition: RecHitTask.h:75
edm::Handle
Definition: AssociativeIterator.h:50
hcaldqm::hashfunctions::fdepth
Definition: HashFunctions.h:131
RecHitTask::nRecoFlag
Definition: RecHitTask.h:58
RecHitTask::_cTimingCutvsLS_SubdetPM
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
Definition: RecHitTask.h:90
hcaldqm::utilities::getFEDList
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:83
RecHitTask::_cEnergy_depth
hcaldqm::ContainerProf2D _cEnergy_depth
Definition: RecHitTask.h:74
HcalDbService::getHcalMapping
const HcalElectronicsMap * getHcalMapping() const
Definition: HcalDbService.cc:343
RecHitTask::_cOccupancyvsiphi_SubdetPM
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: RecHitTask.h:102
hcaldqm::hashfunctions::fFEDSlot
Definition: HashFunctions.h:138
RecHitTask::_tokPreHF
edm::EDGetTokenT< HFPreRecHitCollection > _tokPreHF
Definition: RecHitTask.h:48
RecHitTask::_cEnergyvsiphi_SubdetPM
hcaldqm::ContainerProf1D _cEnergyvsiphi_SubdetPM
Definition: RecHitTask.h:73
HcalElectronicsMap::allPrecisionId
std::vector< HcalGenericDetId > allPrecisionId() const
Definition: HcalElectronicsMap.cc:139
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
hcaldqm::quantity::fEnergy
Definition: ValueQuantity.h:13
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
hcaldqm::ContainerXXX::begin
virtual CompactMap::const_iterator begin()
Definition: ContainerXXX.h:69
RecHitTask::globalEndLuminosityBlock
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: RecHitTask.cc:871
RecHitTask::_cOccupancy_ElectronicsVME
hcaldqm::Container2D _cOccupancy_ElectronicsVME
Definition: RecHitTask.h:99
hcaldqm::quantity::fBX
Definition: ValueQuantity.h:45
hcaldqm::quantity::fieta
Definition: DetectorQuantity.h:15
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
RecHitTask::_cTimingCutvsiphi_SubdetPM
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: RecHitTask.h:92
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
hcaldqm::quantity::fiphi
Definition: DetectorQuantity.h:14
edm::SortedCollection::begin
const_iterator begin() const
Definition: SortedCollection.h:262
RecHitTask::_cTimingCutvsBX_SubdetPM
hcaldqm::ContainerProf1D _cTimingCutvsBX_SubdetPM
Definition: RecHitTask.h:93
RecHitTask::_cSummaryvsLS_FED
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RecHitTask.h:128
hcaldqm::DQModule::_currentLS
int _currentLS
Definition: DQModule.h:52
hcaldqm::ContainerProf2D::initialize
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
Definition: ContainerProf2D.cc:22
RecHitTask::_vflags
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RecHitTask.h:57
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
hcaldqm::ContainerXXX::reset
virtual void reset()
Definition: ContainerXXX.h:292
RecHitTask::_tagPreHF
edm::InputTag _tagPreHF
Definition: RecHitTask.h:43
hcaldqm::constants::CRATE_uTCA_MIN
const int CRATE_uTCA_MIN
Definition: Constants.h:98
RecHitTask::fUnknownIds
Definition: RecHitTask.h:58
hcaldqm::filter::HashFilter::initialize
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
hcaldqm::filter::HashFilter::filter
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:24
hcaldqm::ContainerXXX::end
virtual CompactMap::const_iterator end()
Definition: ContainerXXX.h:70
hcaldqm::constants::FIBER_VME_MIN
const int FIBER_VME_MIN
Definition: Constants.h:123
edm::ESHandle< HcalDbService >
HcalElectronicsId
Readout chain identification for Hcal.
Definition: HcalElectronicsId.h:32
hcaldqm::DQModule::_name
std::string _name
Definition: DQModule.h:41
RecHitTask::_cSummaryvsLS
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RecHitTask.h:129
HcalOuter
Definition: HcalAssistant.h:35
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
hcaldqm::constants::FIBERCH_MIN
const int FIBERCH_MIN
Definition: Constants.h:132
hcaldqm::hashfunctions::fSubdet
Definition: HashFunctions.h:123
hcaldqm::hashfunctions::hash_did
const hash_function_did hash_did[nHashType_did]
Definition: HashFunctions.h:163
hcaldqm::quantity::DetectorQuantity
Definition: DetectorQuantity.h:59
hcaldqm::utilities::isFEDHF
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:156
RecHitTask::_cOccupancyCut_ElectronicsVME
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
Definition: RecHitTask.h:108
hcaldqm::Container2D::setBinContent
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
RecHitTask::meUnknownIds1LS
MonitorElement * meUnknownIds1LS
Definition: RecHitTask.h:124
hcaldqm::quantity::fN
Definition: ValueQuantity.h:11
RecHitTask::_tokHBHE
edm::EDGetTokenT< HBHERecHitCollection > _tokHBHE
Definition: RecHitTask.h:45
hcaldqm::filter::HashFilter
Definition: HashFilter.h:21
Logger::dqmthrow
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
RecHitTask::_cutE_HBHE
double _cutE_HBHE
Definition: RecHitTask.h:50
HcalDetId::ieta
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
hcaldqm::quantity::fQIE10fC_400000
Definition: ValueQuantity.h:48
edm::ParameterSet
Definition: ParameterSet.h:47
hcaldqm::Container2D::book
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:558
hcaldqm::quantity::fTiming_ns
Definition: ValueQuantity.h:14
hcaldqm::Container2D::fill
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
hcaldqm::Container1D::fill
virtual void fill(uint32_t)
Definition: Container1D.cc:73
RecHitTask::_cEnergyvsBX_SubdetPM
hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM
Definition: RecHitTask.h:76
edm::SortedCollection::end
const_iterator end() const
Definition: SortedCollection.h:267
hcaldqm::flag::Flag::reset
void reset()
Definition: Flag.h:59
RecHitTask::_cTimingCut_ElectronicsuTCA
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: RecHitTask.h:87
hcaldqm::DQModule::_logger
Logger _logger
Definition: DQModule.h:54
HcalDetId::subdet
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
RecHitTask::_cTimingCut_HBHEPartition
hcaldqm::Container1D _cTimingCut_HBHEPartition
Definition: RecHitTask.h:83
HcalDetId
Definition: HcalDetId.h:12
RecHitTask::_cOccupancyCutvsBX_Subdet
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: RecHitTask.h:114
RecHitTask::_cOccupancyCutvsiphivsLS_SubdetPM
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: RecHitTask.h:115
runTauDisplay.eid
eid
Definition: runTauDisplay.py:298
RecHitTask::_cOccupancyvsieta_Subdet
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: RecHitTask.h:103
RecHitTask::_hfPreRecHitsAvailable
bool _hfPreRecHitsAvailable
Definition: RecHitTask.h:44
hcaldqm::quantity::fDualAnodeAsymmetry
Definition: ValueQuantity.h:58
RecHitTask::_cOccupancy_depth
hcaldqm::Container2D _cOccupancy_depth
Definition: RecHitTask.h:96
dqm::implementation::IBooker::UseLumiScope
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
Definition: DQMStore.h:463
cuy.ib
ib
Definition: cuy.py:662
edm::EventSetup
Definition: EventSetup.h:57
hcaldqm::quantity::fSpigot
Definition: ElectronicsQuantity.h:23
hcaldqm::quantity::fEnergy_1TeV
Definition: ValueQuantity.h:46
get
#define get
RecHitTask::_ehashmap
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RecHitTask.h:61
hcaldqm::f1LS
Definition: DQTask.h:32
RecHitTask::_filter_VME
hcaldqm::filter::HashFilter _filter_VME
Definition: RecHitTask.h:64
RecHitTask::_cOccupancy_ElectronicsuTCA
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: RecHitTask.h:100
hcaldqm::DQTask::_vcdaqEids
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:68
hcaldqm::DQModule::_subsystem
std::string _subsystem
Definition: DQModule.h:48
alignCSCRings.r
r
Definition: alignCSCRings.py:93
RecHitTask::_cOccupancyCutvsiphi_SubdetPM
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: RecHitTask.h:112
hcaldqm::ContainerProf2D::fill
void fill(HcalDetId const &) override
Definition: ContainerProf2D.cc:228
HcalForward
Definition: HcalAssistant.h:36
hcaldqm::flag::fPROBLEMATIC
Definition: Flag.h:18
hcaldqm::DQModule::_maxLS
int _maxLS
Definition: DQModule.h:53
hcaldqm::quantity::ElectronicsQuantity
Definition: ElectronicsQuantity.h:333
hcaldqm::ContainerProf1D::initialize
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
Definition: ContainerProf1D.cc:22
ecalMatacq_cfi.timing
timing
Definition: ecalMatacq_cfi.py:26
RecHitTask::_tagHO
edm::InputTag _tagHO
Definition: RecHitTask.h:41
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
RecHitTask::_cEnergy_Subdet
hcaldqm::Container1D _cEnergy_Subdet
Definition: RecHitTask.h:71
RecHitTask::_cTimingCut_SubdetPM
hcaldqm::Container1D _cTimingCut_SubdetPM
Definition: RecHitTask.h:82
hcaldqm::electronicsmap::fD2EHashMap
Definition: ElectronicsMap.h:25
RecHitTask::fUni
Definition: RecHitTask.h:58
HcalEndcap
Definition: HcalAssistant.h:34
hcaldqm::quantity::fFiberuTCAFiberCh
Definition: ElectronicsQuantity.h:31
RecHitTask::_tokHF
edm::EDGetTokenT< HFRecHitCollection > _tokHF
Definition: RecHitTask.h:47
hcaldqm::hashfunctions::fHBHEPartition
Definition: HashFunctions.h:133
nanoDQM_cff.Flag
Flag
Definition: nanoDQM_cff.py:65
RecHitTask::_process
void _process(edm::Event const &, edm::EventSetup const &) override
Definition: RecHitTask.cc:474
hcaldqm::ContainerSingle2D::setBinContent
virtual void setBinContent(int, int, int)
Definition: ContainerSingle2D.cc:154
RecHitTask::_cDAAsymmetryVsCharge_SubdetPM
hcaldqm::Container2D _cDAAsymmetryVsCharge_SubdetPM
Definition: RecHitTask.h:119
RecHitTask::_cutE_HF
double _cutE_HF
Definition: RecHitTask.h:50
RecHitTask
Definition: RecHitTask.py:1
HcalElectronicsId::rawId
constexpr uint32_t rawId() const
Definition: HcalElectronicsId.h:59
hcaldqm::quantity::fFiberVMEFiberCh
Definition: ElectronicsQuantity.h:32
hcaldqm::DQTask::_emap
const HcalElectronicsMap * _emap
Definition: DQTask.h:80
RecHitTask::_cEnergyvsieta_Subdet
hcaldqm::ContainerProf1D _cEnergyvsieta_Subdet
Definition: RecHitTask.h:72
hcaldqm::ContainerSingle2D::book
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
Definition: ContainerSingle2D.cc:68
hcaldqm::utilities::fed2crate
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
RecHitTask::globalBeginLuminosityBlock
std::shared_ptr< hcaldqm::Cache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
Definition: RecHitTask.cc:866
hcaldqm::utilities::getFEDVMEList
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:101
hcaldqm::ContainerXXX::book
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
RecHitTask::_vhashFEDs
std::vector< uint32_t > _vhashFEDs
Definition: RecHitTask.h:54
hcaldqm::ContainerXXX::get
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
RecHitTask::_unknownIdsPresent
bool _unknownIdsPresent
Definition: RecHitTask.h:125
dqm::implementation::IBooker
Definition: DQMStore.h:43
hcaldqm::DQTask
Definition: DQTask.h:33
HcalDbRecord
Definition: HcalDbRecord.h:30
hcaldqm::ContainerSingle2D::initialize
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: ContainerSingle2D.cc:46
hcaldqm::Container1D::initialize
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
RecHitTask::_resetMonitors
void _resetMonitors(hcaldqm::UpdateFreq) override
Definition: RecHitTask.cc:462
hcaldqm::ContainerProf1D::book
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: ContainerProf1D.cc:40
hcaldqm::flag::fNCDAQ
Definition: Flag.h:15
hcaldqm::fOnline
Definition: DQModule.h:26
hcaldqm::quantity::fState
Definition: ValueQuantity.h:47
RecHitTask::_cTimingvsEnergy_SubdetPM
hcaldqm::Container2D _cTimingvsEnergy_SubdetPM
Definition: RecHitTask.h:79
edm::Event
Definition: Event.h:73
hcaldqm::utilities::getFEDuTCAList
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:121
edm::InputTag
Definition: InputTag.h:15
hcaldqm::constants::CRATE_VME_MIN
const int CRATE_VME_MIN
Definition: Constants.h:93
RecHitTask::_gids
std::vector< HcalGenericDetId > _gids
Definition: RecHitTask.h:127
hcaldqm::filter::fFilter
Definition: HashFilter.h:19
hcaldqm::Container1D::book
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:592
RecHitTask::_cTimingCut_depth
hcaldqm::ContainerProf2D _cTimingCut_depth
Definition: RecHitTask.h:88
hcaldqm::filter
Definition: HashFilter.h:18
RecHitTask::_xUni
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: RecHitTask.h:116
RecHitTask::_cTimingCutvsLS_FED
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
Definition: RecHitTask.h:89
RecHitTask::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: RecHitTask.cc:32
RecHitTask::_tagHF
edm::InputTag _tagHF
Definition: RecHitTask.h:42
hcaldqm::fOffline
Definition: DQModule.h:26
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
RecHitTask::_cOccupancyCut_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: RecHitTask.h:109
hcaldqm::quantity::LumiSection
Definition: ValueQuantity.h:390
RecHitTask::RecHitTask
RecHitTask(edm::ParameterSet const &)
Definition: RecHitTask.cc:8