-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEvent.py
More file actions
63 lines (48 loc) · 2.19 KB
/
Event.py
File metadata and controls
63 lines (48 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class Event :
def __init__(self, leaf) :
self.data = leaf
self.Cuts = {'start':True}
self.CutHistory = ""
for event in self.data.Event :
self.weight = event.Weight
def Calculate(self, qty_name) :
if qty_name == "ZZSPT" :
self.ZZSPT = (self.Z1Particles[0] + self.Z1Particles[1]).Pt() + (self.Z2Particles[0] + self.Z2Particles[1]).Pt()
return self.ZZSPT
if qty_name == "ZZPT" :
self.ZZPT = (self.Z1Particles[0] + self.Z1Particles[1] + self.Z2Particles[0] + self.Z2Particles[1]).Pt()
return self.ZZPT
if qty_name == "ZZY" :
self.ZZY = (self.Z1Particles[0] + self.Z1Particles[1] + self.Z2Particles[0] + self.Z2Particles[1]).Rapidity()
return self.ZZY
if qty_name == "TJDEta" :
self.TJDEta = abs(self.TaggingJet1.Eta() - self.TaggingJet2.Eta())
return self.TJDEta
if qty_name == "TJDY" :
self.TJDY = abs(self.TaggingJet1.Rapidity() - self.TaggingJet2.Rapidity())
return self.TJDY
if qty_name == "TJM" :
self.TJM = (self.TaggingJet1 + self.TaggingJet2).M()
return self.TJM
if qty_name == "YStar1" :
self.YStar1 = self.Z1.Rapidity() - 0.5 * (self.TaggingJet1.Rapidity() + self.TaggingJet2.Rapidity())
return self.YStar1
if qty_name == "YStar2" :
self.YStar2 = self.Z2.Rapidity() - 0.5 * (self.TaggingJet1.Rapidity() + self.TaggingJet2.Rapidity())
return self.YStar2
if qty_name == "TJM" :
self.TJM = (self.TaggingJet1 + self.TaggingJet2).M()
return self.TJM
if qty_name == "TJDPhi" :
self.TJDPhi = self.TaggingJet1.Phi() - self.TaggingJet2.Phi()
return self.TJDPhi
if qty_name == "YStarZZ" :
self.YStarZZ = self.getQuantity("ZZY") - 0.5 * (self.TaggingJet1.Rapidity() + self.TaggingJet2.Rapidity())
return self.YStarZZ
else :
return None
def getQuantity(self, qty_name) :
if hasattr(self, qty_name) :
return getattr(self, qty_name)
else :
return self.Calculate(qty_name)