CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
DigiTask Class Reference

#include <DigiTask.h>

Inheritance diagram for DigiTask:
hcaldqm::DQTask one::DQMEDAnalyzer< one::DQMLuminosityBlockElements > hcaldqm::DQModule one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 DigiTask (edm::ParameterSet const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 ~DigiTask () override
 
- Public Member Functions inherited from hcaldqm::DQTask
void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQTask (edm::ParameterSet const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 ~DQTask () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< one::DQMLuminosityBlockElements >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule ()(false)
 

Protected Types

enum  DigiFlag {
  fDigiSize = 0, fUni = 1, fNChsHF = 2, fUnknownIds = 3,
  fLED = 4, fCapId = 5, nDigiFlag = 6
}
 

Protected Member Functions

void _process (edm::Event const &, edm::EventSetup const &) override
 
void _resetMonitors (hcaldqm::UpdateFreq) override
 
- Protected Member Functions inherited from hcaldqm::DQTask
virtual int _getCalibType (edm::Event const &)
 
virtual bool _isApplicable (edm::Event const &)
 

Protected Attributes

hcaldqm::Container1D _cADC_SubdetPM
 
hcaldqm::Container1D _cADC_SubdetPM_QIE1011
 
hcaldqm::Container2D _cADCvsTS_SubdetPM
 
hcaldqm::Container2D _cADCvsTS_SubdetPM_QIE1011
 
std::map< HcalSubdetector, short > _capidmbx
 
hcaldqm::Container2D _cBadTDCCount_depth
 
hcaldqm::Container1D _cBadTDCValues
 
hcaldqm::Container1D _cBadTDCValues_SubdetPM
 
hcaldqm::Container1D _cBadTDCvsBX
 
hcaldqm::Container1D _cBadTDCvsBX_SubdetPM
 
hcaldqm::Container1D _cBadTDCvsLS
 
hcaldqm::Container1D _cBadTDCvsLS_SubdetPM
 
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS
 
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLSmod60
 
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA [4]
 
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotVME [4]
 
hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM
 
hcaldqm::Container1D _cDigiSize_Crate
 
hcaldqm::Container1D _cDigiSize_FED
 
hcaldqm::ContainerProf1D _cDigiSizevsLS_FED
 
hcaldqm::Container1D _cfC_SubdetPM
 
hcaldqm::Container1D _cfC_SubdetPM_QIE1011
 
hcaldqm::ContainerProf2D _cLETDCTime_depth
 
hcaldqm::Container1D _cLETDCTime_SubdetPM
 
hcaldqm::Container2D _cLETDCTimevsADC_SubdetPM
 
hcaldqm::Container2D _cLETDCvsADC_2bit_SubdetPM
 
hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM
 
hcaldqm::Container2D _cLETDCvsTS_2bit_SubdetPM
 
hcaldqm::Container2D _cLETDCvsTS_6bit_SubdetPM
 
hcaldqm::Container2D _cOccupancy_Crate
 
hcaldqm::Container2D _cOccupancy_CrateSlot
 
hcaldqm::Container2D _cOccupancy_depth
 
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
 
hcaldqm::Container2D _cOccupancy_ElectronicsVME
 
hcaldqm::Container2D _cOccupancy_FEDuTCA
 
hcaldqm::Container2D _cOccupancy_FEDVME
 
hcaldqm::Container2D _cOccupancyCut_depth
 
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
 
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
 
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
 
hcaldqm::Container2D _cOccupancyCut_FEDVME
 
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
 
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
 
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
 
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
 
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
 
hcaldqm::Container1D _cOccupancyvsieta_Subdet
 
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
 
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
 
hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF
 
hcaldqm::Container1D _cShapeCut_FED
 
hcaldqm::ContainerSingle2D _cSummaryvsLS
 
hcaldqm::Container2D _cSummaryvsLS_FED
 
hcaldqm::ContainerProf2D _cSumQ_depth
 
hcaldqm::Container1D _cSumQ_SubdetPM
 
hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011
 
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM
 
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011
 
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM
 
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM_QIE1011
 
hcaldqm::ContainerProf2D _cTimingCut_depth
 
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
 
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
 
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
 
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
 
hcaldqm::Container1D _cTimingCut_SubdetPM
 
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
 
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
 
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
 
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
 
double _cutSumQ_HBHE
 
double _cutSumQ_HF
 
double _cutSumQ_HO
 
hcaldqm::electronicsmap::ElectronicsMap _dhashmap
 
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
 
hcaldqm::filter::HashFilter _filter_FEDHF
 
hcaldqm::filter::HashFilter _filter_QIE1011
 
hcaldqm::filter::HashFilter _filter_QIE8
 
hcaldqm::filter::HashFilter _filter_TDC2bit
 
hcaldqm::filter::HashFilter _filter_TDC6bit
 
hcaldqm::filter::HashFilter _filter_uTCA
 
hcaldqm::filter::HashFilter _filter_VME
 
hcaldqm::Container2D _LED_ADCvsBX_Subdet
 
hcaldqm::Container1D _LED_CUCountvsLS_Subdet
 
hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet
 
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
 
bool _qie10InConditions
 
std::map< HcalSubdetector, int > _refDigiSize
 
edm::InputTag _tagHO
 
edm::InputTag _tagQIE10
 
edm::InputTag _tagQIE11
 
double _thresh_led
 
double _thresh_unihf
 
edm::EDGetTokenT< HODigiCollection_tokHO
 
edm::EDGetTokenT< QIE10DigiCollection_tokQIE10
 
edm::EDGetTokenT< QIE11DigiCollection_tokQIE11
 
bool _unknownIdsPresent
 
std::vector< hcaldqm::flag::Flag_vflags
 
std::vector< uint32_t > _vhashFEDs
 
hcaldqm::ContainerXXX< uint32_t > _xBadCapid
 
hcaldqm::ContainerXXX< uint32_t > _xDigiSize
 
hcaldqm::ContainerXXX< uint32_t > _xNChs
 
hcaldqm::ContainerXXX< uint32_t > _xNChsNominal
 
hcaldqm::ContainerXXX< uint32_t > _xUni
 
hcaldqm::ContainerXXX< uint32_t > _xUniHF
 
MonitorElementmeNumEvents1LS
 
MonitorElementmeUnknownIds1LS
 
- Protected Attributes inherited from hcaldqm::DQTask
ContainerI _cEvsPerLS
 
ContainerI _cEvsTotal
 
ContainerS _cProcessingTypeName
 
ContainerS _cRunKeyName
 
ContainerI _cRunKeyVal
 
edm::ESHandle< HcalDbService_dbService
 
HcalElectronicsMap const * _emap
 
int _procLSs
 
edm::InputTag _tagRaw
 
edm::EDGetTokenT< FEDRawDataCollection_tokRaw
 
std::vector< uint32_t > _vcdaqEids
 
ContainerXXX< uint32_t > _xQuality
 
- Protected Attributes inherited from hcaldqm::DQModule
int _currentLS
 
int _debug
 
int _evsPerLS
 
int _evsTotal
 
Logger _logger
 
int _maxLS
 
ModuleType _mtype
 
std::string _name
 
ProcessingType _ptype
 
std::string _runkeyName
 
int _runkeyVal
 
std::string _subsystem
 

Detailed Description

file: DigiTask.h Author: VK Description: HCAL DIGI Data Tier Processing.

Online:

Offline:

Definition at line 29 of file DigiTask.h.

Member Enumeration Documentation

enum DigiTask::DigiFlag
protected
Enumerator
fDigiSize 
fUni 
fNChsHF 
fUnknownIds 
fLED 
fCapId 
nDigiFlag 

Definition at line 54 of file DigiTask.h.

Constructor & Destructor Documentation

DigiTask::DigiTask ( edm::ParameterSet const &  ps)

Definition at line 7 of file DigiTask.cc.

References _capidmbx, _cutSumQ_HBHE, _cutSumQ_HF, _cutSumQ_HO, _ledCalibrationChannels, _qie10InConditions, _refDigiSize, _tagHO, _tagQIE10, _tagQIE11, _thresh_led, _thresh_unihf, _tokHO, _tokQIE10, _tokQIE11, _vflags, fCapId, fDigiSize, nanoDQM_cff::Flag, fLED, fNChsHF, fUni, fUnknownIds, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HcalBarrel, HcalEmpty, HcalEndcap, HcalForward, HcalOther, HcalOuter, mps_fire::i, createfilelist::int, and nDigiFlag.

7  : DQTask(ps) {
8  _tagQIE11 = ps.getUntrackedParameter<edm::InputTag>("tagHE",
9  edm::InputTag("hcalDigis"));
10  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO",
11  edm::InputTag("hcalDigis"));
12  _tagQIE10 = ps.getUntrackedParameter<edm::InputTag>("tagHF",
13  edm::InputTag("hcalDigis"));
14 
15  _tokQIE11 = consumes<QIE11DigiCollection>(_tagQIE11);
16  _tokHO = consumes<HODigiCollection>(_tagHO);
17  _tokQIE10 = consumes<QIE10DigiCollection>(_tagQIE10);
18 
19  _cutSumQ_HBHE = ps.getUntrackedParameter<double>("cutSumQ_HBHE", 20);
20  _cutSumQ_HO = ps.getUntrackedParameter<double>("cutSumQ_HO", 20);
21  _cutSumQ_HF = ps.getUntrackedParameter<double>("cutSumQ_HF", 20);
22  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
23  _thresh_led = ps.getUntrackedParameter<double>("thresh_led", 20);
24 
25  _vflags.resize(nDigiFlag);
26  _vflags[fUni] = hcaldqm::flag::Flag("UniSlotHF");
27  _vflags[fDigiSize] = hcaldqm::flag::Flag("DigiSize");
28  _vflags[fNChsHF] = hcaldqm::flag::Flag("NChsHF");
29  _vflags[fUnknownIds] = hcaldqm::flag::Flag("UnknownIds");
30  _vflags[fLED] = hcaldqm::flag::Flag("LEDMisfire");
31  _vflags[fCapId] = hcaldqm::flag::Flag("BadCapId");
32 
33  _qie10InConditions = ps.getUntrackedParameter<bool>("qie10InConditions", true);
34 
35  // Get reference digi sizes. Convert from unsigned to signed int, because <digi>::size()/samples() return ints for some reason.
36  std::vector<uint32_t> vrefDigiSize = ps.getUntrackedParameter<std::vector<uint32_t>>("refDigiSize");
37  _refDigiSize[HcalBarrel] = (int)vrefDigiSize[0];
38  _refDigiSize[HcalEndcap] = (int)vrefDigiSize[1];
39  _refDigiSize[HcalOuter] = (int)vrefDigiSize[2];
40  _refDigiSize[HcalForward] = (int)vrefDigiSize[3];
41 
42  // (capid - BX) % 4 to 1
43  _capidmbx[HcalBarrel] = 1;
44  _capidmbx[HcalEndcap] = 1;
45  _capidmbx[HcalOuter] = 1;
47 
48  // LED calibration channels
49  std::vector<edm::ParameterSet> vLedCalibChannels =
50  ps.getParameter<std::vector<edm::ParameterSet>>("ledCalibrationChannels");
51  for (int i = 0; i <= 3; ++i) {
52  HcalSubdetector this_subdet = HcalEmpty;
53  switch (i) {
54  case 0:
55  this_subdet = HcalBarrel;
56  break;
57  case 1:
58  this_subdet = HcalEndcap;
59  break;
60  case 2:
61  this_subdet = HcalOuter;
62  break;
63  case 3:
64  this_subdet = HcalForward;
65  break;
66  default:
67  this_subdet = HcalEmpty;
68  break;
69  }
70  std::vector<int32_t> subdet_calib_ietas = vLedCalibChannels[i].getUntrackedParameter<std::vector<int32_t>>("ieta");
71  std::vector<int32_t> subdet_calib_iphis = vLedCalibChannels[i].getUntrackedParameter<std::vector<int32_t>>("iphi");
72  std::vector<int32_t> subdet_calib_depths =
73  vLedCalibChannels[i].getUntrackedParameter<std::vector<int32_t>>("depth");
74  for (unsigned int ichannel = 0; ichannel < subdet_calib_ietas.size(); ++ichannel) {
75  _ledCalibrationChannels[this_subdet].push_back(HcalDetId(
76  HcalOther, subdet_calib_ietas[ichannel], subdet_calib_iphis[ichannel], subdet_calib_depths[ichannel]));
77  }
78  }
79 }
bool _qie10InConditions
Definition: DigiTask.h:186
double _thresh_led
Definition: DigiTask.h:191
edm::InputTag _tagQIE10
Definition: DigiTask.h:44
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:5
edm::InputTag _tagHO
Definition: DigiTask.h:43
std::map< HcalSubdetector, int > _refDigiSize
Definition: DigiTask.h:59
double _cutSumQ_HO
Definition: DigiTask.h:49
double _thresh_unihf
Definition: DigiTask.h:50
std::map< HcalSubdetector, short > _capidmbx
Definition: DigiTask.h:188
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: DigiTask.h:47
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: DigiTask.h:46
double _cutSumQ_HF
Definition: DigiTask.h:49
HcalSubdetector
Definition: HcalAssistant.h:31
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: DigiTask.h:45
double _cutSumQ_HBHE
Definition: DigiTask.h:49
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
Definition: DigiTask.h:192
std::vector< hcaldqm::flag::Flag > _vflags
Definition: DigiTask.h:53
edm::InputTag _tagQIE11
Definition: DigiTask.h:42
DigiTask::~DigiTask ( )
inlineoverride

Member Function Documentation

void DigiTask::_process ( edm::Event const &  e,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements hcaldqm::DQTask.

Definition at line 816 of file DigiTask.cc.

References _cADC_SubdetPM, _cADC_SubdetPM_QIE1011, _cADCvsTS_SubdetPM, _cADCvsTS_SubdetPM_QIE1011, _capidmbx, _cBadTDCCount_depth, _cBadTDCValues_SubdetPM, _cBadTDCvsBX_SubdetPM, _cBadTDCvsLS_SubdetPM, _cCapid_BadvsFEDvsLS, _cCapid_BadvsFEDvsLSmod60, _cCapidMinusBXmod4_CrateSlotuTCA, _cCapidMinusBXmod4_CrateSlotVME, _cCapidMinusBXmod4_SubdetPM, _cDigiSize_Crate, _cDigiSize_FED, _cDigiSizevsLS_FED, _cfC_SubdetPM, _cfC_SubdetPM_QIE1011, _cLETDCTime_depth, _cLETDCTime_SubdetPM, _cLETDCTimevsADC_SubdetPM, _cLETDCvsADC_2bit_SubdetPM, _cLETDCvsADC_6bit_SubdetPM, _cLETDCvsTS_2bit_SubdetPM, _cLETDCvsTS_6bit_SubdetPM, _cOccupancy_Crate, _cOccupancy_CrateSlot, _cOccupancy_depth, _cOccupancy_ElectronicsuTCA, _cOccupancy_ElectronicsVME, _cOccupancy_FEDuTCA, _cOccupancy_FEDVME, _cOccupancyCut_depth, _cOccupancyCut_ElectronicsuTCA, _cOccupancyCut_ElectronicsVME, _cOccupancyCut_FEDuTCA, _cOccupancyCut_FEDVME, _cOccupancyCutvsBX_Subdet, _cOccupancyCutvsieta_Subdet, _cOccupancyCutvsiphi_SubdetPM, _cOccupancyCutvsiphivsLS_SubdetPM, _cOccupancyCutvsLS_Subdet, _cOccupancyvsieta_Subdet, _cOccupancyvsiphi_SubdetPM, _cOccupancyvsLS_Subdet, _cQ2Q12CutvsLS_FEDHF, _cShapeCut_FED, _cSumQ_depth, _cSumQ_SubdetPM, _cSumQ_SubdetPM_QIE1011, _cSumQvsBX_SubdetPM, _cSumQvsBX_SubdetPM_QIE1011, _cSumQvsLS_SubdetPM, _cSumQvsLS_SubdetPM_QIE1011, _cTimingCut_depth, _cTimingCut_ElectronicsuTCA, _cTimingCut_ElectronicsVME, _cTimingCut_FEDuTCA, _cTimingCut_FEDVME, _cTimingCut_SubdetPM, _cTimingCutvsieta_Subdet, _cTimingCutvsiphi_SubdetPM, _cTimingCutvsLS_FED, _cTimingCutvsLS_SubdetPM, hcaldqm::DQModule::_currentLS, _cutSumQ_HBHE, _cutSumQ_HF, _cutSumQ_HO, hcaldqm::DQTask::_dbService, _ehashmap, _LED_ADCvsBX_Subdet, _LED_CUCountvsLS_Subdet, _LED_CUCountvsLSmod60_Subdet, _ledCalibrationChannels, hcaldqm::DQModule::_logger, hcaldqm::DQModule::_ptype, _qie10InConditions, _refDigiSize, _tagHO, _tagQIE10, _tagQIE11, _thresh_led, _tokHO, _tokQIE10, _tokQIE11, _unknownIdsPresent, _xBadCapid, _xDigiSize, _xNChs, hcaldqm::DQTask::_xQuality, _xUniHF, ecalMGPA::adc(), begin, edm::SortedCollection< T, SORT >::begin(), edm::DataFrameContainer::begin(), edm::EventBase::bunchCrossing(), fwrapper::cs, QIE11DataFrame::detid(), QIE10DataFrame::detid(), Logger::dqmthrow(), runTauDisplay::eid, end, edm::SortedCollection< T, SORT >::end(), edm::DataFrameContainer::end(), hcaldqm::ContainerXXX< STDTYPE >::exists(), hcaldqm::Container2D::fill(), hcaldqm::ContainerSingle2D::fill(), hcaldqm::ContainerProf2D::fill(), hcaldqm::Container1D::fill(), MonitorElement::Fill(), spr::find(), hcaldqm::fLocal, hcaldqm::fOffline, hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::Event::getByToken(), HcalBarrel, HcalCalibration, HcalChannelStatus::HcalCellDead, HcalChannelStatus::HcalCellMask, HcalEndcap, HcalForward, HcalOther, HcalOuter, mps_fire::i, edm::InputTag::instance(), HcalElectronicsId::isVMEid(), edm::InputTag::label(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), meNumEvents1LS, meUnknownIds1LS, lumiQueryAPI::q, q1, q2, DetId::rawId(), QIE11DataFrame::samples(), QIE10DataFrame::samples(), CaloSamples::size(), HcalDetId::subdet(), hcaldqm::utilities::sumQ(), and protons_cff::time.

Referenced by ~DigiTask().

816  {
820 
821  if (!e.getByToken(_tokQIE11, c_QIE11))
822  _logger.dqmthrow("Collection QIE11DigiCollection isn't available" + _tagQIE11.label() + " " + _tagQIE11.instance());
823  if (!e.getByToken(_tokHO, c_ho))
824  _logger.dqmthrow("Collection HODigiCollection isn't available" + _tagHO.label() + " " + _tagHO.instance());
825  if (!e.getByToken(_tokQIE10, c_QIE10))
826  _logger.dqmthrow("Collection QIE10DigiCollection isn't available" + _tagQIE10.label() + " " + _tagQIE10.instance());
827 
828  // extract some info per event
829  int bx = e.bunchCrossing();
830  meNumEvents1LS->Fill(0.5); // just increment
831 
832  // To fill histograms outside of the loop, you need to determine if there were
833  // any valid det ids first
834  uint32_t rawidValid = 0;
835  uint32_t rawidHBValid = 0;
836  uint32_t rawidHEValid = 0;
837 
838  // HB collection
839  int numChs = 0;
840  int numChsCut = 0;
841  int numChsHE = 0;
842  int numChsCutHE = 0;
843 
844  // HB+HE QIE11 collection
845  for (QIE11DigiCollection::const_iterator it=c_QIE11->begin(); it!=c_QIE11->end(); ++it) {
846  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
847 
848  // Explicit check on the DetIds present in the Collection
849  HcalDetId const& did = digi.detid();
850  if ((did.subdet() != HcalBarrel) && (did.subdet() != HcalEndcap)) {
851  // LED monitoring from calibration channels
852  if (_ptype != fLocal) {
853  if (did.subdet() == HcalOther) {
854  HcalOtherDetId hodid(digi.detid());
855  if (hodid.subdet() == HcalCalibration) {
856  // New method: use configurable list of channels
859  did) != _ledCalibrationChannels[HcalEndcap].end()) {
860  bool channelLEDSignalPresent = false;
861  for (int i = 0; i < digi.samples(); i++) {
862  _LED_ADCvsBX_Subdet.fill(HcalDetId(HcalEndcap, 16, 1, 1), bx, digi[i].adc());
863 
864  if (digi[i].adc() > _thresh_led) {
865  channelLEDSignalPresent = true;
866  }
867  }
868  if (channelLEDSignalPresent) {
870  if (_ptype == fOnline) {
872  }
873  }
874  }
875  }
876  }
877  }
878  continue;
879  }
880 
881  uint32_t rawid = _ehashmap.lookup(did);
882  if (rawid == 0) {
883  meUnknownIds1LS->Fill(1);
884  _unknownIdsPresent = true;
885  continue;
886  } else {
887  if (did.subdet() == HcalBarrel) {
888  rawidHBValid = did.rawId();
889  } else if (did.subdet() == HcalEndcap) {
890  rawidHEValid = did.rawId();
891  }
892  }
893  HcalElectronicsId const& eid(rawid);
894 
895  // filter out channels that are masked out
896  if (_xQuality.exists(did)) {
897  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
899  continue;
900  }
901 
902  // (capid - BX) % 4
903  if (_ptype == fOnline) {
904  short soi = -1;
905  for (int i = 0; i < digi.samples(); i++) {
906  if (digi[i].soi()) {
907  soi = i;
908  break;
909  }
910  }
911  short this_capidmbx = (digi[soi].capid() - bx) % 4;
912  if (this_capidmbx < 0) {
913  this_capidmbx += 4;
914  }
915  _cCapidMinusBXmod4_SubdetPM.fill(did, this_capidmbx);
916  bool good_capidmbx = (_capidmbx[did.subdet()] == this_capidmbx);
917  if (!good_capidmbx) {
918  _xBadCapid.get(eid)++;
921  }
922  if (eid.isVMEid()) {
923  _cCapidMinusBXmod4_CrateSlotVME[this_capidmbx].fill(eid);
924 
925  } else {
926  _cCapidMinusBXmod4_CrateSlotuTCA[this_capidmbx].fill(eid);
927  }
928  }
929 
930  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE11DataFrame>(_dbService, did, digi);
931  double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
932 
933  _cSumQ_SubdetPM_QIE1011.fill(did, sumQ);
934  _cOccupancy_depth.fill(did);
935  if (_ptype == fOnline || _ptype == fLocal) {
938  }
939  if (_ptype == fOnline) {
940  _cDigiSizevsLS_FED.fill(eid, _currentLS, digi.samples());
941  digi.samples() != _refDigiSize[did.subdet()] ? _xDigiSize.get(eid)++ : _xDigiSize.get(eid) += 0;
944  }
945  _cDigiSize_Crate.fill(eid, digi.samples());
946  if (_ptype != fOffline) { // hidefed2crate
947  _cDigiSize_FED.fill(eid, digi.samples());
948  if (eid.isVMEid()) {
951  } else {
954  /*
955  if (!digi.validate(0, digi.size()))
956  {
957  _cCapIdRots_depth.fill(did);
958  _cCapIdRots_FEDuTCA.fill(eid, 1);
959  }*/
960  }
961  }
962  for (int i = 0; i < digi.samples(); i++) {
963  double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(_dbService, digi_fC, did, digi, i);
964  _cADC_SubdetPM_QIE1011.fill(did, digi[i].adc());
965  _cfC_SubdetPM_QIE1011.fill(did, q);
966 
967  if (did.subdet() == HcalBarrel) {
968  _cLETDCvsADC_2bit_SubdetPM.fill(did, digi[i].adc(), digi[i].tdc());
969  _cLETDCvsTS_2bit_SubdetPM.fill(did, (int)i, digi[i].tdc());
970 
971  if (digi[i].tdc() < 2) {
972  double time = i * 25. + (digi[i].tdc() * 12.5);
973  _cLETDCTime_SubdetPM.fill(did, time);
974  _cLETDCTime_depth.fill(did, time);
975  _cLETDCTimevsADC_SubdetPM.fill(did, digi[i].adc(), time);
976  }
977  } else if (did.subdet() == HcalEndcap) {
978  _cLETDCvsADC_6bit_SubdetPM.fill(did, digi[i].adc(), digi[i].tdc());
979  _cLETDCvsTS_6bit_SubdetPM.fill(did, (int)i, digi[i].tdc());
980  if (digi[i].tdc() < 50) {
981  double time = i * 25. + (digi[i].tdc() / 2.);
982  _cLETDCTime_SubdetPM.fill(did, time);
983  _cLETDCTime_depth.fill(did, time);
984  _cLETDCTimevsADC_SubdetPM.fill(did, digi[i].adc(), time);
985  }
986  // Bad TDC values: 50-61 should never happen in QIE10 or QIE11, but we saw some in 2017 data.
987  if ((50 <= digi[i].tdc()) && (digi[i].tdc() <= 61)) {
988  _cBadTDCValues_SubdetPM.fill(did, digi[i].tdc());
989  _cBadTDCvsBX_SubdetPM.fill(did, bx);
992  }
993  }
994  if (_ptype != fOffline) { // hidefed2crate
995  _cADCvsTS_SubdetPM_QIE1011.fill(did, i, digi[i].adc());
996  if (sumQ > _cutSumQ_HBHE) {
997  _cShapeCut_FED.fill(eid, i, q);
998  }
999  }
1000  }
1001 
1002  if (sumQ > _cutSumQ_HBHE) {
1003  //double timing = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(digi, 2.5, 0,digi.samples()-1);
1004  double timing =
1005  hcaldqm::utilities::aveTSDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
1006  _cTimingCut_SubdetPM.fill(did, timing);
1007  _cTimingCut_depth.fill(did, timing);
1010  if (_ptype != fOffline) { // hidefed2crate
1012  }
1013  _cSumQ_depth.fill(did, sumQ);
1015  if (_ptype == fOnline) {
1016  _cSumQvsBX_SubdetPM_QIE1011.fill(did, bx, sumQ);
1017  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
1018  _cTimingCutvsieta_Subdet.fill(did, timing);
1022  }
1023  if (_ptype != fOffline) { // hidefed2crate
1024  if (eid.isVMEid()) {
1025  _cTimingCut_FEDVME.fill(eid, timing);
1029  } else {
1030  _cTimingCut_FEDuTCA.fill(eid, timing);
1034  }
1035  }
1036  did.subdet() == HcalBarrel ? numChsCut++ : numChsCutHE++;
1037  }
1038  did.subdet() == HcalBarrel ? numChs++ : numChsHE++;
1039  }
1040 
1041  if (rawidHBValid != 0 && rawidHEValid != 0) {
1042  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHBValid), _currentLS, numChs);
1043  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidHEValid), _currentLS, numChsHE);
1044  // ONLINE ONLY!
1045  if (_ptype == fOnline) {
1046  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidHBValid), _currentLS, numChsCut);
1047  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidHBValid), bx, numChsCut);
1048  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidHEValid), _currentLS, numChsCutHE);
1049  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidHEValid), bx, numChsCutHE);
1050  }
1051  // ^^^ONLINE ONLY!
1052  }
1053  numChs = 0;
1054  numChsCut = 0;
1055 
1056  // reset
1057  rawidValid = 0;
1058 
1059  // HO collection
1060  for (HODigiCollection::const_iterator it = c_ho->begin(); it != c_ho->end(); ++it) {
1061  // Explicit check on the DetIds present in the Collection
1062  HcalDetId const& did = it->id();
1063  if (did.subdet() != HcalOuter) {
1064  continue;
1065  }
1066  uint32_t rawid = _ehashmap.lookup(did);
1067  if (rawid == 0) {
1068  meUnknownIds1LS->Fill(1);
1069  _unknownIdsPresent = true;
1070  continue;
1071  } else {
1072  rawidValid = did.rawId();
1073  }
1074  HcalElectronicsId const& eid(rawid);
1075 
1076  // filter out channels that are masked out
1077  if (_xQuality.exists(did)) {
1078  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
1080  continue;
1081  }
1082 
1083  if (_ptype == fOnline) {
1084  short this_capidmbx = (it->sample(it->presamples()).capid() - bx) % 4;
1085  if (this_capidmbx < 0) {
1086  this_capidmbx += 4;
1087  }
1088  _cCapidMinusBXmod4_SubdetPM.fill(did, this_capidmbx);
1089  bool good_capidmbx = (_capidmbx[did.subdet()] == this_capidmbx);
1090  if (!good_capidmbx) {
1091  _xBadCapid.get(eid)++;
1094  }
1095  if (eid.isVMEid()) {
1096  _cCapidMinusBXmod4_CrateSlotVME[this_capidmbx].fill(eid);
1097 
1098  } else {
1099  _cCapidMinusBXmod4_CrateSlotuTCA[this_capidmbx].fill(eid);
1100  }
1101  }
1102 
1103  //double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(*it, 8.5, 0, it->size()-1);
1104  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<HODataFrame>(_dbService, did, *it);
1105  double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(_dbService, digi_fC, did, *it, 0, it->size() - 1);
1106 
1107  _cSumQ_SubdetPM.fill(did, sumQ);
1108  _cOccupancy_depth.fill(did);
1109  if (_ptype == fOnline) {
1110  _cDigiSizevsLS_FED.fill(eid, _currentLS, it->size());
1111  it->size() != _refDigiSize[did.subdet()] ? _xDigiSize.get(eid)++ : _xDigiSize.get(eid) += 0;
1114  }
1115  _cDigiSize_Crate.fill(eid, it->size());
1116  if (_ptype != fOffline) { // hidefed2crate
1117  _cDigiSize_FED.fill(eid, it->size());
1118  if (eid.isVMEid()) {
1121  /*
1122  if (!it->validate(0, it->size()))
1123  _cCapIdRots_FEDVME.fill(eid, 1);
1124  */
1125  } else {
1128  /*
1129  if (!it->validate(0, it->size()))
1130  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
1131  }
1132  }
1133 
1134  for (int i = 0; i < it->size(); i++) {
1135  _cADC_SubdetPM.fill(did, it->sample(i).adc());
1136  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
1137  if (_ptype != fOffline) { // hidefed2crate
1138  _cADCvsTS_SubdetPM.fill(did, i, it->sample(i).adc());
1139  if (sumQ > _cutSumQ_HO)
1140  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
1141  }
1142  }
1143 
1144  if (sumQ > _cutSumQ_HO) {
1145  //double timing = hcaldqm::utilities::aveTS<HODataFrame>(*it, 8.5, 0,it->size()-1);
1146  double timing = hcaldqm::utilities::aveTSDB<HODataFrame>(_dbService, digi_fC, did, *it, 0, it->size() - 1);
1147  _cSumQ_depth.fill(did, sumQ);
1148  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
1150  _cTimingCut_SubdetPM.fill(did, timing);
1151  _cTimingCut_depth.fill(did, timing);
1153  if (_ptype != fOffline) { // hidefed2crate
1155  }
1156  if (_ptype == fOnline) {
1157  _cSumQvsBX_SubdetPM.fill(did, bx, sumQ);
1158  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
1159  _cTimingCutvsieta_Subdet.fill(did, timing);
1163  }
1164  if (_ptype != fOffline) { // hidefed2crate
1165  if (eid.isVMEid()) {
1166  _cTimingCut_FEDVME.fill(eid, timing);
1170  } else {
1171  _cTimingCut_FEDuTCA.fill(eid, timing);
1175  }
1176  }
1177  numChsCut++;
1178  }
1179  numChs++;
1180  }
1181 
1182  if (rawidValid != 0) {
1183  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, numChs);
1184 
1185  if (_ptype == fOnline) {
1186  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, numChsCut);
1187  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidValid), bx, numChsCut);
1188  }
1189  }
1190  numChs = 0;
1191  numChsCut = 0;
1192 
1193  // reset
1194  rawidValid = 0;
1195 
1196  // HF collection
1197  if (_qie10InConditions) {
1198  for (QIE10DigiCollection::const_iterator it = c_QIE10->begin(); it != c_QIE10->end(); ++it) {
1199  const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
1200 
1201  // Explicit check on the DetIds present in the Collection
1202  HcalDetId const& did = digi.detid();
1203  if (did.subdet() != HcalForward) {
1204  // LED monitoring from calibration channels
1205  if (_ptype != fLocal) {
1206  if (did.subdet() == HcalOther) {
1207  HcalOtherDetId hodid(digi.detid());
1208  if (hodid.subdet() == HcalCalibration) {
1209  // New method: use configurable list of channels
1212  did) != _ledCalibrationChannels[HcalForward].end()) {
1213  bool channelLEDSignalPresent = false;
1214  for (int i = 0; i < digi.samples(); i++) {
1215  _LED_ADCvsBX_Subdet.fill(HcalDetId(HcalForward, 16, 1, 1), bx, digi[i].adc());
1216 
1217  if (digi[i].adc() > _thresh_led) {
1218  channelLEDSignalPresent = true;
1219  }
1220  }
1221  if (channelLEDSignalPresent) {
1223  if (_ptype == fOnline) {
1225  }
1226  }
1227  }
1228  }
1229  }
1230  }
1231  continue;
1232  }
1233 
1234  uint32_t rawid = _ehashmap.lookup(did);
1235  if (rawid == 0) {
1236  meUnknownIds1LS->Fill(1);
1237  _unknownIdsPresent = true;
1238  continue;
1239  } else {
1240  rawidValid = did.rawId();
1241  }
1242  HcalElectronicsId const& eid(rawid);
1243 
1244  // filter out channels that are masked out
1245  if (_xQuality.exists(did)) {
1246  HcalChannelStatus cs(did.rawId(), _xQuality.get(did));
1248  continue;
1249  }
1250 
1251  // (capid - BX) % 4
1252  if (_ptype == fOnline) {
1253  short soi = -1;
1254  for (int i = 0; i < digi.samples(); i++) {
1255  if (digi[i].soi()) {
1256  soi = i;
1257  break;
1258  }
1259  }
1260  short this_capidmbx = (digi[soi].capid() - bx) % 4;
1261  if (this_capidmbx < 0) {
1262  this_capidmbx += 4;
1263  }
1264  _cCapidMinusBXmod4_SubdetPM.fill(did, this_capidmbx);
1265  bool good_capidmbx = (_capidmbx[did.subdet()] == this_capidmbx);
1266  if (!good_capidmbx) {
1267  _xBadCapid.get(eid)++;
1270  }
1271  if (eid.isVMEid()) {
1272  _cCapidMinusBXmod4_CrateSlotVME[this_capidmbx].fill(eid);
1273 
1274  } else {
1275  _cCapidMinusBXmod4_CrateSlotuTCA[this_capidmbx].fill(eid);
1276  }
1277  }
1278 
1279  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE10DataFrame>(_dbService, did, digi);
1280  double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
1281  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
1282 
1283  //if (!_filter_QIE1011.filter(did)) {
1284  _cSumQ_SubdetPM_QIE1011.fill(did, sumQ);
1285  //}
1286 
1287  _cOccupancy_depth.fill(did);
1288  if (_ptype == fOnline) {
1289  _xNChs.get(eid)++;
1290  _cDigiSizevsLS_FED.fill(eid, _currentLS, digi.samples());
1291  digi.samples() != _refDigiSize[did.subdet()] ? _xDigiSize.get(eid)++ : _xDigiSize.get(eid) += 0;
1294  }
1295  _cDigiSize_Crate.fill(eid, digi.samples());
1296  if (_ptype != fOffline) { // hidefed2crate
1297  _cDigiSize_FED.fill(eid, digi.samples());
1298  if (eid.isVMEid()) {
1301  /*
1302  if (!it->validate(0, it->size()))
1303  _cCapIdRots_FEDVME.fill(eid, 1);*/
1304  } else {
1307  /*
1308  if (!it->validate(0, it->size()))
1309  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
1310  }
1311  }
1312 
1313  for (int i = 0; i < digi.samples(); i++) {
1314  double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, i);
1315  //if (!_filter_QIE1011.filter(did)) {
1316  _cADC_SubdetPM_QIE1011.fill(did, digi[i].adc());
1317  _cfC_SubdetPM_QIE1011.fill(did, q);
1318  _cLETDCvsADC_6bit_SubdetPM.fill(did, digi[i].adc(), digi[i].le_tdc());
1319  _cLETDCvsTS_6bit_SubdetPM.fill(did, (int)i, digi[i].le_tdc());
1320  if (digi[i].le_tdc() < 50) {
1321  double time = i * 25. + (digi[i].le_tdc() / 2.);
1322  _cLETDCTime_SubdetPM.fill(did, time);
1323  _cLETDCTime_depth.fill(did, time);
1324  _cLETDCTimevsADC_SubdetPM.fill(did, digi[i].adc(), time);
1325  }
1326 
1327  // Bad TDC values: 50-61 should never happen in QIE10 or QIE11, but we are seeing some in 2017 data.
1328  if ((50 <= digi[i].le_tdc()) && (digi[i].le_tdc() <= 61)) {
1329  _cBadTDCValues_SubdetPM.fill(did, digi[i].le_tdc());
1330  _cBadTDCvsBX_SubdetPM.fill(did, bx);
1333  }
1334  if (_ptype != fOffline) { // hidefed2crate
1335  _cADCvsTS_SubdetPM_QIE1011.fill(did, (int)i, digi[i].adc());
1336  if (sumQ > _cutSumQ_HF)
1337  _cShapeCut_FED.fill(eid, (int)i, q);
1338  }
1339  //}
1340  }
1341 
1342  if (sumQ > _cutSumQ_HF) {
1343  double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples() - 1);
1344  double q1 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, 1);
1345  double q2 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, 2);
1346  double q2q12 = q2 / (q1 + q2);
1347  _cSumQ_depth.fill(did, sumQ);
1348  //if (!_filter_QIE1011.filter(did)) {
1350  //}
1351  _cTimingCut_SubdetPM.fill(did, timing);
1352  _cTimingCut_depth.fill(did, timing);
1354  if (_ptype == fOnline) {
1355  //if (!_filter_QIE1011.filter(did)) {
1356  _cSumQvsBX_SubdetPM_QIE1011.fill(did, bx, sumQ);
1357  //}
1358  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
1359  _cTimingCutvsieta_Subdet.fill(did, timing);
1363  // _cOccupancyCutvsSlotvsLS_HFPM.fill(did, _currentLS);
1364  _xUniHF.get(eid)++;
1365  }
1366  if (_ptype != fOffline) { // hidefed2crate
1368  }
1370  if (!eid.isVMEid())
1371  if (_ptype == fOnline)
1373  if (_ptype != fOffline) { // hidefed2crate
1374  if (eid.isVMEid()) {
1375  _cTimingCut_FEDVME.fill(eid, timing);
1379  } else {
1380  _cTimingCut_FEDuTCA.fill(eid, timing);
1384  }
1385  }
1386  numChsCut++;
1387  }
1388  numChs++;
1389  }
1390  }
1391 
1392  if (rawidValid != 0) {
1393  _cOccupancyvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, numChs);
1394 
1395  if (_ptype == fOnline) {
1396  _cOccupancyCutvsLS_Subdet.fill(HcalDetId(rawidValid), _currentLS, numChsCut);
1397  _cOccupancyCutvsBX_Subdet.fill(HcalDetId(rawidValid), bx, numChsCut);
1398  }
1399  }
1400 }
int samples() const
total number of samples in the digi
DetId detid() const
Get the detector id.
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: DigiTask.h:105
hcaldqm::ContainerXXX< uint32_t > _xBadCapid
Definition: DigiTask.h:149
bool _qie10InConditions
Definition: DigiTask.h:186
double _thresh_led
Definition: DigiTask.h:191
MonitorElement * meNumEvents1LS
Definition: DigiTask.h:179
hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet
Definition: DigiTask.h:195
edm::InputTag _tagQIE10
Definition: DigiTask.h:44
hcaldqm::Container1D _cADC_SubdetPM
Definition: DigiTask.h:76
hcaldqm::Container1D _cADC_SubdetPM_QIE1011
Definition: DigiTask.h:84
hcaldqm::Container1D _LED_CUCountvsLS_Subdet
Definition: DigiTask.h:194
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
Definition: DigiTask.h:132
hcaldqm::Container2D _cLETDCvsADC_2bit_SubdetPM
Definition: DigiTask.h:152
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM
Definition: DigiTask.h:81
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:212
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:146
void fill(HcalDetId const &) override
edm::InputTag _tagHO
Definition: DigiTask.h:43
std::map< HcalSubdetector, int > _refDigiSize
Definition: DigiTask.h:59
hcaldqm::Container2D _cADCvsTS_SubdetPM
Definition: DigiTask.h:92
hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF
Definition: DigiTask.h:109
MonitorElement * meUnknownIds1LS
Definition: DigiTask.h:180
unique_ptr< ClusterSequence > cs
hcaldqm::Container2D _cLETDCTimevsADC_SubdetPM
Definition: DigiTask.h:158
double _cutSumQ_HO
Definition: DigiTask.h:49
std::map< HcalSubdetector, short > _capidmbx
Definition: DigiTask.h:188
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
std::vector< T >::const_iterator const_iterator
hcaldqm::Container2D _cLETDCvsTS_2bit_SubdetPM
Definition: DigiTask.h:154
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4]
Definition: DigiTask.h:172
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: DigiTask.h:47
hcaldqm::ContainerProf2D _cSumQ_depth
Definition: DigiTask.h:79
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: DigiTask.h:46
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: DigiTask.h:131
const_iterator begin() const
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM_QIE1011
Definition: DigiTask.h:87
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
Definition: DigiTask.h:98
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: DigiTask.h:134
hcaldqm::ContainerXXX< uint32_t > _xDigiSize
Definition: DigiTask.h:145
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
Definition: DigiTask.h:99
double q2[4]
Definition: TauolaWrapper.h:88
hcaldqm::Container1D _cBadTDCvsLS_SubdetPM
Definition: DigiTask.h:163
void Fill(long long x)
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM
Definition: DigiTask.h:153
hcaldqm::Container2D _cOccupancy_CrateSlot
Definition: DigiTask.h:118
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:48
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS
Definition: DigiTask.h:174
hcaldqm::Container2D _cADCvsTS_SubdetPM_QIE1011
Definition: DigiTask.h:93
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
Definition: DigiTask.h:128
hcaldqm::Container1D _cDigiSize_Crate
Definition: DigiTask.h:142
hcaldqm::Container1D _cShapeCut_FED
Definition: DigiTask.h:91
hcaldqm::Container2D _cOccupancyCut_depth
Definition: DigiTask.h:130
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: DigiTask.h:139
double _cutSumQ_HF
Definition: DigiTask.h:49
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: DigiTask.h:45
hcaldqm::Container1D _cfC_SubdetPM_QIE1011
Definition: DigiTask.h:85
double _cutSumQ_HBHE
Definition: DigiTask.h:49
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
Definition: DigiTask.h:192
hcaldqm::ContainerProf2D _cTimingCut_depth
Definition: DigiTask.h:104
DetId detid() const
Get the detector id.
Logger _logger
Definition: DQModule.h:54
hcaldqm::Container1D _cBadTDCValues_SubdetPM
Definition: DigiTask.h:161
#define end
Definition: vmac.h:39
hcaldqm::Container2D _cOccupancy_FEDVME
Definition: DigiTask.h:113
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
Definition: DigiTask.h:103
hcaldqm::Container2D _cOccupancyCut_FEDVME
Definition: DigiTask.h:126
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011
Definition: DigiTask.h:88
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotVME[4]
Definition: DigiTask.h:173
hcaldqm::Container2D _cOccupancy_depth
Definition: DigiTask.h:119
const_iterator end() const
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: DigiTask.h:137
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM
Definition: DigiTask.h:80
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
Definition: DigiTask.h:102
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
Definition: DigiTask.h:127
hcaldqm::Container2D _cOccupancy_ElectronicsVME
Definition: DigiTask.h:115
int size() const
get the size
Definition: CaloSamples.h:24
hcaldqm::Container1D _cDigiSize_FED
Definition: DigiTask.h:143
double q1[4]
Definition: TauolaWrapper.h:87
hcaldqm::Container2D _LED_ADCvsBX_Subdet
Definition: DigiTask.h:196
hcaldqm::Container1D _cSumQ_SubdetPM
Definition: DigiTask.h:78
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: DigiTask.h:120
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: DigiTask.h:106
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLSmod60
Definition: DigiTask.h:176
hcaldqm::Container1D _cLETDCTime_SubdetPM
Definition: DigiTask.h:156
std::string const & label() const
Definition: InputTag.h:36
const_iterator end() const
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: DigiTask.h:129
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
Definition: DigiTask.h:100
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
#define begin
Definition: vmac.h:32
edm::ESHandle< HcalDbService > _dbService
Definition: DQTask.h:58
hcaldqm::Container1D _cBadTDCvsBX_SubdetPM
Definition: DigiTask.h:162
hcaldqm::Container2D _cOccupancy_Crate
Definition: DigiTask.h:117
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
hcaldqm::Container2D _cLETDCvsTS_6bit_SubdetPM
Definition: DigiTask.h:155
hcaldqm::ContainerProf1D _cDigiSizevsLS_FED
Definition: DigiTask.h:144
hcaldqm::ContainerXXX< uint32_t > _xNChs
Definition: DigiTask.h:147
virtual void fill(int, int)
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: DigiTask.h:62
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: DigiTask.h:138
hcaldqm::Container2D _cBadTDCCount_depth
Definition: DigiTask.h:164
hcaldqm::ContainerProf2D _cLETDCTime_depth
Definition: DigiTask.h:157
int samples() const
total number of samples in the digi
edm::InputTag _tagQIE11
Definition: DigiTask.h:42
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: DigiTask.h:121
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: DigiTask.h:101
const_iterator begin() const
hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011
Definition: DigiTask.h:86
hcaldqm::Container1D _cTimingCut_SubdetPM
Definition: DigiTask.h:97
bool _unknownIdsPresent
Definition: DigiTask.h:181
hcaldqm::Container2D _cOccupancy_FEDuTCA
Definition: DigiTask.h:114
hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM
Definition: DigiTask.h:171
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: DigiTask.h:146
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:126
hcaldqm::Container1D _cfC_SubdetPM
Definition: DigiTask.h:77
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: DigiTask.h:116
void DigiTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 798 of file DigiTask.cc.

References _cOccupancyvsiphi_SubdetPM, hcaldqm::DQModule::_ptype, _unknownIdsPresent, hcaldqm::f1LS, hcaldqm::f50LS, hcaldqm::fOnline, and hcaldqm::Container1D::reset().

Referenced by ~DigiTask().

798  {
799  DQTask::_resetMonitors(uf);
800 
801  switch (uf) {
802  case hcaldqm::f1LS:
803  _unknownIdsPresent = false;
804  break;
805  case hcaldqm::f50LS:
806  // ^^^ONLINE ONLY!
807  if (_ptype == fOnline)
809  // ^^^
810  break;
811  default:
812  break;
813  }
814 }
ProcessingType _ptype
Definition: DQModule.h:43
virtual void reset()
Definition: Container1D.cc:60
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: DigiTask.h:120
bool _unknownIdsPresent
Definition: DigiTask.h:181
void DigiTask::beginLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
override

Definition at line 1402 of file DigiTask.cc.

References _cCapid_BadvsFEDvsLSmod60, hcaldqm::DQModule::_currentLS, hcaldqm::DQModule::_ptype, _vhashFEDs, runTauDisplay::eid, hcaldqm::fOnline, and hcaldqm::ContainerSingle2D::setBinContent().

Referenced by ~DigiTask().

1402  {
1403  DQTask::beginLuminosityBlock(lb, es);
1404  if (_ptype == fOnline) {
1405  // Reset the bin for _cCapid_BadvsFEDvsLSmod60
1406  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
1409  }
1410  }
1411 }
ProcessingType _ptype
Definition: DQModule.h:43
virtual void setBinContent(int, int, int)
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLSmod60
Definition: DigiTask.h:176
std::vector< uint32_t > _vhashFEDs
Definition: DigiTask.h:57
Readout chain identification for Hcal.
void DigiTask::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  r,
edm::EventSetup const &  es 
)
override

Definition at line 81 of file DigiTask.cc.

References _cADC_SubdetPM, _cADC_SubdetPM_QIE1011, _cADCvsTS_SubdetPM, _cADCvsTS_SubdetPM_QIE1011, _cBadTDCCount_depth, _cBadTDCValues_SubdetPM, _cBadTDCvsBX_SubdetPM, _cBadTDCvsLS_SubdetPM, _cCapid_BadvsFEDvsLS, _cCapid_BadvsFEDvsLSmod60, _cCapidMinusBXmod4_CrateSlotuTCA, _cCapidMinusBXmod4_CrateSlotVME, _cCapidMinusBXmod4_SubdetPM, _cDigiSize_Crate, _cDigiSize_FED, _cDigiSizevsLS_FED, _cfC_SubdetPM, _cfC_SubdetPM_QIE1011, _cLETDCTime_depth, _cLETDCTime_SubdetPM, _cLETDCTimevsADC_SubdetPM, _cLETDCvsADC_2bit_SubdetPM, _cLETDCvsADC_6bit_SubdetPM, _cLETDCvsTS_2bit_SubdetPM, _cLETDCvsTS_6bit_SubdetPM, _cOccupancy_Crate, _cOccupancy_CrateSlot, _cOccupancy_depth, _cOccupancy_ElectronicsuTCA, _cOccupancy_ElectronicsVME, _cOccupancy_FEDuTCA, _cOccupancy_FEDVME, _cOccupancyCut_depth, _cOccupancyCut_ElectronicsuTCA, _cOccupancyCut_ElectronicsVME, _cOccupancyCut_FEDuTCA, _cOccupancyCut_FEDVME, _cOccupancyCutvsBX_Subdet, _cOccupancyCutvsieta_Subdet, _cOccupancyCutvsiphi_SubdetPM, _cOccupancyCutvsiphivsLS_SubdetPM, _cOccupancyCutvsLS_Subdet, _cOccupancyvsieta_Subdet, _cOccupancyvsiphi_SubdetPM, _cOccupancyvsLS_Subdet, _cQ2Q12CutvsLS_FEDHF, _cShapeCut_FED, _cSummaryvsLS, _cSummaryvsLS_FED, _cSumQ_depth, _cSumQ_SubdetPM, _cSumQ_SubdetPM_QIE1011, _cSumQvsBX_SubdetPM, _cSumQvsBX_SubdetPM_QIE1011, _cSumQvsLS_SubdetPM, _cSumQvsLS_SubdetPM_QIE1011, _cTimingCut_depth, _cTimingCut_ElectronicsuTCA, _cTimingCut_ElectronicsVME, _cTimingCut_FEDuTCA, _cTimingCut_FEDVME, _cTimingCut_SubdetPM, _cTimingCutvsieta_Subdet, _cTimingCutvsiphi_SubdetPM, _cTimingCutvsLS_FED, _cTimingCutvsLS_SubdetPM, _cutSumQ_HBHE, _cutSumQ_HF, _cutSumQ_HO, _dhashmap, _ehashmap, hcaldqm::DQTask::_emap, _filter_FEDHF, _filter_QIE1011, _filter_QIE8, _filter_TDC2bit, _filter_TDC6bit, _filter_uTCA, _filter_VME, _LED_ADCvsBX_Subdet, _LED_CUCountvsLS_Subdet, _LED_CUCountvsLSmod60_Subdet, hcaldqm::DQModule::_maxLS, hcaldqm::DQModule::_name, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_subsystem, _unknownIdsPresent, _vflags, _vhashFEDs, _xBadCapid, _xDigiSize, _xNChs, _xNChsNominal, hcaldqm::DQTask::_xQuality, _xUni, _xUniHF, HcalElectronicsMap::allPrecisionId(), printConversionInfo::aux, hcaldqm::ContainerXXX< STDTYPE >::book(), hcaldqm::ContainerProf1D::book(), hcaldqm::ContainerProf2D::book(), hcaldqm::ContainerSingle2D::book(), hcaldqm::Container2D::book(), hcaldqm::Container1D::book(), DQMStore::IBooker::book1D(), bookHistograms(), constexpr, hcaldqm::constants::CRATE_uTCA_MIN, hcaldqm::constants::CRATE_VME_MIN, fwrapper::cs, runTauDisplay::eid, hcaldqm::ContainerXXX< STDTYPE >::exists(), hcaldqm::quantity::fADC_128, hcaldqm::quantity::fADC_256_4, hcaldqm::quantity::fBadTDC, hcaldqm::quantity::fBX, hcaldqm::quantity::fBX_36, hcaldqm::quantity::fCapidMinusBXmod4, hcaldqm::quantity::fCrate, hcaldqm::hashfunctions::fCrate, hcaldqm::hashfunctions::fCrateSlot, hcaldqm::quantity::fCrateuTCA, hcaldqm::quantity::fCrateVME, hcaldqm::electronicsmap::fD2EHashMap, hcaldqm::hashfunctions::fdepth, hcaldqm::quantity::fDigiSize, hcaldqm::electronicsmap::fE2DHashMap, hcaldqm::utilities::fed2crate(), hcaldqm::constants::FED_VME_MIN, hcaldqm::hashfunctions::fElectronics, hcaldqm::quantity::ffC_10000, hcaldqm::quantity::ffC_generic_400000, hcaldqm::hashfunctions::fFED, hcaldqm::hashfunctions::fFEDSlot, hcaldqm::quantity::fFiberCh, hcaldqm::quantity::fFiberuTCA, hcaldqm::quantity::fFiberuTCAFiberCh, hcaldqm::quantity::fFiberVMEFiberCh, hcaldqm::filter::fFilter, hcaldqm::constants::FIBER_uTCA_MIN1, hcaldqm::constants::FIBER_VME_MIN, hcaldqm::constants::FIBERCH_MIN, hcaldqm::quantity::fieta, hcaldqm::quantity::fiphi, hcaldqm::fLocal, hcaldqm::quantity::fN, hcaldqm::quantity::fN_to8000, hcaldqm::fOffline, hcaldqm::fOnline, hcaldqm::filter::fPreserver, hcaldqm::quantity::fQIE10ADC_256, hcaldqm::quantity::fQIE10fC_10000, hcaldqm::quantity::fQIE10fC_400000, hcaldqm::quantity::fQIE10TDC_4, hcaldqm::quantity::fQIE10TDC_64, hcaldqm::quantity::fRatio_0to2, hcaldqm::quantity::fSlotuTCA, hcaldqm::quantity::fSlotVME, hcaldqm::quantity::fSpigot, hcaldqm::quantity::fState, hcaldqm::hashfunctions::fSubdet, hcaldqm::hashfunctions::fSubdetPM, hcaldqm::quantity::fTime_ns_250_coarse, hcaldqm::quantity::fTiming_TS, hcaldqm::quantity::fTiming_TS200, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::EventSetup::get(), hcaldqm::utilities::getFEDList(), hcaldqm::utilities::getFEDuTCAList(), hcaldqm::utilities::getFEDVMEList(), HcalDbService::getHcalMapping(), hcaldqm::hashfunctions::hash_did, HcalBarrel, HcalChannelStatus::HcalCellDead, HcalChannelStatus::HcalCellMask, HcalEndcap, HcalForward, HcalOuter, mps_fire::i, hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::ContainerProf2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), hcaldqm::Container1D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), meNumEvents1LS, meUnknownIds1LS, HcalElectronicsId::rawId(), DQMStore::IBooker::setCurrentFolder(), MonitorElement::setLumiFlag(), hcaldqm::Container1D::setLumiFlag(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

Referenced by ~DigiTask().

81  {
82  DQTask::bookHistograms(ib, r, es);
83 
84  // GET WHAT YOU NEED
86  es.get<HcalDbRecord>().get(dbs);
87  _emap = dbs->getHcalMapping();
88  std::vector<uint32_t> vVME;
89  std::vector<uint32_t> vuTCA;
90  vVME.push_back(
92  vuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
95 
96  // Filters for QIE8 vs QIE10/11
97  std::vector<uint32_t> vhashQIE8;
100  vhashQIE8);
101 
102  std::vector<uint32_t> vhashQIE1011;
107  vhashQIE1011);
108 
109  std::vector<uint32_t> vhash_TDC2bit;
110  vhash_TDC2bit.push_back(
112  vhash_TDC2bit.push_back(
115 
116  std::vector<uint32_t> vhash_TDC6bit;
117  vhash_TDC6bit.push_back(
119  vhash_TDC6bit.push_back(
121  vhash_TDC6bit.push_back(
123  vhash_TDC6bit.push_back(
126 
127  // INITIALIZE FIRST
129  "ADC",
133  0);
135  "fC",
139  0);
141  "SumQ",
145  0);
147  "SumQ",
152  0);
154  "SumQvsLS",
158  0);
159 
161  "ADC",
165  0);
167  "fC",
171  0);
173  "SumQ",
177  0);
179  "SumQvsLS",
183  0);
184 
186  "TimingCut",
190  0);
192  "TimingCut",
197  0);
199  "TimingvsLS",
203  0);
204 
205  // Occupancy w/o a cut
207  "OccupancyvsLS",
211  0);
213  "Occupancy",
218  0);
219 
220  // Occupancy w/ a cut
222  "OccupancyCutvsLS",
226  0);
228  "OccupancyCut",
233  0);
234 
235  // Digi size
237  "DigiSize",
241  0);
243  "ADCvsTS",
248  0);
250  "ADCvsTS",
255  0);
256 
258  "LETDCTimevsADC",
264  "LETDCvsADC",
270  "LETDCvsADC",
276  "LETDCvsTS",
282  "LETDCvsTS",
287 
289  "LETDCTime",
294  "LETDCTime",
299  0);
300 
302  "BadTDCValues",
307  "BadTDCvsBX",
312  "BadTDCvsLS",
317  "BadTDCCount",
322  0);
323 
324  if (_ptype == fOnline || _ptype == fLocal) {
326  "Occupancy",
331  0);
333  "Occupancy",
338  0);
339  }
340 
341  // INITIALIZE HISTOGRAMS that are only for Online
342  if (_ptype == fOnline) {
343  // Charge sharing
345  "Q2Q12vsLS",
349  0);
351  "SumQvsBX",
355  0);
357  "SumQvsBX",
361  0);
363  "DigiSizevsLS",
367  0);
369  "TimingCutvsiphi",
373  0);
375  "TimingCutvsieta",
379  0);
381  "Occupancyvsiphi",
385  0);
387  "Occupancyvsieta",
391  0);
393  "OccupancyCutvsiphi",
397  0);
399  "OccupancyCutvsieta",
403  0);
405  "OccupancyCutvsLS",
409  0);
411  "OccupancyCutvsBX",
415  0);
416  // _cOccupancyCutvsSlotvsLS_HFPM.initialize(_name,
417  // "OccupancyCutvsSlotvsLS", hcaldqm::hashfunctions::fSubdetPM,
418  // new hcaldqm::quantity::LumiSection(_maxLS),
419  // new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSlotuTCA),
420  // new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN),0);
422  "OccupancyCutvsiphivsLS",
427  0);
428  }
430  "CapID",
434 
435  for (int i = 0; i < 4; ++i) {
437  "CapID",
441  0);
443  "CapID",
447  0);
448  }
449 
450  if (_ptype != fOffline) { // hidefed2crate
451  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
452  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
453  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
454 
455  if (_ptype == fOnline) {
457  "CapID",
461  0);
462 
464  "CapID",
468  0);
469  }
470 
471  std::vector<uint32_t> vFEDHF;
472  vFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
473  vFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
474  vFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
475  vFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
476  vFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
477  vFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN + 6, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
478 
479  // initialize filters
481 
482  // push the rawIds of each fed into the vector...
483  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
484  _vhashFEDs.push_back(
486  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
487  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
488  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
489  }
490 
492  "ShapeCut",
496  0);
497 
499  "TimingCut",
504  0);
506  "TimingCut",
511  0);
513  "TimingCut",
515  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
518  0);
520  "TimingCut",
522  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
525  0);
527  "TimingvsLS",
531  0);
532 
534  "Occupancy",
539  0);
541  "Occupancy",
546  0);
548  "Occupancy",
550  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
553  0);
555  "Occupancy",
557  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
560  0);
561 
563  "OccupancyCut",
568  0);
570  "OccupancyCut",
575  0);
577  "OccupancyCut",
579  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
582  0);
584  "OccupancyCut",
586  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
589  0);
590 
592  "DigiSize",
596  0);
597 
598  if (_ptype == fOnline) {
600  "SummaryvsLS",
605  0);
607  "SummaryvsLS",
611  0);
612 
619  }
620  }
621  if (_ptype != fLocal) {
623  "LED_ADCvsBX",
628  0);
629 
631  "LED_CUCountvsLS",
635  0);
636  if (_ptype == fOnline) {
638  "LED_CUCountvsLSmod60",
642  0);
643  }
644  }
645 
646  // BOOK HISTOGRAMS
647  char cutstr[200];
648  sprintf(cutstr, "_SumQHBHE%dHO%dHF%d", int(_cutSumQ_HBHE), int(_cutSumQ_HO), int(_cutSumQ_HF));
649  char cutstr2[200];
650  sprintf(cutstr2, "_SumQHF%d", int(_cutSumQ_HF));
651 
664 
665  if (_ptype != fOffline) { // hidefed2crate
681  }
682 
686 
690 
698 
703 
705  if (_ptype == fOnline) {
706  _cCapid_BadvsFEDvsLS.book(ib, _subsystem, "BadvsLS");
707  _cCapid_BadvsFEDvsLSmod60.book(ib, _subsystem, "BadvsLSmod60");
708  }
709  for (int i = 0; i < 4; ++i) {
710  constexpr unsigned int kSize = 16;
711  char aux[kSize];
712  snprintf(aux, kSize, "%d_uTCA", i);
714 
715  snprintf(aux, kSize, "%d_VME", i);
717  }
718 
719  if (_ptype != fLocal) {
722  if (_ptype == fOnline) {
724  }
725  }
726 
727  // BOOK HISTOGRAMS that are only for Online
730 
731  if (_ptype == fOnline || _ptype == fLocal) {
734  }
735 
736  if (_ptype == fOnline) {
749  // _cOccupancyCutvsSlotvsLS_HFPM.book(ib, _emap, _filter_QIE1011, _subsystem);
753 
755  _xNChs.book(_emap);
757  _xUni.book(_emap);
760 
761  // just PER HF FED RECORD THE #CHANNELS
762  // ONLY WAY TO DO THAT AUTOMATICALLY AND W/O HARDCODING 1728
763  // or ANY OTHER VALUES LIKE 2592, 2192
764  std::vector<HcalGenericDetId> gids = _emap->allPrecisionId();
765  for (std::vector<HcalGenericDetId>::const_iterator it = gids.begin(); it != gids.end(); ++it) {
766  if (!it->isHcalDetId())
767  continue;
768  HcalDetId did(it->rawId());
769  if (_xQuality.exists(did)) {
770  HcalChannelStatus cs(it->rawId(), _xQuality.get(HcalDetId(*it)));
772  continue;
773  }
775  _xNChsNominal.get(eid)++; // he will know the nominal #channels per FED
776  }
777  }
778 
779  // MARK THESE HISTOGRAMS AS LUMI BASED FOR OFFLINE PROCESSING
780  if (_ptype == fOffline) {
782  //_cDigiSize_FED.setLumiFlag();
784  }
785 
786  // book Number of Events vs LS histogram
787  ib.setCurrentFolder(_subsystem + "/RunInfo");
788  meNumEvents1LS = ib.book1D("NumberOfEvents", "NumberOfEvents", 1, 0, 1);
790 
791  // book the flag for unknown ids and the online guy as well
792  ib.setCurrentFolder(_subsystem + "/" + _name);
793  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds", 1, 0, 1);
794  _unknownIdsPresent = false;
796 }
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: DigiTask.h:105
constexpr uint32_t rawId() const
hcaldqm::ContainerXXX< uint32_t > _xBadCapid
Definition: DigiTask.h:149
MonitorElement * meNumEvents1LS
Definition: DigiTask.h:179
hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet
Definition: DigiTask.h:195
hcaldqm::Container1D _cADC_SubdetPM
Definition: DigiTask.h:76
hcaldqm::Container1D _cADC_SubdetPM_QIE1011
Definition: DigiTask.h:84
hcaldqm::Container1D _LED_CUCountvsLS_Subdet
Definition: DigiTask.h:194
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
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
Definition: DigiTask.h:132
hcaldqm::Container2D _cLETDCvsADC_2bit_SubdetPM
Definition: DigiTask.h:152
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM
Definition: DigiTask.h:81
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:212
int const CRATE_VME_MIN
Definition: Constants.h:91
hcaldqm::Container2D _cADCvsTS_SubdetPM
Definition: DigiTask.h:92
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF
Definition: DigiTask.h:109
MonitorElement * meUnknownIds1LS
Definition: DigiTask.h:180
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
unique_ptr< ClusterSequence > cs
hcaldqm::Container2D _cLETDCTimevsADC_SubdetPM
Definition: DigiTask.h:158
double _cutSumQ_HO
Definition: DigiTask.h:49
hcaldqm::Container2D _cLETDCvsTS_2bit_SubdetPM
Definition: DigiTask.h:154
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4]
Definition: DigiTask.h:172
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:116
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cSumQ_depth
Definition: DigiTask.h:79
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: DigiTask.h:131
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM_QIE1011
Definition: DigiTask.h:87
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: DigiTask.h:184
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
Definition: DigiTask.h:98
int const FIBER_VME_MIN
Definition: Constants.h:121
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: DigiTask.h:134
hcaldqm::ContainerXXX< uint32_t > _xDigiSize
Definition: DigiTask.h:145
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
Definition: DigiTask.h:99
hcaldqm::Container1D _cBadTDCvsLS_SubdetPM
Definition: DigiTask.h:163
int const FIBERCH_MIN
Definition: Constants.h:130
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:101
hcaldqm::filter::HashFilter _filter_VME
Definition: DigiTask.h:66
ProcessingType _ptype
Definition: DQModule.h:43
hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM
Definition: DigiTask.h:153
void setLumiFlag()
this ME is meant to be stored for each luminosity section
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
hcaldqm::Container2D _cOccupancy_CrateSlot
Definition: DigiTask.h:118
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:48
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS
Definition: DigiTask.h:174
int const FED_VME_MIN
Definition: Constants.h:78
hcaldqm::Container2D _cADCvsTS_SubdetPM_QIE1011
Definition: DigiTask.h:93
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
Definition: DigiTask.h:128
hcaldqm::Container1D _cDigiSize_Crate
Definition: DigiTask.h:142
hcaldqm::Container1D _cShapeCut_FED
Definition: DigiTask.h:91
hcaldqm::Container2D _cOccupancyCut_depth
Definition: DigiTask.h:130
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: DigiTask.h:139
double _cutSumQ_HF
Definition: DigiTask.h:49
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
int const FIBER_uTCA_MIN1
Definition: Constants.h:124
hcaldqm::Container1D _cfC_SubdetPM_QIE1011
Definition: DigiTask.h:85
double _cutSumQ_HBHE
Definition: DigiTask.h:49
hash_function_did const hash_did[nHashType_did]
hcaldqm::ContainerProf2D _cTimingCut_depth
Definition: DigiTask.h:104
std::vector< HcalGenericDetId > allPrecisionId() const
hcaldqm::Container1D _cBadTDCValues_SubdetPM
Definition: DigiTask.h:161
hcaldqm::Container2D _cOccupancy_FEDVME
Definition: DigiTask.h:113
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
Definition: DigiTask.h:103
hcaldqm::Container2D _cOccupancyCut_FEDVME
Definition: DigiTask.h:126
hcaldqm::filter::HashFilter _filter_TDC2bit
Definition: DigiTask.h:71
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011
Definition: DigiTask.h:88
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotVME[4]
Definition: DigiTask.h:173
hcaldqm::Container2D _cOccupancy_depth
Definition: DigiTask.h:119
std::string _name
Definition: DQModule.h:41
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: DigiTask.h:183
hcaldqm::filter::HashFilter _filter_FEDHF
Definition: DigiTask.h:68
int const CRATE_uTCA_MIN
Definition: Constants.h:96
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: DigiTask.h:137
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM
Definition: DigiTask.h:80
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: DigiTask.h:146
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
Definition: DigiTask.h:102
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
Definition: DigiTask.h:127
hcaldqm::Container2D _cOccupancy_ElectronicsVME
Definition: DigiTask.h:115
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
hcaldqm::Container1D _cDigiSize_FED
Definition: DigiTask.h:143
hcaldqm::filter::HashFilter _filter_QIE8
Definition: DigiTask.h:70
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::Container2D _LED_ADCvsBX_Subdet
Definition: DigiTask.h:196
hcaldqm::ContainerXXX< uint32_t > _xNChsNominal
Definition: DigiTask.h:148
hcaldqm::Container1D _cSumQ_SubdetPM
Definition: DigiTask.h:78
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: DigiTask.h:120
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::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: DigiTask.h:106
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLSmod60
Definition: DigiTask.h:176
hcaldqm::Container1D _cLETDCTime_SubdetPM
Definition: DigiTask.h:156
hcaldqm::electronicsmap::ElectronicsMap _dhashmap
Definition: DigiTask.h:63
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
std::vector< hcaldqm::flag::Flag > _vflags
Definition: DigiTask.h:53
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: DigiTask.h:129
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
Definition: DigiTask.h:100
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
hcaldqm::Container1D _cBadTDCvsBX_SubdetPM
Definition: DigiTask.h:162
virtual void setLumiFlag()
Definition: Container1D.cc:769
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:83
hcaldqm::Container2D _cOccupancy_Crate
Definition: DigiTask.h:117
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:121
const HcalElectronicsMap * getHcalMapping() const
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
std::string _subsystem
Definition: DQModule.h:48
hcaldqm::filter::HashFilter _filter_uTCA
Definition: DigiTask.h:67
hcaldqm::Container2D _cLETDCvsTS_6bit_SubdetPM
Definition: DigiTask.h:155
hcaldqm::ContainerProf1D _cDigiSizevsLS_FED
Definition: DigiTask.h:144
hcaldqm::ContainerXXX< uint32_t > _xNChs
Definition: DigiTask.h:147
hcaldqm::filter::HashFilter _filter_TDC6bit
Definition: DigiTask.h:72
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: DigiTask.h:62
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: DigiTask.h:138
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:81
hcaldqm::filter::HashFilter _filter_QIE1011
Definition: DigiTask.h:69
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:558
hcaldqm::Container2D _cBadTDCCount_depth
Definition: DigiTask.h:164
hcaldqm::ContainerProf2D _cLETDCTime_depth
Definition: DigiTask.h:157
std::vector< uint32_t > _vhashFEDs
Definition: DigiTask.h:57
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: DigiTask.h:121
Readout chain identification for Hcal.
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: DigiTask.h:101
#define constexpr
int const SLOT_uTCA_MIN
Definition: Constants.h:103
hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011
Definition: DigiTask.h:86
hcaldqm::Container1D _cTimingCut_SubdetPM
Definition: DigiTask.h:97
bool _unknownIdsPresent
Definition: DigiTask.h:181
hcaldqm::Container2D _cOccupancy_FEDuTCA
Definition: DigiTask.h:114
hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM
Definition: DigiTask.h:171
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: DigiTask.h:146
hcaldqm::Container1D _cfC_SubdetPM
Definition: DigiTask.h:77
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: DigiTask.h:116
void DigiTask::endLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
override

Definition at line 1413 of file DigiTask.cc.

References _cSummaryvsLS, _cSummaryvsLS_FED, hcaldqm::DQModule::_currentLS, hcaldqm::DQModule::_evsPerLS, _LED_CUCountvsLS_Subdet, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_runkeyVal, hcaldqm::flag::Flag::_state, _thresh_unihf, _unknownIdsPresent, hcaldqm::DQTask::_vcdaqEids, _vflags, _vhashFEDs, _xBadCapid, _xDigiSize, _xNChs, _xNChsNominal, _xUni, _xUniHF, hcaldqm::ContainerXXX< STDTYPE >::begin(), DEFINE_FWK_MODULE, runTauDisplay::eid, hcaldqm::ContainerXXX< STDTYPE >::end(), hcaldqm::flag::fBAD, fCapId, fDigiSize, hcaldqm::flag::fGOOD, spr::find(), fLED, hcaldqm::fLocal, hcaldqm::flag::fNCDAQ, fNChsHF, hcaldqm::fOffline, hcaldqm::fOnline, hcaldqm::flag::fPROBLEMATIC, fUni, fUnknownIds, hcaldqm::ContainerXXX< STDTYPE >::get(), hcaldqm::Container1D::getBinContent(), hcaldqm::hashfunctions::hash_Subdet(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, hcaldqm::utilities::isFEDHBHE(), hcaldqm::utilities::isFEDHF(), hcaldqm::utilities::isFEDHO(), hcaldqm::ContainerXXX< STDTYPE >::reset(), hcaldqm::flag::Flag::reset(), hcaldqm::ContainerSingle2D::setBinContent(), hcaldqm::Container2D::setBinContent(), globals_cff::x1, and globals_cff::x2.

Referenced by ~DigiTask().

1413  {
1414  if (_ptype != fOnline)
1415  return;
1416 
1417  for (uintCompactMap::const_iterator it = _xUniHF.begin(); it != _xUniHF.end(); ++it) {
1418  uint32_t hash1 = it->first;
1419  HcalElectronicsId eid1(hash1);
1420  double x1 = it->second;
1421 
1422  for (uintCompactMap::const_iterator jt = _xUniHF.begin(); jt != _xUniHF.end(); ++jt) {
1423  if (jt == it)
1424  continue;
1425  double x2 = jt->second;
1426  if (x2 == 0)
1427  continue;
1428  if (x1 / x2 < _thresh_unihf)
1429  _xUni.get(eid1)++;
1430  }
1431  }
1432 
1433  if (_ptype != fOffline) { // hidefed2crate
1434  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
1435  hcaldqm::flag::Flag fSum("DIGI");
1437 
1438  std::vector<uint32_t>::const_iterator cit = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), *it);
1439  if (cit == _vcdaqEids.end()) {
1440  // not @cDAQ
1441  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
1444  continue;
1445  }
1446 
1447  // FED is @cDAQ
1449  if (_xDigiSize.get(eid) > 0)
1451  else
1453 
1454  if (_xBadCapid.get(eid) > 0) {
1456  } else {
1458  }
1459 
1460  if (hcaldqm::utilities::isFEDHF(eid)) {
1461  double fr = double(_xNChs.get(eid)) / double(_xNChsNominal.get(eid) * _evsPerLS);
1462  if (_runkeyVal == 0 || _runkeyVal == 4) {
1463  // only for pp or hi
1464  if (_xUni.get(eid) > 0)
1466  else
1467  _vflags[fUni]._state = hcaldqm::flag::fGOOD;
1468  }
1469  if (fr < 0.95)
1471  else if (fr < 1.0)
1473  else
1475  }
1476  }
1477  if (_unknownIdsPresent)
1479  else
1481 
1482  // LED misfires
1483  if (_ptype != fLocal) {
1484  if (hcaldqm::utilities::isFEDHBHE(eid)) {
1487 
1490  _vflags[fLED]._state = hcaldqm::flag::fBAD;
1491  } else {
1492  _vflags[fLED]._state = hcaldqm::flag::fGOOD;
1493  }
1494  } else if (hcaldqm::utilities::isFEDHF(eid)) {
1497  _vflags[fLED]._state = hcaldqm::flag::fBAD;
1498  } else {
1499  _vflags[fLED]._state = hcaldqm::flag::fGOOD;
1500  }
1501  } else if (hcaldqm::utilities::isFEDHO(eid)) {
1504  _vflags[fLED]._state = hcaldqm::flag::fBAD;
1505  } else {
1506  _vflags[fLED]._state = hcaldqm::flag::fGOOD;
1507  }
1508  }
1509  }
1510 
1511  int iflag = 0;
1512  for (std::vector<hcaldqm::flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
1513  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, iflag, int(ft->_state));
1514  fSum += (*ft);
1515  iflag++;
1516 
1517  // reset!
1518  ft->reset();
1519  }
1520  _cSummaryvsLS.setBinContent(eid, _currentLS, fSum._state);
1521  }
1522  }
1523 
1524  _xDigiSize.reset();
1525  _xUniHF.reset();
1526  _xUni.reset();
1527  _xNChs.reset();
1528  _xBadCapid.reset();
1529 
1530  // in the end always do the DQTask::endLumi
1531  DQTask::endLuminosityBlock(lb, es);
1532 }
hcaldqm::ContainerXXX< uint32_t > _xBadCapid
Definition: DigiTask.h:149
hcaldqm::Container1D _LED_CUCountvsLS_Subdet
Definition: DigiTask.h:194
virtual CompactMap::const_iterator begin()
Definition: ContainerXXX.h:69
double _thresh_unihf
Definition: DigiTask.h:50
virtual void reset()
Definition: ContainerXXX.h:292
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: DigiTask.h:184
hcaldqm::ContainerXXX< uint32_t > _xDigiSize
Definition: DigiTask.h:145
virtual CompactMap::const_iterator end()
Definition: ContainerXXX.h:70
ProcessingType _ptype
Definition: DQModule.h:43
virtual void setBinContent(int, int, int)
uint32_t hash_Subdet(HcalDetId const &)
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: DigiTask.h:183
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: DigiTask.h:146
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:142
hcaldqm::ContainerXXX< uint32_t > _xNChsNominal
Definition: DigiTask.h:148
std::vector< hcaldqm::flag::Flag > _vflags
Definition: DigiTask.h:53
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
virtual double getBinContent(HcalDetId const &)
Definition: Container1D.cc:177
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:180
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:51
hcaldqm::ContainerXXX< uint32_t > _xNChs
Definition: DigiTask.h:147
std::vector< uint32_t > _vhashFEDs
Definition: DigiTask.h:57
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:156
bool _unknownIdsPresent
Definition: DigiTask.h:181
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: DigiTask.h:146

Member Data Documentation

hcaldqm::Container1D DigiTask::_cADC_SubdetPM
protected

Definition at line 76 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cADC_SubdetPM_QIE1011
protected

Definition at line 84 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cADCvsTS_SubdetPM
protected

Definition at line 92 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cADCvsTS_SubdetPM_QIE1011
protected

Definition at line 93 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

std::map<HcalSubdetector, short> DigiTask::_capidmbx
protected

Definition at line 188 of file DigiTask.h.

Referenced by _process(), and DigiTask().

hcaldqm::Container2D DigiTask::_cBadTDCCount_depth
protected

Definition at line 164 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cBadTDCValues
protected

Definition at line 166 of file DigiTask.h.

hcaldqm::Container1D DigiTask::_cBadTDCValues_SubdetPM
protected

Definition at line 161 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cBadTDCvsBX
protected

Definition at line 167 of file DigiTask.h.

hcaldqm::Container1D DigiTask::_cBadTDCvsBX_SubdetPM
protected

Definition at line 162 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cBadTDCvsLS
protected

Definition at line 168 of file DigiTask.h.

hcaldqm::Container1D DigiTask::_cBadTDCvsLS_SubdetPM
protected

Definition at line 163 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D DigiTask::_cCapid_BadvsFEDvsLS
protected

Definition at line 174 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D DigiTask::_cCapid_BadvsFEDvsLSmod60
protected

Definition at line 176 of file DigiTask.h.

Referenced by _process(), beginLuminosityBlock(), and bookHistograms().

hcaldqm::ContainerSingle2D DigiTask::_cCapidMinusBXmod4_CrateSlotuTCA[4]
protected

Definition at line 172 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D DigiTask::_cCapidMinusBXmod4_CrateSlotVME[4]
protected

Definition at line 173 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cCapidMinusBXmod4_SubdetPM
protected

Definition at line 171 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cDigiSize_Crate
protected

Definition at line 142 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cDigiSize_FED
protected

Definition at line 143 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cDigiSizevsLS_FED
protected

Definition at line 144 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cfC_SubdetPM
protected

Definition at line 77 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cfC_SubdetPM_QIE1011
protected

Definition at line 85 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D DigiTask::_cLETDCTime_depth
protected

Definition at line 157 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cLETDCTime_SubdetPM
protected

Definition at line 156 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cLETDCTimevsADC_SubdetPM
protected

Definition at line 158 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cLETDCvsADC_2bit_SubdetPM
protected

Definition at line 152 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cLETDCvsADC_6bit_SubdetPM
protected

Definition at line 153 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cLETDCvsTS_2bit_SubdetPM
protected

Definition at line 154 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cLETDCvsTS_6bit_SubdetPM
protected

Definition at line 155 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancy_Crate
protected

Definition at line 117 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancy_CrateSlot
protected

Definition at line 118 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancy_depth
protected

Definition at line 119 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancy_ElectronicsuTCA
protected

Definition at line 116 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancy_ElectronicsVME
protected

Definition at line 115 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancy_FEDuTCA
protected

Definition at line 114 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancy_FEDVME
protected

Definition at line 113 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancyCut_depth
protected

Definition at line 130 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancyCut_ElectronicsuTCA
protected

Definition at line 129 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancyCut_ElectronicsVME
protected

Definition at line 128 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancyCut_FEDuTCA
protected

Definition at line 127 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancyCut_FEDVME
protected

Definition at line 126 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cOccupancyCutvsBX_Subdet
protected

Definition at line 139 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cOccupancyCutvsieta_Subdet
protected

Definition at line 132 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cOccupancyCutvsiphi_SubdetPM
protected

Definition at line 131 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D DigiTask::_cOccupancyCutvsiphivsLS_SubdetPM
protected

Definition at line 134 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cOccupancyCutvsLS_Subdet
protected

Definition at line 138 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cOccupancyvsieta_Subdet
protected

Definition at line 121 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cOccupancyvsiphi_SubdetPM
protected

Definition at line 120 of file DigiTask.h.

Referenced by _process(), _resetMonitors(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cOccupancyvsLS_Subdet
protected

Definition at line 137 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cQ2Q12CutvsLS_FEDHF
protected

Definition at line 109 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cShapeCut_FED
protected

Definition at line 91 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D DigiTask::_cSummaryvsLS
protected

Definition at line 184 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::Container2D DigiTask::_cSummaryvsLS_FED
protected

Definition at line 183 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerProf2D DigiTask::_cSumQ_depth
protected

Definition at line 79 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cSumQ_SubdetPM
protected

Definition at line 78 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cSumQ_SubdetPM_QIE1011
protected

Definition at line 86 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cSumQvsBX_SubdetPM
protected

Definition at line 81 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cSumQvsBX_SubdetPM_QIE1011
protected

Definition at line 88 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cSumQvsLS_SubdetPM
protected

Definition at line 80 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cSumQvsLS_SubdetPM_QIE1011
protected

Definition at line 87 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D DigiTask::_cTimingCut_depth
protected

Definition at line 104 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D DigiTask::_cTimingCut_ElectronicsuTCA
protected

Definition at line 101 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D DigiTask::_cTimingCut_ElectronicsVME
protected

Definition at line 100 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D DigiTask::_cTimingCut_FEDuTCA
protected

Definition at line 99 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D DigiTask::_cTimingCut_FEDVME
protected

Definition at line 98 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_cTimingCut_SubdetPM
protected

Definition at line 97 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cTimingCutvsieta_Subdet
protected

Definition at line 106 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cTimingCutvsiphi_SubdetPM
protected

Definition at line 105 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cTimingCutvsLS_FED
protected

Definition at line 102 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D DigiTask::_cTimingCutvsLS_SubdetPM
protected

Definition at line 103 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

double DigiTask::_cutSumQ_HBHE
protected

Definition at line 49 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and DigiTask().

double DigiTask::_cutSumQ_HF
protected

Definition at line 49 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and DigiTask().

double DigiTask::_cutSumQ_HO
protected

Definition at line 49 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and DigiTask().

hcaldqm::electronicsmap::ElectronicsMap DigiTask::_dhashmap
protected

Definition at line 63 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::electronicsmap::ElectronicsMap DigiTask::_ehashmap
protected

Definition at line 62 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::filter::HashFilter DigiTask::_filter_FEDHF
protected

Definition at line 68 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter DigiTask::_filter_QIE1011
protected

Definition at line 69 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter DigiTask::_filter_QIE8
protected

Definition at line 70 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter DigiTask::_filter_TDC2bit
protected

Definition at line 71 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter DigiTask::_filter_TDC6bit
protected

Definition at line 72 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter DigiTask::_filter_uTCA
protected

Definition at line 67 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter DigiTask::_filter_VME
protected

Definition at line 66 of file DigiTask.h.

Referenced by bookHistograms().

hcaldqm::Container2D DigiTask::_LED_ADCvsBX_Subdet
protected

Definition at line 196 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D DigiTask::_LED_CUCountvsLS_Subdet
protected

Definition at line 194 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

hcaldqm::Container1D DigiTask::_LED_CUCountvsLSmod60_Subdet
protected

Definition at line 195 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

std::map<HcalSubdetector, std::vector<HcalDetId> > DigiTask::_ledCalibrationChannels
protected

Definition at line 192 of file DigiTask.h.

Referenced by _process(), and DigiTask().

bool DigiTask::_qie10InConditions
protected

Definition at line 186 of file DigiTask.h.

Referenced by _process(), and DigiTask().

std::map<HcalSubdetector, int> DigiTask::_refDigiSize
protected

Definition at line 59 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::InputTag DigiTask::_tagHO
protected

Definition at line 43 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::InputTag DigiTask::_tagQIE10
protected

Definition at line 44 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::InputTag DigiTask::_tagQIE11
protected

Definition at line 42 of file DigiTask.h.

Referenced by _process(), and DigiTask().

double DigiTask::_thresh_led
protected

Definition at line 191 of file DigiTask.h.

Referenced by _process(), and DigiTask().

double DigiTask::_thresh_unihf
protected

Definition at line 50 of file DigiTask.h.

Referenced by DigiTask(), and endLuminosityBlock().

edm::EDGetTokenT<HODigiCollection> DigiTask::_tokHO
protected

Definition at line 46 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::EDGetTokenT<QIE10DigiCollection> DigiTask::_tokQIE10
protected

Definition at line 47 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::EDGetTokenT<QIE11DigiCollection> DigiTask::_tokQIE11
protected

Definition at line 45 of file DigiTask.h.

Referenced by _process(), and DigiTask().

bool DigiTask::_unknownIdsPresent
protected

Definition at line 181 of file DigiTask.h.

Referenced by _process(), _resetMonitors(), bookHistograms(), and endLuminosityBlock().

std::vector<hcaldqm::flag::Flag> DigiTask::_vflags
protected

Definition at line 53 of file DigiTask.h.

Referenced by bookHistograms(), DigiTask(), and endLuminosityBlock().

std::vector<uint32_t> DigiTask::_vhashFEDs
protected

Definition at line 57 of file DigiTask.h.

Referenced by beginLuminosityBlock(), bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> DigiTask::_xBadCapid
protected

Definition at line 149 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> DigiTask::_xDigiSize
protected

Definition at line 145 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> DigiTask::_xNChs
protected

Definition at line 147 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> DigiTask::_xNChsNominal
protected

Definition at line 148 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> DigiTask::_xUni
protected

Definition at line 146 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> DigiTask::_xUniHF
protected

Definition at line 146 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

MonitorElement* DigiTask::meNumEvents1LS
protected

Definition at line 179 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

MonitorElement* DigiTask::meUnknownIds1LS
protected

Definition at line 180 of file DigiTask.h.

Referenced by _process(), and bookHistograms().