CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/DQM/EcalPreshowerMonitorModule/interface/ESTrendTask.h

Go to the documentation of this file.
00001 #ifndef ESTrendTask_H
00002 #define ESTrendTask_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 #include "TProfile.h"
00009 
00010 class MonitorElement;
00011 class DQMStore;
00012 
00013 class ESTrendTask: public edm::EDAnalyzer{
00014 
00015  public:
00016 
00017   // Constructor
00018   ESTrendTask(const edm::ParameterSet& ps);
00019 
00020   // Destructor
00021   virtual ~ESTrendTask();
00022 
00023  protected:
00024 
00025   // Analyze
00026   void analyze(const edm::Event& e, const edm::EventSetup& c);
00027 
00028   // BeginJob
00029   void beginJob(void);
00030 
00031   // EndJob
00032   void endJob(void);
00033 
00034   // BeginRun
00035   void beginRun(const edm::Run & r, const edm::EventSetup & c);
00036 
00037   // EndRun
00038   void endRun(const edm::Run & r, const edm::EventSetup & c);
00039 
00040   // Reset
00041   void reset(void);
00042 
00043   // Setup
00044   void setup(void);
00045 
00046   // Cleanup
00047   void cleanup(void);
00048 
00049   // Update time check
00050   void updateTime(const edm::Event&);
00051 
00052   // Shift bins of TProfile to the right
00053   void shift2Right(TProfile* p, int bins=1);
00054 
00055   // Shift bins of TProfile to the left
00056   void shift2Left(TProfile* p, int bins=1);
00057 
00058  private:
00059 
00060   int ievt_;
00061 
00062   DQMStore* dqmStore_;
00063 
00064   std::string prefixME_;
00065 
00066   bool enableCleanup_;
00067 
00068   bool mergeRuns_;
00069 
00070   edm::InputTag rechitlabel_;
00071   edm::InputTag dccCollections_;
00072 
00073   MonitorElement* hESRecHitTrend_[2][2];
00074   MonitorElement* hESSLinkErrTrend_;
00075   MonitorElement* hESFiberErrTrend_;
00076 
00077   MonitorElement* hESRecHitTrendHr_[2][2];
00078   MonitorElement* hESSLinkErrTrendHr_;
00079   MonitorElement* hESFiberErrTrendHr_;
00080 
00081   bool init_;
00082 
00083   long int start_time_;
00084   long int current_time_;
00085   long int last_time_;
00086 
00087 };
00088 
00089 #endif