CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DQM/EcalEndcapMonitorClient/interface/EEPedestalClient.h

Go to the documentation of this file.
00001 #ifndef EEPedestalClient_H
00002 #define EEPedestalClient_H
00003 
00004 /*
00005  * \file EEPedestalClient.h
00006  *
00007  * $Date: 2010/02/14 20:56:24 $
00008  * $Revision: 1.33 $
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/EcalEndcapMonitorClient/interface/EEClient.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 EEPedestalClient : public EEClient {
00034 
00035 friend class EESummaryClient;
00036 
00037 public:
00038 
00040 EEPedestalClient(const edm::ParameterSet& ps);
00041 
00043 virtual ~EEPedestalClient();
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_[18];
00096 TProfile2D* h02_[18];
00097 TProfile2D* h03_[18];
00098 
00099 TProfile2D* j01_[18];
00100 TProfile2D* j02_[18];
00101 TProfile2D* j03_[18];
00102 
00103 TProfile2D* k01_[18];
00104 TProfile2D* k02_[18];
00105 TProfile2D* k03_[18];
00106 
00107 MonitorElement* meg01_[18];
00108 MonitorElement* meg02_[18];
00109 MonitorElement* meg03_[18];
00110 
00111 MonitorElement* meg04_[18];
00112 MonitorElement* meg05_[18];
00113 
00114 MonitorElement* mep01_[18];
00115 MonitorElement* mep02_[18];
00116 MonitorElement* mep03_[18];
00117 
00118 MonitorElement* mer01_[18];
00119 MonitorElement* mer02_[18];
00120 MonitorElement* mer03_[18];
00121  
00122 MonitorElement* mer04_[18];
00123 MonitorElement* mer05_[18];
00124 
00125 MonitorElement* mes01_[18];
00126 MonitorElement* mes02_[18];
00127 MonitorElement* mes03_[18];
00128 
00129 MonitorElement* met01_[18];
00130 MonitorElement* met02_[18];
00131 MonitorElement* met03_[18];
00132 
00133 TProfile* i01_[18];
00134 TProfile* i02_[18];
00135 
00136 // Quality check on crystals, one per each gain
00137 
00138 float expectedMean_[3];
00139 float discrepancyMean_[3];
00140 float RMSThreshold_[3];
00141 float RMSThresholdInner_[3];
00142 
00143 // Quality check on PNs
00144  
00145 float expectedMeanPn_[2];
00146 float discrepancyMeanPn_[2];
00147 float RMSThresholdPn_[2];
00148 
00149 };
00150 
00151 #endif