File indexing completed on 2024-04-06 12:07:27
0001 #ifndef DQM_HcalCommon_DQClient_h
0002 #define DQM_HcalCommon_DQClient_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "DQM/HcalCommon/interface/Container1D.h"
0011 #include "DQM/HcalCommon/interface/Container2D.h"
0012 #include "DQM/HcalCommon/interface/ContainerProf1D.h"
0013 #include "DQM/HcalCommon/interface/ContainerProf2D.h"
0014 #include "DQM/HcalCommon/interface/ContainerSingle1D.h"
0015 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0016 #include "DQM/HcalCommon/interface/ContainerXXX.h"
0017 #include "DQM/HcalCommon/interface/DQModule.h"
0018 #include "DQM/HcalCommon/interface/Flag.h"
0019 #include "DQM/HcalCommon/interface/HashFilter.h"
0020 #include "DQM/HcalCommon/interface/Utilities.h"
0021
0022 namespace hcaldqm {
0023 class DQClient : public DQModule {
0024 public:
0025 typedef dqm::legacy::MonitorElement MonitorElement;
0026 typedef dqm::legacy::DQMStore DQMStore;
0027
0028 DQClient(std::string const &, std::string const &, edm::ParameterSet const &, edm::ConsumesCollector &iC);
0029 ~DQClient() override {}
0030
0031 virtual void beginRun(edm::Run const &, edm::EventSetup const &);
0032 virtual void beginLuminosityBlock(DQMStore::IBooker &,
0033 DQMStore::IGetter &,
0034 edm::LuminosityBlock const &lb,
0035 edm::EventSetup const &);
0036 virtual void endLuminosityBlock(DQMStore::IBooker &,
0037 DQMStore::IGetter &,
0038 edm::LuminosityBlock const &,
0039 edm::EventSetup const &);
0040 virtual std::vector<flag::Flag> endJob(DQMStore::IBooker &, DQMStore::IGetter &);
0041
0042 protected:
0043 struct LSSummary {
0044
0045 std::vector<std::vector<flag::Flag>> _vflags;
0046 int _LS;
0047 };
0048
0049
0050 std::string _taskname;
0051
0052
0053 int _totalLS;
0054 int _maxProcessedLS;
0055
0056
0057 edm::ESGetToken<HcalDbService, HcalDbRecord> hcalDbServiceToken_;
0058 edm::ESGetToken<RunInfo, RunInfoRcd> runInfoToken_;
0059 edm::ESGetToken<HcalChannelQuality, HcalChannelQualityRcd> hcalChannelQualityToken_;
0060 HcalElectronicsMap const *_emap;
0061
0062
0063 std::vector<int> _vCrates;
0064 std::vector<uint32_t> _vhashCrates;
0065
0066
0067 std::vector<int> _vFEDs;
0068 std::vector<uint32_t> _vhashFEDs;
0069
0070
0071 ContainerXXX<uint32_t> _xQuality;
0072
0073
0074 std::vector<uint32_t> _vcdaqEids;
0075 };
0076 }
0077
0078 #endif