Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:11

0001 #ifndef DQM_RPCMonitorClient_DQMDaqInfo_H
0002 #define DQM_RPCMonitorClient_DQMDaqInfo_H
0003 
0004 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006 #include "CondFormats/RunInfo/interface/RunInfo.h"
0007 #include "CondFormats/DataRecord/interface/RunSummaryRcd.h"
0008 
0009 #include <utility>
0010 
0011 class RPCDaqInfo : public DQMEDHarvester {
0012 public:
0013   explicit RPCDaqInfo(const edm::ParameterSet &);
0014   ~RPCDaqInfo() override = default;
0015 
0016 protected:
0017   void beginJob() override;
0018   void dqmEndLuminosityBlock(DQMStore::IBooker &,
0019                              DQMStore::IGetter &,
0020                              edm::LuminosityBlock const &,
0021                              edm::EventSetup const &) override;       //performed in the endLumi
0022   void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;  //performed in the endJob
0023 
0024 private:
0025   void myBooker(DQMStore::IBooker &);
0026 
0027   edm::ESGetToken<RunInfo, RunInfoRcd> runInfoToken_;
0028 
0029   bool init_;
0030 
0031   MonitorElement *DaqFraction_;
0032   MonitorElement *DaqMap_;
0033   constexpr static int nWheels_ = 5;
0034   MonitorElement *daqWheelFractions[nWheels_];
0035   constexpr static int nDisks_ = 10;
0036   MonitorElement *daqDiskFractions[nDisks_];
0037 
0038   std::pair<int, int> FEDRange_;
0039 
0040   int numberOfDisks_, NumberOfFeds_;
0041 };
0042 
0043 #endif