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