26 |
|
//typedef struct MuonVariables{ |
27 |
|
typedef struct { |
28 |
|
|
29 |
– |
//Muon ID Variables |
30 |
– |
Int_t nummuons; |
31 |
– |
Double_t relisolation[NMAX]; |
32 |
– |
Double_t d0[NMAX]; |
33 |
– |
Int_t hits[NMAX]; |
34 |
– |
Int_t trackhits[NMAX]; |
35 |
– |
Double_t normalchi2[NMAX]; |
36 |
– |
Int_t stations[NMAX]; |
37 |
– |
Int_t pixelhits[NMAX]; |
38 |
– |
Double_t muonvzwithPV[NMAX]; |
39 |
– |
Int_t tightmuon[NMAX]; |
40 |
– |
Int_t nloosemuon; |
41 |
– |
Int_t ntightmuon; |
42 |
– |
|
29 |
|
//Muon Kinematic |
30 |
< |
Double_t pt[NMAX]; |
31 |
< |
Double_t eta[NMAX]; |
32 |
< |
Double_t phi[NMAX]; |
30 |
> |
Double_t Muonpt; |
31 |
> |
Double_t Muoneta; |
32 |
> |
Double_t Muonphi; |
33 |
|
Double_t e[NMAX]; |
34 |
|
|
35 |
|
//Muon Jet deltaR |
36 |
< |
Double_t deltaR[NMAX]; |
36 |
> |
Double_t MuondeltaR; |
37 |
|
|
38 |
|
} MuonVariables; |
39 |
|
|
68 |
|
|
69 |
|
Int_t numjets; |
70 |
|
//Jet Kinematic |
71 |
< |
/*Double_t jetpt[NMAX]; |
72 |
< |
Double_t jeteta[NMAX]; |
71 |
> |
Double_t jet1pt; |
72 |
> |
Double_t jet2pt; |
73 |
> |
Double_t jet3pt; |
74 |
> |
Double_t jet4pt; |
75 |
> |
Double_t deltaRmindijet; |
76 |
> |
Double_t deltaRdijet; |
77 |
> |
Double_t deltaRmu2jet; |
78 |
> |
Double_t deltaRmu3jet; |
79 |
> |
Double_t deltaPhidijet; |
80 |
> |
Double_t deltaPhimu2jet; |
81 |
> |
Double_t deltaPhimu3jet; |
82 |
> |
/*Double_t jeteta[NMAX]; |
83 |
|
Double_t jetphi[NMAX]; |
84 |
< |
Double_t jete[NMAX]; |
84 |
> |
Double_t jete[NMAX];*/ |
85 |
|
|
86 |
|
//mc |
87 |
+ |
/* |
88 |
|
Int_t jetparton[NMAX]; |
89 |
|
|
90 |
|
//b tag |
92 |
|
Double_t jettche[NMAX]; |
93 |
|
Double_t jetsvhe[NMAX]; |
94 |
|
Double_t jetsvhp[NMAX]; |
95 |
< |
Double_t jetcsv[NMAX]; |
96 |
< |
|
95 |
> |
Double_t jetcsv[NMAX]; */ |
96 |
> |
Int_t numBjets_csvl; |
97 |
> |
Int_t numBjets_csvm; |
98 |
> |
Int_t numBjets_csvt; |
99 |
> |
|
100 |
> |
Double_t jet1CSVLpt; |
101 |
> |
Double_t jet2CSVLpt; |
102 |
> |
Double_t jet3CSVLpt; |
103 |
> |
Double_t jet4CSVLpt; |
104 |
> |
Double_t jet1CSVMpt; |
105 |
> |
Double_t jet2CSVMpt; |
106 |
> |
Double_t jet3CSVMpt; |
107 |
> |
Double_t jet4CSVMpt; |
108 |
|
//Jet Track number |
109 |
< |
Int_t jettracksize[NMAX]; |
110 |
< |
*/ |
103 |
< |
|
104 |
< |
// B discriminator |
105 |
< |
Double_t bdisc_1st; |
106 |
< |
Double_t bdisc_2nd; |
107 |
< |
Double_t bdisc_3rd; |
108 |
< |
Double_t bdisc_4th; |
109 |
< |
|
109 |
> |
//Int_t jettracksize[NMAX]; |
110 |
> |
|
111 |
|
}; |
112 |
|
|
113 |
|
|
127 |
|
|
128 |
|
struct MetVariables{ |
129 |
|
|
130 |
< |
Double_t met; |
131 |
< |
Double_t metphi; |
130 |
> |
Double_t MET; |
131 |
> |
Double_t METphi; |
132 |
> |
/* |
133 |
|
Double_t mht; |
134 |
|
Double_t neupt; |
135 |
|
Double_t rho; |
152 |
|
Int_t csvbtagjetnum_up; |
153 |
|
Int_t csvbtagjetnum_down; |
154 |
|
Int_t flavorhistory; |
155 |
+ |
*/ |
156 |
+ |
Double_t Ht; |
157 |
+ |
Double_t Stlep; |
158 |
+ |
Double_t Stjet; |
159 |
+ |
Double_t diWdeltaphi; |
160 |
+ |
Double_t diWdeltaR; |
161 |
+ |
Double_t DeltaPhiWW; |
162 |
+ |
Double_t DeltaRWW; |
163 |
+ |
Double_t DeltaPhiMETWlep; |
164 |
+ |
Double_t DeltaPhiMETlep; |
165 |
+ |
Double_t DeltaPhiNulep; |
166 |
+ |
Double_t LepWPt; |
167 |
+ |
Double_t topmass; |
168 |
+ |
Double_t toppt; |
169 |
+ |
|
170 |
|
}; |
171 |
|
|
172 |
|
struct GeneralVariables { |
246 |
|
if(StoreMuon){ |
247 |
|
cout<<"We are initial the Muon Branch"<<endl; |
248 |
|
|
249 |
< |
Top->Branch("muon_number",&VStoreMuon.nummuons,"nummuons/I"); |
249 |
> |
/*Top->Branch("muon_number",&VStoreMuon.nummuons,"nummuons/I"); |
250 |
|
Top->Branch("muon_isolation",VStoreMuon.relisolation,"reisolation[nummuons]/D"); |
251 |
|
Top->Branch("muon_d0",VStoreMuon.d0,"d0[nummuons]/D"); |
252 |
|
Top->Branch("muon_muonhist",VStoreMuon.hits,"hits[nummuons]/I"); |
259 |
|
Top->Branch("muon_nloosemuon",&VStoreMuon.nloosemuon,"nloosemuon/I"); |
260 |
|
Top->Branch("muon_ntightmuon",&VStoreMuon.ntightmuon,"ntightmuon/I"); |
261 |
|
Top->Branch("muon_jet_deltaR",VStoreMuon.deltaR,"deltaR[nummuons]/D"); |
262 |
< |
|
262 |
> |
*/ |
263 |
|
//kinematic |
264 |
< |
Top->Branch("muon_pt",VStoreMuon.pt,"pt[nummuons]/D"); |
265 |
< |
//Top->Branch("muon_pt",muonpt,"pt[nummuons]/D"); |
266 |
< |
Top->Branch("muon_eta",VStoreMuon.eta,"eta[nummuons]/D"); |
267 |
< |
Top->Branch("muon_phi",VStoreMuon.phi,"phi[nummuons]/D"); |
251 |
< |
Top->Branch("muon_energy",VStoreMuon.e,"e[nummuons]/D"); |
264 |
> |
Top->Branch("Muonpt",&VStoreMuon.Muonpt,"Muonpt/D"); |
265 |
> |
Top->Branch("Muoneta",&VStoreMuon.Muoneta,"Muoneta/D"); |
266 |
> |
Top->Branch("Muonphi",&VStoreMuon.Muonphi,"Muonphi/D"); |
267 |
> |
Top->Branch("MuondeltaR",&VStoreMuon.MuondeltaR,"MuondeltaR/D"); |
268 |
|
|
269 |
|
} |
270 |
|
|
304 |
|
cout<<"We are initial Jet Branch"<<endl; |
305 |
|
|
306 |
|
Top->Branch("jet_number",&VStoreJet.numjets,"numjets/I"); |
307 |
< |
/* |
308 |
< |
Top->Branch("jet_pt",VStoreJet.jetpt,"jetpt[numjets]/D"); |
309 |
< |
Top->Branch("jet_eta",VStoreJet.jeteta,"jeteta[numjets]/D"); |
307 |
> |
|
308 |
> |
Top->Branch("jet1_pt",&VStoreJet.jet1pt,"jet1pt/D"); |
309 |
> |
Top->Branch("jet2_pt",&VStoreJet.jet2pt,"jet2pt/D"); |
310 |
> |
Top->Branch("jet3_pt",&VStoreJet.jet3pt,"jet3pt/D"); |
311 |
> |
Top->Branch("jet4_pt",&VStoreJet.jet4pt,"jet4pt/D"); |
312 |
> |
Top->Branch("deltaRdijet",&VStoreJet.deltaRdijet,"deltaRdijet/D"); |
313 |
> |
Top->Branch("deltaRmindijet",&VStoreJet.deltaRmindijet,"deltaRmindijet/D"); |
314 |
> |
Top->Branch("deltaRmu2jet",&VStoreJet.deltaRmu2jet,"deltaRmu2jet/D"); |
315 |
> |
Top->Branch("deltaRmu3jet",&VStoreJet.deltaRmu3jet,"deltaRmu3jet/D"); |
316 |
> |
Top->Branch("deltaPhidijet",&VStoreJet.deltaPhidijet,"deltaPhidijet/D"); |
317 |
> |
Top->Branch("deltaPhimu2jet",&VStoreJet.deltaPhimu2jet,"deltaPhimu2jet/D"); |
318 |
> |
Top->Branch("deltaPhimu3jet",&VStoreJet.deltaPhimu3jet,"deltaPhimu3jet/D"); |
319 |
> |
|
320 |
> |
/*Top->Branch("jet_eta",VStoreJet.jeteta,"jeteta[numjets]/D"); |
321 |
|
Top->Branch("jet_phi",VStoreJet.jetphi,"jetphi[numjets]/D"); |
322 |
|
Top->Branch("jet_energy",VStoreJet.jete,"jete[numjets]/D"); |
323 |
|
Top->Branch("jet_partonflavor",VStoreJet.jetparton,"jetparton[numjets]/I"); |
328 |
|
Top->Branch("jet_btag_SVhighputy",VStoreJet.jetsvhp,"jetsvhp[numjets]/D"); |
329 |
|
Top->Branch("jet_btag_csv",VStoreJet.jetcsv,"jetcsv[numjets]/D"); |
330 |
|
*/ |
331 |
< |
//b discriminant |
332 |
< |
Top->Branch("jet_bdisc_1st",&VStoreJet.bdisc_1st,"bdisc_1st/D"); |
333 |
< |
Top->Branch("jet_bdisc_2nd",&VStoreJet.bdisc_2nd,"bdisc_2nd/D"); |
334 |
< |
Top->Branch("jet_bdisc_3rd",&VStoreJet.bdisc_3rd,"bdisc_3rd/D"); |
335 |
< |
Top->Branch("jet_bdisc_4th",&VStoreJet.bdisc_4th,"bdisc_4th/D"); |
336 |
< |
|
331 |
> |
Top->Branch("numBjets_csvl",&VStoreJet.numBjets_csvl,"numBjets_csvl/I"); |
332 |
> |
Top->Branch("numBjets_csvm",&VStoreJet.numBjets_csvm,"numBjets_csvm/I"); |
333 |
> |
Top->Branch("numBjets_csvt",&VStoreJet.numBjets_csvt,"numBjets_csvt/I"); |
334 |
> |
|
335 |
> |
Top->Branch("jet1CSVLpt",&VStoreJet.jet1CSVLpt,"jet1CSVLpt/D"); |
336 |
> |
Top->Branch("jet2CSVLpt",&VStoreJet.jet2CSVLpt,"jet2CSVLpt/D"); |
337 |
> |
Top->Branch("jet3CSVLpt",&VStoreJet.jet3CSVLpt,"jet3CSVLpt/D"); |
338 |
> |
Top->Branch("jet4CSVLpt",&VStoreJet.jet4CSVLpt,"jet4CSVLpt/D"); |
339 |
> |
Top->Branch("jet1CSVMpt",&VStoreJet.jet1CSVMpt,"jet1CSVMpt/D"); |
340 |
> |
Top->Branch("jet2CSVMpt",&VStoreJet.jet2CSVMpt,"jet2CSVMpt/D"); |
341 |
> |
Top->Branch("jet3CSVMpt",&VStoreJet.jet3CSVMpt,"jet3CSVMpt/D"); |
342 |
> |
Top->Branch("jet4CSVMpt",&VStoreJet.jet4CSVMpt,"jet4CSVMpt/D"); |
343 |
|
//Jet track size |
344 |
|
//Top->Branch("jet_tracksize",VStoreJet.jettracksize,"jettracksize[numjets]/I"); |
312 |
– |
|
345 |
|
} |
346 |
|
|
347 |
|
} |
351 |
|
if(StoreMet){ |
352 |
|
cout<<"We are inital Met Branch"<<endl; |
353 |
|
|
354 |
< |
Top->Branch("MET_energy",&VStoreMet.met,"met/D"); |
355 |
< |
Top->Branch("MET_phi",&VStoreMet.metphi,"metphi/D"); |
354 |
> |
Top->Branch("MET",&VStoreMet.MET,"MET/D"); |
355 |
> |
/*Top->Branch("MET_phi",&VStoreMet.metphi,"metphi/D"); |
356 |
|
Top->Branch("MHT_energy",&VStoreMet.mht,"mht/D"); |
357 |
|
Top->Branch("Neutrinuo_pt",&VStoreMet.neupt,"neupt/D"); |
358 |
|
Top->Branch("pileup_rho",&VStoreMet.rho,"rho/D"); |
374 |
|
Top->Branch("csvbtagjetnum_up",&VStoreMet.csvbtagjetnum_up,"csvbtagjetnum_up/I"); |
375 |
|
Top->Branch("csvbtagjetnum_down",&VStoreMet.csvbtagjetnum_down,"csvbtagjetnum_down/I"); |
376 |
|
Top->Branch("flavorhistory",&VStoreMet.flavorhistory,"flavorhistory/I"); |
377 |
< |
|
377 |
> |
*/ |
378 |
> |
Top->Branch("Ht",&VStoreMet.Ht,"Ht/D"); |
379 |
> |
Top->Branch("Stlep",&VStoreMet.Stlep,"Stlep/D"); |
380 |
> |
Top->Branch("Stjet",&VStoreMet.Stjet,"Stjet/D"); |
381 |
> |
Top->Branch("diWdeltaphi",&VStoreMet.diWdeltaphi,"diWdeltaphi/D"); |
382 |
> |
Top->Branch("diWdeltaR",&VStoreMet.diWdeltaR,"diWdeltaR/D"); |
383 |
> |
Top->Branch("DeltaPhiMETWlep",&VStoreMet.DeltaPhiMETWlep,"DeltaPhiMETWlep/D"); |
384 |
> |
Top->Branch("DeltaPhiMETlep",&VStoreMet.DeltaPhiMETlep,"DeltaPhiMETlep/D"); |
385 |
> |
Top->Branch("DeltaPhiNulep",&VStoreMet.DeltaPhiNulep,"DeltaPhiNulep/D"); |
386 |
> |
Top->Branch("LepWPt",&VStoreMet.LepWPt,"LepWPt/D"); |
387 |
> |
Top->Branch("topmass",&VStoreMet.topmass,"topmass/D"); |
388 |
> |
Top->Branch("toppt",&VStoreMet.toppt,"toppt/D"); |
389 |
|
} |
390 |
|
} |
391 |
|
|