00001 #ifndef EBTimingClient_H 00002 #define EBTimingClient_H 00003 00004 /* 00005 * \file EBTimingClient.h 00006 * 00007 * $Date: 2012/04/27 13:45:58 $ 00008 * $Revision: 1.38 $ 00009 * \author G. Della Ricca 00010 * 00011 */ 00012 00013 #include <vector> 00014 #include <string> 00015 00016 #include "TROOT.h" 00017 #include "TProfile2D.h" 00018 #include "TH1F.h" 00019 00020 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00021 00022 #include "DQM/EcalBarrelMonitorClient/interface/EBClient.h" 00023 00024 class MonitorElement; 00025 class DQMStore; 00026 #ifdef WITH_ECAL_COND_DB 00027 class EcalCondDBInterface; 00028 class RunIOV; 00029 class MonRunIOV; 00030 #endif 00031 00032 class EBTimingClient : public EBClient { 00033 00034 friend class EBSummaryClient; 00035 00036 public: 00037 00039 EBTimingClient(const edm::ParameterSet& ps); 00040 00042 virtual ~EBTimingClient(); 00043 00045 void analyze(void); 00046 00048 void beginJob(void); 00049 00051 void endJob(void); 00052 00054 void beginRun(void); 00055 00057 void endRun(void); 00058 00060 void setup(void); 00061 00063 void cleanup(void); 00064 00065 #ifdef WITH_ECAL_COND_DB 00066 00067 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status); 00068 #endif 00069 00071 inline int getEvtPerJob() { return ievt_; } 00072 inline int getEvtPerRun() { return jevt_; } 00073 00074 private: 00075 00076 int ievt_; 00077 int jevt_; 00078 00079 bool cloneME_; 00080 00081 bool verbose_; 00082 bool debug_; 00083 00084 std::string prefixME_; 00085 00086 bool enableCleanup_; 00087 00088 std::vector<int> superModules_; 00089 00090 DQMStore* dqmStore_; 00091 00092 MonitorElement* meh01_[36]; 00093 MonitorElement* meh02_[36]; 00094 00095 TProfile2D* h01_[36]; 00096 TH2F* h02_[36]; 00097 00098 MonitorElement* meg01_[36]; 00099 00100 MonitorElement* mea01_[36]; 00101 00102 MonitorElement* mep01_[36]; 00103 00104 MonitorElement* mer01_[36]; 00105 00106 MonitorElement *meTimeSummaryMapProjEta_; 00107 MonitorElement *meTimeSummaryMapProjPhi_; 00108 00109 // Quality check on crystals, one per each gain 00110 00111 float expectedMean_; 00112 float discrepancyMean_; 00113 float RMSThreshold_; 00114 00115 int nHitThreshold_; 00116 00117 }; 00118 00119 #endif