Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RPCOccupancyTest_H
0002 #define RPCOccupancyTest_H
0003 
0004 #include "DQM/RPCMonitorClient/interface/RPCClient.h"
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006 
0007 #include <map>
0008 #include <memory>
0009 #include <string>
0010 #include <vector>
0011 
0012 class RPCOccupancyTest : public RPCClient {
0013 public:
0014   RPCOccupancyTest(const edm::ParameterSet &ps);
0015   ~RPCOccupancyTest() override = default;
0016 
0017   void clientOperation() override;
0018   void getMonitorElements(std::vector<MonitorElement *> &, std::vector<RPCDetId> &, std::string &) override;
0019   void beginJob(std::string &) override;
0020   void myBooker(DQMStore::IBooker &) override;
0021 
0022 protected:
0023   // void OccupancyDist();
0024   void fillGlobalME(RPCDetId &, MonitorElement *);
0025 
0026 private:
0027   std::string globalFolder_, prefixDir_;
0028   bool useNormalization_;
0029   bool useRollInfo_;
0030   std::vector<MonitorElement *> myOccupancyMe_;
0031   std::vector<RPCDetId> myDetIds_;
0032   int prescaleFactor_;
0033 
0034   float totalActive_, totalStrips_;
0035 
0036   int numberOfDisks_, numberOfRings_;
0037 
0038   float rpcevents_;
0039 
0040   MonitorElement *Active_Fraction;  // Fraction of channels with data
0041   MonitorElement *Active_Dead;
0042 
0043   MonitorElement *AsyMeWheel[5];  //Left Right Asymetry
0044   MonitorElement *NormOccupWheel[5];
0045   MonitorElement *NormOccupDWheel[5];
0046 
0047   MonitorElement *AsyMeDisk[10];  //Left Right Asymetry
0048   MonitorElement *NormOccupDisk[10];
0049   MonitorElement *NormOccupDDisk[10];
0050 
0051   MonitorElement *Barrel_OccBySt;
0052   MonitorElement *EndCap_OccByRng;
0053   MonitorElement *EndCap_OccByDisk;
0054 };
0055 
0056 #endif