-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWorkspaceOffline.py
33 lines (28 loc) · 1.19 KB
/
WorkspaceOffline.py
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
#!/usr/bin/env python
from Builder import get_workspace
import argparse
parser = argparse.ArgumentParser(description='Build binned workspaces.')
parser.add_argument('argument', type=str, choices = ['bins','chans','nps','events'],
help='The parameter to be scaled')
parser.add_argument('-l',dest='somerange', type=int, nargs='+',
help='A list of options to scale over')
parser.add_argument('-r',dest='somerange', type=int, nargs='+',
help='The range to scale over')
arg = parser.parse_args().argument
somerange = parser.parse_args().somerange
if len(somerange) <= 2:
if len(somerange) > 1:
somerange = range(somerange[0],somerange[1])
else:
somerange = range(somerange[0])
print somerange
d = {'events':1000,
'chans':1,
'nps':1,
'bins':10}
for i in somerange:
print "writing {} {}".format(i, arg)
d[arg] = i
workspace = get_workspace(nchannels = d['chans'], events = d['events'], nbins = d['bins'], nnps = d['nps'])
workspace.SetName('BinnedWorkspace')
workspace.writeToFile("newoutput/workspace{}channels{}events{}bins{}nps.root".format(d['chans'], d['events'], d['bins'], d['nps']))