CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DQM/EcalEndcapMonitorClient/interface/EELaserClient.h

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