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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
// -*- c++ -*-
#ifndef DQMOffline_Trigger_HLTTauDQMPathPlotter_h
#define DQMOffline_Trigger_HLTTauDQMPathPlotter_h
#include "DQMOffline/Trigger/interface/HLTTauDQMPlotter.h"
#include "DQMOffline/Trigger/interface/HLTTauDQMPath.h"
#include "DQMOffline/Trigger/interface/HistoWrapper.h"
namespace edm {
class Event;
class EventSetup;
class TriggerResults;
} // namespace edm
namespace trigger {
class TriggerEvent;
}
class HLTConfigProvider;
class HLTTauDQMPathPlotter : private HLTTauDQMPlotter {
public:
HLTTauDQMPathPlotter(const std::string &pathName,
const HLTConfigProvider &HLTCP,
bool doRefAnalysis,
const std::string &dqmBaseFolder,
const std::string &hltProcess,
int ptbins,
int etabins,
int phibins,
double ptmax,
double highptmax,
double l1MatchDr,
double hltMatchDr);
~HLTTauDQMPathPlotter();
using HLTTauDQMPlotter::isValid;
void bookHistograms(HistoWrapper &iWrapper, DQMStore::IBooker &iBooker);
void analyze(const edm::TriggerResults &triggerResults,
const trigger::TriggerEvent &triggerEvent,
const HLTTauDQMOfflineObjects &refCollection);
const HLTTauDQMPath *getPathObject() const { return &hltPath_; }
typedef std::tuple<std::string, size_t> FilterIndex;
private:
const int ptbins_;
const int etabins_;
const int phibins_;
const double ptmax_;
const double highptmax_;
const double l1MatchDr_;
const double hltMatchDr_;
const bool doRefAnalysis_;
HLTTauDQMPath hltPath_;
MonitorElement *hCounter_;
MonitorElement *hAcceptedEvents_;
MonitorElement *hTrigTauEt_;
MonitorElement *hTrigTauEta_;
MonitorElement *hTrigTauPhi_;
MonitorElement *hTrigMuonEt_;
MonitorElement *hTrigMuonEta_;
MonitorElement *hTrigMuonPhi_;
MonitorElement *hTrigElectronEt_;
MonitorElement *hTrigElectronEta_;
MonitorElement *hTrigElectronPhi_;
MonitorElement *hTrigMETEt_;
MonitorElement *hTrigMETPhi_;
MonitorElement *hMass_;
MonitorElement *hL2TrigTauEtEffNum_;
MonitorElement *hL2TrigTauEtEffDenom_;
MonitorElement *hL2TrigTauHighEtEffNum_;
MonitorElement *hL2TrigTauHighEtEffDenom_;
MonitorElement *hL2TrigTauEtaEffNum_;
MonitorElement *hL2TrigTauEtaEffDenom_;
MonitorElement *hL2TrigTauPhiEffNum_;
MonitorElement *hL2TrigTauPhiEffDenom_;
MonitorElement *hL3TrigTauEtEffNum_;
MonitorElement *hL3TrigTauEtEffDenom_;
MonitorElement *hL3TrigTauHighEtEffNum_;
MonitorElement *hL3TrigTauHighEtEffDenom_;
MonitorElement *hL3TrigTauEtaEffNum_;
MonitorElement *hL3TrigTauEtaEffDenom_;
MonitorElement *hL3TrigTauPhiEffNum_;
MonitorElement *hL3TrigTauPhiEffDenom_;
MonitorElement *hL3TrigTauEtaPhiEffNum_;
MonitorElement *hL3TrigTauEtaPhiEffDenom_;
MonitorElement *hL2TrigElectronEtEffNum_;
MonitorElement *hL2TrigElectronEtEffDenom_;
MonitorElement *hL2TrigElectronEtaEffNum_;
MonitorElement *hL2TrigElectronEtaEffDenom_;
MonitorElement *hL2TrigElectronPhiEffNum_;
MonitorElement *hL2TrigElectronPhiEffDenom_;
MonitorElement *hL3TrigElectronEtEffNum_;
MonitorElement *hL3TrigElectronEtEffDenom_;
MonitorElement *hL3TrigElectronEtaEffNum_;
MonitorElement *hL3TrigElectronEtaEffDenom_;
MonitorElement *hL3TrigElectronPhiEffNum_;
MonitorElement *hL3TrigElectronPhiEffDenom_;
MonitorElement *hL2TrigMuonEtEffNum_;
MonitorElement *hL2TrigMuonEtEffDenom_;
MonitorElement *hL2TrigMuonEtaEffNum_;
MonitorElement *hL2TrigMuonEtaEffDenom_;
MonitorElement *hL2TrigMuonPhiEffNum_;
MonitorElement *hL2TrigMuonPhiEffDenom_;
MonitorElement *hL3TrigMuonEtEffNum_;
MonitorElement *hL3TrigMuonEtEffDenom_;
MonitorElement *hL3TrigMuonEtaEffNum_;
MonitorElement *hL3TrigMuonEtaEffDenom_;
MonitorElement *hL3TrigMuonPhiEffNum_;
MonitorElement *hL3TrigMuonPhiEffDenom_;
MonitorElement *hL2TrigMETEtEffNum_;
MonitorElement *hL2TrigMETEtEffDenom_;
};
#endif
|