00001 #ifndef EETriggerTowerClient_H 00002 #define EETriggerTowerClient_H 00003 00004 /* 00005 * \file EETriggerTowerClient.h 00006 * 00007 * $Date: 2008/12/04 13:54:56 $ 00008 * $Revision: 1.30 $ 00009 * \author G. Della Ricca 00010 * \author F. Cossutti 00011 * 00012 */ 00013 00014 #include <vector> 00015 #include <string> 00016 00017 #include "TROOT.h" 00018 #include "TProfile2D.h" 00019 #include "TH1F.h" 00020 #include "TH2F.h" 00021 #include "TH3F.h" 00022 00023 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00024 00025 #include "DQM/EcalEndcapMonitorClient/interface/EEClient.h" 00026 00027 class MonitorElement; 00028 class DQMStore; 00029 class EcalCondDBInterface; 00030 class RunIOV; 00031 class MonRunIOV; 00032 00033 class EETriggerTowerClient : public EEClient { 00034 00035 friend class EESummaryClient; 00036 00037 public: 00038 00040 EETriggerTowerClient(const edm::ParameterSet& ps); 00041 00043 virtual ~EETriggerTowerClient(); 00044 00046 void analyze(void); 00047 00049 void beginJob(DQMStore* dqmStore); 00050 00052 void endJob(void); 00053 00055 void beginRun(void); 00056 00058 void endRun(void); 00059 00061 void setup(void); 00062 00064 void cleanup(void); 00065 00067 void softReset(bool flag); 00068 00070 void htmlOutput(int run, std::string& htmlDir, std::string& htmlName); 00071 00073 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status, bool flag); 00074 00076 inline int getEvtPerJob() { return ievt_; } 00077 inline int getEvtPerRun() { return jevt_; } 00078 00079 private: 00080 00081 void analyze(const char* nameext, const char* folder, bool emulated); 00082 00083 int ievt_; 00084 int jevt_; 00085 00086 bool cloneME_; 00087 00088 bool verbose_; 00089 bool debug_; 00090 00091 std::string prefixME_; 00092 00093 bool enableCleanup_; 00094 00095 std::vector<int> superModules_; 00096 00097 DQMStore* dqmStore_; 00098 00099 MonitorElement* meh01_; 00100 MonitorElement* meh02_; 00101 00102 MonitorElement* mei01_[18]; 00103 MonitorElement* mei02_[18]; 00104 MonitorElement* mej01_[18]; 00105 MonitorElement* mej02_[18]; 00106 00107 MonitorElement* mel01_[18]; 00108 MonitorElement* mem01_[18]; 00109 MonitorElement* men01_[18]; 00110 MonitorElement* meo01_[18]; 00111 00112 TH2F* h01_; 00113 TH2F* h02_; 00114 TH3F* i01_[18]; 00115 TH3F* i02_[18]; 00116 TH3F* j01_[18]; 00117 TH3F* j02_[18]; 00118 00119 TH2F* l01_[18]; 00120 TH3F* m01_[18]; 00121 TH3F* n01_[18]; 00122 TH3F* o01_[18]; 00123 00124 //MonitorElement* mek01_[18][34]; 00125 //MonitorElement* mek02_[18][34]; 00126 00127 //TH1F* k01_[18][34]; 00128 //TH1F* k02_[18][34]; 00129 00130 MonitorElement* me_h01_[18]; 00131 MonitorElement* me_h02_[18]; 00132 00133 MonitorElement* me_i01_[18][2]; 00134 MonitorElement* me_i02_[18][2]; 00135 MonitorElement* me_n01_[18][2]; 00136 00137 MonitorElement* me_j01_[18][6]; 00138 MonitorElement* me_j02_[18][6]; 00139 MonitorElement* me_m01_[18][6]; 00140 MonitorElement* me_o01_[18]; 00141 00142 }; 00143 00144 #endif