00001 #ifndef EBTriggerTowerClient_H 00002 #define EBTriggerTowerClient_H 00003 00004 /* 00005 * \file EBTriggerTowerClient.h 00006 * 00007 * $Date: 2012/04/27 13:45:58 $ 00008 * $Revision: 1.49 $ 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 "TH1F.h" 00019 #include "TH2F.h" 00020 #include "TH3F.h" 00021 #include "TProfile2D.h" 00022 00023 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00024 00025 #include "DQM/EcalBarrelMonitorClient/interface/EBClient.h" 00026 00027 class MonitorElement; 00028 class DQMStore; 00029 #ifdef WITH_ECAL_COND_DB 00030 class EcalCondDBInterface; 00031 class RunIOV; 00032 class MonRunIOV; 00033 #endif 00034 00035 class EBTriggerTowerClient : public EBClient { 00036 00037 friend class EBSummaryClient; 00038 00039 public: 00040 00042 EBTriggerTowerClient(const edm::ParameterSet& ps); 00043 00045 virtual ~EBTriggerTowerClient(); 00046 00048 void analyze(void); 00049 00051 void beginJob(void); 00052 00054 void endJob(void); 00055 00057 void beginRun(void); 00058 00060 void endRun(void); 00061 00063 void setup(void); 00064 00066 void cleanup(void); 00067 00068 #ifdef WITH_ECAL_COND_DB 00069 00070 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status); 00071 #endif 00072 00074 inline int getEvtPerJob() { return ievt_; } 00075 inline int getEvtPerRun() { return jevt_; } 00076 00077 private: 00078 00079 int ievt_; 00080 int jevt_; 00081 00082 bool cloneME_; 00083 00084 bool verbose_; 00085 bool debug_; 00086 00087 std::string prefixME_; 00088 00089 bool enableCleanup_; 00090 00091 std::vector<int> superModules_; 00092 00093 DQMStore* dqmStore_; 00094 00095 MonitorElement* mel01_[36]; 00096 MonitorElement* mel02_[36]; 00097 MonitorElement* meo01_[36]; 00098 TH2F* l01_[36]; 00099 TH2F* l02_[36]; 00100 TH3F* o01_[36]; 00101 00102 MonitorElement* me_o01_[36]; 00103 MonitorElement* me_o02_[36]; 00104 00105 }; 00106 00107 #endif