aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshivesh <s.p.mandalia@qmul.ac.uk>2018-03-14 11:43:15 -0500
committershivesh <s.p.mandalia@qmul.ac.uk>2018-03-14 11:43:15 -0500
commit5cb3e0d121e16f363b36f3a32c09c5ac7668f51d (patch)
tree68392a8dc840b981d74b471d6a3e5b11883a41e1
parent9f5e370f60a3816ae350811d55087e2bb652f68b (diff)
downloadGolemFlavor-5cb3e0d121e16f363b36f3a32c09c5ac7668f51d.tar.gz
GolemFlavor-5cb3e0d121e16f363b36f3a32c09c5ac7668f51d.zip
add option to turn off BSM
-rwxr-xr-xmcmc_scan.py24
-rw-r--r--submitter/make_dag.py3
-rw-r--r--submitter/submit.sub2
3 files changed, 26 insertions, 3 deletions
diff --git a/mcmc_scan.py b/mcmc_scan.py
index 2183280..688345e 100755
--- a/mcmc_scan.py
+++ b/mcmc_scan.py
@@ -29,6 +29,7 @@ FIX_MIXING = False
FIX_SFR = True
SOURCE_FR = [1, 2, 0]
FIX_SCALE = True
+NO_BSM = False
DIMENSION = 3
ENERGY = 1000000 # GeV
@@ -80,7 +81,7 @@ def set_up_as(golemfit, parms):
golemfit.SetupAsimov(asimov_parameters)
-def get_best_fit(golemfit, parms):
+def get_llh(golemfit, parms):
fitparams = gf.FitParameters()
fitparams.convNorm = parms['convNorm']
fitparams.promptNorm = parms['promptNorm']
@@ -202,6 +203,12 @@ def params_to_BSMu(theta):
[[0, 0, 0], [0, MASS_EIGENVALUES[0], 0], [0, 0, MASS_EIGENVALUES[1]]]
)
sm_ham = (1./(2*ENERGY))*np.dot(NUFIT_U, np.dot(mass_matrix, NUFIT_U.conj().T))
+ if NO_BSM:
+ eg_vector = cardano_eqn(sm_ham)
+ tu = test_uni(eg_vector)
+ if not abs(np.trace(tu) - 3.) < 1e-5 or not abs(np.sum(tu) - 3.) < 1e-5:
+ raise AssertionError('Matrix is not unitary!\neg_vector\n{0}\ntest u\n{1}'.format(eg_vector, tu))
+ return eg_vector
new_physics_u = angles_to_u((s12_2, c13_4, s23_2, dcp))
scale_matrix = np.array(
@@ -255,7 +262,7 @@ def triangle_llh(theta):
if FLAT:
return 10.
else:
- return get_best_fit(GOLEMFIT, fit_values)
+ return get_llh(GOLEMFIT, fit_values)
def lnprior(theta):
@@ -336,6 +343,10 @@ def parse_args():
help='Set the source flavour ratio for the case when you want to fix it'
)
parser.add_argument(
+ '--no-bsm', type=str, default='False',
+ help='Turn off BSM terms'
+ )
+ parser.add_argument(
'--fix-mixing', type=str, default='False',
help='Fix all mixing parameters except one'
)
@@ -399,6 +410,7 @@ def main():
global FIX_SCALE
global SCALE
global SCALE2_BOUNDS
+ global NO_BSM
DIMENSION = args.dimension
ENERGY = args.energy
@@ -434,6 +446,13 @@ def main():
else:
raise ValueError
+ if args.no_bsm.lower() == 'true':
+ NO_BSM = True
+ elif args.no_bsm.lower() == 'false':
+ NO_BSM = False
+ else:
+ raise ValueError
+
if FIX_SFR:
SOURCE_FR = np.array(args.source_ratio) / float(np.sum(args.source_ratio))
@@ -456,6 +475,7 @@ def main():
print 'MEASURED_FR = {0}'.format(MEASURED_FR)
print 'SIGMA = {0}'.format(SIGMA)
print 'FLAT = {0}'.format(FLAT)
+ print 'NO_BSM = {0}'.format(NO_BSM)
print 'ENERGY = {0}'.format(ENERGY)
print 'DIMENSION = {0}'.format(DIMENSION)
print 'SCALE2_BOUNDS = {0}'.format(SCALE2_BOUNDS)
diff --git a/submitter/make_dag.py b/submitter/make_dag.py
index 10381f6..a72e67a 100644
--- a/submitter/make_dag.py
+++ b/submitter/make_dag.py
@@ -36,6 +36,7 @@ burnin = 1000
nwalkers = 200
nsteps = 10000
scales = "1E-20 1E-30"
+no_bsm = False
outfile = 'dagman_FR.submit'
condor_script = '/home/smandalia/Documents/flavour_ratio/submitter/submit.sub'
@@ -73,6 +74,7 @@ with open(outfile, 'w') as f:
f.write('VARS\tjob{0}\tnsteps="{1}"\n'.format(job_number, nsteps))
f.write('VARS\tjob{0}\toutfile="{1}"\n'.format(job_number, outchains))
f.write('VARS\tjob{0}\tfix_mixing="{1}"\n'.format(job_number, 'False'))
+ f.write('VARS\tjob{0}\tno_bsm="{1}"\n'.format(job_number, no_bsm))
job_number += 1
for frs in full_scan_mfr:
@@ -97,4 +99,5 @@ with open(outfile, 'w') as f:
f.write('VARS\tjob{0}\tnsteps="{1}"\n'.format(job_number, nsteps))
f.write('VARS\tjob{0}\toutfile="{1}"\n'.format(job_number, outchains))
f.write('VARS\tjob{0}\tfix_mixing="{1}"\n'.format(job_number, 'False'))
+ f.write('VARS\tjob{0}\tno_bsm="{1}"\n'.format(job_number, no_bsm))
job_number += 1
diff --git a/submitter/submit.sub b/submitter/submit.sub
index 9e21fc5..45c8a58 100644
--- a/submitter/submit.sub
+++ b/submitter/submit.sub
@@ -1,5 +1,5 @@
Executable = /home/smandalia/Documents/flavour_ratio/mcmc_scan.py
-Arguments = --measured-ratio $(mr0) $(mr1) $(mr2) --sigma-ratio $(sigma) --fix-source-ratio $(fix_source_ratio) --source-ratio $(sr0) $(sr1) $(sr2) --fix-scale $(fix_scale) --scale $(scale) --dimension $(dimension) --energy $(energy) --flat-llh $(flat_llh) --burnin $(burnin) --nwalkers $(nwalkers) --nsteps $(nsteps) --seed 24 --outfile $(outfile) --fix-mixing $(fix_mixing)
+Arguments = --measured-ratio $(mr0) $(mr1) $(mr2) --sigma-ratio $(sigma) --fix-source-ratio $(fix_source_ratio) --source-ratio $(sr0) $(sr1) $(sr2) --fix-scale $(fix_scale) --scale $(scale) --dimension $(dimension) --energy $(energy) --flat-llh $(flat_llh) --burnin $(burnin) --nwalkers $(nwalkers) --nsteps $(nsteps) --seed 24 --outfile $(outfile) --fix-mixing $(fix_mixing) --no-bsm $(no_bsm)
# All logs will go to a single file
log = /home/smandalia/Documents/flavour_ratio/submitter/logs/job_$(Cluster).log