00001 #ifndef EBIntegrityClient_H 00002 #define EBIntegrityClient_H 00003 00004 /* 00005 * \file EBIntegrityClient.h 00006 * 00007 * $Date: 2012/04/27 13:45:57 $ 00008 * $Revision: 1.79 $ 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/EcalBarrelMonitorClient/interface/EBClient.h" 00024 00025 class MonitorElement; 00026 class DQMStore; 00027 #ifdef WITH_ECAL_COND_DB 00028 class EcalCondDBInterface; 00029 class RunIOV; 00030 class MonRunIOV; 00031 #endif 00032 00033 class EBIntegrityClient : public EBClient { 00034 00035 friend class EBSummaryClient; 00036 00037 public: 00038 00040 EBIntegrityClient(const edm::ParameterSet& ps); 00041 00043 virtual ~EBIntegrityClient(); 00044 00046 void analyze(void); 00047 00049 void beginJob(void); 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 00066 #ifdef WITH_ECAL_COND_DB 00067 00068 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status); 00069 #endif 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 std::string subfolder_; 00088 00089 bool enableCleanup_; 00090 00091 std::vector<int> superModules_; 00092 00093 DQMStore* dqmStore_; 00094 00095 TH1F* h00_; 00096 00097 TH2F* h01_[36]; 00098 TH2F* h02_[36]; 00099 TH2F* h03_[36]; 00100 TH2F* h04_[36]; 00101 TH2F* h05_[36]; 00102 TH2F* h06_[36]; 00103 TH2F* h07_[36]; 00104 TH2F* h08_[36]; 00105 TH2F* h09_[36]; 00106 00107 MonitorElement* meg01_[36]; 00108 MonitorElement* meg02_[36]; 00109 00110 TH2F* h_[36]; 00111 TH2F* hmem_[36]; 00112 00113 // Quality criteria for data integrity 00114 00115 float threshCry_; 00116 00117 const static int chNum [5][5]; 00118 00119 }; 00120 00121 #endif