CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/DQM/EcalBarrelMonitorClient/interface/EBPedestalClient.h

Go to the documentation of this file.
00001 #ifndef EBPedestalClient_H
00002 #define EBPedestalClient_H
00003 
00004 /*
00005  * \file EBPedestalClient.h
00006  *
00007  * $Date: 2010/02/14 20:56:22 $
00008  * $Revision: 1.83 $
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 "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 EBPedestalClient : public EBClient {
00034 
00035 friend class EBSummaryClient;
00036 
00037 public:
00038 
00040 EBPedestalClient(const edm::ParameterSet& ps);
00041 
00043 virtual ~EBPedestalClient();
00044 
00046 void analyze(void);
00047 
00048 // BeginJob
00049 void beginJob(void);
00050 
00051 // EndJob
00052 void endJob(void);
00053 
00054 // BeginRun
00055 void beginRun(void);
00056 
00057 // EndRun
00058 void endRun(void);
00059 
00061 void setup(void);
00062 
00063 // Cleanup
00064 void cleanup(void);
00065 
00066 #ifdef WITH_ECAL_COND_DB
00067 // WriteDB
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 bool enableCleanup_;
00088 
00089 std::vector<int> superModules_;
00090 std::vector<int> MGPAGains_;
00091 std::vector<int> MGPAGainsPN_;
00092 
00093 DQMStore* dqmStore_;
00094 
00095 TProfile2D* h01_[36];
00096 TProfile2D* h02_[36];
00097 TProfile2D* h03_[36];
00098 
00099 TProfile2D* j01_[36];
00100 TProfile2D* j02_[36];
00101 TProfile2D* j03_[36];
00102 
00103 TProfile2D* k01_[36];
00104 TProfile2D* k02_[36];
00105 TProfile2D* k03_[36];
00106 
00107 MonitorElement* meg01_[36];
00108 MonitorElement* meg02_[36];
00109 MonitorElement* meg03_[36];
00110 
00111 MonitorElement* meg04_[36];
00112 MonitorElement* meg05_[36];
00113 
00114 MonitorElement* mep01_[36];
00115 MonitorElement* mep02_[36];
00116 MonitorElement* mep03_[36];
00117 
00118 MonitorElement* mer01_[36];
00119 MonitorElement* mer02_[36];
00120 MonitorElement* mer03_[36];
00121 
00122 MonitorElement* mer04_[36];
00123 MonitorElement* mer05_[36];
00124 
00125 MonitorElement* mes01_[36];
00126 MonitorElement* mes02_[36];
00127 MonitorElement* mes03_[36];
00128 
00129 MonitorElement* met01_[36];
00130 MonitorElement* met02_[36];
00131 MonitorElement* met03_[36];
00132 
00133 TProfile* i01_[36];
00134 TProfile* i02_[36];
00135 
00136 // Quality check on crystals, one per each gain
00137 
00138 float expectedMean_[3];
00139 float discrepancyMean_[3];
00140 float RMSThreshold_[3];
00141 
00142 // Quality check on PNs
00143 
00144 float expectedMeanPn_[2];
00145 float discrepancyMeanPn_[2];
00146 float RMSThresholdPn_[2];
00147 
00148 };
00149 
00150 #endif