CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/DQM/EcalEndcapMonitorClient/interface/EETestPulseClient.h

Go to the documentation of this file.
00001 #ifndef EETestPulseClient_H
00002 #define EETestPulseClient_H
00003 
00004 /*
00005  * \file EETestPulseClient.h
00006  *
00007  * $Date: 2010/02/14 20:56:24 $
00008  * $Revision: 1.39 $
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 EETestPulseClient : public EEClient {
00034 
00035 friend class EESummaryClient;
00036 
00037 public:
00038 
00040 EETestPulseClient(const edm::ParameterSet& ps);
00041 
00043 virtual ~EETestPulseClient();
00044 
00046 void analyze(void);
00047 
00049 void beginJob(void);
00050 
00052 void endJob(void);
00053 
00055 void beginRun(void);
00056 
00058 void endRun(void);
00059 
00061 void setup(void);
00062 
00064 void cleanup(void);
00065 
00066 #ifdef WITH_ECAL_COND_DB
00067 
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* ha01_[18];
00096 TProfile2D* ha02_[18];
00097 TProfile2D* ha03_[18];
00098 
00099 TProfile2D* hs01_[18];
00100 TProfile2D* hs02_[18];
00101 TProfile2D* hs03_[18];
00102 
00103 MonitorElement* meg01_[18];
00104 MonitorElement* meg02_[18];
00105 MonitorElement* meg03_[18];
00106 
00107 MonitorElement* meg04_[18];
00108 MonitorElement* meg05_[18];
00109 
00110 MonitorElement* mea01_[18];
00111 MonitorElement* mea02_[18];
00112 MonitorElement* mea03_[18];
00113 
00114 MonitorElement* mer04_[18];
00115 MonitorElement* mer05_[18];
00116 
00117 MonitorElement* me_hs01_[18];
00118 MonitorElement* me_hs02_[18];
00119 MonitorElement* me_hs03_[18];
00120 
00121 TProfile* i01_[18];
00122 TProfile* i02_[18];
00123 TProfile* i03_[18];
00124 TProfile* i04_[18];
00125 
00126 // Quality check on crystals
00127 
00128 float percentVariation_;
00129 float RMSThreshold_;
00130 float amplitudeThreshold_;
00131 
00132 // Quality check on PNs
00133 
00134 float amplitudeThresholdPnG01_;
00135 float amplitudeThresholdPnG16_;
00136 float pedPnExpectedMean_[2];
00137 float pedPnDiscrepancyMean_[2];
00138 float pedPnRMSThreshold_[2];
00139 
00140 };
00141 
00142 #endif