CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/EcalPreshowerMonitorModule/interface/ESIntegrityTask.h

Go to the documentation of this file.
00001 #ifndef ESIntegrityTask_H
00002 #define ESIntegrityTask_H
00003 
00004 #include "FWCore/Framework/interface/EDAnalyzer.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007 
00008 class MonitorElement;
00009 class DQMStore;
00010 
00011 class ESIntegrityTask : public edm::EDAnalyzer {
00012 
00013    public:
00014 
00015       ESIntegrityTask(const edm::ParameterSet& ps);
00016       virtual ~ESIntegrityTask();
00017 
00018    protected:
00019 
00021       void analyze(const edm::Event& e, const edm::EventSetup& c);
00022 
00024       void beginJob(void);
00025 
00027       void endJob(void);
00028 
00030       void beginRun(const edm::Run & r, const edm::EventSetup & c);
00031 
00033       void endRun(const edm::Run & r, const edm::EventSetup & c);
00034 
00036       void beginLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup & c);
00037 
00039       void endLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup & c);
00040 
00042       void reset(void);
00043 
00045       void setup(void);
00046 
00048       void cleanup(void);
00049 
00051       void calculateDIFraction(void);
00052 
00053    private:
00054 
00055       int ievt_;
00056 
00057       DQMStore* dqmStore_;
00058 
00059       std::string prefixME_;
00060 
00061       bool enableCleanup_;
00062       bool mergeRuns_;
00063 
00064       edm::InputTag dccCollections_;
00065       edm::InputTag kchipCollections_;
00066 
00067       MonitorElement* meGain_;
00068       MonitorElement* meFED_;
00069       MonitorElement* meSLinkCRCErr_;
00070       MonitorElement* meDCCErr_;
00071       MonitorElement* meDCCCRCErr_;
00072       MonitorElement* meOptoRX_;
00073       MonitorElement* meOptoBC_;
00074       MonitorElement* meFiberBadStatus_;
00075       MonitorElement* meFiberErrCode_;
00076       MonitorElement* meFiberOff_;
00077       MonitorElement* meEVDR_;
00078       MonitorElement* meKF1_;
00079       MonitorElement* meKF2_;
00080       MonitorElement* meKBC_;
00081       MonitorElement* meKEC_;
00082       MonitorElement* meDIErrors_[2][2];
00083       MonitorElement* meDIErrorsLS_[2][2];
00084       MonitorElement* meDIFraction_;
00085 
00086       edm::FileInPath lookup_;
00087 
00088       bool init_;
00089       int runNum_, eCount_, runtype_, seqtype_, dac_, gain_, precision_;
00090       int firstDAC_, nDAC_, isPed_, vDAC_[5]; 
00091       int fed_[2][2][40][40], kchip_[2][2][40][40], fiber_[2][2][40][40];
00092       bool doLumiAnalysis_;
00093 };
00094 
00095 #endif