ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h
Revision: 1.2
Committed: Thu Jun 9 07:07:12 2011 UTC (13 years, 11 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: Jun9th2011
Changes since 1.1: +65 -6 lines
Log Message:
put safe constructors everywhere

File Contents

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