1 |
|
#!/usr/bin/env python |
2 |
|
import ROOT |
3 |
+ |
from array import array |
4 |
|
|
5 |
|
class lepTree: |
6 |
|
def __init__(self): |
7 |
|
self.tree = ROOT.TTree("lep3Tree", "lep3Tree") |
8 |
+ |
# doubles |
9 |
+ |
self.leaves = {} |
10 |
+ |
for label in ['processID','type', |
11 |
+ |
'lq1','lq2','lq3','lq4', |
12 |
+ |
'mu1IsoCH','mu1IsoEM','mu1IsoNH', |
13 |
+ |
'mu2IsoCH','mu2IsoEM','mu2IsoNH', |
14 |
+ |
'mu3IsoCH','mu3IsoEM','mu3IsoNH', |
15 |
+ |
'mu4IsoCH','mu4IsoEM','mu4IsoNH', |
16 |
+ |
'ele1IsoCH','ele1IsoEM','ele1IsoNH', |
17 |
+ |
'ele2IsoCH','ele2IsoEM','ele2IsoNH', |
18 |
+ |
'ele3IsoCH','ele3IsoEM','ele3IsoNH', |
19 |
+ |
'ele4IsoCH','ele4IsoEM','ele4IsoNH', |
20 |
+ |
'visibleE','chargeMulti', |
21 |
+ |
]: |
22 |
+ |
self.leaves[label] = array('d',[-999]) |
23 |
|
# four vectors |
24 |
|
self.fourVectorLeaves = {} |
25 |
< |
for label in ['muon1', 'muon2','electron1', 'electron2','dilep']: |
25 |
> |
for label in ['muonicZ1','muonicZ2','electronicZ1','electronicZ2', |
26 |
> |
'lepton1', 'lepton2','lepton3','lepton4', |
27 |
> |
'photon1','photon2', |
28 |
> |
'jet1','jet2','jet3','jet4','jet5','jet6', |
29 |
> |
'missingE']: |
30 |
|
self.fourVectorLeaves[label] = ROOT.TLorentzVector() |
31 |
|
self.setBranches() |
32 |
|
|
33 |
|
def setBranches(self): |
34 |
+ |
for leaf in self.leaves: |
35 |
+ |
self.tree.Branch(leaf,self.leaves[leaf],leaf+'/D') |
36 |
|
for leaf in self.fourVectorLeaves: |
37 |
|
self.tree.Branch(leaf, self.fourVectorLeaves[leaf]) |
38 |
|
|
39 |
|
def reset(self): |
40 |
+ |
for leaf in self.leaves: |
41 |
+ |
self.leaves[leaf][0] = -999 |
42 |
|
for leaf in self.fourVectorLeaves: self.fourVectorLeaves[leaf].SetPxPyPzE(0,0,0,0) |