CMS 3D CMS Logo

PedestalTask.cc
Go to the documentation of this file.
2 
3 using namespace hcaldqm;
4 using namespace hcaldqm::constants;
6  DQTask(ps)
7 {
8  // tags
10  edm::InputTag("hcalDigis"));
12  edm::InputTag("hcalDigis"));
14  edm::InputTag("hcalDigis"));
16  edm::InputTag("hcalDigis"));
18  edm::InputTag("tbunpacker"));
20  edm::InputTag("hcalDigis"));
21  _tokHBHE = consumes<HBHEDigiCollection>(_tagHBHE);
22  _tokHEP17 = consumes<QIE11DigiCollection>(_tagHEP17);
23  _tokHO = consumes<HODigiCollection>(_tagHO);
24  _tokHF = consumes<QIE10DigiCollection>(_tagHF);
25  _tokTrigger = consumes<HcalTBTriggerData>(_tagTrigger);
26  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
27 
28  _vflags.resize(nPedestalFlag);
32 
33  _thresh_mean = ps.getUntrackedParameter<double>("thresh_mean",
34  0.25);
35  _thresh_rms = ps.getUntrackedParameter<double>("thresh_mean",
36  0.25);
37  _thresh_badm = ps.getUntrackedParameter<double>("thresh_badm", 0.1);
38  _thresh_badr = ps.getUntrackedParameter<double>("thresh_badr", 0.1);
40  "thresh_missing_high", 0.2);
42  "thresh_missing_low", 0.05);
43 }
44 
46  edm::Run const& r, edm::EventSetup const& es)
47 {
48  if (_ptype==fLocal)
49  if (r.runAuxiliary().run()==1)
50  return;
51  DQTask::bookHistograms(ib, r, es);
52 
54  es.get<HcalDbRecord>().get(dbs);
55  _emap = dbs->getHcalMapping();
56  std::vector<uint32_t> vhashVME;
57  std::vector<uint32_t> vhashuTCA;
58  std::vector<uint32_t> vhashC38;
59  vhashVME.push_back(HcalElectronicsId(constants::FIBERCH_MIN,
61  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN,
62  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
63  vhashC38.push_back(HcalElectronicsId(38, SLOT_uTCA_MIN,
64  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
66  vhashVME);
68  vhashuTCA);
70  vhashC38);
71 
72  // Containers XXX
79 
80 #ifndef HIDE_PEDESTAL_CONDITIONS
83 #endif
84 
85 
86  // Containers
101  if (_ptype != fOffline) { // hidefed2crate
118  }
119 
134 
149 
164 
165  _cMissingvsLS_Subdet.initialize(_name, "MissingvsLS",
169  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
173  _cOccupancyEAvsLS_Subdet.initialize(_name, "OccupancyEAvsLS",
177  _cNBadMeanvsLS_Subdet.initialize(_name, "NBadMeanvsLS",
181  _cNBadRMSvsLS_Subdet.initialize(_name, "NBadRMSvsLS",
185 
198 
211 
215 
216  if (_ptype != fOffline) { // hidefed2crate
217  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
218  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
219  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
220  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
221  it!=vFEDsVME.end(); ++it)
223  FIBER_VME_MIN, SPIGOT_MIN, (*it)-FED_VME_MIN).rawId());
224  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
225  it!=vFEDsuTCA.end(); ++it)
226  {
227  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
228  _vhashFEDs.push_back(HcalElectronicsId(
229  cspair.first, cspair.second, FIBER_uTCA_MIN1,
230  FIBERCH_MIN, false).rawId());
231  }
332  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
337  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
341  }
342 
343  // book plots
356 
368 
369  if (_ptype != fOffline) { // hidefed2crate
384 
399  }
400 
406  if (_ptype != fOffline) { // hidefed2crate
409  }
410 
411  // book compact containers
418 
419 #ifndef HIDE_PEDESTAL_CONDITIONS
422 #endif
423 
424  if (_ptype != fOffline) { // hidefed2crate
425  _xNChs.book(_emap);
429  }
430 
432 
433  // load conditions pedestals
434  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
435  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
436  it!=dids.end(); ++it)
437  {
438  // skip if calib or whatever
439  if (!it->isHcalDetId())
440  continue;
441  // skip Crate 38
443  continue;
444 #ifndef HIDE_PEDESTAL_CONDITIONS
445  HcalDetId did = HcalDetId(it->rawId());
446 
447  HcalPedestal const* peds = dbs->getPedestal(did);
448  float const *means = peds->getValues();
449  float const *rmss = peds->getWidths();
450  double msum=0; double rsum=0;
451  for (uint32_t i=0; i<4; i++)
452  {msum+=means[i]; rsum+=rmss[i];}
453  msum/=4; rsum/=4;
454  _xPedRefMean.set(did, msum);
455  _xPedRefRMS.set(did, rsum);
456 #endif
457  }
458 }
459 
461 {
462  DQTask::_resetMonitors(uf);
463 
464  switch(uf)
465  {
466  case hcaldqm::f50LS:
468  break;
469  default:
470  break;
471  }
472 }
473 
474 /* virtual */ void PedestalTask::_dump()
475 {
476  // reset what's needed
477 
478  // Mean/RMS actual values
483  if (_ptype != fOffline) { // hidefed2crate
488  }
489 
494  if (_ptype != fOffline) { // hidefed2crate
499  }
500 
501 
502  // DB Conditions Comparison
507 
512 
513  if (_ptype != fOffline) { // hidefed2crate
518 
523  }
524 
525  // missing channels
529 
533 
534  // Missing or Bad
535  if (_ptype != fOffline) { // hidefed2crate
542 
549 
550  // reset some XXX containers
551  _xNChs.reset();
552  _xNMsn1LS.reset();
554  }
555  // - ITERATE OVER ALL TEH CHANNELS
556  // - FIND THE ONES THAT ARE MISSING
557  // - FIND THE ONES WITH BAD PEDESTAL MEANs
558  // - FIND THE ONES WITH BAD PEDESTAL RMSs
559  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
560  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
561  it!=dids.end(); ++it)
562  {
563  if (!it->isHcalDetId())
564  continue;
566  if (_filter_C38.filter(eid))
567  continue;
568 
569  // filter out channels with bad quality
570  if (_xQuality.exists(HcalDetId(*it)))
571  {
572  HcalChannelStatus cs(it->rawId(), _xQuality.get(HcalDetId(*it)));
573  if (
576  continue;
577  }
578 
579  HcalDetId did = HcalDetId(it->rawId());
580  double sum1LS = _xPedSum1LS.get(did);
581 #ifndef HIDE_PEDESTAL_CONDITIONS
582  double refm = _xPedRefMean.get(did);
583 #endif
584  double sum21LS = _xPedSum21LS.get(did);
585 #ifndef HIDE_PEDESTAL_CONDITIONS
586  double refr = _xPedRefRMS.get(did);
587 #endif
588  double n1LS = _xPedEntries1LS.get(did);
589 
590  double sumTotal = _xPedSumTotal.get(did);
591  double sum2Total = _xPedSum2Total.get(did);
592  double nTotal = _xPedEntriesTotal.get(did);
593 
594  if (_ptype != fOffline) { // hidefed2crate
595  _xNChs.get(eid)++;
596  }
597  // IF A CHANNEL IS MISSING FOR THIS LS
598  if (n1LS==0)
599  {
602  if (_ptype != fOffline) { // hidefed2crate
603  eid.isVMEid()?_cMissing1LS_FEDVME.fill(eid):
605  _xNMsn1LS.get(eid)++;
606  }
607  // ALSO CHECK
608  // IF A CHANNEL HAS BEEN MISSING FOR ALL LSs SO FAR
609  if (nTotal==0)
610  {
612  if (_ptype != fOffline) { // hidefed2crate
613  eid.isVMEid()?_cMissingTotal_FEDVME.fill(eid):
615  }
616  }
617  continue;
618  }
619 
620  // if not missing, fill the occupancy...
622 
623  // compute the means and diffs for this LS
624  sum1LS/=n1LS; double rms1LS = sqrt(sum21LS/n1LS-sum1LS*sum1LS);
625 #ifndef HIDE_PEDESTAL_CONDITIONS
626  double diffm1LS = sum1LS-refm;
627  double diffr1LS = rms1LS - refr;
628 #endif
629  // compute the means and diffs for the whole Run
630  sumTotal/=nTotal;
631  double rmsTotal = sqrt(sum2Total/nTotal-sumTotal*sumTotal);
632 #ifndef HIDE_PEDESTAL_CONDITIONS
633  double diffmTotal = sumTotal-refm;
634  double diffrTotal = rmsTotal - refr;
635 #endif
636  // FILL ACTUAL MEANs AND RMSs FOR THIS LS
637  _cMean1LS_Subdet.fill(did, sum1LS);
638  _cMean1LS_depth.fill(did, sum1LS);
639  _cRMS1LS_Subdet.fill(did, rms1LS);
640  _cRMS1LS_depth.fill(did, rms1LS);
641 
642  // FILL THE DIFFERENCES FOR THIS LS
643 #ifndef HIDE_PEDESTAL_CONDITIONS
644  _cMeanDBRef1LS_Subdet.fill(did, diffm1LS);
645  _cMeanDBRef1LS_depth.fill(did, diffm1LS);
646  _cRMSDBRef1LS_Subdet.fill(did, diffr1LS);
647  _cRMSDBRef1LS_depth.fill(did, diffr1LS);
648 #endif
649  // FILL ACTUAL MEANs AND RMSs FOR THE WHOLE RUN
650  _cMeanTotal_Subdet.fill(did, sumTotal);
651  _cMeanTotal_depth.fill(did, sumTotal);
652  _cRMSTotal_Subdet.fill(did, rmsTotal);
653  _cRMSTotal_depth.fill(did, rmsTotal);
654 
655  // FILL THE DIFFERENCES FOR THE WHOLE RUN
656 #ifndef HIDE_PEDESTAL_CONDITIONS
657  _cMeanDBRefTotal_Subdet.fill(did, diffmTotal);
658  _cMeanDBRefTotal_depth.fill(did, diffmTotal);
659  _cRMSDBRefTotal_Subdet.fill(did, diffrTotal);
660  _cRMSDBRefTotal_depth.fill(did, diffrTotal);
661 #endif
662  // FOR THIS LS
663  if (_ptype != fOffline) { // hidefed2crate
664  if (eid.isVMEid())
665  {
666  _cMean1LS_FEDVME.fill(eid, sum1LS);
667  _cRMS1LS_FEDVME.fill(eid, rms1LS);
668  _cMeanDBRef1LS_FEDVME.fill(eid, diffm1LS);
669  _cRMSDBRef1LS_FEDVME.fill(eid, diffr1LS);
670  }
671  else
672  {
673  _cMean1LS_FEDuTCA.fill(eid, sum1LS);
674  _cRMS1LS_FEDuTCA.fill(eid, rms1LS);
675  _cMeanDBRef1LS_FEDuTCA.fill(eid, diffm1LS);
676  _cRMSDBRef1LS_FEDuTCA.fill(eid, diffr1LS);
677  }
678 
679  // FOR THE WHOLE RUN
680  if (eid.isVMEid())
681  {
682  _cMeanTotal_FEDVME.fill(eid, sumTotal);
683  _cRMSTotal_FEDVME.fill(eid, rmsTotal);
684  _cMeanDBRefTotal_FEDVME.fill(eid, diffmTotal);
685  _cRMSDBRefTotal_FEDVME.fill(eid, diffrTotal);
686  }
687  else
688  {
689  _cMeanTotal_FEDuTCA.fill(eid, sumTotal);
690  _cRMSTotal_FEDuTCA.fill(eid, rmsTotal);
691  _cMeanDBRefTotal_FEDuTCA.fill(eid, diffmTotal);
692  _cRMSDBRefTotal_FEDuTCA.fill(eid, diffrTotal);
693  }
694  }
695 
696  // FOR THE CURRENT LS COMPARE MEANS AND RMSS
697 #ifndef HIDE_PEDESTAL_CONDITIONS
698  if (fabs(diffm1LS)>_thresh_mean)
699  {
702  if (_ptype != fOffline) { // hidefed2crate
703  if (eid.isVMEid())
705  else
707  _xNBadMean1LS.get(eid)++;
708  }
709  }
710  if (fabs(diffr1LS)>_thresh_rms)
711  {
712  _cRMSBad1LS_depth.fill(did);
714  if (_ptype != fOffline) { // hidefed2crate
715  if (eid.isVMEid())
717  else
719  _xNBadRMS1LS.get(eid)++;
720  }
721  }
722 
723  // FOR THIS RUN
724  if (fabs(diffmTotal)>_thresh_mean)
725  {
727  if (_ptype != fOffline) { // hidefed2crate
728  if (eid.isVMEid())
730  else
732  }
733  }
734  if (fabs(diffrTotal)>_thresh_rms)
735  {
737  if (_ptype != fOffline) { // hidefed2crate
738  if (eid.isVMEid())
740  else
742  }
743  }
744 #endif
745 
746  }
747 
748  // SET THE FLAGS FOR THIS LS
749  if (_ptype != fOffline) { // hidefed2crate
750  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
751  it!=_vhashFEDs.end(); ++it)
752  {
753  hcaldqm::flag::Flag fSum("PED");
755 
756  std::vector<uint32_t>::const_iterator jt=
757  std::find(_vcdaqEids.begin(), _vcdaqEids.end(), (*it));
758  if (jt==_vcdaqEids.end())
759  {
760  // not @cDAQ
761  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
762  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
763  int(hcaldqm::flag::fNCDAQ));
765  continue;
766  }
767 
768  // @cDAQ
771  {
772  double frmissing = double(_xNMsn1LS.get(eid))/
773  double(_xNChs.get(eid));
774  double frbadm = _xNBadMean1LS.get(eid)/_xNChs.get(eid);
775  double frbadr = _xNBadRMS1LS.get(eid)/_xNChs.get(eid);
776 
777  if (frmissing>=_thresh_missing_high)
778  _vflags[fMsn]._state = hcaldqm::flag::fBAD;
779  else if (frmissing>=_thresh_missing_low)
781  else
783  if (frbadm>=_thresh_badm)
785  else
787  if (frbadr>=_thresh_badr)
789  else
791  }
792 
793  int iflag=0;
794  for (std::vector<hcaldqm::flag::Flag>::iterator ft=_vflags.begin();
795  ft!=_vflags.end(); ++ft)
796  {
798  int(ft->_state));
799  fSum+=(*ft);
800  iflag++;
801  ft->reset();
802  }
804  }
805  }
806 
807  // reset the pedestal containers instead of writting reset... func
809 
810 }
811 
813  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
814 {
815  DQTask::beginLuminosityBlock(lb, es);
816 }
817 
818 /* virtual */ void PedestalTask::endRun(edm::Run const& r,
819  edm::EventSetup const&)
820 {
821  if (_ptype==fLocal)
822  {
823  if (r.runAuxiliary().run()==1)
824  return;
825  else
826  this->_dump();
827  }
828  else if (_ptype==fOnline)
829  return;
830 }
831 
833  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
834 {
835  if (_ptype==fLocal)
836  return;
837  this->_dump();
838 
839  DQTask::endLuminosityBlock(lb, es);
840 }
841 
842 /* virtual */ void PedestalTask::_process(edm::Event const& e,
843  edm::EventSetup const& es)
844 {
849 
850  if (!e.getByToken(_tokHBHE, chbhe))
851  _logger.dqmthrow("Collection HBHEDigiCollection isn't available"
852  + _tagHBHE.label() + " " + _tagHBHE.instance());
853  if (!e.getByToken(_tokHO, cho))
854  _logger.dqmthrow("Collection HODigiCollection isn't available"
855  + _tagHO.label() + " " + _tagHO.instance());
856  if (!e.getByToken(_tokHF, chf))
857  _logger.dqmthrow("Collection QIE10DigiCollection isn't available"
858  + _tagHF.label() + " " + _tagHF.instance());
859  if (!e.getByToken(_tokHEP17, chep17))
860  _logger.dqmthrow("Collection QIE11DigiCollection isn't available"
861  + _tagHEP17.label() + " " + _tagHEP17.instance());
862 
863  int nHB(0), nHE(0), nHO(0), nHF(0);
864  for (HBHEDigiCollection::const_iterator it=chbhe->begin();
865  it!=chbhe->end(); ++it)
866  {
867  const HBHEDataFrame digi = (const HBHEDataFrame)(*it);
868  HcalDetId did = digi.id();
869  int digiSizeToUse = floor(digi.size()/constants::CAPS_NUM)*
871  did.subdet()==HcalBarrel ? nHB++ : nHE++;
872 
873  for (int i=0; i<digiSizeToUse; i++)
874  {
875  _cADC_SubdetPM.fill(did, it->sample(i).adc());
876 
877  _xPedSum1LS.get(did)+=it->sample(i).adc();
878  _xPedSum21LS.get(did)+=it->sample(i).adc()*it->sample(i).adc();
879  _xPedEntries1LS.get(did)++;
880 
881  _xPedSumTotal.get(did)+=it->sample(i).adc();
882  _xPedSum2Total.get(did)+=it->sample(i).adc()*it->sample(i).adc();
883  _xPedEntriesTotal.get(did)++;
884  }
885  }
886  for (QIE11DigiCollection::const_iterator it=chep17->begin(); it!=chep17->end();
887  ++it)
888  {
889  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
890  HcalDetId const& did = digi.detid();
891  // Require barrel or endcap. As of 2017, some calibration channels are ending up in this collection.
892  if ((did.subdet() != HcalEndcap) && (did.subdet() != HcalBarrel)) {
893  continue;
894  }
895  int digiSizeToUse = floor(digi.samples()/constants::CAPS_NUM)*
897  did.subdet()==HcalBarrel ? nHB++ : nHE++;
898 
899  for (int i=0; i<digiSizeToUse; i++)
900  {
901  _cADC_SubdetPM.fill(did, digi[i].adc());
902 
903  _xPedSum1LS.get(did)+=digi[i].adc();
904  _xPedSum21LS.get(did)+=digi[i].adc()*digi[i].adc();
905  _xPedEntries1LS.get(did)++;
906 
907  _xPedSumTotal.get(did)+=digi[i].adc();
908  _xPedSum2Total.get(did)+=digi[i].adc()*digi[i].adc();
909  _xPedEntriesTotal.get(did)++;
910  }
911  }
912 
914  _currentLS, nHB);
916  _currentLS, nHE);
917 
919  it!=cho->end(); ++it)
920  {
921  const HODataFrame digi = (const HODataFrame)(*it);
922  HcalDetId did = digi.id();
923  int digiSizeToUse = floor(digi.size()/constants::CAPS_NUM)*
925  nHO++;
926  for (int i=0; i<digiSizeToUse; i++)
927  {
928  _cADC_SubdetPM.fill(did, it->sample(i).adc());
929 
930  _xPedSum1LS.get(did)+=it->sample(i).adc();
931  _xPedSum21LS.get(did)+=it->sample(i).adc()*it->sample(i).adc();
932  _xPedEntries1LS.get(did)++;
933 
934  _xPedSumTotal.get(did)+=it->sample(i).adc();
935  _xPedSum2Total.get(did)+=it->sample(i).adc()*it->sample(i).adc();
936  _xPedEntriesTotal.get(did)++;
937  }
938  }
940  _currentLS, nHO);
941 
943  it!=chf->end(); ++it)
944  {
945  const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
946  HcalDetId did = digi.detid();
947  if (did.subdet() != HcalForward) {
948  continue;
949  }
950  // HF has 3 samples in global, so impossible to make divisible by 4
951  int digiSizeToUse = (digi.samples() >= 4 ? floor(digi.samples()/constants::CAPS_NUM)*constants::CAPS_NUM-1 : digi.samples());
952  nHF++;
953  for (int i=0; i<digiSizeToUse; i++)
954  {
955  _cADC_SubdetPM.fill(did, digi[i].adc());
956 
957  _xPedSum1LS.get(did)+=digi[i].adc();
958  _xPedSum21LS.get(did)+=digi[i].adc()*digi[i].adc();
959  _xPedEntries1LS.get(did)++;
960 
961  _xPedSumTotal.get(did)+=digi[i].adc();
962  _xPedSum2Total.get(did)+=digi[i].adc()*digi[i].adc();
963  _xPedEntriesTotal.get(did)++;
964  }
965  }
967  _currentLS, nHF);
968 }
969 
970 /* virtual */ bool PedestalTask::_isApplicable(edm::Event const& e)
971 {
972  if (_ptype==fOnline)
973  {
975  if (!e.getByToken(_tokuMN, cumn))
976  return false;
977 
978  // for online just check the event type not the user Word
979  uint8_t eventType = cumn->eventType();
980  if (eventType == constants::EVENTTYPE_PEDESTAL)
981  return true;
982  }
983  else
984  {
985  // local
987  if (!e.getByToken(_tokTrigger, ctrigger))
988  _logger.dqmthrow("Collection HcalTBTriggerData isn't available"
989  + _tagTrigger.label() + " " + _tagTrigger.instance());
990  return ctrigger->wasSpillIgnorantPedestalTrigger();
991  }
992 
993  return false;
994 }
995 
int adc(sample_type sample)
get the ADC sample (12 bits)
int samples() const
total number of samples in the digi
DetId detid() const
Get the detector id.
hcaldqm::ContainerXXX< double > _xPedRefRMS
Definition: PedestalTask.h:92
edm::InputTag _taguMN
Definition: PedestalTask.h:49
edm::InputTag _tagHF
Definition: PedestalTask.h:47
hcaldqm::Container2D _cMissing1LS_depth
Definition: PedestalTask.h:144
T getUntrackedParameter(std::string const &, T const &) const
double _thresh_badm
Definition: PedestalTask.h:73
hcaldqm::ContainerProf2D _cRMSTotal_FEDVME
Definition: PedestalTask.h:112
hcaldqm::ContainerXXX< double > _xPedSumTotal
Definition: PedestalTask.h:83
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *qy=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
virtual void _process(edm::Event const &, edm::EventSetup const &)
auto_ptr< ClusterSequence > cs
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:267
int const CRATE_VME_MIN
Definition: Constants.h:111
double _thresh_badr
Definition: PedestalTask.h:73
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
hcaldqm::Container2D _cMissingTotal_depth
Definition: PedestalTask.h:147
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
hcaldqm::Container1D _cMeanTotal_Subdet
Definition: PedestalTask.h:95
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:12
uint32_t rawId() const
hcaldqm::ContainerProf2D _cMean1LS_depth
Definition: PedestalTask.h:101
hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDVME
Definition: PedestalTask.h:122
hcaldqm::Container1D _cMeanDBRef1LS_Subdet
Definition: PedestalTask.h:116
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
hcaldqm::ContainerProf2D _cRMSDBRef1LS_depth
Definition: PedestalTask.h:121
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::Container1D _cMean1LS_Subdet
Definition: PedestalTask.h:97
hcaldqm::ContainerXXX< int > _xPedEntries1LS
Definition: PedestalTask.h:82
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
hcaldqm::Container2D _cMeanBad1LS_FEDuTCA
Definition: PedestalTask.h:157
hcaldqm::Container1D _cRMSTotal_Subdet
Definition: PedestalTask.h:96
hcaldqm::Container1D _cNBadRMSvsLS_Subdet
Definition: PedestalTask.h:138
hcaldqm::Container2D _cRMSBadTotal_depth
Definition: PedestalTask.h:160
hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDVME
Definition: PedestalTask.h:131
int size() const
total number of samples in the digi
Definition: HBHEDataFrame.h:26
hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDuTCA
Definition: PedestalTask.h:125
UpdateFreq
Definition: DQTask.h:17
hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDVME
Definition: PedestalTask.h:129
State _state
Definition: Flag.h:79
edm::InputTag _tagHBHE
Definition: PedestalTask.h:44
hcaldqm::ContainerProf2D _cRMSTotal_depth
Definition: PedestalTask.h:109
std::vector< HBHEDataFrame >::const_iterator const_iterator
edm::InputTag _tagHO
Definition: PedestalTask.h:46
hcaldqm::ContainerXXX< double > _xPedSum1LS
Definition: PedestalTask.h:80
hcaldqm::ContainerXXX< int > _xPedEntriesTotal
Definition: PedestalTask.h:85
int const SPIGOT_MIN
Definition: Constants.h:136
hcaldqm::ContainerXXX< double > _xPedSum21LS
Definition: PedestalTask.h:81
hcaldqm::Container2D _cMeanBadTotal_FEDuTCA
Definition: PedestalTask.h:164
hcaldqm::ContainerProf2D _cMeanTotal_FEDVME
Definition: PedestalTask.h:110
hcaldqm::Container2D _cRMSBadTotal_FEDuTCA
Definition: PedestalTask.h:162
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
const_iterator begin() const
hcaldqm::Container2D _cRMSBad1LS_depth
Definition: PedestalTask.h:153
virtual void reset()
Definition: ContainerXXX.h:366
hcaldqm::ContainerProf2D _cRMSDBRefTotal_depth
Definition: PedestalTask.h:128
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
std::vector< uint32_t > _vhashFEDs
Definition: PedestalTask.h:77
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
hcaldqm::Container1D _cRMSDBRef1LS_Subdet
Definition: PedestalTask.h:117
int const FIBER_VME_MIN
Definition: Constants.h:141
hcaldqm::Container1D _cMissingvsLS_Subdet
Definition: PedestalTask.h:135
hcaldqm::Container2D _cRMSBadTotal_FEDVME
Definition: PedestalTask.h:163
void bookHistograms(fwlite::EventContainer &eventCont)
hcaldqm::ContainerProf2D _cMean1LS_FEDVME
Definition: PedestalTask.h:103
virtual void endRun(edm::Run const &, edm::EventSetup const &)
const HcalDetId & id() const
Definition: HODataFrame.h:23
hcaldqm::Container2D _cRMSBad1LS_FEDVME
Definition: PedestalTask.h:156
int const FIBERCH_MIN
Definition: Constants.h:151
edm::EDGetTokenT< HcalTBTriggerData > _tokTrigger
Definition: PedestalTask.h:55
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
double _thresh_missing_low
Definition: PedestalTask.h:74
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:119
hcaldqm::Container1D _cRMS1LS_Subdet
Definition: PedestalTask.h:98
virtual void _resetMonitors(hcaldqm::UpdateFreq)
hcaldqm::Container1D _cOccupancyvsLS_Subdet
Definition: PedestalTask.h:136
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
virtual void reset()
Definition: Container1D.cc:65
double _thresh_missing_high
Definition: PedestalTask.h:74
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, int debug=0)
hcaldqm::ContainerProf2D _cMean1LS_FEDuTCA
Definition: PedestalTask.h:104
void reset()
Definition: Flag.h:76
int const CAPS_NUM
Definition: Constants.h:226
std::vector< hcaldqm::flag::Flag > _vflags
Definition: PedestalTask.h:57
virtual void setBinContent(int, int, int)
hcaldqm::ContainerXXX< int > _xNChs
Definition: PedestalTask.h:86
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:62
int const FED_VME_MIN
Definition: Constants.h:98
T sqrt(T t)
Definition: SSEVec.h:18
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fEnergy), int debug=0)
hcaldqm::ContainerProf2D _cRMS1LS_FEDuTCA
Definition: PedestalTask.h:106
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: PedestalTask.h:50
hcaldqm::Container1D _cRMSDBRefTotal_Subdet
Definition: PedestalTask.h:119
int size() const
total number of samples in the digi
Definition: HODataFrame.h:27
hcaldqm::ContainerProf2D _cRMS1LS_FEDVME
Definition: PedestalTask.h:105
hcaldqm::Container2D _cMeanBadTotal_depth
Definition: PedestalTask.h:159
uint8_t eventType() const
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:144
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: PedestalTask.h:51
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
Definition: PedestalTask.h:54
hcaldqm::Container1D _cADC_SubdetPM
Definition: PedestalTask.h:166
DetId detid() const
Get the detector id.
std::vector< HcalGenericDetId > allPrecisionId() const
Logger _logger
Definition: DQModule.h:70
hcaldqm::Container2D _cMissing1LS_FEDuTCA
Definition: PedestalTask.h:146
hcaldqm::ContainerProf1D _cOccupancyEAvsLS_Subdet
Definition: PedestalTask.h:141
hcaldqm::filter::HashFilter _filter_VME
Definition: PedestalTask.h:69
hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDuTCA
Definition: PedestalTask.h:123
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: PedestalTask.h:67
std::string _name
Definition: DQModule.h:57
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
PedestalTask(edm::ParameterSet const &)
Definition: PedestalTask.cc:5
int const CRATE_uTCA_MIN
Definition: Constants.h:116
hcaldqm::Container2D _cMeanBad1LS_depth
Definition: PedestalTask.h:152
const_iterator end() const
hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDuTCA
Definition: PedestalTask.h:130
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: PedestalTask.h:170
edm::InputTag _tagHEP17
Definition: PedestalTask.h:45
hcaldqm::ContainerProf2D _cRMS1LS_depth
Definition: PedestalTask.h:102
hcaldqm::Container2D _cMissing1LS_FEDVME
Definition: PedestalTask.h:145
hcaldqm::Container2D _cRMSBad1LS_FEDuTCA
Definition: PedestalTask.h:155
hcaldqm::Container1D _cNBadMeanvsLS_Subdet
Definition: PedestalTask.h:137
hcaldqm::filter::HashFilter _filter_C38
Definition: PedestalTask.h:70
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:172
hcaldqm::ContainerProf2D _cMeanTotal_depth
Definition: PedestalTask.h:108
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:99
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
hcaldqm::ContainerProf2D _cMeanDBRefTotal_depth
Definition: PedestalTask.h:127
const T & get() const
Definition: EventSetup.h:55
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
Definition: PedestalTask.cc:45
hcaldqm::ContainerProf2D _cMeanDBRef1LS_depth
Definition: PedestalTask.h:120
hcaldqm::ContainerProf2D _cRMSTotal_FEDuTCA
Definition: PedestalTask.h:113
RunAuxiliary const & runAuxiliary() const
Definition: Run.h:59
edm::InputTag _tagTrigger
Definition: PedestalTask.h:48
edm::EDGetTokenT< QIE11DigiCollection > _tokHEP17
Definition: PedestalTask.h:52
virtual void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:235
std::string const & label() const
Definition: InputTag.h:36
uint8_t const EVENTTYPE_PEDESTAL
Definition: Constants.h:324
const_iterator end() const
hcaldqm::Container1D _cMeanDBRefTotal_Subdet
Definition: PedestalTask.h:118
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: PedestalTask.h:53
hcaldqm::ContainerXXX< double > _xPedSum2Total
Definition: PedestalTask.h:84
double _thresh_mean
Definition: PedestalTask.h:73
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:249
hcaldqm::ContainerXXX< int > _xNMsn1LS
Definition: PedestalTask.h:87
hcaldqm::Container2D _cMeanBadTotal_FEDVME
Definition: PedestalTask.h:161
virtual bool _isApplicable(edm::Event const &)
hcaldqm::ContainerXXX< int > _xNBadRMS1LS
Definition: PedestalTask.h:88
bool wasSpillIgnorantPedestalTrigger() const
returns true if this trigger was a calibration trigger
hcaldqm::Container2D _cMissingTotal_FEDuTCA
Definition: PedestalTask.h:149
hcaldqm::ContainerXXX< double > _xPedRefMean
Definition: PedestalTask.h:91
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:95
virtual void _dump()
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:145
virtual void fill(HcalDetId const &) override
Definition: Container2D.cc:59
const HcalElectronicsMap * getHcalMapping() const
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:36
hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDuTCA
Definition: PedestalTask.h:132
std::string _subsystem
Definition: DQModule.h:64
const float * getValues() const
get value for all capId = 0..3
Definition: HcalPedestal.h:19
const HcalDetId & id() const
Definition: HBHEDataFrame.h:22
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:212
hcaldqm::Container2D _cMissingTotal_FEDVME
Definition: PedestalTask.h:148
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
hcaldqm::ContainerXXX< int > _xNBadMean1LS
Definition: PedestalTask.h:88
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:91
virtual void initialize(FilterType ftype, HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:26
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:895
hcaldqm::ContainerProf2D _cMeanTotal_FEDuTCA
Definition: PedestalTask.h:111
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
int samples() const
total number of samples in the digi
const HcalPedestal * getPedestal(const HcalGenericDetId &fId) const
hcaldqm::Container2D _cMeanBad1LS_FEDVME
Definition: PedestalTask.h:154
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDVME
Definition: PedestalTask.h:124
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:187
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: PedestalTask.h:169
RunNumber_t run() const
Definition: RunAuxiliary.h:41
double _thresh_rms
Definition: PedestalTask.h:73
virtual void set(HcalDetId const &, STDTYPE)
Definition: ContainerXXX.h:229
int const SLOT_uTCA_MIN
Definition: Constants.h:123
const_iterator begin() const
Definition: Run.h:42
hcaldqm::filter::HashFilter _filter_uTCA
Definition: PedestalTask.h:68
ib
Definition: cuy.py:660