CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DQM/EcalEndcapMonitorClient/interface/EELedClient.h

Go to the documentation of this file.
00001 #ifndef EELedClient_H
00002 #define EELedClient_H
00003 
00004 /*
00005  * \file EELedClient.h
00006  *
00007  * $Date: 2010/03/05 13:34:41 $
00008  * $Revision: 1.39 $
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 EELedClient : public EEClient {
00033 
00034 friend class EESummaryClient;
00035 
00036 public:
00037 
00039 EELedClient(const edm::ParameterSet& ps);
00040 
00042 virtual ~EELedClient();
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> ledWavelengths_;
00090 
00091 DQMStore* dqmStore_;
00092 
00093 TProfile2D* h01_[18];
00094 TProfile2D* h02_[18];
00095 TProfile2D* h03_[18];
00096 TProfile2D* h04_[18];
00097 
00098 TProfile2D* h09_[18];
00099 TProfile2D* h10_[18];
00100 
00101 TProfile2D* hs01_[18];
00102 TProfile2D* hs02_[18];
00103 
00104 MonitorElement* meg01_[18];
00105 MonitorElement* meg02_[18];
00106 
00107 MonitorElement* meg05_[18];
00108 MonitorElement* meg06_[18];
00109 
00110 MonitorElement* meg09_[18];
00111 MonitorElement* meg10_[18];
00112 
00113 MonitorElement* mea01_[18];
00114 MonitorElement* mea02_[18];
00115 
00116 MonitorElement* met01_[18];
00117 MonitorElement* met02_[18];
00118 
00119 MonitorElement* metav01_[18];
00120 MonitorElement* metav02_[18];
00121 
00122 MonitorElement* metrms01_[18];
00123 MonitorElement* metrms02_[18];
00124 
00125 MonitorElement* meaopn01_[18];
00126 MonitorElement* meaopn02_[18];
00127 
00128 MonitorElement* mepnprms01_[18];
00129 MonitorElement* mepnprms02_[18];
00130 
00131 MonitorElement* mepnprms05_[18];
00132 MonitorElement* mepnprms06_[18];
00133 
00134 MonitorElement* me_hs01_[18];
00135 MonitorElement* me_hs02_[18];
00136 
00137 TProfile* i01_[18];
00138 TProfile* i02_[18];
00139 
00140 TProfile* i05_[18];
00141 TProfile* i06_[18];
00142 
00143 TProfile* i09_[18];
00144 TProfile* i10_[18];
00145 
00146 TProfile* i13_[18];
00147 TProfile* i14_[18];
00148 
00149 // Quality check on crystals
00150 
00151 float percentVariation01_, percentVariation03_;
00152 float amplitudeThreshold01_, amplitudeThreshold03_; 
00153 float rmsThreshold01_, rmsThreshold03_;
00154 
00155 // Quality check on PNs
00156 
00157 float amplitudeThresholdPnG01_;
00158 float amplitudeThresholdPnG16_;
00159 float pedPnExpectedMean_[2];
00160 float pedPnDiscrepancyMean_[2];
00161 float pedPnRMSThreshold_[2];
00162 
00163 };
00164 
00165 #endif