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
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