ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h
Revision: 1.6
Committed: Fri Jul 8 07:33:44 2011 UTC (13 years, 10 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +0 -0 lines
State: FILE REMOVED
Log Message:
split in DF and EDM parts

File Contents

# Content
1 #ifndef VHbbEvent__H
2 #define VHbbEvent__H
3
4 #include <TLorentzVector.h>
5 #include <TVector2.h>
6 #include <vector>
7
8 class VHbbEvent{
9 public:
10
11 class ParticleMCInfo {
12 public:
13 ParticleMCInfo(): status(-99), momid(-99), gmomid(-99), charge(-1){}
14 public:
15 int status;
16 int momid;
17 int gmomid;
18 int charge;
19 TLorentzVector fourMomentum;
20 // int ndau;
21 std::vector<int> dauid;
22 std::vector<TLorentzVector> dauFourMomentum;
23 };
24
25 class SimpleJet {
26 public:
27 SimpleJet(): flavour(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
28 ssvhe(-99), csv(-99), csvmva(-99), ntracks(-99), charge(-99),
29 bestMCid(-99), bestMCmomid(-99){}
30 public:
31 int flavour;
32 float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
33 int ntracks;
34 float charge;
35 TLorentzVector fourMomentum;
36 TLorentzVector chargedTracksFourMomentum;
37
38 int bestMCid, bestMCmomid;
39 // new
40 TVector2 tVector;
41 };
42
43
44 class HardJet {
45 public:
46 HardJet(): constituents(-99){}
47 public:
48 int constituents;
49 TLorentzVector fourMomentum;
50 std::vector<TLorentzVector> subFourMomentum;
51 std::vector<float> etaSub, phiSub;
52 };
53
54
55 class METInfo {
56 public:
57 METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
58 public:
59 float sumEt, metSig, eLong;
60 TLorentzVector fourMomentum;
61 };
62
63 class MuonInfo {
64 public:
65 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),
66 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
67 cat(-99), nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),
68 mcId(-99), mcMomId(-99), mcgMomId(-99){}
69 public:
70 TLorentzVector fourMomentum;
71 int charge;
72 float tIso, eIso, hIso, acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
73 int cat, nHits, nPixelHits, globNHits, validMuStations;
74 TLorentzVector mcFourMomentum;
75 int mcId, mcMomId, mcgMomId;
76 };
77
78 class ElectronInfo {
79 public:
80 ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
81 tIso(-99), eIso(-99), hIso(-99),
82 acop(-99), id95(-99),id85(-99),id70(-99),id95r(-99),
83 id70r(-99), id85r(-99),mcId(-99), mcMomId(-99), mcgMomId (-99){}
84 public:
85 TLorentzVector fourMomentum;
86 float scEta, scPhi;
87 int charge;
88 float tIso, eIso, hIso, acop;
89 float id95,id85,id70,id95r, id70r, id85r;
90 TLorentzVector mcFourMomentum;
91 int mcId, mcMomId, mcgMomId;
92 };
93
94 class TauInfo{
95 public:
96 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99), acop(-99),
97 idbyIso(-99),idbyTrackIso(-99),idbyTaNCfrOnePercent(-99),
98 idbyTaNCfrHalfPercent(-99), idbyTaNCfrQuarterPercent(-99),
99 idbyTaNCfrTenthPercent(-99), idbyTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99) {}
100 public:
101 TLorentzVector fourMomentum;
102 int charge;
103 float tIso, eIso, hIso, acop;
104 float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
105 TLorentzVector mcFourMomentum;
106 int mcId, mcMomId, mcgMomId;
107 };
108
109
110 class DiMuonInfo {
111 public:
112 TLorentzVector fourMomentum;
113 MuonInfo daughter1, daughter2;
114 };
115
116
117 class DiElectronInfo {
118 public:
119 TLorentzVector fourMomentum;
120 ElectronInfo daughter1, daughter2;
121 };
122
123
124 class TriggerInfo {
125 public:
126 TriggerInfo() : triggerMu9(-99),
127 triggerIsoMu9(-99),
128 triggerIsoMu13_3(-99),
129 triggerMu11(-99),
130 triggerDoubleMu3(-99),
131 triggerDoubleMu3_2(-99),
132 triggerMu15(-99),
133 triggerMu15_1(-99),
134 triggerDoubleElec10(-99),
135 triggerDoubleElec15_1(-99),
136 triggerDoubleElec17_1(-99),
137 triggerMet100_1(-99),
138 triggerSingleEle1(-99),
139 triggerSingleEle2(-99),
140 triggerSingleEle3(-99),
141 triggerSingleEle4(-99),
142 triggerBtagMu1(-99),
143 triggerBtagMu2(-99),
144 triggerBtagMu0(-99),
145 triggerBtagMu11(-99),
146 triggerBtagMuJet1(-99),
147 triggerBtagMuJet2(-99),
148 triggerBtagMuJet3(-99),
149 triggerBtagMuJet4(-99),
150 triggerIsoMu15(-99),
151 triggerIsoMu17v5(-99),
152 triggerIsoMu17v6(-99) {
153 for (unsigned int i=0; i< 500; ++i){
154 flag[i]= -99;
155 }
156 }
157 public:
158 int flag[500];
159 int triggerMu9,
160 triggerIsoMu9,
161 triggerIsoMu13_3,
162 triggerMu11,
163 triggerDoubleMu3,
164 triggerDoubleMu3_2,
165 triggerMu15,
166 triggerMu15_1,
167 triggerDoubleElec10,
168 triggerDoubleElec15_1,
169 triggerDoubleElec17_1,
170 triggerMet100_1,
171 triggerSingleEle1,
172 triggerSingleEle2,
173 triggerSingleEle3,
174 triggerSingleEle4,
175 triggerBtagMu1,
176 triggerBtagMu2,
177 triggerBtagMu0,
178 triggerBtagMu11,
179 triggerBtagMuJet1,
180 triggerBtagMuJet2,
181 triggerBtagMuJet3,
182 triggerBtagMuJet4,
183 triggerIsoMu15,
184 triggerIsoMu17v5,
185 triggerIsoMu17v6;
186 };
187
188 class PrimaryVertexInfo {
189 public:
190 TVector3 firstPVInPT2,firstPVInProb;
191 };
192
193 class PUInfo{
194 public:
195 PUInfo(): rho(-99) {}
196 public:
197 float rho;
198 };
199
200
201 public:
202 ParticleMCInfo mcH;
203 ParticleMCInfo mcW;
204 ParticleMCInfo mcZ;
205 std::vector<SimpleJet> simpleJets;
206 std::vector<SimpleJet> simpleJets2; //???
207 std::vector<SimpleJet> subJets; //???
208 std::vector<HardJet> hardJets;
209
210 ParticleMCInfo mcBbar;
211 ParticleMCInfo mcB;
212 ParticleMCInfo mcC;
213
214 PUInfo puInfo;
215
216
217
218 METInfo calomet;
219 METInfo tcmet;
220 METInfo pfmet;
221
222 std::vector<MuonInfo> muInfo;
223 std::vector<ElectronInfo> eleInfo;
224 std::vector<TauInfo> tauInfo;
225
226 TriggerInfo triggerInfo;
227
228 PrimaryVertexInfo pvInfo;
229
230 std::vector<DiMuonInfo> diMuonInfo;
231 std::vector<DiElectronInfo> diElectronInfo;
232
233 // HiggsCandidate dijetHiggs;
234 // HiggsCandidate fatjetHiggs;
235
236 // to be decided.. one single or many V?
237 // VCandidate vcand;
238 // WCandidate wele;
239 // WCandidate wmu;
240 //WCandidate wtau;
241 // ZCandidate zmu;
242 // ZCandidate zele;
243 //ZInvCandidate znunu;
244
245 //
246 // really needed????
247 //
248
249 };
250 #endif