File indexing completed on 2024-04-06 12:07:31
0001 #ifndef RecHitTask_h
0002 #define RecHitTask_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "DQM/HcalCommon/interface/DQTask.h"
0015 #include "DQM/HcalCommon/interface/Utilities.h"
0016 #include "DQM/HcalCommon/interface/HashFilter.h"
0017 #include "DQM/HcalCommon/interface/Container1D.h"
0018 #include "DQM/HcalCommon/interface/Container2D.h"
0019 #include "DQM/HcalCommon/interface/ContainerProf1D.h"
0020 #include "DQM/HcalCommon/interface/ContainerProf2D.h"
0021 #include "DQM/HcalCommon/interface/ContainerSingle1D.h"
0022 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0023 #include "DQM/HcalCommon/interface/ContainerSingleProf2D.h"
0024 #include "DQM/HcalCommon/interface/ElectronicsMap.h"
0025
0026 class RecHitTask : public hcaldqm::DQTask {
0027 public:
0028 RecHitTask(edm::ParameterSet const &);
0029 ~RecHitTask() override {}
0030
0031 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0032 std::shared_ptr<hcaldqm::Cache> globalBeginLuminosityBlock(edm::LuminosityBlock const &,
0033 edm::EventSetup const &) const override;
0034 void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override;
0035
0036 protected:
0037 void _process(edm::Event const &, edm::EventSetup const &) override;
0038 void _resetMonitors(hcaldqm::UpdateFreq) override;
0039
0040 edm::InputTag _tagHBHE;
0041 edm::InputTag _tagHO;
0042 edm::InputTag _tagHF;
0043 edm::InputTag _tagPreHF;
0044 bool _hfPreRecHitsAvailable;
0045 edm::EDGetTokenT<HBHERecHitCollection> _tokHBHE;
0046 edm::EDGetTokenT<HORecHitCollection> _tokHO;
0047 edm::EDGetTokenT<HFRecHitCollection> _tokHF;
0048 edm::EDGetTokenT<HFPreRecHitCollection> _tokPreHF;
0049 edm::ESGetToken<HcalDbService, HcalDbRecord> hcalDbServiceToken_;
0050
0051 double _cutE_HBHE, _cutE_HO, _cutE_HF;
0052 double _thresh_unihf;
0053
0054
0055 std::vector<uint32_t> _vhashFEDs;
0056
0057
0058 std::vector<hcaldqm::flag::Flag> _vflags;
0059 enum RecoFlag { fUni = 0, fTCDS = 1, fUnknownIds = 2, nRecoFlag = 3 };
0060
0061
0062 hcaldqm::electronicsmap::ElectronicsMap _ehashmap;
0063
0064
0065 hcaldqm::filter::HashFilter _filter_VME;
0066 hcaldqm::filter::HashFilter _filter_uTCA;
0067 hcaldqm::filter::HashFilter _filter_FEDsVME;
0068 hcaldqm::filter::HashFilter _filter_FEDsuTCA;
0069 hcaldqm::filter::HashFilter _filter_HF;
0070
0071
0072 hcaldqm::Container1D _cEnergy_Subdet;
0073 hcaldqm::ContainerProf1D _cEnergyvsieta_Subdet;
0074 hcaldqm::ContainerProf1D _cEnergyvsiphi_SubdetPM;
0075 hcaldqm::ContainerProf2D _cEnergy_depth;
0076 hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM;
0077 hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM;
0078
0079
0080 hcaldqm::Container2D _cTimingvsEnergy_SubdetPM;
0081
0082
0083 hcaldqm::Container1D _cTimingCut_SubdetPM;
0084 hcaldqm::Container1D _cTimingCut_HBHEPartition;
0085 hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA;
0086 hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA;
0087 hcaldqm::ContainerProf2D _cTimingCut_depth;
0088 hcaldqm::ContainerProf1D _cTimingCutvsLS_FED;
0089 hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM;
0090 hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet;
0091 hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM;
0092 hcaldqm::ContainerProf1D _cTimingCutvsBX_SubdetPM;
0093
0094
0095 hcaldqm::Container2D _cOccupancy_depth;
0096 hcaldqm::Container2D _cOccupancy_FEDuTCA;
0097 hcaldqm::Container2D _cOccupancy_ElectronicsuTCA;
0098 hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet;
0099 hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM;
0100 hcaldqm::Container1D _cOccupancyvsieta_Subdet;
0101
0102
0103 hcaldqm::Container2D _cOccupancyCut_FEDuTCA;
0104 hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA;
0105 hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet;
0106 hcaldqm::Container2D _cOccupancyCut_depth;
0107 hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM;
0108 hcaldqm::Container1D _cOccupancyCutvsieta_Subdet;
0109 hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet;
0110 hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM;
0111 hcaldqm::ContainerXXX<uint32_t> _xUniHF, _xUni;
0112
0113
0114 hcaldqm::Container2D _cDAAsymmetryVsCharge_SubdetPM;
0115 hcaldqm::ContainerProf2D _cDAAsymmetryMean_cut_depth;
0116 hcaldqm::Container1D _cDAAsymmetry_cut_SubdetPM;
0117
0118
0119 MonitorElement *meUnknownIds1LS;
0120 bool _unknownIdsPresent;
0121
0122 std::vector<HcalGenericDetId> _gids;
0123 hcaldqm::Container2D _cSummaryvsLS_FED;
0124 hcaldqm::ContainerSingle2D _cSummaryvsLS;
0125 };
0126
0127 #endif