File indexing completed on 2021-02-14 13:10:47
0001 #ifndef DQM_L1TMONITORCLIENT_L1TGMTCLIENT_H
0002 #define DQM_L1TMONITORCLIENT_L1TGMTCLIENT_H
0003
0004 #include "FWCore/Framework/interface/EDAnalyzer.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "DQMServices/Core/interface/DQMStore.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0009
0010 #include <string>
0011
0012 class L1TGMTClient : public DQMEDHarvester {
0013 public:
0014
0015 L1TGMTClient(const edm::ParameterSet &);
0016
0017
0018 ~L1TGMTClient() override;
0019
0020 protected:
0021 void dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override;
0022 void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker,
0023 DQMStore::IGetter &igetter,
0024 const edm::LuminosityBlock &lumiSeg,
0025 const edm::EventSetup &evSetup) override;
0026
0027 private:
0028 void initialize();
0029 void processHistograms(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter);
0030 void makeRatio1D(DQMStore::IBooker &ibooker,
0031 DQMStore::IGetter &igetter,
0032 MonitorElement *mer,
0033 std::string h1Name,
0034 std::string h2Name);
0035 void makeEfficiency1D(DQMStore::IBooker &ibooker,
0036 DQMStore::IGetter &igetter,
0037 MonitorElement *meeff,
0038 std::string heName,
0039 std::string hiName);
0040 void makeEfficiency2D(DQMStore::IBooker &ibooker,
0041 DQMStore::IGetter &igetter,
0042 MonitorElement *meeff,
0043 std::string heName,
0044 std::string hiName);
0045 TH1F *get1DHisto(std::string meName, DQMStore::IGetter &igetter);
0046 TH2F *get2DHisto(std::string meName, DQMStore::IGetter &igetter);
0047
0048 MonitorElement *bookClone1D(DQMStore::IBooker &ibooker,
0049 DQMStore::IGetter &igetter,
0050 const std::string &name,
0051 const std::string &title,
0052 const std::string &hrefName);
0053 MonitorElement *bookClone1DVB(DQMStore::IBooker &ibooker,
0054 DQMStore::IGetter &igetter,
0055 const std::string &name,
0056 const std::string &title,
0057 const std::string &hrefName);
0058 MonitorElement *bookClone2D(DQMStore::IBooker &ibooker,
0059 DQMStore::IGetter &igetter,
0060 const std::string &name,
0061 const std::string &title,
0062 const std::string &hrefName);
0063
0064 edm::ParameterSet parameters_;
0065 std::string monitorName_;
0066 std::string input_dir_;
0067 std::string output_dir_;
0068
0069 bool m_runInEventLoop;
0070 bool m_runInEndLumi;
0071 bool m_runInEndRun;
0072 bool m_runInEndJob;
0073
0074
0075 MonitorElement *eff_eta_dtcsc;
0076 MonitorElement *eff_eta_rpc;
0077 MonitorElement *eff_phi_dtcsc;
0078 MonitorElement *eff_phi_rpc;
0079 MonitorElement *eff_etaphi_dtcsc;
0080 MonitorElement *eff_etaphi_rpc;
0081 };
0082
0083 #endif