CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DQM/EcalBarrelMonitorClient/interface/EBTimingClient.h

Go to the documentation of this file.
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