Go to the documentation of this file.00001 #ifndef RPCOccupancyTest_H
00002 #define RPCOccupancyTest_H
00003
00004 #include "DQM/RPCMonitorClient/interface/RPCClient.h"
00005 #include "DQMServices/Core/interface/DQMStore.h"
00006
00007 #include <map>
00008 #include <memory>
00009 #include <string>
00010 #include <vector>
00011
00012
00013
00014
00015 class RPCOccupancyTest:public RPCClient {
00016 public:
00017
00018 RPCOccupancyTest(const edm::ParameterSet& ps);
00019 virtual ~RPCOccupancyTest();
00020
00021 void beginJob(DQMStore *, std::string);
00022 void endRun(const edm::Run& , const edm::EventSetup& );
00023 void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ;
00024 void analyze(const edm::Event& iEvent, const edm::EventSetup& c);
00025 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& c);
00026 void beginRun(const edm::Run& , const edm::EventSetup& );
00027 void endJob();
00028 void clientOperation(edm::EventSetup const& c);
00029 void getMonitorElements(std::vector<MonitorElement *> & , std::vector<RPCDetId>& );
00030 protected:
00031
00032 void fillGlobalME(RPCDetId & , MonitorElement *);
00033
00034 private:
00035
00036 std::string globalFolder_, prefixDir_;
00037 bool testMode_;
00038 bool useRollInfo_;
00039 std::vector<MonitorElement *> myOccupancyMe_;
00040 std::vector<RPCDetId> myDetIds_;
00041 int prescaleFactor_;
00042
00043 DQMStore* dbe_;
00044 int numberOfDisks_, numberOfRings_;
00045
00046 float rpcevents_;
00047
00048 MonitorElement * AsyMeWheel[5];
00049 MonitorElement * NormOccupWheel[5];
00050
00051 MonitorElement * AsyMeDWheel[5];
00052 MonitorElement * NormOccupDWheel[5];
00053
00054 MonitorElement * AsyMeDisk[10];
00055 MonitorElement * NormOccupDisk[10];
00056
00057 MonitorElement * AsyMeDDisk[10];
00058 MonitorElement * NormOccupDDisk[10];
00059 MonitorElement * Barrel_OccBySt;
00060 MonitorElement * EndCap_OccByRng;
00061 MonitorElement * EndCap_OccByDisk ;
00062
00063 };
00064
00065 #endif