Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RPCDqmClient_H
0002 #define RPCDqmClient_H
0003 
0004 #include "DQMServices/Core/interface/DQMStore.h"
0005 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "DQM/RPCMonitorClient/interface/RPCClient.h"
0008 
0009 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
0010 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0011 
0012 #include <string>
0013 #include <vector>
0014 #include <memory>
0015 
0016 class RPCDqmClient : public DQMEDHarvester {
0017 public:
0018   /// Constructor
0019   RPCDqmClient(const edm::ParameterSet &ps);
0020 
0021   /// Destructor
0022   ~RPCDqmClient() override = default;
0023 
0024 protected:
0025   void beginJob() override;
0026   void dqmEndLuminosityBlock(DQMStore::IBooker &,
0027                              DQMStore::IGetter &,
0028                              edm::LuminosityBlock const &,
0029                              edm::EventSetup const &) override;       //performed in the endLumi
0030   void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;  //performed in the endJob
0031 
0032   void makeClientMap(const edm::ParameterSet &parameters_);
0033   void getMonitorElements(DQMStore::IGetter &);
0034   void getRPCdetId(const edm::EventSetup &);
0035 
0036 private:
0037   bool offlineDQM_;
0038   int prescaleGlobalFactor_, minimumEvents_, numLumBlock_;
0039   int numberOfDisks_, numberOfRings_;
0040 
0041   bool useRollInfo_, enableDQMClients_;
0042   std::string prefixDir_;
0043   std::string globalFolder_;
0044   std::vector<std::string> clientList_;
0045   int lumiCounter_;
0046   MonitorElement *RPCEvents_;
0047   std::vector<RPCDetId> myDetIds_;
0048   std::vector<std::string> clientNames_, clientHisto_;
0049   std::vector<std::unique_ptr<RPCClient> > clientModules_;
0050 
0051   std::vector<int> clientTag_;
0052 
0053   edm::ESGetToken<RPCGeometry, MuonGeometryRecord> rpcGeomToken_;
0054 };
0055 #endif