test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
44  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
45  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
46  std::vector<uint32_t> vVME;
47  std::vector<uint32_t> vuTCA;
51  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
53  vVME);
55  vuTCA);
56 
57  // push the rawIds of each fed into the vector
58  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
59  it!=vFEDsVME.end(); ++it)
60  _vhashFEDs.push_back(HcalElectronicsId(
62  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
63  it!=vFEDsuTCA.end(); ++it)
64  _vhashFEDs.push_back(HcalElectronicsId(
66  FIBERCH_MIN, false).rawId());
67 
68  // INITIALIZE FIRST
69  // Energy
77 
78  // Timing
83  _cTimingvsEnergy_SubdetPM.initialize(_name, "TimingvsEnergy",
88  _cTimingCut_FEDVME.initialize(_name, "TimingCut",
98  _cTimingCutvsLS_FED.initialize(_name, "TimingCutvsLS",
104  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
109  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
116  _cTimingCut_depth.initialize(_name, "TimingCut",
121 
122  // Occupancy
123  _cOccupancy_depth.initialize(_name, "Occupancy",
128  _cOccupancy_FEDVME.initialize(_name, "Occupancy",
133  _cOccupancy_FEDuTCA.initialize(_name, "Occupancy",
140  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
145  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
148  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
152  _cOccupancyCut_FEDVME.initialize(_name, "OccupancyCut",
157  _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut",
164  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
169  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
172  _cOccupancyCut_depth.initialize(_name, "OccupancyCut",
177 
178  // INITIALIZE HISTOGRAMS to be used only in Online
179  if (_ptype==fOnline)
180  {
181  _cEnergyvsieta_Subdet.initialize(_name, "Energyvsieta",
185  _cEnergyvsiphi_SubdetPM.initialize(_name, "Energyvsiphi",
189  _cEnergyvsLS_SubdetPM.initialize(_name, "EnergyvsLS",
193  _cEnergyvsBX_SubdetPM.initialize(_name, "EnergyvsBX",
197  _cTimingCutvsieta_Subdet.initialize(_name, "TimingCutvsieta",
201  _cTimingCutvsiphi_SubdetPM.initialize(_name, "TimingCutvsiphi",
205  _cTimingCutvsBX_SubdetPM.initialize(_name, "TimingCutvsBX",
209  _cOccupancyvsiphi_SubdetPM.initialize(_name, "Occupancyvsiphi",
213  _cOccupancyvsieta_Subdet.initialize(_name, "Occupancyvsieta",
217  _cOccupancyCutvsiphi_SubdetPM.initialize(_name, "OccupancyCutvsiphi",
221  _cOccupancyCutvsieta_Subdet.initialize(_name, "OccupancyCutvsieta",
225  _cOccupancyCutvsBX_Subdet.initialize(_name, "OccupancyCutvsBX",
230  "OccupancyCutvsiphivsLS", hcaldqm::hashfunctions::fSubdetPM,
234  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
238 
239  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
244  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
248 
251  }
252 
253  // BOOK HISTOGRAMS
254  char cutstr[200];
255  sprintf(cutstr, "_EHBHE%dHO%dHF%d", int(_cutE_HBHE),
256  int(_cutE_HO), int(_cutE_HF));
257  char cutstr2[200];
258  sprintf(cutstr2, "_EHF%d", int(_cutE_HF));
259 
260  // Energy
263 
264  // Timing
274 
275  // Occupancy
287 
288  // BOOK HISTOGRAMS to be used only in Online
289  if (_ptype==fOnline)
290  {
307 
308  std::vector<uint32_t> vhashFEDHF;
309  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN,
310  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
311  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN,
312  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
313  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN,
314  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
315  HashFilter filter_FEDHF;
317  vhashFEDHF);
318 
320  _xUniHF.book(_emap, filter_FEDHF);
321  _xUni.book(_emap);
322  }
323 
324  // initialize hash map
326 
327  // book some mes...
329  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds",
330  1, 0, 1);
331  _unknownIdsPresent = false;
333 }
334 
336 {
337  switch(uf)
338  {
339  case hcaldqm::f1LS:
340  _unknownIdsPresent = false;
341  break;
342  default:
343  break;
344  }
345 
346  DQTask::_resetMonitors(uf);
347 }
348 
349 /* virtual */ void RecHitTask::_process(edm::Event const& e,
350  edm::EventSetup const&)
351 {
355 
356  if (!(e.getByToken(_tokHBHE, chbhe)))
357  _logger.dqmthrow("Collection HBHERecHitCollection not available "
358  + _tagHBHE.label() + " " + _tagHBHE.instance());
359  if (!(e.getByToken(_tokHO, cho)))
360  _logger.dqmthrow("Collection HORecHitCollection not available "
361  + _tagHO.label() + " " + _tagHO.instance());
362  if (!(e.getByToken(_tokHF, chf)))
363  _logger.dqmthrow("Collection HFRecHitCollection not available "
364  + _tagHF.label() + " " + _tagHF.instance());
365 
366  // extract some info per event
367  int bx = e.bunchCrossing();
368 
369  // To fill histograms outside of the loop, you need to determine if there were
370  // any valid det ids first
371  uint32_t rawidValid = 0;
372  uint32_t rawidHBValid = 0;
373  uint32_t rawidHEValid = 0;
374 
375  double ehbm = 0; double ehbp = 0;
376  double ehem = 0; double ehep = 0;
377  int nChsHB = 0; int nChsHE = 0;
378  int nChsHBCut = 0; int nChsHECut = 0;
379  for (HBHERecHitCollection::const_iterator it=chbhe->begin();
380  it!=chbhe->end(); ++it)
381  {
382  double energy = it->energy();
383  double timing = it->time();
384 
385  // Explicit check on the DetIds present in the Collection
386  HcalDetId did = it->id();
387  uint32_t rawid = _ehashmap.lookup(did);
388  if (rawid==0)
389  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
390  HcalElectronicsId const& eid(rawid);
391  rawidValid = did.rawId();
392  if (did.subdet()==HcalBarrel)
393  rawidHBValid = did.rawId();
394  else if (did.subdet()==HcalEndcap)
395  rawidHEValid = did.rawId();
396 
397  _cEnergy_Subdet.fill(did, energy);
398  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
399  _cOccupancy_depth.fill(did);
400  did.subdet()==HcalBarrel?did.ieta()>0?ehbp+=energy:ehbm+=energy:
401  did.ieta()>0?ehep+=energy:ehem+=energy;
402 
403  // ONLINE ONLY!
404  if (_ptype==fOnline)
405  {
408  }
409  // ^^^ONLINE ONLY!
410 
411  if (eid.isVMEid())
412  {
415  }
416  else
417  {
420  }
421 
422  if (energy>_cutE_HBHE)
423  {
424  // ONLINE ONLY!
425  if (_ptype==fOnline)
426  {
427  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
428  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
429  _cEnergyvsieta_Subdet.fill(did, energy);
430  _cEnergyvsiphi_SubdetPM.fill(did, energy);
431  _cTimingCutvsieta_Subdet.fill(did, timing);
432  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
433  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
437  }
438  // ^^^ONLINE ONLY!
439  _cEnergy_depth.fill(did, energy);
440  _cTimingCut_SubdetPM.fill(did, timing);
441  _cTimingCut_HBHEPartition.fill(did, timing);
442 
443  // ONLINE
444  if (_ptype==fOnline)
445  {
446  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
447  _cTimingCut_depth.fill(did, timing);
448  }// ^^^ONLINE
449  else
450  {
451  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
452  _cTimingCut_depth.fill(did, timing);
453  }
455  if (eid.isVMEid())
456  {
457 
458  // ONLINE
459  if (_ptype==fOnline)
460  {
461  _cTimingCut_FEDVME.fill(eid, timing);
462  _cTimingCut_ElectronicsVME.fill(eid, timing);
463  } // ^^^ ONLINE
464  else
465  {
466  _cTimingCut_FEDVME.fill(eid, timing);
467  _cTimingCut_ElectronicsVME.fill(eid, timing);
468  }
469  // ^^^ONLINE
470 
473  }
474  else
475  {
476  if (_ptype==fOnline)
477  {
478  // time constraints are explicit!
479  _cTimingCut_FEDuTCA.fill(eid, timing);
480  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
481  }
482  else
483  {
484  _cTimingCut_FEDuTCA.fill(eid, timing);
485  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
486  }
489  }
490  did.subdet()==HcalBarrel?nChsHBCut++:nChsHECut++;
491  }
492  did.subdet()==HcalBarrel?nChsHB++:nChsHE++;
493  }
494 
495  if (rawidHBValid!=0 && rawidHEValid!=0)
496  {
498  nChsHB);
500  nChsHE);
501 
502  // ONLINE ONLY!
503  if (_ptype==fOnline)
504  {
506  bx, nChsHBCut);
508  bx, nChsHECut);
510  _currentLS, nChsHBCut);
512  _currentLS, nChsHECut);
513  }
514  // ^^^ONLINE ONLY!
515  }
516 
517  // reset
518  rawidValid = 0;
519 
520  int nChsHO = 0; int nChsHOCut = 0;
521  double ehop = 0; double ehom = 0;
522  for (HORecHitCollection::const_iterator it=cho->begin();
523  it!=cho->end(); ++it)
524  {
525  double energy = it->energy();
526  double timing = it->time();
527 
528  // Explicit check on the DetIds present in the Collection
529  HcalDetId did = it->id();
530  uint32_t rawid = _ehashmap.lookup(did);
531  if (rawid==0)
532  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
533  HcalElectronicsId const& eid(rawid);
534  if (did.subdet()==HcalOuter)
535  rawidValid = did.rawId();
536 
537  _cEnergy_Subdet.fill(did, energy);
538  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
539  _cOccupancy_depth.fill(did);
540  did.ieta()>0?ehop+=energy:ehom+=energy;
541 
542  // IMPORTANT: ONLINE ONLY!
543  if (_ptype==fOnline)
544  {
547  }
548  // ONLINE ONLY!
549 
550  if (eid.isVMEid())
551  {
554  }
555  else
556  {
559  }
560 
561  if (energy>_cutE_HO)
562  {
563  // ONLINE ONLY!
564  if (_ptype==fOnline)
565  {
566  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
567  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
568  _cEnergyvsieta_Subdet.fill(did, energy);
569  _cEnergyvsiphi_SubdetPM.fill(did, energy);
570  _cTimingCutvsieta_Subdet.fill(did, timing);
571  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
572  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
576  }
577  // ^^^ONLINE ONLY!
578 
579  _cEnergy_depth.fill(did, energy);
580  _cTimingCut_SubdetPM.fill(did, timing);
581  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
583  _cTimingCut_depth.fill(did, timing);
584  if (eid.isVMEid())
585  {
586  _cTimingCut_FEDVME.fill(eid, timing);
587  _cTimingCut_ElectronicsVME.fill(eid, timing);
590  }
591  else
592  {
593  _cTimingCut_FEDuTCA.fill(eid, timing);
594  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
597  }
598  nChsHOCut++;
599  }
600  nChsHO++;
601  }
602 
603  if (rawidValid!=0)
604  {
606  nChsHO);
607  // ONLINE ONLY!
608  if (_ptype==fOnline)
609  {
611  bx, nChsHOCut);
613  _currentLS, nChsHOCut);
614  }
615  // ^^^ONLINE ONLY!
616  }
617 
618  //reset
619  rawidValid = 0;
620 
621  int nChsHF = 0; int nChsHFCut = 0;
622  double ehfp = 0; double ehfm = 0;
623  for (HFRecHitCollection::const_iterator it=chf->begin();
624  it!=chf->end(); ++it)
625  {
626  double energy = it->energy();
627  double timing = it->time();
628 
629  // Explicit check on the DetIds present in the Collection
630  HcalDetId did = it->id();
631  uint32_t rawid = _ehashmap.lookup(did);
632  if (rawid==0)
633  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
634  HcalElectronicsId const& eid(rawid);
635  if (did.subdet()==HcalForward)
636  rawidValid = did.rawId();
637 
638  _cEnergy_Subdet.fill(did, energy);
639  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
640  _cOccupancy_depth.fill(did);
641  did.ieta()>0?ehfp+=energy:ehfm+=energy;
642 
643  // IMPORTANT:
644  // only for Online Processing
645  //
646  if (_ptype==fOnline)
647  {
650  }
651  // ONLINE ONLY!
652 
653  if (eid.isVMEid())
654  {
657  }
658  else
659  {
662  }
663 
664  if (energy>_cutE_HF)
665  {
666  // ONLINE ONLY!
667  if (_ptype==fOnline)
668  {
669  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
670  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
671  _cEnergyvsieta_Subdet.fill(did, energy);
672  _cEnergyvsiphi_SubdetPM.fill(did, energy);
673  _cTimingCutvsieta_Subdet.fill(did, timing);
674  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
675  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
679  _xUniHF.get(eid)++;
680  }
681  // ^^^ONLINE ONLY!
682  _cEnergy_depth.fill(did, energy);
683  _cTimingCut_SubdetPM.fill(did, timing);
684  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
686  _cTimingCut_depth.fill(did, timing);
687  if (eid.isVMEid())
688  {
689  _cTimingCut_FEDVME.fill(eid, timing);
690  _cTimingCut_ElectronicsVME.fill(eid, timing);
693  }
694  else
695  {
696  _cTimingCut_FEDuTCA.fill(eid, timing);
697  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
700  }
701  nChsHFCut++;
702  }
703  nChsHF++;
704  }
705 
706  if (rawidValid!=0)
707  {
709  nChsHF);
710  // ONLINE ONLY!
711  if (_ptype==fOnline)
712  {
714  bx, nChsHFCut);
716  _currentLS, nChsHFCut);
717  }
718  // ^^^ONLINE ONLY!
719  }
720 }
721 
723  lb, edm::EventSetup const& es)
724 {
725  DQTask::beginLuminosityBlock(lb, es);
726 }
727 
729  lb, edm::EventSetup const& es)
730 {
731  if (_ptype!=fOnline)
732  return;
733 
734  //
735  // GENERATE STATUS ONLY FOR ONLINE
736  //
737 // for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
738 // it!=gids.end(); ++it)
739 // {}
740 
741  for (uintCompactMap::const_iterator it=_xUniHF.begin();
742  it!=_xUniHF.end(); ++it)
743  {
744  uint32_t hash1 = it->first;
745  HcalElectronicsId eid1(hash1);
746  double x1 = it->second;
747 
748  for (uintCompactMap::const_iterator jt=_xUniHF.begin();
749  jt!=_xUniHF.end(); ++jt)
750  {
751  if (jt==it)
752  continue;
753  double x2 = jt->second;
754  if (x2==0)
755  continue;
756  if (x1/x2<_thresh_unihf)
757  _xUni.get(eid1)++;
758  }
759  }
760 
761  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
762  it!=_vhashFEDs.end(); ++it)
763  {
764  flag::Flag fSum("RECO");
766 
767  std::vector<uint32_t>::const_iterator cit=std::find(
768  _vcdaqEids.begin(), _vcdaqEids.end(), *it);
769  if (cit==_vcdaqEids.end())
770  {
771  // not @cDAQ
772  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
773  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
774  int(flag::fNCDAQ));
776  continue;
777  }
778 
779  // FED is @cDAQ
780  if (hcaldqm::utilities::isFEDHF(eid) && (_runkeyVal==0 || _runkeyVal==4))
781  {
782  if (_xUni.get(eid)>0)
783  _vflags[fUni]._state = flag::fPROBLEMATIC;
784  else
785  _vflags[fUni]._state = flag::fGOOD;
786  }
787 
788  if (_unknownIdsPresent)
789  _vflags[fUnknownIds]._state = flag::fBAD;
790  else
791  _vflags[fUnknownIds]._state = flag::fGOOD;
792 
793  int iflag=0;
794  for (std::vector<flag::Flag>::iterator ft=_vflags.begin();
795  ft!=_vflags.end(); ++ft)
796  {
797  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
798  int(ft->_state));
799  fSum+=(*ft);
800  iflag++;
801 
802  // reset after using
803  ft->reset();
804  }
806  }
807  _xUniHF.reset(); _xUni.reset();
808 
809  // in the end always do the DQTask::endLumi
810  DQTask::endLuminosityBlock(lb, es);
811 }
812 
814 
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: RecHitTask.h:121
T getUntrackedParameter(std::string const &, T const &) const
hcaldqm::Container2D _cOccupancyCut_depth
Definition: RecHitTask.h:116
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RecHitTask.h:128
std::vector< uint32_t > _vhashFEDs
Definition: RecHitTask.h:54
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: RecHitTask.h:106
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
virtual void setBinContent(HcalDetId const &, int)
Definition: Container2D.cc:235
int const CRATE_VME_MIN
Definition: Constants.h:60
hcaldqm::Container2D _cOccupancyCut_FEDVME
Definition: RecHitTask.h:111
int ib
Definition: cuy.py:660
hcaldqm::Container2D _cOccupancy_FEDVME
Definition: RecHitTask.h:102
uint16_t fed2crate(int fed)
Definition: Utilities.cc:12
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
double _cutE_HO
Definition: RecHitTask.h:50
edm::EDGetTokenT< HFRecHitCollection > _tokHF
Definition: RecHitTask.h:48
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: RecHitTask.h:121
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: RecHitTask.h:117
#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:120
std::vector< HcalGenericDetId > _gids
Definition: RecHitTask.h:127
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:65
RecHitTask(edm::ParameterSet const &)
Definition: RecHitTask.cc:8
int const SPIGOT_MIN
Definition: Constants.h:85
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: RecHitTask.cc:728
virtual void reset()
Definition: ContainerXXX.h:366
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: RecHitTask.h:96
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
hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM
Definition: RecHitTask.h:82
void bookHistograms(fwlite::EventContainer &eventCont)
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
Definition: RecHitTask.h:113
int const FIBERCH_MIN
Definition: Constants.h:100
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
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
virtual void fill(HcalDetId const &)
Definition: Container2D.cc:59
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
void reset()
Definition: Flag.h:76
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: RecHitTask.h:114
virtual void setBinContent(int, int, int)
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: RecHitTask.h:119
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)
int ieta() const
get the cell ieta
Definition: HcalDetId.h:56
hcaldqm::Container2D _cOccupancy_ElectronicsVME
Definition: RecHitTask.h:104
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:93
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:112
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RecHitTask.h:68
MonitorElement * meUnknownIds1LS
Definition: RecHitTask.h:124
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:129
double _thresh_unihf
Definition: RecHitTask.h:51
int const CRATE_uTCA_MIN
Definition: Constants.h:65
bool isVMEid() const
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: RecHitTask.h:105
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
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: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:103
edm::InputTag _tagHF
Definition: RecHitTask.h:45
virtual void _process(edm::Event const &, edm::EventSetup const &)
Definition: RecHitTask.cc:349
HcalElectronicsMap const * _emap
Definition: RecHitTask.h:67
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:115
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:249
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: RecHitTask.h:108
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:47
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:97
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:98
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:722
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 _resetMonitors(hcaldqm::UpdateFreq)
Definition: RecHitTask.cc:335
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
hcaldqm::Container2D _cOccupancy_depth
Definition: RecHitTask.h:101
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: RecHitTask.h:97
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:118
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:146
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: RecHitTask.h:107
int const SLOT_uTCA_MIN
Definition: Constants.h:72
Definition: Run.h:43
bool _unknownIdsPresent
Definition: RecHitTask.h:125
hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM
Definition: RecHitTask.h:81