CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/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: 2010/06/30 15:08:11 $
00008  * $Revision: 1.49 $
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(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 std::vector<int> superModules_;
00091 std::vector<int> laserWavelengths_;
00092 std::vector<int> ledWavelengths_;
00093 std::vector<int> MGPAGains_;
00094 std::vector<int> MGPAGainsPN_;
00095 
00096 std::vector<EEClient*> clients_;
00097 
00098 DQMStore* dqmStore_;
00099 
00100 MonitorElement* meIntegrity_[2];
00101 MonitorElement* meIntegrityPN_;
00102 MonitorElement* meIntegrityErr_;
00103 MonitorElement* meStatusFlags_[2];
00104 MonitorElement* meStatusFlagsErr_;
00105 MonitorElement* meOccupancy_[2];
00106 MonitorElement* meOccupancyPN_;
00107 MonitorElement* meOccupancy1D_;
00108 MonitorElement* mePedestalOnline_[2];
00109 MonitorElement* mePedestalOnlineErr_;
00110 MonitorElement* mePedestalOnlineMean_;
00111 MonitorElement* mePedestalOnlineRMS_;
00112 MonitorElement* mePedestalOnlineRMSMap_[2];
00113 MonitorElement* meLaserL1_[2];
00114 MonitorElement* meLaserL1Err_;
00115 MonitorElement* meLaserL1PN_;
00116 MonitorElement* meLaserL1PNErr_;
00117 MonitorElement* meLaserL1Ampl_; 
00118 MonitorElement* meLaserL1Timing_;
00119 MonitorElement* meLaserL1AmplOverPN_;
00120 MonitorElement* meLaserL2_[2];
00121 MonitorElement* meLaserL2Err_;
00122 MonitorElement* meLaserL2PN_;
00123 MonitorElement* meLaserL2PNErr_;
00124 MonitorElement* meLaserL2Ampl_; 
00125 MonitorElement* meLaserL2Timing_;
00126 MonitorElement* meLaserL2AmplOverPN_;
00127 MonitorElement* meLaserL3_[2];
00128 MonitorElement* meLaserL3Err_;
00129 MonitorElement* meLaserL3PN_;
00130 MonitorElement* meLaserL3PNErr_;
00131 MonitorElement* meLaserL3Ampl_; 
00132 MonitorElement* meLaserL3Timing_;
00133 MonitorElement* meLaserL3AmplOverPN_;
00134 MonitorElement* meLaserL4_[2];
00135 MonitorElement* meLaserL4Err_;
00136 MonitorElement* meLaserL4PN_;
00137 MonitorElement* meLaserL4PNErr_;
00138 MonitorElement* meLaserL4Ampl_; 
00139 MonitorElement* meLaserL4Timing_;
00140 MonitorElement* meLaserL4AmplOverPN_;
00141 MonitorElement* meLedL1_[2];
00142 MonitorElement* meLedL1Err_;
00143 MonitorElement* meLedL1PN_;
00144 MonitorElement* meLedL1PNErr_;
00145 MonitorElement* meLedL1Ampl_;
00146 MonitorElement* meLedL1Timing_;
00147 MonitorElement* meLedL1AmplOverPN_;
00148 MonitorElement* meLedL2_[2];
00149 MonitorElement* meLedL2Err_;
00150 MonitorElement* meLedL2PN_;
00151 MonitorElement* meLedL2PNErr_;
00152 MonitorElement* meLedL2Ampl_;
00153 MonitorElement* meLedL2Timing_;
00154 MonitorElement* meLedL2AmplOverPN_;
00155 MonitorElement* mePedestalG01_[2];
00156 MonitorElement* mePedestalG06_[2];
00157 MonitorElement* mePedestalG12_[2];
00158 MonitorElement* mePedestalPNG01_;
00159 MonitorElement* mePedestalPNG16_;
00160 MonitorElement* meTestPulseG01_[2];
00161 MonitorElement* meTestPulseG06_[2];
00162 MonitorElement* meTestPulseG12_[2];
00163 MonitorElement* meTestPulsePNG01_;
00164 MonitorElement* meTestPulsePNG16_;
00165 MonitorElement* meTestPulseAmplG01_;
00166 MonitorElement* meTestPulseAmplG06_;
00167 MonitorElement* meTestPulseAmplG12_;
00168 
00169 MonitorElement* meRecHitEnergy_[2];
00170 MonitorElement* meTiming_[2];
00171 MonitorElement* meTimingMean1D_[2];
00172 MonitorElement* meTimingRMS1D_[2];
00173 MonitorElement* meTimingMean_;
00174 MonitorElement* meTimingRMS_;
00175 MonitorElement* meTriggerTowerEt_[2];
00176 MonitorElement* meTriggerTowerEtSpectrum_[2];
00177 MonitorElement* meTriggerTowerEmulError_[2];
00178 MonitorElement* meTriggerTowerTiming_[2];
00179 MonitorElement* meTriggerTowerNonSingleTiming_[2];
00180 
00181 MonitorElement* meGlobalSummary_[2];
00182 
00183 TProfile2D* hot01_[18];
00184 TProfile2D* hpot01_[18];
00185 TProfile2D* httt01_[18];
00186 TProfile2D* htmt01_[18];
00187 TH1F* norm01_, *synch01_;
00188 
00189 };
00190 
00191 #endif