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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
#! /usr/bin/env python
import os
import numpy as np
x_segments = 100
scenarios = [
[(0.00, 0.30), 'OET'],
[(0.89, 1.00), 'OUT']
]
dims = [
6
]
for i, (xlims, tex) in enumerate(scenarios):
x_array = np.linspace(0, 1, x_segments)
sources = []
for x in x_array:
if x >= xlims[0] and x <= xlims[1]:
sources.append([x, 1-x, 0])
scenarios[i][0] = tuple(sources)
datadir = '/data/user/smandalia/flavour_ratio/data/sensitivity'
prefix = ''
golemfitsourcepath = os.environ['GOLEMSOURCEPATH'] + '/GolemFit'
condor_script = golemfitsourcepath + '/scripts/flavour_ratio/submitter/sens_submit.sub'
GLOBAL_PARAMS = {}
# Bayes Factor
GLOBAL_PARAMS.update(dict(
stat_method = 'bayesian',
segments = 10,
seed = 26
))
# MultiNest
GLOBAL_PARAMS.update(dict(
# mn_live_points = 1000,
mn_live_points = 600,
# mn_live_points = 200,
mn_tolerance = 0.3,
mn_efficiency = 0.3,
mn_output = './mnrun',
run_mn = 'True'
))
# FR
GLOBAL_PARAMS.update(dict(
threads = 1,
binning = '6e4 1e7 20',
no_bsm = 'False'
))
# GolemFit
GLOBAL_PARAMS.update(dict(
ast = 'p2_0',
data = 'real'
))
dagfile = 'dagman_SENS_{0}_{1}'.format(
GLOBAL_PARAMS['stat_method'], GLOBAL_PARAMS['data']
)
dagfile += prefix + '.submit'
with open(dagfile, 'w') as f:
job_number = 1
for dim in dims:
print 'dims', dim
of_d = datadir + '/DIM{0}/{1}'.format(dim, prefix)
for sources, tex in scenarios:
print 'texture', tex
for src in sources:
print 'source flavour', src
for r in xrange(GLOBAL_PARAMS['segments']):
print 'run', r
f.write('JOB\tjob{0}\t{1}\n'.format(job_number, condor_script))
f.write('VARS\tjob{0}\tdimension="{1}"\n'.format(job_number, dim))
f.write('VARS\tjob{0}\tsr0="{1}"\n'.format(job_number, src[0]))
f.write('VARS\tjob{0}\tsr1="{1}"\n'.format(job_number, src[1]))
f.write('VARS\tjob{0}\tsr2="{1}"\n'.format(job_number, src[2]))
f.write('VARS\tjob{0}\ttexture="{1}"\n'.format(job_number, tex))
f.write('VARS\tjob{0}\teval_segment="{1}"\n'.format(job_number, r))
for key in GLOBAL_PARAMS.iterkeys():
f.write('VARS\tjob{0}\t{1}="{2}"\n'.format(job_number, key, GLOBAL_PARAMS[key]))
f.write('VARS\tjob{0}\tdatadir="{1}"\n'.format(job_number, of_d))
job_number += 1
print 'total jobs = {0}'.format(job_number - 1)
print 'dag file = {0}'.format(dagfile)
|