CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/DQM/EcalEndcapMonitorClient/interface/EESummaryClient.h

Go to the documentation of this file.
00001 #ifndef EESummaryClient_H
00002 #define EESummaryClient_H
00003 
00004 /*
00005  * \file EESummaryClient.h
00006  *
00007  * $Date: 2012/03/18 17:20:56 $
00008  * $Revision: 1.50.2.3 $
00009  * \author G. Della Ricca
00010  *
00011 */
00012 
00013 #include <vector>
00014 #include <string>
00015 
00016 #include "TROOT.h"
00017 #include "TProfile2D.h"
00018 
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 
00021 #include "DQM/EcalEndcapMonitorClient/interface/EEClient.h"
00022 
00023 class MonitorElement;
00024 class DQMStore;
00025 #ifdef WITH_ECAL_COND_DB
00026 class EcalCondDBInterface;
00027 class RunIOV;
00028 class MonRunIOV;
00029 #endif
00030 
00031 class EESummaryClient : public EEClient {
00032 
00033 public:
00034 
00036 EESummaryClient(const edm::ParameterSet& ps);
00037 
00039 virtual ~EESummaryClient();
00040 
00042 void analyze(void);
00043 
00045 void beginJob(void);
00046 
00048 void endJob(void);
00049 
00051 void beginRun(void);
00052 
00054 void endRun(void);
00055 
00057 void setup(void);
00058 
00060 void cleanup(void);
00061 
00062 #ifdef WITH_ECAL_COND_DB
00063 
00064 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status);
00065 #endif
00066 
00068 inline int getEvtPerJob() { return ievt_; }
00069 inline int getEvtPerRun() { return jevt_; }
00070 
00072 inline void setFriends(const std::vector<EEClient*> &clients) { clients_ = clients; }
00073 
00074 private:
00075 
00076 int ievt_;
00077 int jevt_;
00078 
00079 float synchErrorThreshold_;
00080 
00081 bool cloneME_;
00082 
00083 bool verbose_;
00084 bool debug_;
00085 
00086 std::string prefixME_;
00087 
00088 bool enableCleanup_;
00089 
00090  bool produceReports_;
00091 
00092 std::vector<int> superModules_;
00093 std::vector<int> laserWavelengths_;
00094 std::vector<int> ledWavelengths_;
00095 std::vector<int> MGPAGains_;
00096 std::vector<int> MGPAGainsPN_;
00097 
00098 std::vector<EEClient*> clients_;
00099 
00100 DQMStore* dqmStore_;
00101 
00102 MonitorElement* meIntegrity_[2];
00103 MonitorElement* meIntegrityPN_;
00104 MonitorElement* meIntegrityErr_;
00105 MonitorElement* meStatusFlags_[2];
00106 MonitorElement* meStatusFlagsErr_;
00107 MonitorElement* meOccupancy_[2];
00108 MonitorElement* meOccupancyPN_;
00109 MonitorElement* meOccupancy1D_;
00110 MonitorElement* mePedestalOnline_[2];
00111 MonitorElement* mePedestalOnlineErr_;
00112 MonitorElement* mePedestalOnlineMean_;
00113 MonitorElement* mePedestalOnlineRMS_;
00114 MonitorElement* mePedestalOnlineRMSMap_[2];
00115 MonitorElement* meLaserL1_[2];
00116 MonitorElement* meLaserL1Err_;
00117 MonitorElement* meLaserL1PN_;
00118 MonitorElement* meLaserL1PNErr_;
00119 MonitorElement* meLaserL1Ampl_; 
00120 MonitorElement* meLaserL1Timing_;
00121 MonitorElement* meLaserL1AmplOverPN_;
00122 MonitorElement* meLaserL2_[2];
00123 MonitorElement* meLaserL2Err_;
00124 MonitorElement* meLaserL2PN_;
00125 MonitorElement* meLaserL2PNErr_;
00126 MonitorElement* meLaserL2Ampl_; 
00127 MonitorElement* meLaserL2Timing_;
00128 MonitorElement* meLaserL2AmplOverPN_;
00129 MonitorElement* meLaserL3_[2];
00130 MonitorElement* meLaserL3Err_;
00131 MonitorElement* meLaserL3PN_;
00132 MonitorElement* meLaserL3PNErr_;
00133 MonitorElement* meLaserL3Ampl_; 
00134 MonitorElement* meLaserL3Timing_;
00135 MonitorElement* meLaserL3AmplOverPN_;
00136 MonitorElement* meLaserL4_[2];
00137 MonitorElement* meLaserL4Err_;
00138 MonitorElement* meLaserL4PN_;
00139 MonitorElement* meLaserL4PNErr_;
00140 MonitorElement* meLaserL4Ampl_; 
00141 MonitorElement* meLaserL4Timing_;
00142 MonitorElement* meLaserL4AmplOverPN_;
00143 MonitorElement* meLedL1_[2];
00144 MonitorElement* meLedL1Err_;
00145 MonitorElement* meLedL1PN_;
00146 MonitorElement* meLedL1PNErr_;
00147 MonitorElement* meLedL1Ampl_;
00148 MonitorElement* meLedL1Timing_;
00149 MonitorElement* meLedL1AmplOverPN_;
00150 MonitorElement* meLedL2_[2];
00151 MonitorElement* meLedL2Err_;
00152 MonitorElement* meLedL2PN_;
00153 MonitorElement* meLedL2PNErr_;
00154 MonitorElement* meLedL2Ampl_;
00155 MonitorElement* meLedL2Timing_;
00156 MonitorElement* meLedL2AmplOverPN_;
00157 MonitorElement* mePedestalG01_[2];
00158 MonitorElement* mePedestalG06_[2];
00159 MonitorElement* mePedestalG12_[2];
00160 MonitorElement* mePedestalPNG01_;
00161 MonitorElement* mePedestalPNG16_;
00162 MonitorElement* meTestPulseG01_[2];
00163 MonitorElement* meTestPulseG06_[2];
00164 MonitorElement* meTestPulseG12_[2];
00165 MonitorElement* meTestPulsePNG01_;
00166 MonitorElement* meTestPulsePNG16_;
00167 MonitorElement* meTestPulseAmplG01_;
00168 MonitorElement* meTestPulseAmplG06_;
00169 MonitorElement* meTestPulseAmplG12_;
00170 
00171 MonitorElement* meRecHitEnergy_[2];
00172 MonitorElement* meTiming_[2];
00173 MonitorElement* meTimingMean1D_[2];
00174 MonitorElement* meTimingRMS1D_[2];
00175 MonitorElement* meTimingMean_;
00176 MonitorElement* meTimingRMS_;
00177 MonitorElement* meTriggerTowerEt_[2];
00178 MonitorElement* meTriggerTowerEtSpectrum_[2];
00179 MonitorElement* meTriggerTowerEmulError_[2];
00180 MonitorElement* meTriggerTowerTiming_[2];
00181 MonitorElement* meTriggerTowerNonSingleTiming_[2];
00182 
00183 MonitorElement* meGlobalSummary_[2];
00184 
00185 TProfile2D* hot01_[18];
00186 TProfile2D* hpot01_[18];
00187 TProfile2D* httt01_[18];
00188 TProfile2D* htmt01_[18];
00189 TH1F* norm01_, *synch01_;
00190 
00191 };
00192 
00193 #endif