CMS 3D CMS Logo

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