00001 #ifndef EBClusterClient_H 00002 #define EBClusterClient_H 00003 00004 /* 00005 * \file EBClusterClient.h 00006 * 00007 * $Date: 2010/01/25 21:12:23 $ 00008 * $Revision: 1.36 $ 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/EcalBarrelMonitorClient/interface/EBClient.h" 00025 00026 class MonitorElement; 00027 class DQMStore; 00028 #ifdef WITH_ECAL_COND_DB 00029 class EcalCondDBInterface; 00030 class RunIOV; 00031 class MonRunIOV; 00032 #endif 00033 00034 class EBClusterClient : public EBClient { 00035 00036 friend class EBSummaryClient; 00037 00038 public: 00039 00041 EBClusterClient(const edm::ParameterSet& ps); 00042 00044 virtual ~EBClusterClient(); 00045 00047 void analyze(void); 00048 00050 void beginJob(void); 00051 00053 void endJob(void); 00054 00056 void beginRun(void); 00057 00059 void endRun(void); 00060 00062 void setup(void); 00063 00065 void cleanup(void); 00066 00067 #ifdef WITH_ECAL_COND_DB 00068 00069 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status); 00070 #endif 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 TH1F* h01_[3]; 00095 TProfile2D* h02_[2]; 00096 TProfile* h02ProjEta_[2], *h02ProjPhi_[2]; 00097 TH2F* h03_; 00098 TH1F* h03ProjEta_, *h03ProjPhi_; 00099 TProfile2D* h04_; 00100 TProfile* h04ProjEta_, *h04ProjPhi_; 00101 TH1F* i01_[3]; 00102 00103 TH1F* s01_[3]; 00104 00105 }; 00106 00107 #endif