1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#ifndef DQM_L1TMONITORCLIENT_L1TGMTCLIENT_H
#define DQM_L1TMONITORCLIENT_L1TGMTCLIENT_H
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "DQMServices/Core/interface/DQMEDHarvester.h"
#include <string>
class L1TGMTClient : public DQMEDHarvester {
public:
/// Constructor
L1TGMTClient(const edm::ParameterSet &);
/// Destructor
~L1TGMTClient() override;
protected:
void dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override;
void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker,
DQMStore::IGetter &igetter,
const edm::LuminosityBlock &lumiSeg,
const edm::EventSetup &evSetup) override;
private:
void initialize();
void processHistograms(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter);
void makeRatio1D(DQMStore::IBooker &ibooker,
DQMStore::IGetter &igetter,
MonitorElement *mer,
std::string h1Name,
std::string h2Name);
void makeEfficiency1D(DQMStore::IBooker &ibooker,
DQMStore::IGetter &igetter,
MonitorElement *meeff,
std::string heName,
std::string hiName);
void makeEfficiency2D(DQMStore::IBooker &ibooker,
DQMStore::IGetter &igetter,
MonitorElement *meeff,
std::string heName,
std::string hiName);
TH1F *get1DHisto(std::string meName, DQMStore::IGetter &igetter);
TH2F *get2DHisto(std::string meName, DQMStore::IGetter &igetter);
MonitorElement *bookClone1D(DQMStore::IBooker &ibooker,
DQMStore::IGetter &igetter,
const std::string &name,
const std::string &title,
const std::string &hrefName);
MonitorElement *bookClone1DVB(DQMStore::IBooker &ibooker,
DQMStore::IGetter &igetter,
const std::string &name,
const std::string &title,
const std::string &hrefName);
MonitorElement *bookClone2D(DQMStore::IBooker &ibooker,
DQMStore::IGetter &igetter,
const std::string &name,
const std::string &title,
const std::string &hrefName);
edm::ParameterSet parameters_;
std::string monitorName_;
std::string input_dir_;
std::string output_dir_;
bool m_runInEventLoop;
bool m_runInEndLumi;
bool m_runInEndRun;
bool m_runInEndJob;
// -------- member data --------
MonitorElement *eff_eta_dtcsc;
MonitorElement *eff_eta_rpc;
MonitorElement *eff_phi_dtcsc;
MonitorElement *eff_phi_rpc;
MonitorElement *eff_etaphi_dtcsc;
MonitorElement *eff_etaphi_rpc;
};
#endif
|