CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/DQM/EcalEndcapMonitorClient/interface/EETimingClient.h

Go to the documentation of this file.
00001 #ifndef EETimingClient_H
00002 #define EETimingClient_H
00003 
00004 /*
00005  * \file EETimingClient.h
00006  *
00007  * $Date: 2011/09/15 21:02:09 $
00008  * $Revision: 1.32 $
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/EcalEndcapMonitorClient/interface/EEClient.h"
00023 
00024 #include "FWCore/Framework/interface/ESHandle.h"
00025 #include "Geometry/Records/interface/CaloGeometryRecord.h"
00026 
00027 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00028 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00029 
00030 class MonitorElement;
00031 class DQMStore;
00032 #ifdef WITH_ECAL_COND_DB
00033 class EcalCondDBInterface;
00034 class RunIOV;
00035 class MonRunIOV;
00036 #endif
00037 
00038 class EETimingClient : public EEClient {
00039 
00040 friend class EESummaryClient;
00041 
00042 public:
00043 
00045 EETimingClient(const edm::ParameterSet& ps);
00046 
00048 virtual ~EETimingClient();
00049 
00051 void analyze(void);
00052 
00054 void beginJob(void);
00055 
00057 void endJob(void);
00058 
00060 void beginRun(void);
00061 
00063 void endRun(void);
00064 
00066 void setup(void);
00067 
00069 void cleanup(void);
00070 
00071 #ifdef WITH_ECAL_COND_DB
00072 
00073 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status);
00074 #endif
00075 
00077 inline int getEvtPerJob() { return ievt_; }
00078 inline int getEvtPerRun() { return jevt_; }
00079 
00080 private:
00081 
00082 int ievt_;
00083 int jevt_;
00084 
00085 bool cloneME_;
00086 
00087 bool verbose_;
00088 bool debug_;
00089 
00090 std::string prefixME_;
00091 
00092 bool enableCleanup_;
00093 
00094 std::vector<int> superModules_;
00095 
00096 DQMStore* dqmStore_;
00097 
00098 MonitorElement* meh01_[18];
00099 MonitorElement* meh02_[18];
00100 
00101 TProfile2D* h01_[18];
00102 TH2F* h02_[18];
00103 
00104 MonitorElement* meg01_[18];
00105 
00106 MonitorElement* mea01_[18];
00107 
00108 MonitorElement* mep01_[18];
00109 
00110 MonitorElement* mer01_[18];
00111 
00112  MonitorElement* meTimeSummaryMapProjEta_[2];
00113  MonitorElement* meTimeSummaryMapProjPhi_[2];
00114 
00115 // Quality check on crystals, one per each gain
00116 
00117 float expectedMean_;
00118 float discrepancyMean_;
00119 float RMSThresholdLowEta_;
00120 float RMSThresholdHighEta_;
00121 
00122 };
00123 
00124 #endif