ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h
Revision: 1.3
Committed: Thu Jun 9 16:51:52 2011 UTC (13 years, 11 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: Jun9th2011v2
Changes since 1.2: +3 -0 lines
Log Message:
add tvector

File Contents

# Content
1 #ifndef VHbbEvent__H
2 #define VHbbEvent__H
3
4 #include <TLorentzVector.h>
5 #include <TVector2.h>
6 #include <TMatrix.h>
7 #include <vector>
8
9 class VHbbEvent{
10 public:
11
12 class ParticleMCInfo {
13 public:
14 ParticleMCInfo(): status(-99), momid(-99), gmomid(-99), charge(-1){}
15 public:
16 int status;
17 int momid;
18 int gmomid;
19 int charge;
20 TLorentzVector fourMomentum;
21 // int ndau;
22 std::vector<int> dauid;
23 std::vector<TLorentzVector> dauFourMomentum;
24 };
25
26 class SimpleJet {
27 public:
28 SimpleJet(): flavour(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
29 ssvhe(-99), csv(-99), csvmva(-99), ntracks(-99), charge(-99),
30 bestMCid(-99), bestMCmomid(-99){}
31 public:
32 int flavour;
33 float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
34 int ntracks;
35 float charge;
36 TLorentzVector fourMomentum;
37 int bestMCid, bestMCmomid;
38 // new
39 TVector2 tVector;
40 };
41
42
43 class HardJet {
44 public:
45 HardJet(): constituents(-99){}
46 public:
47 int constituents;
48 TLorentzVector fourMomentum;
49 std::vector<TLorentzVector> subFourMomentum;
50 std::vector<float> etaSub, phiSub;
51 };
52
53
54 class METInfo {
55 public:
56 METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
57 public:
58 float sumEt, metSig, eLong;
59 TLorentzVector fourMomentum;
60 };
61
62 class MuonInfo {
63 public:
64 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),
65 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
66 cat(-99), nHits(-99), nPixelHits(-99), globNHits(-99),
67 mcId(-99), mcMomId(-99), mcgMomId(-99){}
68 public:
69 TLorentzVector fourMomentum;
70 int charge;
71 float tIso, eIso, hIso, acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
72 int cat, nHits, nPixelHits, globNHits;
73 TLorentzVector mcFourMomentum;
74 int mcId, mcMomId, mcgMomId;
75 };
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), 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;
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