File indexing completed on 2023-03-17 10:54:51
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
0051 double _cutSumQ_HBHE, _cutSumQ_HO, _cutSumQ_HF;
0052 double _thresh_unihf;
0053
0054
0055 std::vector<hcaldqm::flag::Flag> _vflags;
0056 enum DigiFlag { fDigiSize = 0, fUni = 1, fNChsHF = 2, fUnknownIds = 3, fLED = 4, fCapId = 5, nDigiFlag = 6 };
0057
0058
0059 std::vector<uint32_t> _vhashFEDs;
0060
0061 std::map<HcalSubdetector, int> _refDigiSize;
0062
0063
0064 hcaldqm::electronicsmap::ElectronicsMap _ehashmap;
0065 hcaldqm::electronicsmap::ElectronicsMap _dhashmap;
0066
0067
0068 hcaldqm::filter::HashFilter _filter_VME;
0069 hcaldqm::filter::HashFilter _filter_uTCA;
0070 hcaldqm::filter::HashFilter _filter_FEDHF;
0071 hcaldqm::filter::HashFilter _filter_QIE1011;
0072 hcaldqm::filter::HashFilter _filter_QIE8;
0073 hcaldqm::filter::HashFilter _filter_TDC2bit;
0074 hcaldqm::filter::HashFilter _filter_TDC6bit;
0075
0076
0077
0078 hcaldqm::Container1D _cADC_SubdetPM;
0079 hcaldqm::Container1D _cfC_SubdetPM;
0080 hcaldqm::Container1D _cSumQ_SubdetPM;
0081 hcaldqm::ContainerProf2D _cSumQ_depth;
0082 hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM;
0083 hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM;
0084
0085
0086 hcaldqm::Container1D _cADC_SubdetPM_QIE1011;
0087 hcaldqm::Container1D _cfC_SubdetPM_QIE1011;
0088 hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011;
0089 hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM_QIE1011;
0090 hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011;
0091
0092
0093 hcaldqm::Container1D _cShapeCut_FED;
0094 hcaldqm::Container2D _cADCvsTS_SubdetPM;
0095 hcaldqm::Container2D _cADCvsTS_SubdetPM_QIE1011;
0096
0097
0098
0099 hcaldqm::Container1D _cTimingCut_SubdetPM;
0100 hcaldqm::Container1D _cTimingCutHTH_SubdetPM;
0101 hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA;
0102 hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA;
0103 hcaldqm::ContainerProf1D _cTimingCutvsLS_FED;
0104 hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM;
0105 hcaldqm::ContainerProf2D _cTimingCut_depth;
0106 hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM;
0107 hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet;
0108
0109
0110 hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF;
0111
0112
0113
0114 hcaldqm::Container2D _cOccupancy_FEDuTCA;
0115 hcaldqm::Container2D _cOccupancy_ElectronicsuTCA;
0116 hcaldqm::Container2D _cOccupancy_Crate;
0117 hcaldqm::Container2D _cOccupancy_CrateSlot;
0118 hcaldqm::Container2D _cOccupancy_depth;
0119 hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM;
0120 hcaldqm::Container1D _cOccupancyvsieta_Subdet;
0121
0122
0123
0124
0125 hcaldqm::Container2D _cOccupancyCut_FEDuTCA;
0126 hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA;
0127 hcaldqm::Container2D _cOccupancyCut_depth;
0128 hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM;
0129 hcaldqm::Container1D _cOccupancyCutvsieta_Subdet;
0130
0131 hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM;
0132
0133
0134 hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet;
0135 hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet;
0136 hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet;
0137
0138
0139 hcaldqm::Container1D _cDigiSize_Crate;
0140 hcaldqm::Container1D _cDigiSize_FED;
0141 hcaldqm::ContainerProf1D _cDigiSizevsLS_FED;
0142 hcaldqm::ContainerXXX<uint32_t> _xDigiSize;
0143 hcaldqm::ContainerXXX<uint32_t> _xUniHF, _xUni;
0144 hcaldqm::ContainerXXX<uint32_t> _xNChs;
0145 hcaldqm::ContainerXXX<uint32_t> _xNChsNominal;
0146 hcaldqm::ContainerXXX<uint32_t> _xBadCapid;
0147
0148
0149 hcaldqm::Container2D _cLETDCvsADC_2bit_SubdetPM;
0150 hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM;
0151 hcaldqm::Container2D _cLETDCvsTS_2bit_SubdetPM;
0152 hcaldqm::Container2D _cLETDCvsTS_6bit_SubdetPM;
0153 hcaldqm::Container1D _cLETDCTime_SubdetPM;
0154 hcaldqm::ContainerProf2D _cLETDCTime_depth;
0155 hcaldqm::Container2D _cLETDCTimevsADC_SubdetPM;
0156
0157
0158 hcaldqm::Container1D _cBadTDCValues_SubdetPM;
0159 hcaldqm::Container1D _cBadTDCvsBX_SubdetPM;
0160 hcaldqm::Container1D _cBadTDCvsLS_SubdetPM;
0161 hcaldqm::Container2D _cBadTDCCount_depth;
0162
0163 hcaldqm::Container1D _cBadTDCValues;
0164 hcaldqm::Container1D _cBadTDCvsBX;
0165 hcaldqm::Container1D _cBadTDCvsLS;
0166
0167
0168 hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM;
0169 hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4];
0170 hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS;
0171 hcaldqm::ContainerSingle2D
0172 _cCapid_BadvsFEDvsLSmod60;
0173
0174
0175 MonitorElement *meNumEvents1LS;
0176 MonitorElement *meUnknownIds1LS;
0177 bool _unknownIdsPresent;
0178
0179 hcaldqm::Container2D _cSummaryvsLS_FED;
0180 hcaldqm::ContainerSingle2D _cSummaryvsLS;
0181
0182 bool _qie10InConditions;
0183
0184 std::map<HcalSubdetector, short> _capidmbx;
0185
0186
0187 double _thresh_led;
0188 std::map<HcalSubdetector, std::vector<HcalDetId> > _ledCalibrationChannels;
0189
0190 hcaldqm::Container1D _LED_CUCountvsLS_Subdet;
0191 hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet;
0192 hcaldqm::Container2D _LED_ADCvsBX_Subdet;
0193 };
0194
0195 #endif