File indexing completed on 2025-06-04 22:36:05
0001 #ifndef DigiTask_h
0002 #define DigiTask_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "DQM/HcalCommon/interface/DQTask.h"
0017 #include "DQM/HcalCommon/interface/Utilities.h"
0018 #include "DQM/HcalCommon/interface/HashFilter.h"
0019 #include "DQM/HcalCommon/interface/ElectronicsMap.h"
0020 #include "DQM/HcalCommon/interface/Container1D.h"
0021 #include "DQM/HcalCommon/interface/Container2D.h"
0022 #include "DQM/HcalCommon/interface/ContainerProf1D.h"
0023 #include "DQM/HcalCommon/interface/ContainerProf2D.h"
0024 #include "DQM/HcalCommon/interface/ContainerSingle1D.h"
0025 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0026 #include "DQM/HcalCommon/interface/ContainerSingleProf2D.h"
0027 #include "DQM/HcalCommon/interface/ContainerXXX.h"
0028
0029 class DigiTask : public hcaldqm::DQTask {
0030 public:
0031 DigiTask(edm::ParameterSet const &);
0032 ~DigiTask() override {}
0033
0034 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0035 std::shared_ptr<hcaldqm::Cache> globalBeginLuminosityBlock(edm::LuminosityBlock const &,
0036 edm::EventSetup const &) const override;
0037 void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override;
0038
0039 protected:
0040 void _process(edm::Event const &, edm::EventSetup const &) override;
0041 void _resetMonitors(hcaldqm::UpdateFreq) override;
0042
0043 edm::InputTag _tagQIE11;
0044 edm::InputTag _tagHO;
0045 edm::InputTag _tagQIE10;
0046 edm::EDGetTokenT<QIE11DigiCollection> _tokQIE11;
0047 edm::EDGetTokenT<HODigiCollection> _tokHO;
0048 edm::EDGetTokenT<QIE10DigiCollection> _tokQIE10;
0049 edm::ESGetToken<HcalDbService, HcalDbRecord> hcalDbServiceToken_;
0050 edm::ESGetToken<HcalChannelQuality, HcalChannelQualityRcd> _tokHcalChannelQuality;
0051
0052 double _cutSumQ_HBHE, _cutSumQ_HO, _cutSumQ_HF;
0053 double _thresh_unihf;
0054 double _HBSumMeanofSumQForEachEvent, _HESumMeanofSumQForEachEvent, _HOSumMeanofSumQForEachEvent,
0055 _HFSumMeanofSumQForEachEvent;
0056
0057 std::vector<hcaldqm::flag::Flag> _vflags;
0058 enum DigiFlag { fDigiSize = 0, fUni = 1, fNChsHF = 2, fUnknownIds = 3, fLED = 4, fCapId = 5, nDigiFlag = 6 };
0059
0060
0061 std::vector<uint32_t> _vhashFEDs;
0062
0063 std::map<HcalSubdetector, int> _refDigiSize;
0064
0065
0066 hcaldqm::electronicsmap::ElectronicsMap _ehashmap;
0067 hcaldqm::electronicsmap::ElectronicsMap _dhashmap;
0068
0069
0070 hcaldqm::filter::HashFilter _filter_VME;
0071 hcaldqm::filter::HashFilter _filter_uTCA;
0072 hcaldqm::filter::HashFilter _filter_FEDHF;
0073 hcaldqm::filter::HashFilter _filter_QIE1011;
0074 hcaldqm::filter::HashFilter _filter_QIE8;
0075 hcaldqm::filter::HashFilter _filter_TDC2bit;
0076 hcaldqm::filter::HashFilter _filter_TDC6bit;
0077
0078
0079
0080 hcaldqm::Container1D _cADC_SubdetPM;
0081 hcaldqm::Container1D _cfC_SubdetPM;
0082 hcaldqm::Container1D _cSumQ_SubdetPM;
0083 hcaldqm::Container1D _cSumQ_Subdet;
0084 hcaldqm::ContainerProf2D _cSumQ_depth;
0085 hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM;
0086 hcaldqm::ContainerProf1D _cAveragedSumQvsLS_Subdet;
0087 hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM;
0088
0089
0090 hcaldqm::Container1D _cADC_SubdetPM_QIE1011;
0091 hcaldqm::Container1D _cfC_SubdetPM_QIE1011;
0092 hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011;
0093 hcaldqm::Container1D _cSumQ_Subdet_QIE1011;
0094 hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM_QIE1011;
0095 hcaldqm::ContainerProf1D _cAveragedSumQvsLS_Subdet_QIE1011;
0096 hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011;
0097
0098
0099 hcaldqm::Container1D _cShapeCut_FED;
0100 hcaldqm::Container2D _cADCvsTS_SubdetPM;
0101 hcaldqm::Container2D _cADCvsTS_SubdetPM_QIE1011;
0102
0103
0104
0105 hcaldqm::Container1D _cTimingCut_SubdetPM;
0106 hcaldqm::Container1D _cTimingCutHTH_SubdetPM;
0107 hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA;
0108 hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA;
0109 hcaldqm::ContainerProf1D _cTimingCutvsLS_FED;
0110 hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM;
0111 hcaldqm::ContainerProf1D _cTimingCutvsLS_depth;
0112 hcaldqm::ContainerProf2D _cTimingCut_depth;
0113 hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM;
0114 hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet;
0115
0116
0117 hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF;
0118
0119
0120
0121 hcaldqm::Container2D _cOccupancy_FEDuTCA;
0122 hcaldqm::Container2D _cOccupancy_ElectronicsuTCA;
0123 hcaldqm::Container2D _cOccupancy_Crate;
0124 hcaldqm::Container2D _cOccupancy_CrateSlot;
0125 hcaldqm::Container2D _cOccupancy_depth;
0126 hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM;
0127 hcaldqm::Container1D _cOccupancyvsieta_Subdet;
0128
0129
0130
0131
0132 hcaldqm::Container2D _cOccupancyCut_FEDuTCA;
0133 hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA;
0134 hcaldqm::Container2D _cOccupancyCut_depth;
0135 hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM;
0136 hcaldqm::Container1D _cOccupancyCutvsieta_Subdet;
0137
0138 hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM;
0139
0140
0141 hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet;
0142 hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet;
0143 hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet;
0144 hcaldqm::ContainerProf1D _cOccupancyBadCapidvsLS_Subdet;
0145 hcaldqm::Container2D _cOccupancyBadCapidvsLS_depth;
0146
0147 hcaldqm::Container1D _cDigiSize_Crate;
0148 hcaldqm::Container1D _cDigiSize_FED;
0149 hcaldqm::ContainerProf1D _cDigiSizevsLS_FED;
0150 hcaldqm::ContainerXXX<uint32_t> _xDigiSize;
0151 hcaldqm::ContainerXXX<uint32_t> _xUniHF, _xUni;
0152 hcaldqm::ContainerXXX<uint32_t> _xNChs;
0153 hcaldqm::ContainerXXX<uint32_t> _xNChsNominal;
0154 hcaldqm::ContainerXXX<uint32_t> _xBadCapid;
0155
0156
0157 hcaldqm::Container2D _cLETDCvsADC_2bit_SubdetPM;
0158 hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM;
0159 hcaldqm::Container2D _cLETDCvsTS_2bit_SubdetPM;
0160 hcaldqm::Container2D _cLETDCvsTS_6bit_SubdetPM;
0161 hcaldqm::Container1D _cLETDCTime_SubdetPM;
0162 hcaldqm::ContainerProf2D _cLETDCTime_depth;
0163 hcaldqm::Container2D _cLETDCTimevsADC_SubdetPM;
0164
0165
0166 hcaldqm::Container1D _cBadTDCValues_SubdetPM;
0167 hcaldqm::Container1D _cBadTDCvsBX_SubdetPM;
0168 hcaldqm::Container1D _cBadTDCvsLS_SubdetPM;
0169 hcaldqm::Container2D _cBadTDCCount_depth;
0170
0171 hcaldqm::Container1D _cBadTDCValues;
0172 hcaldqm::Container1D _cBadTDCvsBX;
0173 hcaldqm::Container1D _cBadTDCvsLS;
0174
0175
0176 hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM;
0177 hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4];
0178 hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS;
0179 hcaldqm::ContainerSingle2D
0180 _cCapid_BadvsFEDvsLSmod10;
0181
0182
0183 MonitorElement *meNumEvents1LS;
0184 MonitorElement *meUnknownIds1LS;
0185 bool _unknownIdsPresent;
0186
0187 hcaldqm::Container2D _cSummaryvsLS_FED;
0188 hcaldqm::ContainerSingle2D _cSummaryvsLS;
0189
0190 bool _qie10InConditions;
0191
0192 std::map<HcalSubdetector, short> _capidmbx;
0193
0194
0195 double _thresh_led;
0196 std::map<HcalSubdetector, std::vector<HcalDetId> > _ledCalibrationChannels;
0197
0198 hcaldqm::Container1D _LED_CUCountvsLS_Subdet;
0199 hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet;
0200 hcaldqm::Container2D _LED_ADCvsBX_Subdet;
0201 };
0202
0203 #endif