CMS 3D CMS Logo

PedestalTask.cc
Go to the documentation of this file.
3 
4 using namespace hcaldqm;
5 using namespace hcaldqm::constants;
7  // tags
8  _tagQIE11 = ps.getUntrackedParameter<edm::InputTag>("tagHE", edm::InputTag("hcalDigis"));
9  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO", edm::InputTag("hcalDigis"));
10  _tagQIE10 = ps.getUntrackedParameter<edm::InputTag>("tagHF", edm::InputTag("hcalDigis"));
11  _tagTrigger = ps.getUntrackedParameter<edm::InputTag>("tagTrigger", edm::InputTag("tbunpacker"));
12  _taguMN = ps.getUntrackedParameter<edm::InputTag>("taguMN", edm::InputTag("hcalDigis"));
13  _tokQIE11 = consumes<QIE11DigiCollection>(_tagQIE11);
14  _tokHO = consumes<HODigiCollection>(_tagHO);
15  _tokQIE10 = consumes<QIE10DigiCollection>(_tagQIE10);
16  _tokTrigger = consumes<HcalTBTriggerData>(_tagTrigger);
17  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
18 
19  _vflags.resize(2);
22  //_vflags[fBadR]=hcaldqm::flag::Flag("BadR");
23 
24  _thresh_mean = ps.getUntrackedParameter<double>("thresh_mean", 0.25);
25  _thresh_rms = ps.getUntrackedParameter<double>("thresh_mean", 0.25);
26  _thresh_badm = ps.getUntrackedParameter<double>("thresh_badm", 0.1);
27  _thresh_badr = ps.getUntrackedParameter<double>("thresh_badr", 0.1);
28  _thresh_missing_high = ps.getUntrackedParameter<double>("thresh_missing_high", 0.2);
29  _thresh_missing_low = ps.getUntrackedParameter<double>("thresh_missing_low", 0.05);
30 }
31 
33  if (_ptype == fLocal)
34  if (r.runAuxiliary().run() == 1)
35  return;
36  DQTask::bookHistograms(ib, r, es);
37 
39  es.get<HcalDbRecord>().get(dbs);
40  _emap = dbs->getHcalMapping();
41  std::vector<uint32_t> vhashVME;
42  std::vector<uint32_t> vhashuTCA;
43  std::vector<uint32_t> vhashC38;
44  vhashVME.push_back(
46  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
47  vhashC38.push_back(HcalElectronicsId(38, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
51 
52  // Containers XXX
59 
60 #ifndef HIDE_PEDESTAL_CONDITIONS
63 #endif
64 
65  // Containers
67  "Mean1LS",
71  0);
73  "RMS1LS",
77  0);
79  "Mean1LS",
84  0);
86  "RMS1LS",
91  0);
92  if (_ptype != fOffline) { // hidefed2crate
94  "Mean1LS",
99  0);
101  "Mean1LS",
106  0);
108  "RMS1LS",
113  0);
115  "RMS1LS",
120  0);
121  }
122 
124  "Mean",
128  0);
130  "RMS",
134  0);
136  "Mean",
141  0);
143  "RMS",
148  0);
149 
151  "MeanDBRef1LS",
155  0);
157  "RMSDBRef1LS",
161  0);
163  "MeanDBRef1LS",
168  0);
170  "RMSDBRef1LS",
175  0);
176 
178  "MeanDBRef",
182  0);
184  "RMSDBRef",
188  0);
190  "MeanDBRef",
195  0);
197  "RMSDBRef",
202  0);
203 
205  "MissingvsLS",
209  0);
211  "OccupancyvsLS",
215  0);
217  "OccupancyEAvsLS",
221  0);
223  "NBadMeanvsLS",
227  0);
229  "NBadRMSvsLS",
233  0);
234 
236  "Missing1LS",
241  0);
243  "MeanBad1LS",
248  0);
250  "RMSBad1LS",
255  0);
256 
258  "Missing",
263  0);
265  "MeanBad",
270  0);
272  "RMSBad",
277  0);
278 
280  "ADC",
284  0);
285 
286  if (_ptype != fOffline) { // hidefed2crate
287  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
288  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
289  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
290  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
291  _vhashFEDs.push_back(
293  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
294  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
295  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
296  }
302  "Mean",
307  0);
309  "Mean",
314  0);
316  "RMS",
321  0);
323  "RMS",
328  0);
330  "MeanDBRef1LS",
335  0);
337  "MeanDBRef1LS",
342  0);
344  "RMSDBRef1LS",
349  0);
351  "RMSDBRef1LS",
356  0);
358  "MeanDBRef",
363  0);
365  _name,
366  "MeanDBRef",
371  0);
373  "RMSDBRef",
378  0);
380  "RMSDBRef",
385  0);
387  "Missing1LS",
392  0);
394  "Missing1LS",
399  0);
401  "MeanBad1LS",
406  0);
408  "MeanBad1LS",
413  0);
415  "RMSBad1LS",
420  0);
422  "RMSBad1LS",
427  0);
429  "Missing",
434  0);
436  "Missing",
441  0);
443  "MeanBad",
448  0);
450  "MeanBad",
455  0);
457  "RMSBad",
462  0);
464  "RMSBad",
469  0);
471  "SummaryvsLS",
476  0);
478  "SummaryvsLS",
482  0);
483  }
484 
485  // book plots
498 
510 
511  if (_ptype != fOffline) { // hidefed2crate
526 
541  }
542 
548  if (_ptype != fOffline) { // hidefed2crate
551  }
552 
553  // book compact containers
560 
561 #ifndef HIDE_PEDESTAL_CONDITIONS
564 #endif
565 
566  if (_ptype != fOffline) { // hidefed2crate
567  _xNChs.book(_emap);
571  }
572 
574 
575  // load conditions pedestals
576  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
577  for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
578  // skip if calib or whatever
579  if (!it->isHcalDetId())
580  continue;
581  // skip Crate 38
583  continue;
584 #ifndef HIDE_PEDESTAL_CONDITIONS
585  HcalDetId did = HcalDetId(it->rawId());
586 
587  HcalPedestal const* peds = dbs->getPedestal(did);
588  float const* means = peds->getValues();
589  float const* rmss = peds->getWidths();
590  double msum = 0;
591  double rsum = 0;
592  for (uint32_t i = 0; i < 4; i++) {
593  msum += means[i];
594  rsum += rmss[i];
595  }
596  msum /= 4;
597  rsum /= 4;
598  _xPedRefMean.set(did, msum);
599  _xPedRefRMS.set(did, rsum);
600 #endif
601  }
602 }
603 
605  DQTask::_resetMonitors(uf);
606 
607  switch (uf) {
608  case hcaldqm::f50LS:
610  break;
611  default:
612  break;
613  }
614 }
615 
616 /* virtual */ void PedestalTask::_dump() {
617  // reset what's needed
618 
619  // Mean/RMS actual values
624  if (_ptype != fOffline) { // hidefed2crate
629  }
630 
635  if (_ptype != fOffline) { // hidefed2crate
640  }
641 
642  // DB Conditions Comparison
647 
652 
653  if (_ptype != fOffline) { // hidefed2crate
658 
663  }
664 
665  // missing channels
669 
673 
674  // Missing or Bad
675  if (_ptype != fOffline) { // hidefed2crate
682 
689 
690  // reset some XXX containers
691  _xNChs.reset();
692  _xNMsn1LS.reset();
695  }
696  // - ITERATE OVER ALL TEH CHANNELS
697  // - FIND THE ONES THAT ARE MISSING
698  // - FIND THE ONES WITH BAD PEDESTAL MEANs
699  // - FIND THE ONES WITH BAD PEDESTAL RMSs
700  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
701  for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
702  if (!it->isHcalDetId())
703  continue;
705  if (_filter_C38.filter(eid))
706  continue;
707 
708  // filter out channels with bad quality
709  if (_xQuality.exists(HcalDetId(*it))) {
710  HcalChannelStatus cs(it->rawId(), _xQuality.get(HcalDetId(*it)));
712  continue;
713  }
714 
715  HcalDetId did = HcalDetId(it->rawId());
716  double sum1LS = _xPedSum1LS.get(did);
717 #ifndef HIDE_PEDESTAL_CONDITIONS
718  double refm = _xPedRefMean.get(did);
719 #endif
720  double sum21LS = _xPedSum21LS.get(did);
721 #ifndef HIDE_PEDESTAL_CONDITIONS
722  double refr = _xPedRefRMS.get(did);
723 #endif
724  double n1LS = _xPedEntries1LS.get(did);
725 
726  double sumTotal = _xPedSumTotal.get(did);
727  double sum2Total = _xPedSum2Total.get(did);
728  double nTotal = _xPedEntriesTotal.get(did);
729 
730  if (_ptype != fOffline) { // hidefed2crate
731  _xNChs.get(eid)++;
732  }
733  // IF A CHANNEL IS MISSING FOR THIS LS
734  if (n1LS == 0) {
737  if (_ptype != fOffline) { // hidefed2crate
739  _xNMsn1LS.get(eid)++;
740  }
741  // ALSO CHECK
742  // IF A CHANNEL HAS BEEN MISSING FOR ALL LSs SO FAR
743  if (nTotal == 0) {
745  if (_ptype != fOffline) { // hidefed2crate
747  }
748  }
749  continue;
750  }
751 
752  // if not missing, fill the occupancy...
754 
755  // compute the means and diffs for this LS
756  sum1LS /= n1LS;
757  double rms1LS = sqrt(sum21LS / n1LS - sum1LS * sum1LS);
758 #ifndef HIDE_PEDESTAL_CONDITIONS
759  double diffm1LS = sum1LS - refm;
760  double diffr1LS = rms1LS - refr;
761 #endif
762  // compute the means and diffs for the whole Run
763  sumTotal /= nTotal;
764  double rmsTotal = sqrt(sum2Total / nTotal - sumTotal * sumTotal);
765 #ifndef HIDE_PEDESTAL_CONDITIONS
766  double diffmTotal = sumTotal - refm;
767  double diffrTotal = rmsTotal - refr;
768 #endif
769  // FILL ACTUAL MEANs AND RMSs FOR THIS LS
770  _cMean1LS_Subdet.fill(did, sum1LS);
771  _cMean1LS_depth.fill(did, sum1LS);
772  _cRMS1LS_Subdet.fill(did, rms1LS);
773  _cRMS1LS_depth.fill(did, rms1LS);
774 
775  // FILL THE DIFFERENCES FOR THIS LS
776 #ifndef HIDE_PEDESTAL_CONDITIONS
777  _cMeanDBRef1LS_Subdet.fill(did, diffm1LS);
778  _cMeanDBRef1LS_depth.fill(did, diffm1LS);
779  _cRMSDBRef1LS_Subdet.fill(did, diffr1LS);
780  _cRMSDBRef1LS_depth.fill(did, diffr1LS);
781 #endif
782  // FILL ACTUAL MEANs AND RMSs FOR THE WHOLE RUN
783  _cMeanTotal_Subdet.fill(did, sumTotal);
784  _cMeanTotal_depth.fill(did, sumTotal);
785  _cRMSTotal_Subdet.fill(did, rmsTotal);
786  _cRMSTotal_depth.fill(did, rmsTotal);
787 
788  // FILL THE DIFFERENCES FOR THE WHOLE RUN
789 #ifndef HIDE_PEDESTAL_CONDITIONS
790  _cMeanDBRefTotal_Subdet.fill(did, diffmTotal);
791  _cMeanDBRefTotal_depth.fill(did, diffmTotal);
792  _cRMSDBRefTotal_Subdet.fill(did, diffrTotal);
793  _cRMSDBRefTotal_depth.fill(did, diffrTotal);
794 #endif
795  // FOR THIS LS
796  if (_ptype != fOffline) { // hidefed2crate
797  if (eid.isVMEid()) {
798  _cMean1LS_FEDVME.fill(eid, sum1LS);
799  _cRMS1LS_FEDVME.fill(eid, rms1LS);
800  _cMeanDBRef1LS_FEDVME.fill(eid, diffm1LS);
801  _cRMSDBRef1LS_FEDVME.fill(eid, diffr1LS);
802  } else {
803  _cMean1LS_FEDuTCA.fill(eid, sum1LS);
804  _cRMS1LS_FEDuTCA.fill(eid, rms1LS);
805  _cMeanDBRef1LS_FEDuTCA.fill(eid, diffm1LS);
806  _cRMSDBRef1LS_FEDuTCA.fill(eid, diffr1LS);
807  }
808 
809  // FOR THE WHOLE RUN
810  if (eid.isVMEid()) {
811  _cMeanTotal_FEDVME.fill(eid, sumTotal);
812  _cRMSTotal_FEDVME.fill(eid, rmsTotal);
813  _cMeanDBRefTotal_FEDVME.fill(eid, diffmTotal);
814  _cRMSDBRefTotal_FEDVME.fill(eid, diffrTotal);
815  } else {
816  _cMeanTotal_FEDuTCA.fill(eid, sumTotal);
817  _cRMSTotal_FEDuTCA.fill(eid, rmsTotal);
818  _cMeanDBRefTotal_FEDuTCA.fill(eid, diffmTotal);
819  _cRMSDBRefTotal_FEDuTCA.fill(eid, diffrTotal);
820  }
821  }
822 
823  // FOR THE CURRENT LS COMPARE MEANS AND RMSS
824 #ifndef HIDE_PEDESTAL_CONDITIONS
825  if (fabs(diffm1LS) > _thresh_mean) {
828  if (_ptype != fOffline) { // hidefed2crate
829  if (eid.isVMEid())
831  else
833  _xNBadMean1LS.get(eid)++;
834  }
835  }
836  if (fabs(diffr1LS) > _thresh_rms) {
837  _cRMSBad1LS_depth.fill(did);
839  if (_ptype != fOffline) { // hidefed2crate
840  if (eid.isVMEid())
842  else
844  _xNBadRMS1LS.get(eid)++;
845  }
846  }
847 
848  // FOR THIS RUN
849  if (fabs(diffmTotal) > _thresh_mean) {
851  if (_ptype != fOffline) { // hidefed2crate
852  if (eid.isVMEid())
854  else
856  }
857  }
858  if (fabs(diffrTotal) > _thresh_rms) {
860  if (_ptype != fOffline) { // hidefed2crate
861  if (eid.isVMEid())
863  else
865  }
866  }
867 #endif
868  }
869 
870  // SET THE FLAGS FOR THIS LS
871  if (_ptype != fOffline) { // hidefed2crate
872  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
873  hcaldqm::flag::Flag fSum("PED");
875 
876  std::vector<uint32_t>::const_iterator jt = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), (*it));
877  if (jt == _vcdaqEids.end()) {
878  // not @cDAQ
879  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
882  continue;
883  }
884 
885  // @cDAQ
887  double frmissing = double(_xNMsn1LS.get(eid)) / double(_xNChs.get(eid));
888  double frbadm = _xNBadMean1LS.get(eid) / _xNChs.get(eid);
889  //double frbadr = _xNBadRMS1LS.get(eid)/_xNChs.get(eid);
890 
891  if (frmissing >= _thresh_missing_high)
892  _vflags[fMsn]._state = hcaldqm::flag::fBAD;
893  else if (frmissing >= _thresh_missing_low)
895  else
897  if (frbadm >= _thresh_badm)
899  else
901  // BadR removed May 9, 2018 - the pedestal RMS isn't stable enough to monitor right now.
902  //if (frbadr>=_thresh_badr)
903  // _vflags[fBadR]._state = hcaldqm::flag::fBAD;
904  //else
905  // _vflags[fBadR]._state = hcaldqm::flag::fGOOD;
906  }
907 
908  int iflag = 0;
909  for (std::vector<hcaldqm::flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
910  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, iflag, int(ft->_state));
911  fSum += (*ft);
912  iflag++;
913  ft->reset();
914  }
916  }
917  }
918 
919  // reset the pedestal containers instead of writting reset... func
920  _xPedSum1LS.reset();
923 }
924 
926  DQTask::beginLuminosityBlock(lb, es);
927 }
928 
929 /* virtual */ void PedestalTask::endRun(edm::Run const& r, edm::EventSetup const&) {
930  if (_ptype == fLocal) {
931  if (r.runAuxiliary().run() == 1)
932  return;
933  else
934  this->_dump();
935  } else if (_ptype == fOnline)
936  return;
937 }
938 
940  if (_ptype == fLocal)
941  return;
942  this->_dump();
943 
944  DQTask::endLuminosityBlock(lb, es);
945 }
946 
947 /* virtual */ void PedestalTask::_process(edm::Event const& e, edm::EventSetup const& es) {
951 
952  if (!e.getByToken(_tokHO, c_ho))
953  _logger.dqmthrow("Collection HODigiCollection isn't available" + _tagHO.label() + " " + _tagHO.instance());
954  if (!e.getByToken(_tokQIE10, c_QIE10))
955  _logger.dqmthrow("Collection QIE10DigiCollection isn't available" + _tagQIE10.label() + " " + _tagQIE10.instance());
956  if (!e.getByToken(_tokQIE11, c_QIE11))
957  _logger.dqmthrow("Collection QIE11DigiCollection isn't available" + _tagQIE11.label() + " " + _tagQIE11.instance());
958 
959  int nHB(0), nHE(0), nHO(0), nHF(0);
960  for (QIE11DigiCollection::const_iterator it = c_QIE11->begin(); it != c_QIE11->end(); ++it) {
961  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
962  HcalDetId const& did = digi.detid();
963  // Require barrel or endcap. As of 2017, some calibration channels are ending up in this collection.
964  if ((did.subdet() != HcalEndcap) && (did.subdet() != HcalBarrel)) {
965  continue;
966  }
967  int digiSizeToUse = floor(digi.samples() / constants::CAPS_NUM) * constants::CAPS_NUM - 1;
968  did.subdet() == HcalBarrel ? nHB++ : nHE++;
969 
970  for (int i = 0; i < digiSizeToUse; i++) {
971  _cADC_SubdetPM.fill(did, digi[i].adc());
972 
973  _xPedSum1LS.get(did) += digi[i].adc();
974  _xPedSum21LS.get(did) += digi[i].adc() * digi[i].adc();
975  _xPedEntries1LS.get(did)++;
976 
977  _xPedSumTotal.get(did) += digi[i].adc();
978  _xPedSum2Total.get(did) += digi[i].adc() * digi[i].adc();
979  _xPedEntriesTotal.get(did)++;
980  }
981  }
982 
985 
986  for (HODigiCollection::const_iterator it = c_ho->begin(); it != c_ho->end(); ++it) {
987  const HODataFrame digi = (const HODataFrame)(*it);
988  HcalDetId did = digi.id();
989  int digiSizeToUse = floor(digi.size() / constants::CAPS_NUM) * constants::CAPS_NUM - 1;
990  nHO++;
991  for (int i = 0; i < digiSizeToUse; i++) {
992  _cADC_SubdetPM.fill(did, it->sample(i).adc());
993 
994  _xPedSum1LS.get(did) += it->sample(i).adc();
995  _xPedSum21LS.get(did) += it->sample(i).adc() * it->sample(i).adc();
996  _xPedEntries1LS.get(did)++;
997 
998  _xPedSumTotal.get(did) += it->sample(i).adc();
999  _xPedSum2Total.get(did) += it->sample(i).adc() * it->sample(i).adc();
1000  _xPedEntriesTotal.get(did)++;
1001  }
1002  }
1004 
1005  for (QIE10DigiCollection::const_iterator it = c_QIE10->begin(); it != c_QIE10->end(); ++it) {
1006  const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
1007  HcalDetId did = digi.detid();
1008  if (did.subdet() != HcalForward) {
1009  continue;
1010  }
1011  // HF has 3 samples in global, so impossible to make divisible by 4
1012  int digiSizeToUse =
1013  (digi.samples() >= 4 ? floor(digi.samples() / constants::CAPS_NUM) * constants::CAPS_NUM - 1 : digi.samples());
1014  nHF++;
1015  for (int i = 0; i < digiSizeToUse; i++) {
1016  _cADC_SubdetPM.fill(did, digi[i].adc());
1017 
1018  _xPedSum1LS.get(did) += digi[i].adc();
1019  _xPedSum21LS.get(did) += digi[i].adc() * digi[i].adc();
1020  _xPedEntries1LS.get(did)++;
1021 
1022  _xPedSumTotal.get(did) += digi[i].adc();
1023  _xPedSum2Total.get(did) += digi[i].adc() * digi[i].adc();
1024  _xPedEntriesTotal.get(did)++;
1025  }
1026  }
1028 }
1029 
1030 /* virtual */ bool PedestalTask::_isApplicable(edm::Event const& e) {
1031  if (_ptype == fOnline) {
1033  if (!e.getByToken(_tokuMN, cumn))
1034  return false;
1035 
1036  // for online just check the event type not the user Word
1037  uint8_t eventType = cumn->eventType();
1038  if (eventType == constants::EVENTTYPE_PEDESTAL)
1039  return true;
1040  } else {
1041  // local
1043  if (!e.getByToken(_tokTrigger, ctrigger))
1044  _logger.dqmthrow("Collection HcalTBTriggerData isn't available" + _tagTrigger.label() + " " +
1045  _tagTrigger.instance());
1046  return ctrigger->wasSpillIgnorantPedestalTrigger();
1047  }
1048 
1049  return false;
1050 }
1051 
int samples() const
total number of samples in the digi
edm::InputTag _tagQIE11
Definition: PedestalTask.h:39
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:79
edm::InputTag _taguMN
Definition: PedestalTask.h:43
hcaldqm::Container2D _cMissing1LS_depth
Definition: PedestalTask.h:131
T getUntrackedParameter(std::string const &, T const &) const
double _thresh_badm
Definition: PedestalTask.h:60
hcaldqm::ContainerProf2D _cRMSTotal_FEDVME
Definition: PedestalTask.h:99
hcaldqm::ContainerXXX< double > _xPedSumTotal
Definition: PedestalTask.h:70
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
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:212
int const CRATE_VME_MIN
Definition: Constants.h:83
double _thresh_badr
Definition: PedestalTask.h:60
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
hcaldqm::Container2D _cMissingTotal_depth
Definition: PedestalTask.h:134
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:146
hcaldqm::Container1D _cMeanTotal_Subdet
Definition: PedestalTask.h:82
void fill(HcalDetId const &) override
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
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:88
hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDVME
Definition: PedestalTask.h:109
hcaldqm::Container1D _cMeanDBRef1LS_Subdet
Definition: PedestalTask.h:103
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
hcaldqm::ContainerProf2D _cRMSDBRef1LS_depth
Definition: PedestalTask.h:108
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::Container1D _cMean1LS_Subdet
Definition: PedestalTask.h:84
hcaldqm::ContainerXXX< int > _xPedEntries1LS
Definition: PedestalTask.h:69
hcaldqm::Container2D _cMeanBad1LS_FEDuTCA
Definition: PedestalTask.h:144
hcaldqm::Container1D _cRMSTotal_Subdet
Definition: PedestalTask.h:83
hcaldqm::Container1D _cNBadRMSvsLS_Subdet
Definition: PedestalTask.h:125
unique_ptr< ClusterSequence > cs
hcaldqm::Container2D _cRMSBadTotal_depth
Definition: PedestalTask.h:147
hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDVME
Definition: PedestalTask.h:118
hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDuTCA
Definition: PedestalTask.h:112
UpdateFreq
Definition: DQTask.h:16
hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDVME
Definition: PedestalTask.h:116
State _state
Definition: Flag.h:62
hcaldqm::ContainerProf2D _cRMSTotal_depth
Definition: PedestalTask.h:96
HcalDetId const & id() const
Definition: HODataFrame.h:27
std::vector< T >::const_iterator const_iterator
edm::InputTag _tagHO
Definition: PedestalTask.h:40
hcaldqm::ContainerXXX< double > _xPedSum1LS
Definition: PedestalTask.h:67
hcaldqm::ContainerXXX< int > _xPedEntriesTotal
Definition: PedestalTask.h:72
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
int const SPIGOT_MIN
Definition: Constants.h:108
hcaldqm::ContainerXXX< double > _xPedSum21LS
Definition: PedestalTask.h:68
hcaldqm::Container2D _cMeanBadTotal_FEDuTCA
Definition: PedestalTask.h:151
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cMeanTotal_FEDVME
Definition: PedestalTask.h:97
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: PedestalTask.h:47
hcaldqm::Container2D _cRMSBadTotal_FEDuTCA
Definition: PedestalTask.h:149
const_iterator begin() const
hcaldqm::Container2D _cRMSBad1LS_depth
Definition: PedestalTask.h:140
virtual void reset()
Definition: ContainerXXX.h:292
hcaldqm::ContainerProf2D _cRMSDBRefTotal_depth
Definition: PedestalTask.h:115
std::vector< uint32_t > _vhashFEDs
Definition: PedestalTask.h:64
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:104
int const FIBER_VME_MIN
Definition: Constants.h:113
bool _isApplicable(edm::Event const &) override
hcaldqm::Container1D _cMissingvsLS_Subdet
Definition: PedestalTask.h:122
hcaldqm::Container2D _cRMSBadTotal_FEDVME
Definition: PedestalTask.h:150
hcaldqm::ContainerProf2D _cMean1LS_FEDVME
Definition: PedestalTask.h:90
hcaldqm::Container2D _cRMSBad1LS_FEDVME
Definition: PedestalTask.h:143
int const FIBERCH_MIN
Definition: Constants.h:122
edm::EDGetTokenT< HcalTBTriggerData > _tokTrigger
Definition: PedestalTask.h:48
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
double _thresh_missing_low
Definition: PedestalTask.h:61
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:101
hcaldqm::Container1D _cRMS1LS_Subdet
Definition: PedestalTask.h:85
edm::InputTag _tagQIE10
Definition: PedestalTask.h:41
hcaldqm::Container1D _cOccupancyvsLS_Subdet
Definition: PedestalTask.h:123
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
virtual void reset()
Definition: Container1D.cc:60
double _thresh_missing_high
Definition: PedestalTask.h:61
void _resetMonitors(hcaldqm::UpdateFreq) override
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
hcaldqm::ContainerProf2D _cMean1LS_FEDuTCA
Definition: PedestalTask.h:91
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void reset()
Definition: Flag.h:59
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: PedestalTask.h:45
int const CAPS_NUM
Definition: Constants.h:194
std::vector< hcaldqm::flag::Flag > _vflags
Definition: PedestalTask.h:50
virtual void setBinContent(int, int, int)
hcaldqm::ContainerXXX< int > _xNChs
Definition: PedestalTask.h:73
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:48
int const FED_VME_MIN
Definition: Constants.h:70
T sqrt(T t)
Definition: SSEVec.h:18
hcaldqm::ContainerProf2D _cRMS1LS_FEDuTCA
Definition: PedestalTask.h:93
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: PedestalTask.h:44
hcaldqm::Container1D _cRMSDBRefTotal_Subdet
Definition: PedestalTask.h:106
int size() const
total number of samples in the digi
Definition: HODataFrame.h:31
hcaldqm::ContainerProf2D _cRMS1LS_FEDVME
Definition: PedestalTask.h:92
hcaldqm::Container2D _cMeanBadTotal_depth
Definition: PedestalTask.h:146
uint8_t eventType() const
int const FIBER_uTCA_MIN1
Definition: Constants.h:116
hcaldqm::Container1D _cADC_SubdetPM
Definition: PedestalTask.h:153
DetId detid() const
Get the detector id.
std::vector< HcalGenericDetId > allPrecisionId() const
Logger _logger
Definition: DQModule.h:54
hcaldqm::Container2D _cMissing1LS_FEDuTCA
Definition: PedestalTask.h:133
hcaldqm::ContainerProf1D _cOccupancyEAvsLS_Subdet
Definition: PedestalTask.h:128
hcaldqm::filter::HashFilter _filter_VME
Definition: PedestalTask.h:56
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
RunAuxiliary const & runAuxiliary() const override
Definition: Run.h:61
hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDuTCA
Definition: PedestalTask.h:110
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: PedestalTask.h:54
std::string _name
Definition: DQModule.h:41
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: PedestalTask.cc:32
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
PedestalTask(edm::ParameterSet const &)
Definition: PedestalTask.cc:6
int const CRATE_uTCA_MIN
Definition: Constants.h:88
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
hcaldqm::Container2D _cMeanBad1LS_depth
Definition: PedestalTask.h:139
const_iterator end() const
hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDuTCA
Definition: PedestalTask.h:117
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: PedestalTask.h:157
hcaldqm::ContainerProf2D _cRMS1LS_depth
Definition: PedestalTask.h:89
hcaldqm::Container2D _cMissing1LS_FEDVME
Definition: PedestalTask.h:132
hcaldqm::Container2D _cRMSBad1LS_FEDuTCA
Definition: PedestalTask.h:142
hcaldqm::Container1D _cNBadMeanvsLS_Subdet
Definition: PedestalTask.h:124
hcaldqm::filter::HashFilter _filter_C38
Definition: PedestalTask.h:57
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:142
hcaldqm::ContainerProf2D _cMeanTotal_depth
Definition: PedestalTask.h:95
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:592
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:25
hcaldqm::ContainerProf2D _cMeanDBRefTotal_depth
Definition: PedestalTask.h:114
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
hcaldqm::ContainerProf2D _cMeanDBRef1LS_depth
Definition: PedestalTask.h:107
hcaldqm::ContainerProf2D _cRMSTotal_FEDuTCA
Definition: PedestalTask.h:100
edm::InputTag _tagTrigger
Definition: PedestalTask.h:42
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
std::string const & label() const
Definition: InputTag.h:36
uint8_t const EVENTTYPE_PEDESTAL
Definition: Constants.h:279
const_iterator end() const
hcaldqm::Container1D _cMeanDBRefTotal_Subdet
Definition: PedestalTask.h:105
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: PedestalTask.h:46
hcaldqm::ContainerXXX< double > _xPedSum2Total
Definition: PedestalTask.h:71
double _thresh_mean
Definition: PedestalTask.h:60
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
hcaldqm::ContainerXXX< int > _xNMsn1LS
Definition: PedestalTask.h:74
hcaldqm::Container2D _cMeanBadTotal_FEDVME
Definition: PedestalTask.h:148
hcaldqm::ContainerXXX< int > _xNBadRMS1LS
Definition: PedestalTask.h:75
bool wasSpillIgnorantPedestalTrigger() const
returns true if this trigger was a calibration trigger
hcaldqm::Container2D _cMissingTotal_FEDuTCA
Definition: PedestalTask.h:136
hcaldqm::ContainerXXX< double > _xPedRefMean
Definition: PedestalTask.h:78
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:83
virtual void _dump()
T get() const
Definition: EventSetup.h:71
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:121
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
const HcalElectronicsMap * getHcalMapping() const
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:24
hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDuTCA
Definition: PedestalTask.h:119
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
std::string _subsystem
Definition: DQModule.h:48
const float * getValues() const
get value for all capId = 0..3
Definition: HcalPedestal.h:19
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:180
hcaldqm::Container2D _cMissingTotal_FEDVME
Definition: PedestalTask.h:135
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:51
hcaldqm::ContainerXXX< int > _xNBadMean1LS
Definition: PedestalTask.h:75
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:81
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:558
hcaldqm::ContainerProf2D _cMeanTotal_FEDuTCA
Definition: PedestalTask.h:98
int samples() const
total number of samples in the digi
const HcalPedestal * getPedestal(const HcalGenericDetId &fId) const
hcaldqm::Container2D _cMeanBad1LS_FEDVME
Definition: PedestalTask.h:141
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDVME
Definition: PedestalTask.h:111
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:156
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: PedestalTask.h:156
RunNumber_t run() const
Definition: RunAuxiliary.h:41
double _thresh_rms
Definition: PedestalTask.h:60
virtual void set(HcalDetId const &, STDTYPE)
Definition: ContainerXXX.h:182
int const SLOT_uTCA_MIN
Definition: Constants.h:95
const_iterator begin() const
Definition: Run.h:45
hcaldqm::filter::HashFilter _filter_uTCA
Definition: PedestalTask.h:55
ib
Definition: cuy.py:662