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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
#ifndef L1THIonImp_H
#define L1THIonImp_H
// user include files
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
// DQM
#include "DQMServices/Core/interface/DQMStore.h"
#include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h"
#include "DataFormats/L1CaloTrigger/interface/L1CaloCollections.h"
#include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h"
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
class L1THIonImp : public DQMEDAnalyzer {
public:
// Constructor
L1THIonImp(const edm::ParameterSet& ps);
// Destructor
~L1THIonImp() 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;
//virtual std::vector<int> SortMinBiasBit(std::vector<int>, std::vector<int>);
virtual std::vector<int> SortMinBiasBit(uint16_t, uint16_t);
private:
// ----------member data ---------------------------
// Jet and EM stuff
MonitorElement* l1GctCenJetsEtEtaPhi_;
MonitorElement* l1GctForJetsEtEtaPhi_;
MonitorElement* l1GctTauJetsEtEtaPhi_;
MonitorElement* l1GctIsoEmRankEtaPhi_;
MonitorElement* l1GctNonIsoEmRankEtaPhi_;
MonitorElement* l1GctCenJetsOccEtaPhi_;
MonitorElement* l1GctForJetsOccEtaPhi_;
MonitorElement* l1GctTauJetsOccEtaPhi_;
MonitorElement* l1GctIsoEmOccEtaPhi_;
MonitorElement* l1GctNonIsoEmOccEtaPhi_;
MonitorElement* l1GctCenJetsRank_;
MonitorElement* l1GctForJetsRank_;
MonitorElement* l1GctTauJetsRank_;
MonitorElement* l1GctIsoEmRank_;
MonitorElement* l1GctNonIsoEmRank_;
MonitorElement* l1GctAllJetsOccRankBx_;
MonitorElement* l1GctAllEmOccRankBx_;
// Energy sums stuff
MonitorElement* l1GctEtMiss_;
MonitorElement* l1GctEtMissPhi_;
MonitorElement* l1GctEtMissOf_;
MonitorElement* l1GctEtMissOccBx_;
MonitorElement* l1GctEtTotal_;
MonitorElement* l1GctEtTotalOf_;
MonitorElement* l1GctEtTotalOccBx_;
MonitorElement* l1GctEtHad_;
MonitorElement* l1GctEtHadOf_;
MonitorElement* l1GctEtHadOccBx_;
MonitorElement* l1GctEtTotalEtHadCorr_;
MonitorElement* l1GctHFRingETSum_;
MonitorElement* l1GctHFRingETDiff_;
// HF Rings stuff
MonitorElement* l1GctHFRing1PosEtaNegEta_;
MonitorElement* l1GctHFRing1TowerCountPosEtaNegEta_;
MonitorElement* l1GctHFRing2TowerCountPosEtaNegEta_;
MonitorElement* l1GctHFRing1TowerCountPosEta_;
MonitorElement* l1GctHFRing1TowerCountNegEta_;
MonitorElement* l1GctHFRing2TowerCountPosEta_;
MonitorElement* l1GctHFRing2TowerCountNegEta_;
MonitorElement* l1GctHFRing1ETSumPosEta_;
MonitorElement* l1GctHFRing1ETSumNegEta_;
MonitorElement* l1GctHFRingRatioPosEta_;
MonitorElement* l1GctHFRingETSumOccBx_;
MonitorElement* l1GctHFRingTowerCountOccBx_;
MonitorElement* l1GctMinBiasBitHFEt_;
MonitorElement* HFNegEnergy_;
MonitorElement* HFPosEnergy_;
MonitorElement* HFEnergy_;
MonitorElement* DECorr_[3][8];
MonitorElement* centralityCorr_;
MonitorElement* centralityExtCorr_;
MonitorElement* MinBiasCorr_;
edm::InputTag gctCenJetsDataSource_;
edm::InputTag gctForJetsDataSource_;
edm::InputTag gctTauJetsDataSource_;
edm::InputTag gctIsoTauJetsDataSource_;
edm::InputTag gctEnergySumsDataSource_;
edm::InputTag gctIsoEmDataSource_;
edm::InputTag gctNonIsoEmDataSource_;
edm::EDGetTokenT<L1CaloRegionCollection> rctSource_L1CRCollection_;
edm::InputTag gctCenJetsEmulSource_;
edm::InputTag gctForJetsEmulSource_;
edm::InputTag gctTauJetsEmulSource_;
edm::InputTag gctIsoTauJetsEmulSource_;
edm::InputTag gctEnergySumsEmulSource_;
edm::InputTag gctIsoEmEmulSource_;
edm::InputTag gctNonIsoEmEmulSource_;
//define Token(-s)
edm::EDGetTokenT<L1GctEmCandCollection> gctIsoEmSourceDataToken_;
edm::EDGetTokenT<L1GctEmCandCollection> gctNonIsoEmSourceDataToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctCenJetsSourceDataToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctForJetsSourceDataToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctTauJetsSourceDataToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctIsoTauJetsSourceDataToken_;
edm::EDGetTokenT<L1GctHFRingEtSumsCollection> gctEnergySumsSourceDataToken_;
edm::EDGetTokenT<L1GctHFBitCountsCollection> l1HFCountsDataToken_;
edm::EDGetTokenT<L1GctEtMissCollection> l1EtMissDataToken_;
edm::EDGetTokenT<L1GctHtMissCollection> l1HtMissDataToken_;
edm::EDGetTokenT<L1GctEtHadCollection> l1EtHadDataToken_;
edm::EDGetTokenT<L1GctEtTotalCollection> l1EtTotalDataToken_;
edm::EDGetTokenT<L1GctEmCandCollection> gctIsoEmSourceEmulToken_;
edm::EDGetTokenT<L1GctEmCandCollection> gctNonIsoEmSourceEmulToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctCenJetsSourceEmulToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctForJetsSourceEmulToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctTauJetsSourceEmulToken_;
edm::EDGetTokenT<L1GctJetCandCollection> gctIsoTauJetsSourceEmulToken_;
edm::EDGetTokenT<L1GctHFRingEtSumsCollection> gctEnergySumsSourceEmulToken_;
edm::EDGetTokenT<L1GctHFBitCountsCollection> l1HFCountsEmulToken_;
edm::EDGetTokenT<L1GctEtMissCollection> l1EtMissEmulToken_;
edm::EDGetTokenT<L1GctHtMissCollection> l1HtMissEmulToken_;
edm::EDGetTokenT<L1GctEtHadCollection> l1EtHadEmulToken_;
edm::EDGetTokenT<L1GctEtTotalCollection> l1EtTotalEmulToken_;
};
#endif
|