00001 #ifndef EETrendTask_H 00002 #define EETrendTask_H 00003 00004 /* 00005 * \file EETrendTask.h 00006 * 00007 * $Date: 2010/03/28 09:13:49 $ 00008 * $Revision: 1.6 $ 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 EETrendTask: public edm::EDAnalyzer{ 00022 00023 public: 00024 00025 // Constructor 00026 EETrendTask(const edm::ParameterSet& ps); 00027 00028 // Destructor 00029 virtual ~EETrendTask(); 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 EEDigiCollection_; 00077 edm::InputTag EcalPnDiodeDigiCollection_; 00078 edm::InputTag EcalRecHitCollection_; 00079 edm::InputTag EcalTrigPrimDigiCollection_; 00080 edm::InputTag BasicClusterCollection_; 00081 edm::InputTag SuperClusterCollection_; 00082 edm::InputTag EEDetIdCollection0_; 00083 edm::InputTag EEDetIdCollection1_; 00084 edm::InputTag EEDetIdCollection2_; 00085 edm::InputTag EEDetIdCollection3_; 00086 edm::InputTag EEDetIdCollection4_; 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 EESRFlagCollection_; 00095 00096 MonitorElement* nEEDigiMinutely_; 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* nFEDEEminusRawDataMinutely_; 00106 MonitorElement* nFEDEEplusRawDataMinutely_; 00107 MonitorElement* nEESRFlagMinutely_; 00108 00109 MonitorElement* nEEDigiHourly_; 00110 MonitorElement* nEcalPnDiodeDigiHourly_; 00111 MonitorElement* nEcalRecHitHourly_; 00112 MonitorElement* nEcalTrigPrimDigiHourly_; 00113 MonitorElement* nBasicClusterHourly_; 00114 MonitorElement* nBasicClusterSizeHourly_; 00115 MonitorElement* nSuperClusterHourly_; 00116 MonitorElement* nSuperClusterSizeHourly_; 00117 MonitorElement* nIntegrityErrorHourly_; 00118 MonitorElement* nFEDEEminusRawDataHourly_; 00119 MonitorElement* nFEDEEplusRawDataHourly_; 00120 MonitorElement* nEESRFlagHourly_; 00121 00122 bool init_; 00123 00124 int start_time_; 00125 int current_time_; 00126 int last_time_; 00127 00128 }; 00129 00130 #endif