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("tbunpacker"));
18  edm::InputTag("hcalDigis"));
19  _tokHBHE = consumes<HBHEDigiCollection>(_tagHBHE);
20  _tokHO = consumes<HODigiCollection>(_tagHO);
21  _tokHF = consumes<QIE10DigiCollection>(_tagHF);
22  _tokTrigger = consumes<HcalTBTriggerData>(_tagTrigger);
23  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
24 
25  _vflags.resize(nPedestalFlag);
29 
30  _thresh_mean = ps.getUntrackedParameter<double>("thresh_mean",
31  0.25);
32  _thresh_rms = ps.getUntrackedParameter<double>("thresh_mean",
33  0.25);
34  _thresh_badm = ps.getUntrackedParameter<double>("thresh_badm", 0.1);
35  _thresh_badr = ps.getUntrackedParameter<double>("thresh_badr", 0.1);
37  "thresh_missing_high", 0.2);
39  "thresh_missing_low", 0.05);
40 }
41 
43  edm::Run const& r, edm::EventSetup const& es)
44 {
45  if (_ptype==fLocal)
46  if (r.runAuxiliary().run()==1)
47  return;
48  DQTask::bookHistograms(ib, r, es);
49 
51  es.get<HcalDbRecord>().get(dbs);
52  _emap = dbs->getHcalMapping();
53  std::vector<uint32_t> vhashVME;
54  std::vector<uint32_t> vhashuTCA;
55  std::vector<uint32_t> vhashC36;
56  vhashVME.push_back(HcalElectronicsId(constants::FIBERCH_MIN,
58  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN,
59  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
60  vhashC36.push_back(HcalElectronicsId(36, SLOT_uTCA_MIN,
61  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
63  vhashVME);
65  vhashuTCA);
67  vhashC36);
68 
69  // Containers XXX
76 
77 #ifndef HIDE_PEDESTAL_CONDITIONS
80 #endif
81 
82 
83  // Containers
98  if (_ptype != fOffline) { // hidefed2crate
115  }
116 
131 
146 
161 
162  _cMissingvsLS_Subdet.initialize(_name, "MissingvsLS",
166  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
170  _cOccupancyEAvsLS_Subdet.initialize(_name, "OccupancyEAvsLS",
174  _cNBadMeanvsLS_Subdet.initialize(_name, "NBadMeanvsLS",
178  _cNBadRMSvsLS_Subdet.initialize(_name, "NBadRMSvsLS",
182 
195 
208 
212 
213  if (_ptype != fOffline) { // hidefed2crate
214  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
215  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
216  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
217  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
218  it!=vFEDsVME.end(); ++it)
220  FIBER_VME_MIN, SPIGOT_MIN, (*it)-FED_VME_MIN).rawId());
221  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
222  it!=vFEDsuTCA.end(); ++it)
223  {
224  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
225  _vhashFEDs.push_back(HcalElectronicsId(
226  cspair.first, cspair.second, FIBER_uTCA_MIN1,
227  FIBERCH_MIN, false).rawId());
228  }
329  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
334  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
338  }
339 
340  // book plots
353 
365 
366  if (_ptype != fOffline) { // hidefed2crate
381 
396  }
397 
403  if (_ptype != fOffline) { // hidefed2crate
406  }
407 
408  // book compact containers
415 
416 #ifndef HIDE_PEDESTAL_CONDITIONS
419 #endif
420 
421  if (_ptype != fOffline) { // hidefed2crate
422  _xNChs.book(_emap);
426  }
427 
429 
430  // load conditions pedestals
431  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
432  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
433  it!=dids.end(); ++it)
434  {
435  // skip if calib or whatever
436  if (!it->isHcalDetId())
437  continue;
438  // skip Crate 36
440  continue;
441 #ifndef HIDE_PEDESTAL_CONDITIONS
442  HcalDetId did = HcalDetId(it->rawId());
443 
444  HcalPedestal const* peds = dbs->getPedestal(did);
445  float const *means = peds->getValues();
446  float const *rmss = peds->getWidths();
447  double msum=0; double rsum=0;
448  for (uint32_t i=0; i<4; i++)
449  {msum+=means[i]; rsum+=rmss[i];}
450  msum/=4; rsum/=4;
451  _xPedRefMean.set(did, msum);
452  _xPedRefRMS.set(did, rsum);
453 #endif
454  }
455 }
456 
458 {
459  DQTask::_resetMonitors(uf);
460 
461  switch(uf)
462  {
463  case hcaldqm::f50LS:
465  break;
466  default:
467  break;
468  }
469 }
470 
471 /* virtual */ void PedestalTask::_dump()
472 {
473  // reset what's needed
474 
475  // Mean/RMS actual values
480  if (_ptype != fOffline) { // hidefed2crate
485  }
486 
491  if (_ptype != fOffline) { // hidefed2crate
496  }
497 
498 
499  // DB Conditions Comparison
504 
509 
510  if (_ptype != fOffline) { // hidefed2crate
515 
520  }
521 
522  // missing channels
526 
530 
531  // Missing or Bad
532  if (_ptype != fOffline) { // hidefed2crate
539 
546 
547  // reset some XXX containers
548  _xNChs.reset();
549  _xNMsn1LS.reset();
551  }
552  // - ITERATE OVER ALL TEH CHANNELS
553  // - FIND THE ONES THAT ARE MISSING
554  // - FIND THE ONES WITH BAD PEDESTAL MEANs
555  // - FIND THE ONES WITH BAD PEDESTAL RMSs
556  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
557  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
558  it!=dids.end(); ++it)
559  {
560  if (!it->isHcalDetId())
561  continue;
563  if (_filter_C36.filter(eid))
564  continue;
565 
566  // filter out channels with bad quality
567  if (_xQuality.exists(HcalDetId(*it)))
568  {
569  HcalChannelStatus cs(it->rawId(), _xQuality.get(HcalDetId(*it)));
570  if (
573  continue;
574  }
575 
576  HcalDetId did = HcalDetId(it->rawId());
577  double sum1LS = _xPedSum1LS.get(did);
578 #ifndef HIDE_PEDESTAL_CONDITIONS
579  double refm = _xPedRefMean.get(did);
580 #endif
581  double sum21LS = _xPedSum21LS.get(did);
582 #ifndef HIDE_PEDESTAL_CONDITIONS
583  double refr = _xPedRefRMS.get(did);
584 #endif
585  double n1LS = _xPedEntries1LS.get(did);
586 
587  double sumTotal = _xPedSumTotal.get(did);
588  double sum2Total = _xPedSum2Total.get(did);
589  double nTotal = _xPedEntriesTotal.get(did);
590 
591  if (_ptype != fOffline) { // hidefed2crate
592  _xNChs.get(eid)++;
593  }
594  // IF A CHANNEL IS MISSING FOR THIS LS
595  if (n1LS==0)
596  {
599  if (_ptype != fOffline) { // hidefed2crate
600  eid.isVMEid()?_cMissing1LS_FEDVME.fill(eid):
602  _xNMsn1LS.get(eid)++;
603  }
604  // ALSO CHECK
605  // IF A CHANNEL HAS BEEN MISSING FOR ALL LSs SO FAR
606  if (nTotal==0)
607  {
609  if (_ptype != fOffline) { // hidefed2crate
610  eid.isVMEid()?_cMissingTotal_FEDVME.fill(eid):
612  }
613  }
614  continue;
615  }
616 
617  // if not missing, fill the occupancy...
619 
620  // compute the means and diffs for this LS
621  sum1LS/=n1LS; double rms1LS = sqrt(sum21LS/n1LS-sum1LS*sum1LS);
622 #ifndef HIDE_PEDESTAL_CONDITIONS
623  double diffm1LS = sum1LS-refm;
624  double diffr1LS = rms1LS - refr;
625 #endif
626  // compute the means and diffs for the whole Run
627  sumTotal/=nTotal;
628  double rmsTotal = sqrt(sum2Total/nTotal-sumTotal*sumTotal);
629 #ifndef HIDE_PEDESTAL_CONDITIONS
630  double diffmTotal = sumTotal-refm;
631  double diffrTotal = rmsTotal - refr;
632 #endif
633  // FILL ACTUAL MEANs AND RMSs FOR THIS LS
634  _cMean1LS_Subdet.fill(did, sum1LS);
635  _cMean1LS_depth.fill(did, sum1LS);
636  _cRMS1LS_Subdet.fill(did, rms1LS);
637  _cRMS1LS_depth.fill(did, rms1LS);
638 
639  // FILL THE DIFFERENCES FOR THIS LS
640 #ifndef HIDE_PEDESTAL_CONDITIONS
641  _cMeanDBRef1LS_Subdet.fill(did, diffm1LS);
642  _cMeanDBRef1LS_depth.fill(did, diffm1LS);
643  _cRMSDBRef1LS_Subdet.fill(did, diffr1LS);
644  _cRMSDBRef1LS_depth.fill(did, diffr1LS);
645 #endif
646  // FILL ACTUAL MEANs AND RMSs FOR THE WHOLE RUN
647  _cMeanTotal_Subdet.fill(did, sumTotal);
648  _cMeanTotal_depth.fill(did, sumTotal);
649  _cRMSTotal_Subdet.fill(did, rmsTotal);
650  _cRMSTotal_depth.fill(did, rmsTotal);
651 
652  // FILL THE DIFFERENCES FOR THE WHOLE RUN
653 #ifndef HIDE_PEDESTAL_CONDITIONS
654  _cMeanDBRefTotal_Subdet.fill(did, diffmTotal);
655  _cMeanDBRefTotal_depth.fill(did, diffmTotal);
656  _cRMSDBRefTotal_Subdet.fill(did, diffrTotal);
657  _cRMSDBRefTotal_depth.fill(did, diffrTotal);
658 #endif
659  // FOR THIS LS
660  if (_ptype != fOffline) { // hidefed2crate
661  if (eid.isVMEid())
662  {
663  _cMean1LS_FEDVME.fill(eid, sum1LS);
664  _cRMS1LS_FEDVME.fill(eid, rms1LS);
665  _cMeanDBRef1LS_FEDVME.fill(eid, diffm1LS);
666  _cRMSDBRef1LS_FEDVME.fill(eid, diffr1LS);
667  }
668  else
669  {
670  _cMean1LS_FEDuTCA.fill(eid, sum1LS);
671  _cRMS1LS_FEDuTCA.fill(eid, rms1LS);
672  _cMeanDBRef1LS_FEDuTCA.fill(eid, diffm1LS);
673  _cRMSDBRef1LS_FEDuTCA.fill(eid, diffr1LS);
674  }
675 
676  // FOR THE WHOLE RUN
677  if (eid.isVMEid())
678  {
679  _cMeanTotal_FEDVME.fill(eid, sumTotal);
680  _cRMSTotal_FEDVME.fill(eid, rmsTotal);
681  _cMeanDBRefTotal_FEDVME.fill(eid, diffmTotal);
682  _cRMSDBRefTotal_FEDVME.fill(eid, diffrTotal);
683  }
684  else
685  {
686  _cMeanTotal_FEDuTCA.fill(eid, sumTotal);
687  _cRMSTotal_FEDuTCA.fill(eid, rmsTotal);
688  _cMeanDBRefTotal_FEDuTCA.fill(eid, diffmTotal);
689  _cRMSDBRefTotal_FEDuTCA.fill(eid, diffrTotal);
690  }
691  }
692 
693  // FOR THE CURRENT LS COMPARE MEANS AND RMSS
694 #ifndef HIDE_PEDESTAL_CONDITIONS
695  if (fabs(diffm1LS)>_thresh_mean)
696  {
699  if (_ptype != fOffline) { // hidefed2crate
700  if (eid.isVMEid())
702  else
704  _xNBadMean1LS.get(eid)++;
705  }
706  }
707  if (fabs(diffr1LS)>_thresh_rms)
708  {
709  _cRMSBad1LS_depth.fill(did);
711  if (_ptype != fOffline) { // hidefed2crate
712  if (eid.isVMEid())
714  else
716  _xNBadRMS1LS.get(eid)++;
717  }
718  }
719 
720  // FOR THIS RUN
721  if (fabs(diffmTotal)>_thresh_mean)
722  {
724  if (_ptype != fOffline) { // hidefed2crate
725  if (eid.isVMEid())
727  else
729  }
730  }
731  if (fabs(diffrTotal)>_thresh_rms)
732  {
734  if (_ptype != fOffline) { // hidefed2crate
735  if (eid.isVMEid())
737  else
739  }
740  }
741 #endif
742 
743  }
744 
745  // SET THE FLAGS FOR THIS LS
746  if (_ptype != fOffline) { // hidefed2crate
747  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
748  it!=_vhashFEDs.end(); ++it)
749  {
750  hcaldqm::flag::Flag fSum("PED");
752 
753  std::vector<uint32_t>::const_iterator jt=
754  std::find(_vcdaqEids.begin(), _vcdaqEids.end(), (*it));
755  if (jt==_vcdaqEids.end())
756  {
757  // not @cDAQ
758  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
759  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
760  int(hcaldqm::flag::fNCDAQ));
762  continue;
763  }
764 
765  // @cDAQ
768  {
769  double frmissing = double(_xNMsn1LS.get(eid))/
770  double(_xNChs.get(eid));
771  double frbadm = _xNBadMean1LS.get(eid)/_xNChs.get(eid);
772  double frbadr = _xNBadRMS1LS.get(eid)/_xNChs.get(eid);
773 
774  if (frmissing>=_thresh_missing_high)
775  _vflags[fMsn]._state = hcaldqm::flag::fBAD;
776  else if (frmissing>=_thresh_missing_low)
778  else
780  if (frbadm>=_thresh_badm)
782  else
784  if (frbadr>=_thresh_badr)
786  else
788  }
789 
790  int iflag=0;
791  for (std::vector<hcaldqm::flag::Flag>::iterator ft=_vflags.begin();
792  ft!=_vflags.end(); ++ft)
793  {
795  int(ft->_state));
796  fSum+=(*ft);
797  iflag++;
798  ft->reset();
799  }
801  }
802  }
803 
804  // reset the pedestal containers instead of writting reset... func
806 
807 }
808 
810  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
811 {
812  DQTask::beginLuminosityBlock(lb, es);
813 }
814 
815 /* virtual */ void PedestalTask::endRun(edm::Run const& r,
816  edm::EventSetup const&)
817 {
818  if (_ptype==fLocal)
819  {
820  if (r.runAuxiliary().run()==1)
821  return;
822  else
823  this->_dump();
824  }
825  else if (_ptype==fOnline)
826  return;
827 }
828 
830  edm::LuminosityBlock const& lb, edm::EventSetup const& es)
831 {
832  if (_ptype==fLocal)
833  return;
834  this->_dump();
835 
836  DQTask::endLuminosityBlock(lb, es);
837 }
838 
839 /* virtual */ void PedestalTask::_process(edm::Event const& e,
840  edm::EventSetup const& es)
841 {
845 
846  if (!e.getByToken(_tokHBHE, chbhe))
847  _logger.dqmthrow("Collection HBHEDigiCollection isn't available"
848  + _tagHBHE.label() + " " + _tagHBHE.instance());
849  if (!e.getByToken(_tokHO, cho))
850  _logger.dqmthrow("Collection HODigiCollection isn't available"
851  + _tagHO.label() + " " + _tagHO.instance());
852  if (!e.getByToken(_tokHF, chf))
853  _logger.dqmthrow("Collection QIE10DigiCollection isn't available"
854  + _tagHF.label() + " " + _tagHF.instance());
855 
856  int nHB(0), nHE(0), nHO(0), nHF(0);
857  for (HBHEDigiCollection::const_iterator it=chbhe->begin();
858  it!=chbhe->end(); ++it)
859  {
860  const HBHEDataFrame digi = (const HBHEDataFrame)(*it);
861  HcalDetId did = digi.id();
862  int digiSizeToUse = floor(digi.size()/constants::CAPS_NUM)*
864  did.subdet()==HcalBarrel ? nHB++ : nHE++;
865 
866  for (int i=0; i<digiSizeToUse; i++)
867  {
868  _cADC_SubdetPM.fill(did, it->sample(i).adc());
869 
870  _xPedSum1LS.get(did)+=it->sample(i).adc();
871  _xPedSum21LS.get(did)+=it->sample(i).adc()*it->sample(i).adc();
872  _xPedEntries1LS.get(did)++;
873 
874  _xPedSumTotal.get(did)+=it->sample(i).adc();
875  _xPedSum2Total.get(did)+=it->sample(i).adc()*it->sample(i).adc();
876  _xPedEntriesTotal.get(did)++;
877  }
878  }
880  _currentLS, nHB);
882  _currentLS, nHE);
883 
885  it!=cho->end(); ++it)
886  {
887  const HODataFrame digi = (const HODataFrame)(*it);
888  HcalDetId did = digi.id();
889  int digiSizeToUse = floor(digi.size()/constants::CAPS_NUM)*
891  nHO++;
892  for (int i=0; i<digiSizeToUse; i++)
893  {
894  _cADC_SubdetPM.fill(did, it->sample(i).adc());
895 
896  _xPedSum1LS.get(did)+=it->sample(i).adc();
897  _xPedSum21LS.get(did)+=it->sample(i).adc()*it->sample(i).adc();
898  _xPedEntries1LS.get(did)++;
899 
900  _xPedSumTotal.get(did)+=it->sample(i).adc();
901  _xPedSum2Total.get(did)+=it->sample(i).adc()*it->sample(i).adc();
902  _xPedEntriesTotal.get(did)++;
903  }
904  }
906  _currentLS, nHO);
907 
909  it!=chf->end(); ++it)
910  {
911  const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
912  HcalDetId did = digi.detid();
913  int digiSizeToUse = floor(digi.samples()/constants::CAPS_NUM)*
915  nHF++;
916  for (int i=0; i<digiSizeToUse; i++)
917  {
918  _cADC_SubdetPM.fill(did, digi[i].adc());
919 
920  _xPedSum1LS.get(did)+=digi[i].adc();
921  _xPedSum21LS.get(did)+=digi[i].adc()*digi[i].adc();
922  _xPedEntries1LS.get(did)++;
923 
924  _xPedSumTotal.get(did)+=digi[i].adc();
925  _xPedSum2Total.get(did)+=digi[i].adc()*digi[i].adc();
926  _xPedEntriesTotal.get(did)++;
927  }
928  }
930  _currentLS, nHF);
931 }
932 
933 /* virtual */ bool PedestalTask::_isApplicable(edm::Event const& e)
934 {
935  if (_ptype==fOnline)
936  {
938  if (!e.getByToken(_tokuMN, cumn))
939  return false;
940 
941  // for online just check the event type not the user Word
942  uint8_t eventType = cumn->eventType();
943  if (eventType == constants::EVENTTYPE_PEDESTAL)
944  return true;
945  }
946  else
947  {
948  // local
950  if (!e.getByToken(_tokTrigger, ctrigger))
951  _logger.dqmthrow("Collection HcalTBTriggerData isn't available"
952  + _tagTrigger.label() + " " + _tagTrigger.instance());
953  return ctrigger->wasSpillIgnorantPedestalTrigger();
954  }
955 
956  return false;
957 }
958 
int adc(sample_type sample)
get the ADC sample (12 bits)
int samples() const
total number of samples in the digi
hcaldqm::ContainerXXX< double > _xPedRefRMS
Definition: PedestalTask.h:91
edm::InputTag _taguMN
Definition: PedestalTask.h:48
edm::InputTag _tagHF
Definition: PedestalTask.h:46
hcaldqm::Container2D _cMissing1LS_depth
Definition: PedestalTask.h:143
T getUntrackedParameter(std::string const &, T const &) const
double _thresh_badm
Definition: PedestalTask.h:72
hcaldqm::ContainerProf2D _cRMSTotal_FEDVME
Definition: PedestalTask.h:111
hcaldqm::ContainerXXX< double > _xPedSumTotal
Definition: PedestalTask.h:82
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:68
double _thresh_badr
Definition: PedestalTask.h:72
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
hcaldqm::Container2D _cMissingTotal_depth
Definition: PedestalTask.h:146
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
hcaldqm::Container1D _cMeanTotal_Subdet
Definition: PedestalTask.h:94
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:13
uint32_t rawId() const
hcaldqm::ContainerProf2D _cMean1LS_depth
Definition: PedestalTask.h:100
hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDVME
Definition: PedestalTask.h:121
hcaldqm::Container1D _cMeanDBRef1LS_Subdet
Definition: PedestalTask.h:115
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
hcaldqm::ContainerProf2D _cRMSDBRef1LS_depth
Definition: PedestalTask.h:120
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::Container1D _cMean1LS_Subdet
Definition: PedestalTask.h:96
hcaldqm::ContainerXXX< int > _xPedEntries1LS
Definition: PedestalTask.h:81
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
hcaldqm::Container2D _cMeanBad1LS_FEDuTCA
Definition: PedestalTask.h:156
hcaldqm::Container1D _cRMSTotal_Subdet
Definition: PedestalTask.h:95
hcaldqm::Container1D _cNBadRMSvsLS_Subdet
Definition: PedestalTask.h:137
hcaldqm::Container2D _cRMSBadTotal_depth
Definition: PedestalTask.h:159
hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDVME
Definition: PedestalTask.h:130
int size() const
total number of samples in the digi
Definition: HBHEDataFrame.h:26
hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDuTCA
Definition: PedestalTask.h:124
UpdateFreq
Definition: DQTask.h:17
hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDVME
Definition: PedestalTask.h:128
State _state
Definition: Flag.h:79
edm::InputTag _tagHBHE
Definition: PedestalTask.h:44
hcaldqm::ContainerProf2D _cRMSTotal_depth
Definition: PedestalTask.h:108
std::vector< HBHEDataFrame >::const_iterator const_iterator
edm::InputTag _tagHO
Definition: PedestalTask.h:45
hcaldqm::ContainerXXX< double > _xPedSum1LS
Definition: PedestalTask.h:79
hcaldqm::ContainerXXX< int > _xPedEntriesTotal
Definition: PedestalTask.h:84
int const SPIGOT_MIN
Definition: Constants.h:93
hcaldqm::ContainerXXX< double > _xPedSum21LS
Definition: PedestalTask.h:80
hcaldqm::Container2D _cMeanBadTotal_FEDuTCA
Definition: PedestalTask.h:163
hcaldqm::ContainerProf2D _cMeanTotal_FEDVME
Definition: PedestalTask.h:109
hcaldqm::Container2D _cRMSBadTotal_FEDuTCA
Definition: PedestalTask.h:161
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
const_iterator begin() const
hcaldqm::Container2D _cRMSBad1LS_depth
Definition: PedestalTask.h:152
virtual void reset()
Definition: ContainerXXX.h:366
hcaldqm::ContainerProf2D _cRMSDBRefTotal_depth
Definition: PedestalTask.h:127
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
std::vector< uint32_t > _vhashFEDs
Definition: PedestalTask.h:76
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:116
int const FIBER_VME_MIN
Definition: Constants.h:98
hcaldqm::Container1D _cMissingvsLS_Subdet
Definition: PedestalTask.h:134
hcaldqm::Container2D _cRMSBadTotal_FEDVME
Definition: PedestalTask.h:162
void bookHistograms(fwlite::EventContainer &eventCont)
hcaldqm::ContainerProf2D _cMean1LS_FEDVME
Definition: PedestalTask.h:102
virtual void endRun(edm::Run const &, edm::EventSetup const &)
const HcalDetId & id() const
Definition: HODataFrame.h:23
hcaldqm::Container2D _cRMSBad1LS_FEDVME
Definition: PedestalTask.h:155
int const FIBERCH_MIN
Definition: Constants.h:108
edm::EDGetTokenT< HcalTBTriggerData > _tokTrigger
Definition: PedestalTask.h:53
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
double _thresh_missing_low
Definition: PedestalTask.h:73
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:110
hcaldqm::filter::HashFilter _filter_C36
Definition: PedestalTask.h:69
hcaldqm::Container1D _cRMS1LS_Subdet
Definition: PedestalTask.h:97
virtual void _resetMonitors(hcaldqm::UpdateFreq)
hcaldqm::Container1D _cOccupancyvsLS_Subdet
Definition: PedestalTask.h:135
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:73
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, int debug=0)
hcaldqm::ContainerProf2D _cMean1LS_FEDuTCA
Definition: PedestalTask.h:103
void reset()
Definition: Flag.h:76
int const CAPS_NUM
Definition: Constants.h:183
std::vector< hcaldqm::flag::Flag > _vflags
Definition: PedestalTask.h:55
virtual void setBinContent(int, int, int)
hcaldqm::ContainerXXX< int > _xNChs
Definition: PedestalTask.h:85
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:55
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:105
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: PedestalTask.h:49
HcalElectronicsMap const * _emap
Definition: PedestalTask.h:65
hcaldqm::Container1D _cRMSDBRefTotal_Subdet
Definition: PedestalTask.h:118
int size() const
total number of samples in the digi
Definition: HODataFrame.h:27
hcaldqm::ContainerProf2D _cRMS1LS_FEDVME
Definition: PedestalTask.h:104
hcaldqm::Container2D _cMeanBadTotal_depth
Definition: PedestalTask.h:158
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:101
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: PedestalTask.h:50
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
Definition: PedestalTask.h:52
hcaldqm::Container1D _cADC_SubdetPM
Definition: PedestalTask.h:165
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:145
hcaldqm::ContainerProf1D _cOccupancyEAvsLS_Subdet
Definition: PedestalTask.h:140
hcaldqm::filter::HashFilter _filter_VME
Definition: PedestalTask.h:68
hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDuTCA
Definition: PedestalTask.h:122
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: PedestalTask.h:66
std::string _name
Definition: DQModule.h:57
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:73
hcaldqm::Container2D _cMeanBad1LS_depth
Definition: PedestalTask.h:151
const_iterator end() const
hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDuTCA
Definition: PedestalTask.h:129
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: PedestalTask.h:169
hcaldqm::ContainerProf2D _cRMS1LS_depth
Definition: PedestalTask.h:101
hcaldqm::Container2D _cMissing1LS_FEDVME
Definition: PedestalTask.h:144
hcaldqm::Container2D _cRMSBad1LS_FEDuTCA
Definition: PedestalTask.h:154
hcaldqm::Container1D _cNBadMeanvsLS_Subdet
Definition: PedestalTask.h:136
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:163
hcaldqm::ContainerProf2D _cMeanTotal_depth
Definition: PedestalTask.h:107
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:126
const T & get() const
Definition: EventSetup.h:56
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
Definition: PedestalTask.cc:42
hcaldqm::ContainerProf2D _cMeanDBRef1LS_depth
Definition: PedestalTask.h:119
hcaldqm::ContainerProf2D _cRMSTotal_FEDuTCA
Definition: PedestalTask.h:112
RunAuxiliary const & runAuxiliary() const
Definition: Run.h:59
edm::InputTag _tagTrigger
Definition: PedestalTask.h:47
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:281
const_iterator end() const
hcaldqm::Container1D _cMeanDBRefTotal_Subdet
Definition: PedestalTask.h:117
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: PedestalTask.h:51
hcaldqm::ContainerXXX< double > _xPedSum2Total
Definition: PedestalTask.h:83
double _thresh_mean
Definition: PedestalTask.h:72
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:249
hcaldqm::ContainerXXX< int > _xNMsn1LS
Definition: PedestalTask.h:86
hcaldqm::Container2D _cMeanBadTotal_FEDVME
Definition: PedestalTask.h:160
virtual bool _isApplicable(edm::Event const &)
hcaldqm::ContainerXXX< int > _xNBadRMS1LS
Definition: PedestalTask.h:87
bool wasSpillIgnorantPedestalTrigger() const
returns true if this trigger was a calibration trigger
hcaldqm::Container2D _cMissingTotal_FEDuTCA
Definition: PedestalTask.h:148
hcaldqm::ContainerXXX< double > _xPedRefMean
Definition: PedestalTask.h:90
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:86
virtual void _dump()
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:136
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:131
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:210
hcaldqm::Container2D _cMissingTotal_FEDVME
Definition: PedestalTask.h:147
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
hcaldqm::ContainerXXX< int > _xNBadMean1LS
Definition: PedestalTask.h:87
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:110
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
const HcalPedestal * getPedestal(const HcalGenericDetId &fId) const
hcaldqm::Container2D _cMeanBad1LS_FEDVME
Definition: PedestalTask.h:153
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDVME
Definition: PedestalTask.h:123
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:185
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: PedestalTask.h:168
RunNumber_t run() const
Definition: RunAuxiliary.h:41
double _thresh_rms
Definition: PedestalTask.h:72
virtual void set(HcalDetId const &, STDTYPE)
Definition: ContainerXXX.h:229
int const SLOT_uTCA_MIN
Definition: Constants.h:80
const_iterator begin() const
Definition: Run.h:42
hcaldqm::filter::HashFilter _filter_uTCA
Definition: PedestalTask.h:67
ib
Definition: cuy.py:660