00001 #ifndef EBTrendTask_H 00002 #define EBTrendTask_H 00003 00004 /* 00005 * \file EBTrendTask.h 00006 * 00007 * $Date: 2010/03/28 09:13:48 $ 00008 * $Revision: 1.4 $ 00009 * \author Dongwook Jang, Soon Yung Jun 00010 * 00011 */ 00012 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "FWCore/Framework/interface/EventSetup.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 00018 class MonitorElement; 00019 class DQMStore; 00020 00021 class EBTrendTask: public edm::EDAnalyzer{ 00022 00023 public: 00024 00025 // Constructor 00026 EBTrendTask(const edm::ParameterSet& ps); 00027 00028 // Destructor 00029 virtual ~EBTrendTask(); 00030 00031 protected: 00032 00033 // Analyze 00034 void analyze(const edm::Event& e, const edm::EventSetup& c); 00035 00036 // BeginJob 00037 void beginJob(void); 00038 00039 // EndJob 00040 void endJob(void); 00041 00042 // BeginRun 00043 void beginRun(const edm::Run & r, const edm::EventSetup & c); 00044 00045 // EndRun 00046 void endRun(const edm::Run & r, const edm::EventSetup & c); 00047 00048 // Reset 00049 void reset(void); 00050 00051 // Setup 00052 void setup(void); 00053 00054 // Cleanup 00055 void cleanup(void); 00056 00057 // Update time check 00058 void updateTime(void); 00059 00060 00061 00062 private: 00063 00064 int ievt_; 00065 00066 DQMStore* dqmStore_; 00067 00068 std::string prefixME_; 00069 00070 bool enableCleanup_; 00071 00072 bool mergeRuns_; 00073 00074 bool verbose_; 00075 00076 edm::InputTag EBDigiCollection_; 00077 edm::InputTag EcalPnDiodeDigiCollection_; 00078 edm::InputTag EcalRecHitCollection_; 00079 edm::InputTag EcalTrigPrimDigiCollection_; 00080 edm::InputTag BasicClusterCollection_; 00081 edm::InputTag SuperClusterCollection_; 00082 edm::InputTag EBDetIdCollection0_; 00083 edm::InputTag EBDetIdCollection1_; 00084 edm::InputTag EBDetIdCollection2_; 00085 edm::InputTag EBDetIdCollection3_; 00086 edm::InputTag EBDetIdCollection4_; 00087 edm::InputTag EcalElectronicsIdCollection1_; 00088 edm::InputTag EcalElectronicsIdCollection2_; 00089 edm::InputTag EcalElectronicsIdCollection3_; 00090 edm::InputTag EcalElectronicsIdCollection4_; 00091 edm::InputTag EcalElectronicsIdCollection5_; 00092 edm::InputTag EcalElectronicsIdCollection6_; 00093 edm::InputTag FEDRawDataCollection_; 00094 edm::InputTag EBSRFlagCollection_; 00095 00096 MonitorElement* nEBDigiMinutely_; 00097 MonitorElement* nEcalPnDiodeDigiMinutely_; 00098 MonitorElement* nEcalRecHitMinutely_; 00099 MonitorElement* nEcalTrigPrimDigiMinutely_; 00100 MonitorElement* nBasicClusterMinutely_; 00101 MonitorElement* nBasicClusterSizeMinutely_; 00102 MonitorElement* nSuperClusterMinutely_; 00103 MonitorElement* nSuperClusterSizeMinutely_; 00104 MonitorElement* nIntegrityErrorMinutely_; 00105 MonitorElement* nFEDEBRawDataMinutely_; 00106 MonitorElement* nEBSRFlagMinutely_; 00107 00108 MonitorElement* nEBDigiHourly_; 00109 MonitorElement* nEcalPnDiodeDigiHourly_; 00110 MonitorElement* nEcalRecHitHourly_; 00111 MonitorElement* nEcalTrigPrimDigiHourly_; 00112 MonitorElement* nBasicClusterHourly_; 00113 MonitorElement* nBasicClusterSizeHourly_; 00114 MonitorElement* nSuperClusterHourly_; 00115 MonitorElement* nSuperClusterSizeHourly_; 00116 MonitorElement* nIntegrityErrorHourly_; 00117 MonitorElement* nFEDEBRawDataHourly_; 00118 MonitorElement* nEBSRFlagHourly_; 00119 00120 bool init_; 00121 00122 int start_time_; 00123 int current_time_; 00124 int last_time_; 00125 00126 }; 00127 00128 #endif