00001 #ifndef EEStatusFlagsClient_H 00002 #define EEStatusFlagsClient_H 00003 00004 /* 00005 * \file EEStatusFlagsClient.h 00006 * 00007 * $Date: 2008/06/25 15:08:19 $ 00008 * $Revision: 1.14 $ 00009 * \author G. Della Ricca 00010 * 00011 */ 00012 00013 #include <vector> 00014 #include <string> 00015 00016 #include "TROOT.h" 00017 #include "TProfile2D.h" 00018 #include "TH1F.h" 00019 00020 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00021 00022 #include "DQM/EcalEndcapMonitorClient/interface/EEClient.h" 00023 00024 class MonitorElement; 00025 class DQMStore; 00026 class EcalCondDBInterface; 00027 class RunIOV; 00028 class MonRunIOV; 00029 00030 class EEStatusFlagsClient : public EEClient { 00031 00032 friend class EESummaryClient; 00033 00034 public: 00035 00037 EEStatusFlagsClient(const edm::ParameterSet& ps); 00038 00040 virtual ~EEStatusFlagsClient(); 00041 00043 void analyze(void); 00044 00046 void beginJob(DQMStore* dqmStore); 00047 00049 void endJob(void); 00050 00052 void beginRun(void); 00053 00055 void endRun(void); 00056 00058 void setup(void); 00059 00061 void cleanup(void); 00062 00064 void softReset(bool flag); 00065 00067 void htmlOutput(int run, std::string& htmlDir, std::string& htmlName); 00068 00070 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status, bool flag); 00071 00073 inline int getEvtPerJob() { return ievt_; } 00074 inline int getEvtPerRun() { return jevt_; } 00075 00076 private: 00077 00078 int ievt_; 00079 int jevt_; 00080 00081 bool cloneME_; 00082 00083 bool verbose_; 00084 bool debug_; 00085 00086 std::string prefixME_; 00087 00088 bool enableCleanup_; 00089 00090 std::vector<int> superModules_; 00091 00092 DQMStore* dqmStore_; 00093 00094 MonitorElement* meh01_[18]; 00095 00096 TH2F* h01_[18]; 00097 00098 MonitorElement* meh02_[18]; 00099 00100 TH1F* h02_[18]; 00101 00102 }; 00103 00104 #endif