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