CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/EcalBarrelMonitorClient/interface/EBSummaryClient.h

Go to the documentation of this file.
00001 #ifndef EBSummaryClient_H
00002 #define EBSummaryClient_H
00003 
00004 /*
00005  * \file EBSummaryClient.h
00006  *
00007  * $Date: 2010/06/30 15:08:11 $
00008  * $Revision: 1.57 $
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/EcalBarrelMonitorClient/interface/EBClient.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 EBSummaryClient : public EBClient {
00032 
00033 public:
00034 
00036 EBSummaryClient(const edm::ParameterSet& ps);
00037 
00039 virtual ~EBSummaryClient();
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<EBClient*> 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> MGPAGains_;
00093 std::vector<int> MGPAGainsPN_;
00094 
00095 std::vector<EBClient*> clients_;
00096 
00097 DQMStore* dqmStore_;
00098 
00099 MonitorElement* meIntegrity_;
00100 MonitorElement* meIntegrityPN_;
00101 MonitorElement* meIntegrityErr_;
00102 MonitorElement* meStatusFlags_;
00103 MonitorElement* meStatusFlagsErr_;
00104 MonitorElement* meOccupancy_;
00105 MonitorElement* meOccupancyPN_;
00106 MonitorElement* meOccupancy1D_;
00107 MonitorElement* mePedestalOnline_;
00108 MonitorElement* mePedestalOnlineErr_;
00109 MonitorElement* mePedestalOnlineMean_;
00110 MonitorElement* mePedestalOnlineRMS_;
00111 MonitorElement* mePedestalOnlineRMSMap_;
00112 MonitorElement* meLaserL1_;
00113 MonitorElement* meLaserL1Err_;
00114 MonitorElement* meLaserL1Ampl_;
00115 MonitorElement* meLaserL1Timing_;
00116 MonitorElement* meLaserL1AmplOverPN_;
00117 MonitorElement* meLaserL1PN_;
00118 MonitorElement* meLaserL1PNErr_;
00119 MonitorElement* meLaserL2_;
00120 MonitorElement* meLaserL2Err_;
00121 MonitorElement* meLaserL2Ampl_;
00122 MonitorElement* meLaserL2Timing_;
00123 MonitorElement* meLaserL2AmplOverPN_;
00124 MonitorElement* meLaserL2PN_;
00125 MonitorElement* meLaserL2PNErr_;
00126 MonitorElement* meLaserL3_;
00127 MonitorElement* meLaserL3Err_;
00128 MonitorElement* meLaserL3Ampl_;
00129 MonitorElement* meLaserL3Timing_;
00130 MonitorElement* meLaserL3AmplOverPN_;
00131 MonitorElement* meLaserL3PN_;
00132 MonitorElement* meLaserL3PNErr_;
00133 MonitorElement* meLaserL4_;
00134 MonitorElement* meLaserL4Err_;
00135 MonitorElement* meLaserL4Ampl_;
00136 MonitorElement* meLaserL4Timing_;
00137 MonitorElement* meLaserL4AmplOverPN_;
00138 MonitorElement* meLaserL4PN_;
00139 MonitorElement* meLaserL4PNErr_;
00140 MonitorElement* mePedestalG01_;
00141 MonitorElement* mePedestalG06_;
00142 MonitorElement* mePedestalG12_;
00143 MonitorElement* mePedestalPNG01_;
00144 MonitorElement* mePedestalPNG16_;
00145 MonitorElement* meTestPulseG01_;
00146 MonitorElement* meTestPulseG06_;
00147 MonitorElement* meTestPulseG12_;
00148 MonitorElement* meTestPulsePNG01_;
00149 MonitorElement* meTestPulsePNG16_;
00150 MonitorElement* meTestPulseAmplG01_;
00151 MonitorElement* meTestPulseAmplG06_;
00152 MonitorElement* meTestPulseAmplG12_;
00153 
00154 MonitorElement* meRecHitEnergy_;
00155 MonitorElement* meTiming_;
00156 MonitorElement* meTimingMean1D_;
00157 MonitorElement* meTimingRMS1D_;
00158 MonitorElement* meTimingMean_;
00159 MonitorElement* meTimingRMS_;
00160 MonitorElement* meTriggerTowerEt_;
00161 MonitorElement* meTriggerTowerEmulError_;
00162 MonitorElement* meTriggerTowerTiming_;
00163 MonitorElement* meTriggerTowerNonSingleTiming_;
00164 
00165 MonitorElement* meGlobalSummary_;
00166 
00167 TProfile2D* hot01_[36];
00168 TProfile2D* hpot01_[36];
00169 TProfile2D* httt01_[36];
00170 TProfile2D* htmt01_[36];
00171 TH1F* norm01_, *synch01_;
00172 
00173 };
00174 
00175 #endif