CMS 3D CMS Logo

PedestalTask.cc
Go to the documentation of this file.
3 
4 using namespace hcaldqm;
5 using namespace hcaldqm::constants;
7  DQTask(ps)
8 {
9  // tags
11  edm::InputTag("hcalDigis"));
13  edm::InputTag("hcalDigis"));
15  edm::InputTag("hcalDigis"));
17  edm::InputTag("hcalDigis"));
19  edm::InputTag("tbunpacker"));
21  edm::InputTag("hcalDigis"));
22  _tokHBHE = consumes<HBHEDigiCollection>(_tagHBHE);
23  _tokHEP17 = consumes<QIE11DigiCollection>(_tagHE);
24  _tokHO = consumes<HODigiCollection>(_tagHO);
25  _tokHF = consumes<QIE10DigiCollection>(_tagHF);
26  _tokTrigger = consumes<HcalTBTriggerData>(_tagTrigger);
27  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
28 
29  _vflags.resize(2);
32  //_vflags[fBadR]=hcaldqm::flag::Flag("BadR");
33 
34  _thresh_mean = ps.getUntrackedParameter<double>("thresh_mean",
35  0.25);
36  _thresh_rms = ps.getUntrackedParameter<double>("thresh_mean",
37  0.25);
38  _thresh_badm = ps.getUntrackedParameter<double>("thresh_badm", 0.1);
39  _thresh_badr = ps.getUntrackedParameter<double>("thresh_badr", 0.1);
41  "thresh_missing_high", 0.2);
43  "thresh_missing_low", 0.05);
44 }
45 
47  edm::Run const& r, edm::EventSetup const& es)
48 {
49  if (_ptype==fLocal)
50  if (r.runAuxiliary().run()==1)
51  return;
52  DQTask::bookHistograms(ib, r, es);
53 
55  es.get<HcalDbRecord>().get(dbs);
56  _emap = dbs->getHcalMapping();
57  std::vector<uint32_t> vhashVME;
58  std::vector<uint32_t> vhashuTCA;
59  std::vector<uint32_t> vhashC38;
60  vhashVME.push_back(HcalElectronicsId(constants::FIBERCH_MIN,
62  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN,
63  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
64  vhashC38.push_back(HcalElectronicsId(38, SLOT_uTCA_MIN,
65  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
67  vhashVME);
69  vhashuTCA);
71  vhashC38);
72 
73  // Containers XXX
80 
81 #ifndef HIDE_PEDESTAL_CONDITIONS
84 #endif
85 
86 
87  // Containers
102  if (_ptype != fOffline) { // hidefed2crate
119  }
120 
135 
150 
165 
166  _cMissingvsLS_Subdet.initialize(_name, "MissingvsLS",
170  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
174  _cOccupancyEAvsLS_Subdet.initialize(_name, "OccupancyEAvsLS",
178  _cNBadMeanvsLS_Subdet.initialize(_name, "NBadMeanvsLS",
182  _cNBadRMSvsLS_Subdet.initialize(_name, "NBadRMSvsLS",
186 
199 
212 
216 
217  if (_ptype != fOffline) { // hidefed2crate
218  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
219  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
220  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
221  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
222  it!=vFEDsVME.end(); ++it)
224  FIBER_VME_MIN, SPIGOT_MIN, (*it)-FED_VME_MIN).rawId());
225  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
226  it!=vFEDsuTCA.end(); ++it)
227  {
228  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
229  _vhashFEDs.push_back(HcalElectronicsId(
230  cspair.first, cspair.second, FIBER_uTCA_MIN1,
231  FIBERCH_MIN, false).rawId());
232  }
333  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
338  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
342  }
343 
344  // book plots
357 
369 
370  if (_ptype != fOffline) { // hidefed2crate
385 
400  }
401 
407  if (_ptype != fOffline) { // hidefed2crate
410  }
411 
412  // book compact containers
419 
420 #ifndef HIDE_PEDESTAL_CONDITIONS
423 #endif
424 
425  if (_ptype != fOffline) { // hidefed2crate
426  _xNChs.book(_emap);
430  }
431 
433 
434  // load conditions pedestals
435  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
436  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
437  it!=dids.end(); ++it)
438  {
439  // skip if calib or whatever
440  if (!it->isHcalDetId())
441  continue;
442  // skip Crate 38
444  continue;
445 #ifndef HIDE_PEDESTAL_CONDITIONS
446  HcalDetId did = HcalDetId(it->rawId());
447 
448  HcalPedestal const* peds = dbs->getPedestal(did);
449  float const *means = peds->getValues();
450  float const *rmss = peds->getWidths();
451  double msum=0; double rsum=0;
452  for (uint32_t i=0; i<4; i++)
453  {msum+=means[i]; rsum+=rmss[i];}
454  msum/=4; rsum/=4;
455  _xPedRefMean.set(did, msum);
456  _xPedRefRMS.set(did, rsum);
457 #endif
458  }
459 }
460 
462 {
463  DQTask::_resetMonitors(uf);
464 
465  switch(uf)
466  {
467  case hcaldqm::f50LS:
469  break;
470  default:
471  break;
472  }
473 }
474 
475 /* virtual */ void PedestalTask::_dump()
476 {
477  // reset what's needed
478 
479  // Mean/RMS actual values
484  if (_ptype != fOffline) { // hidefed2crate
489  }
490 
495  if (_ptype != fOffline) { // hidefed2crate
500  }
501 
502 
503  // DB Conditions Comparison
508 
513 
514  if (_ptype != fOffline) { // hidefed2crate
519 
524  }
525 
526  // missing channels
530 
534 
535  // Missing or Bad
536  if (_ptype != fOffline) { // hidefed2crate
543 
550 
551  // reset some XXX containers
552  _xNChs.reset();
553  _xNMsn1LS.reset();
555  }
556  // - ITERATE OVER ALL TEH CHANNELS
557  // - FIND THE ONES THAT ARE MISSING
558  // - FIND THE ONES WITH BAD PEDESTAL MEANs
559  // - FIND THE ONES WITH BAD PEDESTAL RMSs
560  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
561  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
562  it!=dids.end(); ++it)
563  {
564  if (!it->isHcalDetId())
565  continue;
567  if (_filter_C38.filter(eid))
568  continue;
569 
570  // filter out channels with bad quality
571  if (_xQuality.exists(HcalDetId(*it)))
572  {
573  HcalChannelStatus cs(it->rawId(), _xQuality.get(HcalDetId(*it)));
574  if (
577  continue;
578  }
579 
580  HcalDetId did = HcalDetId(it->rawId());
581  double sum1LS = _xPedSum1LS.get(did);
582 #ifndef HIDE_PEDESTAL_CONDITIONS
583  double refm = _xPedRefMean.get(did);
584 #endif
585  double sum21LS = _xPedSum21LS.get(did);
586 #ifndef HIDE_PEDESTAL_CONDITIONS
587  double refr = _xPedRefRMS.get(did);
588 #endif
589  double n1LS = _xPedEntries1LS.get(did);
590 
591  double sumTotal = _xPedSumTotal.get(did);
592  double sum2Total = _xPedSum2Total.get(did);
593  double nTotal = _xPedEntriesTotal.get(did);
594 
595  if (_ptype != fOffline) { // hidefed2crate
596  _xNChs.get(eid)++;
597  }
598  // IF A CHANNEL IS MISSING FOR THIS LS
599  if (n1LS==0)
600  {
603  if (_ptype != fOffline) { // hidefed2crate
604  eid.isVMEid()?_cMissing1LS_FEDVME.fill(eid):
606  _xNMsn1LS.get(eid)++;
607  }
608  // ALSO CHECK
609  // IF A CHANNEL HAS BEEN MISSING FOR ALL LSs SO FAR
610  if (nTotal==0)
611  {
613  if (_ptype != fOffline) { // hidefed2crate
614  eid.isVMEid()?_cMissingTotal_FEDVME.fill(eid):
616  }
617  }
618  continue;
619  }
620 
621  // if not missing, fill the occupancy...
623 
624  // compute the means and diffs for this LS
625  sum1LS/=n1LS; double rms1LS = sqrt(sum21LS/n1LS-sum1LS*sum1LS);
626 #ifndef HIDE_PEDESTAL_CONDITIONS
627  double diffm1LS = sum1LS-refm;
628  double diffr1LS = rms1LS - refr;
629 #endif
630  // compute the means and diffs for the whole Run
631  sumTotal/=nTotal;
632  double rmsTotal = sqrt(sum2Total/nTotal-sumTotal*sumTotal);
633 #ifndef HIDE_PEDESTAL_CONDITIONS
634  double diffmTotal = sumTotal-refm;
635  double diffrTotal = rmsTotal - refr;
636 #endif
637  // FILL ACTUAL MEANs AND RMSs FOR THIS LS
638  _cMean1LS_Subdet.fill(did, sum1LS);
639  _cMean1LS_depth.fill(did, sum1LS);
640  _cRMS1LS_Subdet.fill(did, rms1LS);
641  _cRMS1LS_depth.fill(did, rms1LS);
642 
643  // FILL THE DIFFERENCES FOR THIS LS
644 #ifndef HIDE_PEDESTAL_CONDITIONS
645  _cMeanDBRef1LS_Subdet.fill(did, diffm1LS);
646  _cMeanDBRef1LS_depth.fill(did, diffm1LS);
647  _cRMSDBRef1LS_Subdet.fill(did, diffr1LS);
648  _cRMSDBRef1LS_depth.fill(did, diffr1LS);
649 #endif
650  // FILL ACTUAL MEANs AND RMSs FOR THE WHOLE RUN
651  _cMeanTotal_Subdet.fill(did, sumTotal);
652  _cMeanTotal_depth.fill(did, sumTotal);
653  _cRMSTotal_Subdet.fill(did, rmsTotal);
654  _cRMSTotal_depth.fill(did, rmsTotal);
655 
656  // FILL THE DIFFERENCES FOR THE WHOLE RUN
657 #ifndef HIDE_PEDESTAL_CONDITIONS
658  _cMeanDBRefTotal_Subdet.fill(did, diffmTotal);
659  _cMeanDBRefTotal_depth.fill(did, diffmTotal);
660  _cRMSDBRefTotal_Subdet.fill(did, diffrTotal);
661  _cRMSDBRefTotal_depth.fill(did, diffrTotal);
662 #endif
663  // FOR THIS LS
664  if (_ptype != fOffline) { // hidefed2crate
665  if (eid.isVMEid())
666  {
667  _cMean1LS_FEDVME.fill(eid, sum1LS);
668  _cRMS1LS_FEDVME.fill(eid, rms1LS);
669  _cMeanDBRef1LS_FEDVME.fill(eid, diffm1LS);
670  _cRMSDBRef1LS_FEDVME.fill(eid, diffr1LS);
671  }
672  else
673  {
674  _cMean1LS_FEDuTCA.fill(eid, sum1LS);
675  _cRMS1LS_FEDuTCA.fill(eid, rms1LS);
676  _cMeanDBRef1LS_FEDuTCA.fill(eid, diffm1LS);
677  _cRMSDBRef1LS_FEDuTCA.fill(eid, diffr1LS);
678  }
679 
680  // FOR THE WHOLE RUN
681  if (eid.isVMEid())
682  {
683  _cMeanTotal_FEDVME.fill(eid, sumTotal);
684  _cRMSTotal_FEDVME.fill(eid, rmsTotal);
685  _cMeanDBRefTotal_FEDVME.fill(eid, diffmTotal);
686  _cRMSDBRefTotal_FEDVME.fill(eid, diffrTotal);
687  }
688  else
689  {
690  _cMeanTotal_FEDuTCA.fill(eid, sumTotal);
691  _cRMSTotal_FEDuTCA.fill(eid, rmsTotal);
692  _cMeanDBRefTotal_FEDuTCA.fill(eid, diffmTotal);
693  _cRMSDBRefTotal_FEDuTCA.fill(eid, diffrTotal);
694  }
695  }
696 
697  // FOR THE CURRENT LS COMPARE MEANS AND RMSS
698 #ifndef HIDE_PEDESTAL_CONDITIONS
699  if (fabs(diffm1LS)>_thresh_mean)
700  {
703  if (_ptype != fOffline) { // hidefed2crate
704  if (eid.isVMEid())
706  else
708  _xNBadMean1LS.get(eid)++;
709  }
710  }
711  if (fabs(diffr1LS)>_thresh_rms)
712  {
713  _cRMSBad1LS_depth.fill(did);
715  if (_ptype != fOffline) { // hidefed2crate
716  if (eid.isVMEid())
718  else
720  _xNBadRMS1LS.get(eid)++;
721  }
722  }
723 
724  // FOR THIS RUN
725  if (fabs(diffmTotal)>_thresh_mean)
726  {
728  if (_ptype != fOffline) { // hidefed2crate
729  if (eid.isVMEid())
731  else
733  }
734  }
735  if (fabs(diffrTotal)>_thresh_rms)
736  {
738  if (_ptype != fOffline) { // hidefed2crate
739  if (eid.isVMEid())
741  else
743  }
744  }
745 #endif
746 
747  }
748 
749  // SET THE FLAGS FOR THIS LS
750  if (_ptype != fOffline) { // hidefed2crate
751  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
752  it!=_vhashFEDs.end(); ++it)
753  {
754  hcaldqm::flag::Flag fSum("PED");
756 
757  std::vector<uint32_t>::const_iterator jt=
758  std::find(_vcdaqEids.begin(), _vcdaqEids.end(), (*it));
759  if (jt==_vcdaqEids.end())
760  {
761  // not @cDAQ
762  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
763  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
764  int(hcaldqm::flag::fNCDAQ));
766  continue;
767  }
768 
769  // @cDAQ
772  {
773  double frmissing = double(_xNMsn1LS.get(eid))/
774  double(_xNChs.get(eid));
775  double frbadm = _xNBadMean1LS.get(eid)/_xNChs.get(eid);
776  //double frbadr = _xNBadRMS1LS.get(eid)/_xNChs.get(eid);
777 
778  if (frmissing>=_thresh_missing_high)
779  _vflags[fMsn]._state = hcaldqm::flag::fBAD;
780  else if (frmissing>=_thresh_missing_low)
782  else
784  if (frbadm>=_thresh_badm)
786  else
788  // BadR removed May 9, 2018 - the pedestal RMS isn't stable enough to monitor right now.
789  //if (frbadr>=_thresh_badr)
790  // _vflags[fBadR]._state = hcaldqm::flag::fBAD;
791  //else
792  // _vflags[fBadR]._state = hcaldqm::flag::fGOOD;
793  }
794 
795  int iflag=0;
796  for (std::vector<hcaldqm::flag::Flag>::iterator ft=_vflags.begin();
797  ft!=_vflags.end(); ++ft)
798  {
800  int(ft->_state));
801  fSum+=(*ft);
802  iflag++;
803  ft->reset();
804  }
806  }
807  }
808 
809  // reset the pedestal containers instead of writting reset... func
811 
812 }
813 
815  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
816 {
817  DQTask::beginLuminosityBlock(lb, es);
818 }
819 
820 /* virtual */ void PedestalTask::endRun(edm::Run const& r,
821  edm::EventSetup const&)
822 {
823  if (_ptype==fLocal)
824  {
825  if (r.runAuxiliary().run()==1)
826  return;
827  else
828  this->_dump();
829  }
830  else if (_ptype==fOnline)
831  return;
832 }
833 
835  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
836 {
837  if (_ptype==fLocal)
838  return;
839  this->_dump();
840 
841  DQTask::endLuminosityBlock(lb, es);
842 }
843 
844 /* virtual */ void PedestalTask::_process(edm::Event const& e,
845  edm::EventSetup const& es)
846 {
851 
852  if (!e.getByToken(_tokHBHE, chbhe))
853  _logger.dqmthrow("Collection HBHEDigiCollection isn't available"
854  + _tagHBHE.label() + " " + _tagHBHE.instance());
855  if (!e.getByToken(_tokHO, cho))
856  _logger.dqmthrow("Collection HODigiCollection isn't available"
857  + _tagHO.label() + " " + _tagHO.instance());
858  if (!e.getByToken(_tokHF, chf))
859  _logger.dqmthrow("Collection QIE10DigiCollection isn't available"
860  + _tagHF.label() + " " + _tagHF.instance());
861  if (!e.getByToken(_tokHEP17, chep17))
862  _logger.dqmthrow("Collection QIE11DigiCollection isn't available"
863  + _tagHE.label() + " " + _tagHE.instance());
864 
865  int nHB(0), nHE(0), nHO(0), nHF(0);
866  for (HBHEDigiCollection::const_iterator it=chbhe->begin();
867  it!=chbhe->end(); ++it)
868  {
869  const HBHEDataFrame digi = (const HBHEDataFrame)(*it);
870  HcalDetId did = digi.id();
871  int digiSizeToUse = floor(digi.size()/constants::CAPS_NUM)*
873  did.subdet()==HcalBarrel ? nHB++ : nHE++;
874 
875  for (int i=0; i<digiSizeToUse; i++)
876  {
877  _cADC_SubdetPM.fill(did, it->sample(i).adc());
878 
879  _xPedSum1LS.get(did)+=it->sample(i).adc();
880  _xPedSum21LS.get(did)+=it->sample(i).adc()*it->sample(i).adc();
881  _xPedEntries1LS.get(did)++;
882 
883  _xPedSumTotal.get(did)+=it->sample(i).adc();
884  _xPedSum2Total.get(did)+=it->sample(i).adc()*it->sample(i).adc();
885  _xPedEntriesTotal.get(did)++;
886  }
887  }
888  for (QIE11DigiCollection::const_iterator it=chep17->begin(); it!=chep17->end();
889  ++it)
890  {
891  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
892  HcalDetId const& did = digi.detid();
893  // Require barrel or endcap. As of 2017, some calibration channels are ending up in this collection.
894  if ((did.subdet() != HcalEndcap) && (did.subdet() != HcalBarrel)) {
895  continue;
896  }
897  int digiSizeToUse = floor(digi.samples()/constants::CAPS_NUM)*
899  did.subdet()==HcalBarrel ? nHB++ : nHE++;
900 
901  for (int i=0; i<digiSizeToUse; i++)
902  {
903  _cADC_SubdetPM.fill(did, digi[i].adc());
904 
905  _xPedSum1LS.get(did)+=digi[i].adc();
906  _xPedSum21LS.get(did)+=digi[i].adc()*digi[i].adc();
907  _xPedEntries1LS.get(did)++;
908 
909  _xPedSumTotal.get(did)+=digi[i].adc();
910  _xPedSum2Total.get(did)+=digi[i].adc()*digi[i].adc();
911  _xPedEntriesTotal.get(did)++;
912  }
913  }
914 
916  _currentLS, nHB);
918  _currentLS, nHE);
919 
921  it!=cho->end(); ++it)
922  {
923  const HODataFrame digi = (const HODataFrame)(*it);
924  HcalDetId did = digi.id();
925  int digiSizeToUse = floor(digi.size()/constants::CAPS_NUM)*
927  nHO++;
928  for (int i=0; i<digiSizeToUse; i++)
929  {
930  _cADC_SubdetPM.fill(did, it->sample(i).adc());
931 
932  _xPedSum1LS.get(did)+=it->sample(i).adc();
933  _xPedSum21LS.get(did)+=it->sample(i).adc()*it->sample(i).adc();
934  _xPedEntries1LS.get(did)++;
935 
936  _xPedSumTotal.get(did)+=it->sample(i).adc();
937  _xPedSum2Total.get(did)+=it->sample(i).adc()*it->sample(i).adc();
938  _xPedEntriesTotal.get(did)++;
939  }
940  }
942  _currentLS, nHO);
943 
945  it!=chf->end(); ++it)
946  {
947  const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
948  HcalDetId did = digi.detid();
949  if (did.subdet() != HcalForward) {
950  continue;
951  }
952  // HF has 3 samples in global, so impossible to make divisible by 4
953  int digiSizeToUse = (digi.samples() >= 4 ? floor(digi.samples()/constants::CAPS_NUM)*constants::CAPS_NUM-1 : digi.samples());
954  nHF++;
955  for (int i=0; i<digiSizeToUse; i++)
956  {
957  _cADC_SubdetPM.fill(did, digi[i].adc());
958 
959  _xPedSum1LS.get(did)+=digi[i].adc();
960  _xPedSum21LS.get(did)+=digi[i].adc()*digi[i].adc();
961  _xPedEntries1LS.get(did)++;
962 
963  _xPedSumTotal.get(did)+=digi[i].adc();
964  _xPedSum2Total.get(did)+=digi[i].adc()*digi[i].adc();
965  _xPedEntriesTotal.get(did)++;
966  }
967  }
969  _currentLS, nHF);
970 }
971 
972 /* virtual */ bool PedestalTask::_isApplicable(edm::Event const& e)
973 {
974  if (_ptype==fOnline)
975  {
977  if (!e.getByToken(_tokuMN, cumn))
978  return false;
979 
980  // for online just check the event type not the user Word
981  uint8_t eventType = cumn->eventType();
982  if (eventType == constants::EVENTTYPE_PEDESTAL)
983  return true;
984  }
985  else
986  {
987  // local
989  if (!e.getByToken(_tokTrigger, ctrigger))
990  _logger.dqmthrow("Collection HcalTBTriggerData isn't available"
991  + _tagTrigger.label() + " " + _tagTrigger.instance());
992  return ctrigger->wasSpillIgnorantPedestalTrigger();
993  }
994 
995  return false;
996 }
997 
int adc(sample_type sample)
get the ADC sample (12 bits)
int samples() const
total number of samples in the digi
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
DetId detid() const
Get the detector id.
constexpr uint32_t rawId() const
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 *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:265
int const CRATE_VME_MIN
Definition: Constants.h:111
edm::InputTag _tagHE
Definition: PedestalTask.h:45
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:142
hcaldqm::Container1D _cMeanTotal_Subdet
Definition: PedestalTask.h:95
void fill(HcalDetId const &) override
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:12
void endRun(edm::Run const &, edm::EventSetup const &) override
void _process(edm::Event const &, edm::EventSetup const &) override
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:579
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
unique_ptr< ClusterSequence > cs
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:31
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
HcalDetId const & id() const
Definition: HODataFrame.h:27
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
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
int const SPIGOT_MIN
Definition: Constants.h:136
hcaldqm::ContainerXXX< double > _xPedSum21LS
Definition: PedestalTask.h:81
hcaldqm::Container2D _cMeanBadTotal_FEDuTCA
Definition: PedestalTask.h:164
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cMeanTotal_FEDVME
Definition: PedestalTask.h:110
hcaldqm::Container2D _cRMSBadTotal_FEDuTCA
Definition: PedestalTask.h:162
const_iterator begin() const
hcaldqm::Container2D _cRMSBad1LS_depth
Definition: PedestalTask.h:153
virtual void reset()
Definition: ContainerXXX.h:364
hcaldqm::ContainerProf2D _cRMSDBRefTotal_depth
Definition: PedestalTask.h:128
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
bool _isApplicable(edm::Event const &) override
hcaldqm::Container1D _cMissingvsLS_Subdet
Definition: PedestalTask.h:135
hcaldqm::Container2D _cRMSBadTotal_FEDVME
Definition: PedestalTask.h:163
hcaldqm::ContainerProf2D _cMean1LS_FEDVME
Definition: PedestalTask.h:103
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
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
void _resetMonitors(hcaldqm::UpdateFreq) override
hcaldqm::ContainerProf2D _cMean1LS_FEDuTCA
Definition: PedestalTask.h:104
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void reset()
Definition: Flag.h:76
int const CAPS_NUM
Definition: Constants.h:225
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
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:31
hcaldqm::ContainerProf2D _cRMS1LS_FEDVME
Definition: PedestalTask.h:105
hcaldqm::Container2D _cMeanBadTotal_depth
Definition: PedestalTask.h:159
uint8_t eventType() const
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
RunAuxiliary const & runAuxiliary() const override
Definition: Run.h:63
hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDuTCA
Definition: PedestalTask.h:123
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: PedestalTask.h:67
std::string _name
Definition: DQModule.h:57
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: PedestalTask.cc:46
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
PedestalTask(edm::ParameterSet const &)
Definition: PedestalTask.cc:6
int const CRATE_uTCA_MIN
Definition: Constants.h:116
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
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
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:97
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:777
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:31
hcaldqm::ContainerProf2D _cMeanDBRefTotal_depth
Definition: PedestalTask.h:127
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cMeanDBRef1LS_depth
Definition: PedestalTask.h:120
hcaldqm::ContainerProf2D _cRMSTotal_FEDuTCA
Definition: PedestalTask.h:113
edm::InputTag _tagTrigger
Definition: PedestalTask.h:48
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
edm::EDGetTokenT< QIE11DigiCollection > _tokHEP17
Definition: PedestalTask.h:52
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:234
std::string const & label() const
Definition: InputTag.h:36
uint8_t const EVENTTYPE_PEDESTAL
Definition: Constants.h:323
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:247
hcaldqm::ContainerXXX< int > _xNMsn1LS
Definition: PedestalTask.h:87
hcaldqm::Container2D _cMeanBadTotal_FEDVME
Definition: PedestalTask.h:161
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()
T get() const
Definition: EventSetup.h:62
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:145
void fill(HcalDetId const &) override
Definition: Container2D.cc:58
const HcalElectronicsMap * getHcalMapping() const
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:38
hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDuTCA
Definition: PedestalTask.h:132
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:28
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:27
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:89
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:894
hcaldqm::ContainerProf2D _cMeanTotal_FEDuTCA
Definition: PedestalTask.h:111
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:227
int const SLOT_uTCA_MIN
Definition: Constants.h:123
const_iterator begin() const
Definition: Run.h:44
hcaldqm::filter::HashFilter _filter_uTCA
Definition: PedestalTask.h:68
ib
Definition: cuy.py:662