3 |
|
|
4 |
|
#include <vector> |
5 |
|
#include <string> |
6 |
+ |
#include <iostream> |
7 |
+ |
|
8 |
+ |
#include "TLorentzVector.h" |
9 |
|
|
10 |
|
namespace HbbAnalysis { |
11 |
|
|
12 |
|
struct MCVars { |
13 |
|
unsigned int index; |
14 |
+ |
double E; |
15 |
|
double pT; |
16 |
|
double eta; |
17 |
|
double phi; |
21 |
|
|
22 |
|
struct GenVars { |
23 |
|
bool valid; |
24 |
+ |
double E; |
25 |
|
double pT; |
26 |
|
double eta; |
27 |
|
double phi; |
35 |
|
}; |
36 |
|
|
37 |
|
struct BaseVars { |
38 |
+ |
double E; |
39 |
|
double pT; |
40 |
|
double eta; |
41 |
|
double phi; |
68 |
|
float deltaEtaIn; |
69 |
|
}; |
70 |
|
|
71 |
+ |
struct MuTrkVars { |
72 |
+ |
float IPd0; |
73 |
+ |
float IPdz; |
74 |
+ |
unsigned int nHits; |
75 |
+ |
}; |
76 |
+ |
|
77 |
|
struct MuIsoVars { |
78 |
|
float sumPt; |
79 |
|
float emEt; |
148 |
|
float byIsolation; |
149 |
|
float againstElectron; |
150 |
|
float againstMuon; |
151 |
+ |
float byIsolationUsingLeadingPion; |
152 |
+ |
float byTaNC; |
153 |
+ |
float byTaNCfrHalfPercent; |
154 |
+ |
float byTaNCfrOnePercent; |
155 |
+ |
float byTaNCfrQuarterPercent; |
156 |
+ |
float byTaNCfrTenthPercent; |
157 |
+ |
float ecalIsolationUsingLeadingPion; |
158 |
+ |
float leadingPionPtCut; |
159 |
+ |
float trackIsolationUsingLeadingPion; |
160 |
|
}; |
161 |
|
|
162 |
|
struct PFTauEleIDVars{ |
180 |
|
int partonFlavour; |
181 |
|
unsigned int nAssociatedTracks; |
182 |
|
double rawpT; |
183 |
+ |
float etaMean; |
184 |
+ |
float phiMean; |
185 |
+ |
float etaEtaMoment; |
186 |
+ |
float phiPhiMoment; |
187 |
+ |
float etaPhiMoment; |
188 |
|
//double rawEta; |
189 |
|
//double rawPhi; |
190 |
|
}; |
229 |
|
double bProba; |
230 |
|
double probability; |
231 |
|
double sSV; |
232 |
< |
double softElectron; |
232 |
> |
double softElectronByPt; |
233 |
> |
double softElectronByIP3d; |
234 |
|
double softMuon; |
235 |
< |
double softMuonNoIP; |
235 |
> |
double softMuonByPt; |
236 |
> |
double softMuonByIP3d; |
237 |
|
double tCHE; |
238 |
|
double tCHP; |
239 |
|
}; |
240 |
|
|
241 |
+ |
|
242 |
+ |
struct JetIDVars{ |
243 |
+ |
double fHPD; |
244 |
+ |
double fRBX; |
245 |
+ |
int n90Hits; |
246 |
+ |
//double fSubDetector1; |
247 |
+ |
//double fSubDetector2; |
248 |
+ |
//double fSubDetector3; |
249 |
+ |
//double fSubDetector4; |
250 |
+ |
//double restrictedEMF; |
251 |
+ |
//int nHCALTowers; |
252 |
+ |
//int nECALTowers; |
253 |
+ |
//double approximatefHPD; |
254 |
+ |
//double approximatefRBX; |
255 |
+ |
//int hitsInN90; |
256 |
+ |
// muon hits id |
257 |
+ |
//int numberOfHits2RPC; |
258 |
+ |
//int numberOfHits3RPC; |
259 |
+ |
//int numberOfHitsRPC; |
260 |
+ |
}; |
261 |
+ |
|
262 |
+ |
|
263 |
|
struct MetVars{ |
264 |
|
double mET; |
265 |
|
double mEx; |
276 |
|
}; |
277 |
|
|
278 |
|
|
279 |
+ |
struct VertexVars{ |
280 |
+ |
std::vector<float> trackWeights; |
281 |
+ |
double chi2; |
282 |
+ |
double ndof; |
283 |
+ |
double x; |
284 |
+ |
double y; |
285 |
+ |
double z; |
286 |
+ |
double xError; |
287 |
+ |
double yError; |
288 |
+ |
double zError; |
289 |
+ |
double cov01; |
290 |
+ |
double cov02; |
291 |
+ |
double cov12; |
292 |
+ |
}; |
293 |
+ |
|
294 |
+ |
double DeltaPhi(const double phi1, const double phi2); |
295 |
+ |
|
296 |
+ |
double DeltaR(const BaseVars & v1, const BaseVars & v2); |
297 |
+ |
|
298 |
+ |
double SameSign(const BaseVars & v1, const BaseVars & v2); |
299 |
+ |
|
300 |
+ |
double OppSign(const BaseVars & v1, const BaseVars & v2); |
301 |
+ |
|
302 |
+ |
TLorentzVector FourMomentum(const BaseVars & v, const double scale=1) ; |
303 |
+ |
|
304 |
+ |
double TransverseMass(const BaseVars & leg1, |
305 |
+ |
const BaseVars & leg2, |
306 |
+ |
const double mEx, |
307 |
+ |
const double mEy); |
308 |
+ |
|
309 |
+ |
double TransverseMass(const BaseVars & leg1, |
310 |
+ |
const double mEx, |
311 |
+ |
const double mEy); |
312 |
+ |
|
313 |
+ |
TLorentzVector FourMomentumCDFmethod(const BaseVars & leg1, |
314 |
+ |
const BaseVars & leg2, |
315 |
+ |
double mEx, |
316 |
+ |
double mEy); |
317 |
+ |
|
318 |
+ |
TLorentzVector FourMomentumCollinearApprox(const BaseVars & leg1, |
319 |
+ |
const BaseVars & leg2, |
320 |
+ |
double mEx, |
321 |
+ |
double mEy); |
322 |
|
|
323 |
|
}//namespace |
324 |
+ |
|
325 |
|
#endif |