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
|
#ifndef L1TRCT_H
#define L1TRCT_H
// system include files
#include <memory>
#include <unistd.h>
#include <iostream>
#include <fstream>
#include <vector>
// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
// DQM
#include "DQMServices/Core/interface/DQMStore.h"
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
// GCT and RCT data formats
#include "DataFormats/L1CaloTrigger/interface/L1CaloCollections.h"
//
// class declaration
//
class L1TRCT : public DQMEDAnalyzer {
public:
// Constructor
L1TRCT(const edm::ParameterSet& ps);
// Destructor
~L1TRCT() override;
protected:
// Analyze
void analyze(const edm::Event& e, const edm::EventSetup& c) override;
void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
private:
// ----------member data ---------------------------
// trigger type information
MonitorElement* triggerType_;
// RCT
// regions
MonitorElement* rctRegionsEtEtaPhi_;
MonitorElement* rctRegionsOccEtaPhi_;
MonitorElement* rctRegionRank_;
MonitorElement* rctOverFlowEtaPhi_;
MonitorElement* rctTauVetoEtaPhi_;
MonitorElement* rctMipEtaPhi_;
MonitorElement* rctQuietEtaPhi_;
MonitorElement* rctHfPlusTauEtaPhi_;
// Bx
MonitorElement* rctRegionBx_;
MonitorElement* rctEmBx_;
// em
MonitorElement* rctIsoEmEtEtaPhi_;
MonitorElement* rctIsoEmOccEtaPhi_;
MonitorElement* rctNonIsoEmEtEtaPhi_;
MonitorElement* rctNonIsoEmOccEtaPhi_;
MonitorElement* rctIsoEmRank_;
MonitorElement* rctNonIsoEmRank_;
MonitorElement* rctNotCentralRegionsEtEtaPhi_;
MonitorElement* rctNotCentralRegionsOccEtaPhi_;
MonitorElement* rctNotCentralIsoEmEtEtaPhi_;
MonitorElement* rctNotCentralIsoEmOccEtaPhi_;
MonitorElement* rctNotCentralNonIsoEmEtEtaPhi_;
MonitorElement* rctNotCentralNonIsoEmOccEtaPhi_;
// Layer2
// regions
MonitorElement* layer2RegionsEtEtaPhi_;
MonitorElement* layer2RegionsOccEtaPhi_;
MonitorElement* layer2RegionRank_;
MonitorElement* layer2OverFlowEtaPhi_;
MonitorElement* layer2TauVetoEtaPhi_;
MonitorElement* layer2MipEtaPhi_;
MonitorElement* layer2QuietEtaPhi_;
MonitorElement* layer2HfPlusTauEtaPhi_;
// Bx
MonitorElement* layer2RegionBx_;
MonitorElement* layer2EmBx_;
// em
MonitorElement* layer2IsoEmEtEtaPhi_;
MonitorElement* layer2IsoEmOccEtaPhi_;
MonitorElement* layer2NonIsoEmEtEtaPhi_;
MonitorElement* layer2NonIsoEmOccEtaPhi_;
MonitorElement* layer2IsoEmRank_;
MonitorElement* layer2NonIsoEmRank_;
// run/lumi
MonitorElement* runId_;
MonitorElement* lumisecId_;
std::string histFolder_;
bool verbose_;
edm::EDGetTokenT<L1CaloRegionCollection> rctSource_L1CRCollection_;
edm::EDGetTokenT<L1CaloEmCollection> rctSource_L1CEMCollection_;
edm::EDGetTokenT<L1CaloRegionCollection> rctSource_GCT_L1CRCollection_;
edm::EDGetTokenT<L1CaloEmCollection> rctSource_GCT_L1CEMCollection_;
/// filter TriggerType
int filterTriggerType_;
int selectBX_;
};
#endif
|