21 |
|
void SetVertexFalse(){StoreVertex = kFALSE;} |
22 |
|
void SetTriggerFalse(){StoreTrigger = kFALSE;} |
23 |
|
void SetMetFalse(){StoreMet = kFALSE;} |
24 |
+ |
void SetGeneralFalse(){StoreGeneral = kFALSE;} |
25 |
|
|
26 |
|
//typedef struct MuonVariables{ |
27 |
|
typedef struct { |
82 |
|
|
83 |
|
Int_t numjets; |
84 |
|
//Jet Kinematic |
85 |
< |
/*Double_t jetpt[NMAX]; |
86 |
< |
Double_t jeteta[NMAX]; |
85 |
> |
Double_t jet1pt; |
86 |
> |
Double_t jet2pt; |
87 |
> |
Double_t jet3pt; |
88 |
> |
Double_t jet4pt; |
89 |
> |
/*Double_t jeteta[NMAX]; |
90 |
|
Double_t jetphi[NMAX]; |
91 |
< |
Double_t jete[NMAX]; |
91 |
> |
Double_t jete[NMAX];*/ |
92 |
|
|
93 |
|
//mc |
94 |
+ |
/* |
95 |
|
Int_t jetparton[NMAX]; |
96 |
|
|
97 |
|
//b tag |
99 |
|
Double_t jettche[NMAX]; |
100 |
|
Double_t jetsvhe[NMAX]; |
101 |
|
Double_t jetsvhp[NMAX]; |
102 |
< |
Double_t jetcsv[NMAX]; |
102 |
> |
Double_t jetcsv[NMAX]; */ |
103 |
> |
Int_t numBjets_csvl; |
104 |
> |
Int_t numBjets_csvm; |
105 |
> |
Int_t numBjets_csvt; |
106 |
|
|
107 |
|
//Jet Track number |
108 |
< |
Int_t jettracksize[NMAX]; |
109 |
< |
*/ |
108 |
> |
//Int_t jettracksize[NMAX]; |
109 |
> |
|
110 |
|
|
111 |
|
// B discriminator |
112 |
< |
Double_t bdisc_1st[NMAX]; |
113 |
< |
Double_t bdisc_2nd[NMAX]; |
114 |
< |
Double_t bdisc_3rd[NMAX]; |
115 |
< |
Double_t bdisc_4th[NMAX]; |
108 |
< |
Double_t bdisc_5th[NMAX]; |
109 |
< |
Double_t bdisc_6th[NMAX]; |
110 |
< |
Double_t bdisc_7th[NMAX]; |
112 |
> |
Double_t bdisc_1st; |
113 |
> |
Double_t bdisc_2nd; |
114 |
> |
Double_t bdisc_3rd; |
115 |
> |
Double_t bdisc_4th; |
116 |
|
|
117 |
|
}; |
118 |
|
|
133 |
|
|
134 |
|
struct MetVariables{ |
135 |
|
|
136 |
< |
/* |
136 |
> |
/* |
137 |
|
Double_t met; |
138 |
|
Double_t metphi; |
139 |
|
Double_t mht; |
159 |
|
Int_t csvbtagjetnum_down; |
160 |
|
Int_t flavorhistory; |
161 |
|
*/ |
162 |
+ |
Double_t Ht; |
163 |
+ |
Double_t Stlep; |
164 |
+ |
Double_t Stjet; |
165 |
+ |
}; |
166 |
+ |
|
167 |
+ |
struct GeneralVariables { |
168 |
|
|
169 |
|
Int_t Run; |
170 |
|
Int_t Lumi; |
171 |
|
Int_t Event; |
172 |
+ |
Double_t PUWeight; |
173 |
|
|
174 |
|
}; |
175 |
|
|
181 |
|
VertexVariables *GetVertexVariable(){return &VStoreVertex;} |
182 |
|
TriggerVariables *GetTriggerVariable(){return &VStoreTrigger;} |
183 |
|
MetVariables *GetMetVariable(){return &VStoreMet;} |
184 |
+ |
GeneralVariables *GetGeneralVariable(){return &VStoreGeneral;} |
185 |
|
|
186 |
|
void InitialAll(); |
187 |
|
void InitialVertex(); |
190 |
|
void InitialJet(); |
191 |
|
void InitialTrigger(); |
192 |
|
void InitialMet(); |
193 |
+ |
void InitialGeneral(); |
194 |
|
|
195 |
|
private: |
196 |
|
|
202 |
|
bool StoreJet; |
203 |
|
bool StoreTrigger; |
204 |
|
bool StoreMet; |
205 |
+ |
bool StoreGeneral; |
206 |
|
|
207 |
|
//V mean variables |
208 |
|
MuonVariables VStoreMuon; |
211 |
|
VertexVariables VStoreVertex; |
212 |
|
TriggerVariables VStoreTrigger; |
213 |
|
MetVariables VStoreMet; |
214 |
+ |
GeneralVariables VStoreGeneral; |
215 |
|
|
216 |
|
}; |
217 |
|
|
228 |
|
StoreJet = kTRUE; |
229 |
|
StoreTrigger = kTRUE; |
230 |
|
StoreMet = kTRUE; |
231 |
+ |
StoreGeneral = kTRUE; |
232 |
|
|
233 |
|
} |
234 |
|
|
300 |
|
cout<<"We are initial Jet Branch"<<endl; |
301 |
|
|
302 |
|
Top->Branch("jet_number",&VStoreJet.numjets,"numjets/I"); |
303 |
< |
/* |
304 |
< |
Top->Branch("jet_pt",VStoreJet.jetpt,"jetpt[numjets]/D"); |
305 |
< |
Top->Branch("jet_eta",VStoreJet.jeteta,"jeteta[numjets]/D"); |
303 |
> |
|
304 |
> |
Top->Branch("jet1_pt",&VStoreJet.jet1pt,"jet1pt/D"); |
305 |
> |
Top->Branch("jet2_pt",&VStoreJet.jet2pt,"jet2pt/D"); |
306 |
> |
Top->Branch("jet3_pt",&VStoreJet.jet3pt,"jet3pt/D"); |
307 |
> |
Top->Branch("jet4_pt",&VStoreJet.jet4pt,"jet4pt/D"); |
308 |
> |
/*Top->Branch("jet_eta",VStoreJet.jeteta,"jeteta[numjets]/D"); |
309 |
|
Top->Branch("jet_phi",VStoreJet.jetphi,"jetphi[numjets]/D"); |
310 |
|
Top->Branch("jet_energy",VStoreJet.jete,"jete[numjets]/D"); |
311 |
|
Top->Branch("jet_partonflavor",VStoreJet.jetparton,"jetparton[numjets]/I"); |
316 |
|
Top->Branch("jet_btag_SVhighputy",VStoreJet.jetsvhp,"jetsvhp[numjets]/D"); |
317 |
|
Top->Branch("jet_btag_csv",VStoreJet.jetcsv,"jetcsv[numjets]/D"); |
318 |
|
*/ |
319 |
+ |
Top->Branch("numBjets_csvl",&VStoreJet.numBjets_csvl,"numBjets_csvl/I"); |
320 |
+ |
Top->Branch("numBjets_csvm",&VStoreJet.numBjets_csvm,"numBjets_csvm/I"); |
321 |
+ |
Top->Branch("numBjets_csvt",&VStoreJet.numBjets_csvt,"numBjets_csvt/I"); |
322 |
+ |
|
323 |
|
//b discriminant |
324 |
< |
Top->Branch("jet_bdisc_1st",VStoreJet.bdisc_1st,"bdisc_1st[numjets]/D"); |
325 |
< |
Top->Branch("jet_bdisc_2nd",VStoreJet.bdisc_2nd,"bdisc_2nd[numjets]/D"); |
326 |
< |
Top->Branch("jet_bdisc_3rd",VStoreJet.bdisc_3rd,"bdisc_3rd[numjets]/D"); |
327 |
< |
Top->Branch("jet_bdisc_4th",VStoreJet.bdisc_4th,"bdisc_4th[numjets]/D"); |
304 |
< |
Top->Branch("jet_bdisc_5th",VStoreJet.bdisc_5th,"bdisc_5th[numjets]/D"); |
305 |
< |
Top->Branch("jet_bdisc_6th",VStoreJet.bdisc_6th,"bdisc_6th[numjets]/D"); |
306 |
< |
Top->Branch("jet_bdisc_7th",VStoreJet.bdisc_7th,"bdisc_7th[numjets]/D"); |
324 |
> |
Top->Branch("bdisc_1st",&VStoreJet.bdisc_1st,"bdisc_1st/D"); |
325 |
> |
Top->Branch("bdisc_2nd",&VStoreJet.bdisc_2nd,"bdisc_2nd/D"); |
326 |
> |
Top->Branch("bdisc_3rd",&VStoreJet.bdisc_3rd,"bdisc_3rd/D"); |
327 |
> |
Top->Branch("bdisc_4th",&VStoreJet.bdisc_4th,"bdisc_4th/D"); |
328 |
|
|
329 |
|
//Jet track size |
330 |
|
//Top->Branch("jet_tracksize",VStoreJet.jettracksize,"jettracksize[numjets]/I"); |
310 |
– |
|
331 |
|
} |
332 |
|
|
333 |
|
} |
336 |
|
|
337 |
|
if(StoreMet){ |
338 |
|
cout<<"We are inital Met Branch"<<endl; |
339 |
< |
|
320 |
< |
/* |
339 |
> |
/* |
340 |
|
Top->Branch("MET_energy",&VStoreMet.met,"met/D"); |
341 |
|
Top->Branch("MET_phi",&VStoreMet.metphi,"metphi/D"); |
342 |
|
Top->Branch("MHT_energy",&VStoreMet.mht,"mht/D"); |
360 |
|
Top->Branch("csvbtagjetnum_up",&VStoreMet.csvbtagjetnum_up,"csvbtagjetnum_up/I"); |
361 |
|
Top->Branch("csvbtagjetnum_down",&VStoreMet.csvbtagjetnum_down,"csvbtagjetnum_down/I"); |
362 |
|
Top->Branch("flavorhistory",&VStoreMet.flavorhistory,"flavorhistory/I"); |
363 |
< |
*/ |
364 |
< |
Top->Branch("run",&VStoreMet.Run,"Run/I"); |
365 |
< |
Top->Branch("lumi",&VStoreMet.Lumi,"Lumi/I"); |
366 |
< |
Top->Branch("event",&VStoreMet.Event,"Event/I"); |
348 |
< |
|
363 |
> |
*/ |
364 |
> |
Top->Branch("Ht",&VStoreMet.Ht,"Ht/D"); |
365 |
> |
Top->Branch("Stlep",&VStoreMet.Stlep,"Stlep/D"); |
366 |
> |
Top->Branch("Stjet",&VStoreMet.Stjet,"Stjet/D"); |
367 |
|
} |
368 |
+ |
} |
369 |
+ |
|
370 |
+ |
void StoreTreeVariable::InitialGeneral(){ |
371 |
|
|
372 |
+ |
if(StoreGeneral){ |
373 |
+ |
cout<<"We are inital General Branch"<<endl; |
374 |
+ |
|
375 |
+ |
Top->Branch("run",&VStoreGeneral.Run,"Run/I"); |
376 |
+ |
Top->Branch("lumi",&VStoreGeneral.Lumi,"Lumi/I"); |
377 |
+ |
Top->Branch("event",&VStoreGeneral.Event,"Event/I"); |
378 |
+ |
Top->Branch("PUWeight",&VStoreGeneral.PUWeight,"PUWeight/D"); |
379 |
+ |
|
380 |
+ |
} |
381 |
|
} |
382 |
|
|
383 |
|
void StoreTreeVariable::InitialTrigger(){ |
412 |
|
InitialElectron(); |
413 |
|
InitialJet(); |
414 |
|
InitialMet(); |
415 |
+ |
InitialGeneral(); |
416 |
|
} |