00001 #ifndef EEClusterClient_H 00002 #define EEClusterClient_H 00003 00004 /* 00005 * \file EEClusterClient.h 00006 * 00007 * $Date: 2008/06/25 15:08:19 $ 00008 * $Revision: 1.26 $ 00009 * \author G. Della Ricca 00010 * \author F. Cossutti 00011 * \author E. Di Marco 00012 * 00013 */ 00014 00015 #include <vector> 00016 #include <string> 00017 00018 #include "TROOT.h" 00019 #include "TProfile2D.h" 00020 #include "TH1F.h" 00021 00022 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00023 00024 #include "DQM/EcalEndcapMonitorClient/interface/EEClient.h" 00025 00026 class MonitorElement; 00027 class DQMStore; 00028 class EcalCondDBInterface; 00029 class RunIOV; 00030 class MonRunIOV; 00031 00032 class EEClusterClient : public EEClient { 00033 00034 friend class EESummaryClient; 00035 00036 public: 00037 00039 EEClusterClient(const edm::ParameterSet& ps); 00040 00042 virtual ~EEClusterClient(); 00043 00045 void analyze(void); 00046 00048 void beginJob(DQMStore* dqmStore); 00049 00051 void endJob(void); 00052 00054 void beginRun(void); 00055 00057 void endRun(void); 00058 00060 void setup(void); 00061 00063 void cleanup(void); 00064 00066 void softReset(bool flag); 00067 00069 void htmlOutput(int run, std::string& htmlDir, std::string& htmlName); 00070 00072 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status, bool flag); 00073 00075 inline int getEvtPerJob() { return ievt_; } 00076 inline int getEvtPerRun() { return jevt_; } 00077 00078 private: 00079 00080 int ievt_; 00081 int jevt_; 00082 00083 bool cloneME_; 00084 00085 bool verbose_; 00086 bool debug_; 00087 00088 std::string prefixME_; 00089 00090 bool enableCleanup_; 00091 00092 std::vector<int> superModules_; 00093 00094 DQMStore* dqmStore_; 00095 00096 TH1F* h01_[3]; 00097 TProfile2D* h04_[3][2]; 00098 TProfile* h02ProjR_[3][2]; 00099 TProfile* h02ProjPhi_[3][2]; 00100 TH2F* h03_[2]; 00101 TH1F* h03ProjR_[2]; 00102 TH1F* h03ProjPhi_[2]; 00103 TH1F* i01_[3]; 00104 TH1F* s01_[3]; 00105 00106 }; 00107 00108 #endif