diff options
| author | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-03-14 11:43:15 -0500 |
|---|---|---|
| committer | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-03-14 11:43:15 -0500 |
| commit | 5cb3e0d121e16f363b36f3a32c09c5ac7668f51d (patch) | |
| tree | 68392a8dc840b981d74b471d6a3e5b11883a41e1 | |
| parent | 9f5e370f60a3816ae350811d55087e2bb652f68b (diff) | |
| download | GolemFlavor-5cb3e0d121e16f363b36f3a32c09c5ac7668f51d.tar.gz GolemFlavor-5cb3e0d121e16f363b36f3a32c09c5ac7668f51d.zip | |
add option to turn off BSM
| -rwxr-xr-x | mcmc_scan.py | 24 | ||||
| -rw-r--r-- | submitter/make_dag.py | 3 | ||||
| -rw-r--r-- | submitter/submit.sub | 2 |
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 |
