CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DQM/L1TMonitorClient/interface/L1TGMTClient.h

Go to the documentation of this file.
00001 #ifndef DQM_L1TMONITORCLIENT_L1TGMTCLIENT_H
00002 #define DQM_L1TMONITORCLIENT_L1TGMTCLIENT_H
00003 
00004 #include "FWCore/Framework/interface/EDAnalyzer.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "DQMServices/Core/interface/DQMStore.h"
00007 #include "DQMServices/Core/interface/MonitorElement.h"
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 
00010 #include <string>
00011 
00012 class L1TGMTClient: public edm::EDAnalyzer {
00013 
00014 public:
00015 
00017     L1TGMTClient(const edm::ParameterSet&);
00018 
00020     virtual ~L1TGMTClient();
00021 
00022 protected:
00023 
00025     void beginJob();
00026 
00028     void beginRun(const edm::Run&, const edm::EventSetup&);
00029 
00031     void analyze(const edm::Event&, const edm::EventSetup&);
00032 
00033     void beginLuminosityBlock(const edm::LuminosityBlock&,
00034             const edm::EventSetup&);
00035 
00037     void
00038     endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&);
00039 
00041     void endRun(const edm::Run&, const edm::EventSetup&);
00042 
00044     void endJob();
00045 
00046 private:
00047 
00048     void initialize();
00049     void processHistograms();
00050     void makeRatio1D(MonitorElement* mer, std::string h1Name,
00051             std::string h2Name);
00052     void makeEfficiency1D(MonitorElement *meeff, std::string heName,
00053             std::string hiName);
00054     void makeEfficiency2D(MonitorElement *meeff, std::string heName,
00055             std::string hiName);
00056     TH1F * get1DHisto(std::string meName, DQMStore* dbi);
00057     TH2F * get2DHisto(std::string meName, DQMStore* dbi);
00058 
00059     MonitorElement* bookClone1D(const std::string& name,
00060             const std::string& title, const std::string& hrefName);
00061     MonitorElement* bookClone1DVB(const std::string& name,
00062             const std::string& title, const std::string& hrefName);
00063     MonitorElement* bookClone2D(const std::string& name,
00064             const std::string& title, const std::string& hrefName);
00065 
00066     edm::ParameterSet parameters_;
00067     DQMStore* dbe_;
00068     std::string monitorName_;
00069     std::string input_dir_;
00070     std::string output_dir_;
00071 
00072     bool m_runInEventLoop;
00073     bool m_runInEndLumi;
00074     bool m_runInEndRun;
00075     bool m_runInEndJob;
00076 
00077     // -------- member data --------
00078     MonitorElement* eff_eta_dtcsc;
00079     MonitorElement* eff_eta_rpc;
00080     MonitorElement* eff_phi_dtcsc;
00081     MonitorElement* eff_phi_rpc;
00082     MonitorElement* eff_etaphi_dtcsc;
00083     MonitorElement* eff_etaphi_rpc;
00084 
00085 };
00086 
00087 #endif