00001 #ifndef EBTimingTask_H 00002 #define EBTimingTask_H 00003 00004 /* 00005 * \file EBTimingTask.h 00006 * 00007 * $Date: 2012/04/27 13:46:01 $ 00008 * $Revision: 1.24 $ 00009 * \author G. Della Ricca 00010 * 00011 */ 00012 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 00017 class MonitorElement; 00018 class DQMStore; 00019 00020 class EBTimingTask: public edm::EDAnalyzer{ 00021 00022 public: 00023 00025 EBTimingTask(const edm::ParameterSet& ps); 00026 00028 virtual ~EBTimingTask(); 00029 00030 static const float shiftProf2D_; 00031 00032 protected: 00033 00035 void analyze(const edm::Event& e, const edm::EventSetup& c); 00036 00038 void beginJob(void); 00039 00041 void endJob(void); 00042 00044 void beginRun(const edm::Run & r, const edm::EventSetup & c); 00045 00047 void endRun(const edm::Run & r, const edm::EventSetup & c); 00048 00050 void reset(void); 00051 00053 void setup(void); 00054 00056 void cleanup(void); 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 float energyThreshold_; 00071 00072 edm::InputTag EcalRawDataCollection_; 00073 edm::InputTag EcalRecHitCollection_; 00074 edm::InputTag L1GtEvmReadoutRecord_; 00075 00076 MonitorElement* meTime_[36]; 00077 MonitorElement* meTimeMap_[36]; 00078 MonitorElement* meTimeAmpli_[36]; 00079 00080 MonitorElement* meTimeAmpliSummary_; 00081 MonitorElement* meTimeSummary1D_; 00082 MonitorElement* meTimeSummaryMap_, *meTimeSummaryMapProjEta_, *meTimeSummaryMapProjPhi_; 00083 00084 bool init_; 00085 00086 bool useBeamStatus_; 00087 bool stableBeamsDeclared_; 00088 00089 }; 00090 00091 const float EBTimingTask::shiftProf2D_ = 50.; 00092 00093 #endif