CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DQM/RPCMonitorClient/interface/RPCChamberQuality.h

Go to the documentation of this file.
00001 #ifndef RPCChamberQuality_H
00002 #define RPCChamberQuality_H
00003 
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include <FWCore/Framework/interface/EDAnalyzer.h>
00006 #include <FWCore/Framework/interface/MakerMacros.h>
00007 #include "FWCore/ServiceRegistry/interface/Service.h"
00008 #include "DQMServices/Core/interface/MonitorElement.h"
00009 #include "DQMServices/Core/interface/DQMStore.h"
00010 
00011 #include <string>
00012 
00013 class RPCChamberQuality:public edm::EDAnalyzer {
00014 public:
00015 
00016   RPCChamberQuality(const edm::ParameterSet& ps);
00017   virtual ~RPCChamberQuality();
00018 
00019 
00020   void beginJob();
00021   void beginRun(const edm::Run& r, const edm::EventSetup& c);
00022   void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ;
00023   void analyze(const edm::Event& iEvent, const edm::EventSetup& c);
00024   void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& c);
00025   void endRun(const edm::Run& r, const edm::EventSetup& c);
00026   
00027  private:
00028 
00029   void fillMonitorElements();
00030 
00031   MonitorElement * RpcEvents;
00032   enum chamberQualityState { GoodState= 1 , OffState =2, NoisyStripState= 3, NoisyRollState= 4 , PartiallyDeadState=5 , DeadState=6,BadShapeState=7 };
00033 
00034   int lumiCounter_;
00035 
00036   bool  enableDQMClients_;
00037   bool offlineDQM_;
00038 
00039   void performeClientOperation(std::string , int , MonitorElement *);
00040   
00041   std::string prefixDir_, summaryDir_;
00042   static const std::string xLabels_[7];
00043   static const std::string regions_[3];
00044   bool useRollInfo_;
00045   int prescaleFactor_;
00046   int numberOfDisks_;
00047 
00048    bool init_;
00049   DQMStore* dbe_;
00050 
00051   int minEvents;
00052   int numLumBlock_;
00053 };
00054 
00055 #endif