aboutsummaryrefslogtreecommitdiffstats
path: root/submitter/mcmc_dag.py
diff options
context:
space:
mode:
Diffstat (limited to 'submitter/mcmc_dag.py')
-rw-r--r--submitter/mcmc_dag.py116
1 files changed, 116 insertions, 0 deletions
diff --git a/submitter/mcmc_dag.py b/submitter/mcmc_dag.py
new file mode 100644
index 0000000..79f9b6d
--- /dev/null
+++ b/submitter/mcmc_dag.py
@@ -0,0 +1,116 @@
+#! /usr/bin/env python
+
+import os
+import numpy as np
+
+full_scan_mfr = [
+ # (1, 1, 1), (1, 0, 0)
+]
+
+fix_sfr_mfr = [
+ (1, 1, 1, 1, 2, 0),
+ (1, 1, 1, 1, 0, 0),
+ (1, 1, 1, 0, 1, 0),
+ (1, 1, 1, 0, 0, 1),
+ # (1, 1, 0, 1, 2, 0),
+ # (1, 1, 0, 1, 0, 0),
+ # (1, 1, 0, 0, 1, 0),
+ # (1, 0, 0, 1, 0, 0),
+ # (0, 1, 0, 0, 1, 0),
+ # (1, 2, 0, 1, 2, 0),
+ # (1, 2, 0, 0, 1, 0),
+]
+
+GLOBAL_PARAMS = {}
+
+# MCMC
+GLOBAL_PARAMS.update(dict(
+ run_mcmc = 'True',
+ burnin = 2500,
+ nsteps = 10000,
+ nwalkers = 60,
+ seed = 'None',
+ mcmc_seed_type = 'uniform'
+))
+
+# FR
+dimension = [3, 6]
+GLOBAL_PARAMS.update(dict(
+ threads = 1,
+ binning = '1e4 1e7 5',
+ no_bsm = 'False',
+ scale_region = "1E10",
+ energy_dependance = 'spectral',
+ spectral_index = -2,
+ fix_mixing = 'False',
+ fix_mixing_almost = 'False'
+))
+
+# Likelihood
+GLOBAL_PARAMS.update(dict(
+ likelihood = 'gaussian',
+ sigma_ratio = '0.01'
+))
+
+# GolemFit
+GLOBAL_PARAMS.update(dict(
+ ast = 'p2_0',
+ data = 'real'
+))
+
+# Plot
+GLOBAL_PARAMS.update(dict(
+ plot_angles = 'True',
+ plot_elements = 'False',
+))
+
+outfile = 'dagman_FR_MCMC.submit'
+golemfitsourcepath = os.environ['GOLEMSOURCEPATH'] + '/GolemFit'
+condor_script = golemfitsourcepath + '/scripts/flavour_ratio/submitter/mcmc_submit.sub'
+
+with open(outfile, 'w') as f:
+ job_number = 1
+ for dim in dimension:
+ print 'dimension', dim
+ outchain_head = '/data/user/smandalia/flavour_ratio/data/{0}/DIM{1}/SI_{2}'.format(
+ GLOBAL_PARAMS['likelihood'], dim, GLOBAL_PARAMS['spectral_index']
+ )
+ for frs in fix_sfr_mfr:
+ print 'frs', frs
+ outchains = outchain_head + '/fix_ifr/'
+ if GLOBAL_PARAMS['likelihood'].lower() == 'gaussian':
+ outchains += '{0}/'.format(str(GLOBAL_PARAMS['sigma_ratio']).replace('.', '_'))
+ outchains += 'mcmc_chain'
+ 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}\tmr0="{1}"\n'.format(job_number, frs[0]))
+ f.write('VARS\tjob{0}\tmr1="{1}"\n'.format(job_number, frs[1]))
+ f.write('VARS\tjob{0}\tmr2="{1}"\n'.format(job_number, frs[2]))
+ f.write('VARS\tjob{0}\tfix_source_ratio="{1}"\n'.format(job_number, True))
+ f.write('VARS\tjob{0}\tsr0="{1}"\n'.format(job_number, frs[3]))
+ f.write('VARS\tjob{0}\tsr1="{1}"\n'.format(job_number, frs[4]))
+ f.write('VARS\tjob{0}\tsr2="{1}"\n'.format(job_number, frs[5]))
+ for key in GLOBAL_PARAMS.keys():
+ f.write('VARS\tjob{0}\tmr0="{1}"\n'.format(job_number, GLOBAL_PARAMS[key]))
+ f.write('VARS\tjob{0}\toutfile="{1}"\n'.format(job_number, outfile))
+ job_number += 1
+
+ for frs in full_scan_mfr:
+ print 'frs', frs
+ outchains = outchain_head + '/full/'
+ if GLOBAL_PARAMS['likelihood'].lower() == 'gaussian':
+ outchains += '{0}/'.format(str(GLOBAL_PARAMS['sigma_ratio']).replace('.', '_'))
+ outchains += 'mcmc_chain'
+ 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}\tmr0="{1}"\n'.format(job_number, frs[0]))
+ f.write('VARS\tjob{0}\tmr1="{1}"\n'.format(job_number, frs[1]))
+ f.write('VARS\tjob{0}\tmr2="{1}"\n'.format(job_number, frs[2]))
+ f.write('VARS\tjob{0}\tfix_source_ratio="{1}"\n'.format(job_number, False))
+ f.write('VARS\tjob{0}\tsr0="{1}"\n'.format(job_number, 0))
+ f.write('VARS\tjob{0}\tsr1="{1}"\n'.format(job_number, 0))
+ f.write('VARS\tjob{0}\tsr2="{1}"\n'.format(job_number, 0))
+ for key in GLOBAL_PARAMS.keys():
+ f.write('VARS\tjob{0}\tmr0="{1}"\n'.format(job_number, GLOBAL_PARAMS[key]))
+ f.write('VARS\tjob{0}\toutfile="{1}"\n'.format(job_number, outfile))
+ job_number += 1