CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef EBLaserClient_H
00002 #define EBLaserClient_H
00003 
00004 /*
00005  * \file EBLaserClient.h
00006  *
00007  * $Date: 2010/02/14 20:56:22 $
00008  * $Revision: 1.92 $
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 EBLaserClient : public EBClient {
00033 
00034 friend class EBSummaryClient;
00035 
00036 public:
00037 
00039 EBLaserClient(const edm::ParameterSet& ps);
00040 
00042 virtual ~EBLaserClient();
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 std::vector<int> laserWavelengths_;
00090 
00091 DQMStore* dqmStore_;
00092 
00093 TProfile2D* h01_[36];
00094 TProfile2D* h02_[36];
00095 TProfile2D* h03_[36];
00096 TProfile2D* h04_[36];
00097 TProfile2D* h05_[36];
00098 TProfile2D* h06_[36];
00099 TProfile2D* h07_[36];
00100 TProfile2D* h08_[36];
00101 
00102 TProfile2D* h09_[36];
00103 TProfile2D* h10_[36];
00104 TProfile2D* h11_[36];
00105 TProfile2D* h12_[36];
00106 
00107 TProfile2D* hs01_[36];
00108 TProfile2D* hs02_[36];
00109 TProfile2D* hs03_[36];
00110 TProfile2D* hs04_[36];
00111 
00112 MonitorElement* meg01_[36];
00113 MonitorElement* meg02_[36];
00114 MonitorElement* meg03_[36];
00115 MonitorElement* meg04_[36];
00116 
00117 MonitorElement* meg05_[36];
00118 MonitorElement* meg06_[36];
00119 MonitorElement* meg07_[36];
00120 MonitorElement* meg08_[36];
00121 MonitorElement* meg09_[36];
00122 MonitorElement* meg10_[36];
00123 MonitorElement* meg11_[36];
00124 MonitorElement* meg12_[36];
00125 
00126 MonitorElement* mea01_[36];
00127 MonitorElement* mea02_[36];
00128 MonitorElement* mea03_[36];
00129 MonitorElement* mea04_[36];
00130 
00131 MonitorElement* met01_[36];
00132 MonitorElement* met02_[36];
00133 MonitorElement* met03_[36];
00134 MonitorElement* met04_[36];
00135 
00136 MonitorElement* metav01_[36];
00137 MonitorElement* metav02_[36];
00138 MonitorElement* metav03_[36];
00139 MonitorElement* metav04_[36];
00140 
00141 MonitorElement* metrms01_[36];
00142 MonitorElement* metrms02_[36];
00143 MonitorElement* metrms03_[36];
00144 MonitorElement* metrms04_[36];
00145 
00146 MonitorElement* meaopn01_[36];
00147 MonitorElement* meaopn02_[36];
00148 MonitorElement* meaopn03_[36];
00149 MonitorElement* meaopn04_[36];
00150 
00151 MonitorElement* mepnprms01_[36];
00152 MonitorElement* mepnprms02_[36];
00153 MonitorElement* mepnprms03_[36];
00154 MonitorElement* mepnprms04_[36];
00155 MonitorElement* mepnprms05_[36];
00156 MonitorElement* mepnprms06_[36];
00157 MonitorElement* mepnprms07_[36];
00158 MonitorElement* mepnprms08_[36];
00159 
00160 MonitorElement* me_hs01_[36];
00161 MonitorElement* me_hs02_[36];
00162 MonitorElement* me_hs03_[36];
00163 MonitorElement* me_hs04_[36];
00164 MonitorElement* me_hs05_[36];
00165 MonitorElement* me_hs06_[36];
00166 MonitorElement* me_hs07_[36];
00167 MonitorElement* me_hs08_[36];
00168 
00169 TProfile* i01_[36];
00170 TProfile* i02_[36];
00171 TProfile* i03_[36];
00172 TProfile* i04_[36];
00173 TProfile* i05_[36];
00174 TProfile* i06_[36];
00175 TProfile* i07_[36];
00176 TProfile* i08_[36];
00177 TProfile* i09_[36];
00178 TProfile* i10_[36];
00179 TProfile* i11_[36];
00180 TProfile* i12_[36];
00181 TProfile* i13_[36];
00182 TProfile* i14_[36];
00183 TProfile* i15_[36];
00184 TProfile* i16_[36];
00185 
00186 // Quality check on crystals
00187 
00188 float percentVariation_;
00189 float amplitudeThreshold_;
00190 float rmsThresholdRelative_;
00191 
00192 // Quality check on PNs
00193 
00194 float amplitudeThresholdPnG01_;
00195 float amplitudeThresholdPnG16_;
00196 float pedPnExpectedMean_[2];
00197 float pedPnDiscrepancyMean_[2];
00198 float pedPnRMSThreshold_[2];
00199 
00200 };
00201 
00202 #endif