File indexing completed on 2023-03-17 10:54:45
0001 #ifndef DQHarvester_h
0002 #define DQHarvester_h
0003
0004
0005
0006
0007
0008
0009 #include "DQM/HcalCommon/interface/ContainerXXX.h"
0010 #include "DQM/HcalCommon/interface/DQModule.h"
0011 #include "DQM/HcalCommon/interface/Utilities.h"
0012
0013 #include <string>
0014 #include <vector>
0015
0016 namespace hcaldqm {
0017 class DQHarvester : public DQMEDHarvester, public DQModule {
0018 public:
0019 DQHarvester(edm::ParameterSet const &);
0020 ~DQHarvester() override {}
0021
0022 void beginRun(edm::Run const &, edm::EventSetup const &) override;
0023 void dqmBeginLuminosityBlock(DQMStore::IBooker &ib,
0024 DQMStore::IGetter &ig,
0025 edm::LuminosityBlock const &lb,
0026 edm::EventSetup const &es);
0027 void dqmEndLuminosityBlock(DQMStore::IBooker &,
0028 DQMStore::IGetter &,
0029 edm::LuminosityBlock const &,
0030 edm::EventSetup const &) override;
0031 void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0032
0033 protected:
0034
0035 HcalElectronicsMap const *_emap;
0036
0037
0038 int _totalLS;
0039
0040
0041 std::vector<int> _vCrates;
0042 std::vector<uint32_t> _vhashCrates;
0043
0044
0045 std::vector<int> _vFEDs;
0046 std::vector<uint32_t> _vhashFEDs;
0047
0048 ContainerXXX<uint32_t> _xQuality;
0049
0050
0051 std::vector<uint32_t> _vcdaqEids;
0052
0053 edm::ESGetToken<HcalDbService, HcalDbRecord> hcalDbServiceToken_;
0054 edm::ESGetToken<RunInfo, RunInfoRcd> runInfoToken_;
0055 edm::ESGetToken<HcalChannelQuality, HcalChannelQualityRcd> hcalChannelQualityToken_;
0056
0057 virtual void _dqmEndLuminosityBlock(DQMStore::IBooker &,
0058 DQMStore::IGetter &,
0059 edm::LuminosityBlock const &,
0060 edm::EventSetup const &) = 0;
0061 virtual void _dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) = 0;
0062 };
0063 }
0064
0065 #endif