-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathBaseline.py
More file actions
73 lines (51 loc) · 1.62 KB
/
Baseline.py
File metadata and controls
73 lines (51 loc) · 1.62 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
64
65
66
67
68
69
70
71
72
73
import h5py
import numpy as np
MaxEvents=10000
# Load the Data
from MultiClassTools import *
Files= [
"/data/afarbin/JigSaw/h5/Diboson.h5",
("/data/afarbin/JigSaw/h5/GammaJet.h5", "GAMMA_SRAll"),
"/data/afarbin/JigSaw/h5/QCD.h5",
"/data/afarbin/JigSaw/h5/Top.h5",
("/data/afarbin/JigSaw/h5/Zjets.h5", "Z_SRAll"),
## ("/data/afarbin/JigSaw/h5/Wjets.h5", "W_SRALL"),
("/data/afarbin/JigSaw/h5/SS_direct.h5","SS_direct_900_600_SRAll")
]
Samples=[]
for F in Files:
if type(F) != str:
name=F[1]
F=F[0]
Samples.append((F,name))
else:
name=F.split(".")[0].split("/")[-1]
Samples.append((F,name+"_SRAll"))
Train_X=[]
Train_Y=[]
Test_X=[]
Test_Y=[]
X=[]
import pandas as pd
for i in xrange(0,len(Samples)):
(aTrain_X, aTrain_Y), (aTest_X, aTest_Y), ClassIndex=LoadData([Samples[i]],0,MaxEvents=MaxEvents)
# Train_X.append(aTrain_X)
# Train_Y.append(aTrain_Y)
# Test_X.append(aTest_X)
# Test_Y.append(aTest_Y)
X.append(pd.DataFrame(Train_X))
Fields=Train_X[0].dtype.names
cleaningCut="(abs(m_jet1_eta)>2.4 | m_jet1_chf/m_het1_FracSamplingMax>0.1)"
SRGluinoCommonCut="(NJet >= 4 & RPT_HT5PP<0.08 & HT5PP>800 & H2PP>550)"
Cuts= { "Cleaning":cleaningCut,
"Gluino SR": SRGluinoCommonCut,
"Cleaning + Gluino SR": cleaningCut+"&"+SRGluinoCommonCut }
aTable=[]
columns=["Cut", "Total","Passed","Efficiency"]
for x in X:
for Cut in Cuts:
Total=np.shape(x)[0]
Passed=np.shape(x.query(Cuts[Cut]))[0]
aTable.append([Cut,Total,Passed,Passed/Total])
import tabulate
tabulate.tabulate(aTable,headers= columns)