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