CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/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: 2012/06/11 22:57:15 $
00008  * $Revision: 1.62 $
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  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> MGPAGains_;
00099 std::vector<int> MGPAGainsPN_;
00100 
00101 std::vector<EBClient*> clients_;
00102 
00103 DQMStore* dqmStore_;
00104 
00105 MonitorElement* meIntegrity_;
00106 MonitorElement* meIntegrityPN_;
00107 MonitorElement* meIntegrityErr_;
00108 MonitorElement* meStatusFlags_;
00109 MonitorElement* meStatusFlagsErr_;
00110 MonitorElement* meOccupancy_;
00111 MonitorElement* meOccupancyPN_;
00112 MonitorElement* meOccupancy1D_;
00113 MonitorElement* mePedestalOnline_;
00114 MonitorElement* mePedestalOnlineErr_;
00115 MonitorElement* mePedestalOnlineMean_;
00116 MonitorElement* mePedestalOnlineRMS_;
00117 MonitorElement* mePedestalOnlineRMSMap_;
00118 MonitorElement* meLaserL1_;
00119 MonitorElement* meLaserL1Err_;
00120 MonitorElement* meLaserL1Ampl_;
00121 MonitorElement* meLaserL1Timing_;
00122 MonitorElement* meLaserL1AmplOverPN_;
00123 MonitorElement* meLaserL1PN_;
00124 MonitorElement* meLaserL1PNErr_;
00125 MonitorElement* meLaserL2_;
00126 MonitorElement* meLaserL2Err_;
00127 MonitorElement* meLaserL2Ampl_;
00128 MonitorElement* meLaserL2Timing_;
00129 MonitorElement* meLaserL2AmplOverPN_;
00130 MonitorElement* meLaserL2PN_;
00131 MonitorElement* meLaserL2PNErr_;
00132 MonitorElement* meLaserL3_;
00133 MonitorElement* meLaserL3Err_;
00134 MonitorElement* meLaserL3Ampl_;
00135 MonitorElement* meLaserL3Timing_;
00136 MonitorElement* meLaserL3AmplOverPN_;
00137 MonitorElement* meLaserL3PN_;
00138 MonitorElement* meLaserL3PNErr_;
00139 MonitorElement* meLaserL4_;
00140 MonitorElement* meLaserL4Err_;
00141 MonitorElement* meLaserL4Ampl_;
00142 MonitorElement* meLaserL4Timing_;
00143 MonitorElement* meLaserL4AmplOverPN_;
00144 MonitorElement* meLaserL4PN_;
00145 MonitorElement* meLaserL4PNErr_;
00146 MonitorElement* mePedestalG01_;
00147 MonitorElement* mePedestalG06_;
00148 MonitorElement* mePedestalG12_;
00149 MonitorElement* mePedestalPNG01_;
00150 MonitorElement* mePedestalPNG16_;
00151 MonitorElement* meTestPulseG01_;
00152 MonitorElement* meTestPulseG06_;
00153 MonitorElement* meTestPulseG12_;
00154 MonitorElement* meTestPulsePNG01_;
00155 MonitorElement* meTestPulsePNG16_;
00156 MonitorElement* meTestPulseAmplG01_;
00157 MonitorElement* meTestPulseAmplG06_;
00158 MonitorElement* meTestPulseAmplG12_;
00159 
00160 MonitorElement* meRecHitEnergy_;
00161 MonitorElement* meTiming_;
00162 MonitorElement* meTimingMean1D_;
00163 MonitorElement* meTimingRMS1D_;
00164 MonitorElement* meTimingMean_;
00165 MonitorElement* meTimingRMS_;
00166 MonitorElement* meTriggerTowerEt_;
00167 MonitorElement* meTriggerTowerEmulError_;
00168 MonitorElement* meTriggerTowerTiming_;
00169 MonitorElement* meTriggerTowerNonSingleTiming_;
00170 
00171 MonitorElement* meGlobalSummary_;
00172 
00173  MonitorElement* meSummaryErr_;
00174 
00175 TProfile2D* hot01_[36];
00176 TProfile2D* hpot01_[36];
00177 TProfile2D* httt01_[36];
00178 TProfile2D* htmt01_[36];
00179 TH1F* norm01_, *synch01_;
00180 
00181  int timingNHitThreshold_;
00182 
00183 };
00184 
00185 #endif