diff options
Diffstat (limited to 'submitter')
| -rw-r--r-- | submitter/make_dag.py | 241 | ||||
| -rw-r--r-- | submitter/mcmc_dag.py | 116 | ||||
| -rw-r--r-- | submitter/mcmc_submit.sub | 39 | ||||
| -rw-r--r-- | submitter/sens_dag.py | 134 | ||||
| -rw-r--r-- | submitter/sens_submit.sub | 39 | ||||
| -rw-r--r-- | submitter/submit.sub | 41 |
6 files changed, 328 insertions, 282 deletions
diff --git a/submitter/make_dag.py b/submitter/make_dag.py deleted file mode 100644 index 0e41c9a..0000000 --- a/submitter/make_dag.py +++ /dev/null @@ -1,241 +0,0 @@ -#! /usr/bin/env python - -import os -import numpy as np - -a_fr = (1, 2, 0) -b_fr = (1, 0, 0) -c_fr = (0, 1, 0) -d_fr = (0, 0, 1) -e_fr = (1, 1, 1) -f_fr = (2, 1, 0) -g_fr = (1, 1, 0) - -full_scan_mfr = [ - # (1, 1, 1), (1, 1, 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), -] - -# MCMC -run_mcmc = 'True' -burnin = 2500 -nsteps = 10000 -nwalkers = 60 -seed = 'None' -threads = 1 -mcmc_seed_type = 'uniform' - -# FR -dimension = [3, 6] -energy = [1e6] -no_bsm = 'False' -sigma_ratio = ['0.01'] -scale = "1E-20 1E-30" -scale_region = "1E10" -energy_dependance = 'spectral' -spectral_index = -2 -binning = [1e4, 1e7, 5] -fix_mixing = 'False' -fix_mixing_almost = 'False' - -# Likelihood -likelihood = 'gaussian' - -# Nuisance -convNorm = 1. -promptNorm = 0. -muonNorm = 1. -astroNorm = 6.9 -astroDeltaGamma = 2.5 - -# GolemFit -ast = 'p2_0' -data = 'real' - -# Bayes Factor -run_bayes_factor = 'False' -run_angles_limit = 'False' -run_angles_correlation = 'False' -bayes_bins = 100 -bayes_live_points = 3000 -bayes_tolerance = 0.01 -bayes_eval_bin = 'all' # set to 'all' to run normally - -# Plot -plot_angles = 'True' -plot_elements = 'False' -plot_bayes = 'False' -plot_angles_limit = 'False' - -outfile = 'dagman_FR.submit' -golemfitsourcepath = os.environ['GOLEMSOURCEPATH'] + '/GolemFit' -condor_script = golemfitsourcepath + '/scripts/flavour_ratio/submitter/submit.sub' - -if bayes_eval_bin != 'all': - if run_angles_correlation == 'True': - b_runs = bayes_bins**2 - else: - b_runs = bayes_bins -else: b_runs = 1 - -with open(outfile, 'w') as f: - job_number = 1 - for dim in dimension: - print 'dimension', dim - for en in energy: - print 'energy {0:.0E}'.format(en) - - if energy_dependance == 'mono': - outchain_head = '/data/user/smandalia/flavour_ratio/data/{0}/DIM{1}/{2:.0E}'.format(likelihood, dim, en) - elif energy_dependance == 'spectral': - outchain_head = '/data/user/smandalia/flavour_ratio/data/{0}/DIM{1}/SI_{2}'.format(likelihood, dim, spectral_index) - - bayes_output = 'None' - angles_lim_output = 'None' - angles_corr_output = 'None' - for sig in sigma_ratio: - print 'sigma', sig - for frs in fix_sfr_mfr: - print frs - outchains = outchain_head + '/fix_ifr/{0}/'.format(str(sig).replace('.', '_')) - if run_bayes_factor == 'True': - bayes_output = outchains + '/bayes_factor/' - if run_angles_limit == 'True': - angles_lim_output = outchains + '/angles_limit/' - if run_angles_correlation == 'True': - angles_corr_output = outchains + '/angles_corr/' - outchains += 'mcmc_chain' - for r in range(b_runs): - print 'run', r - f.write('JOB\tjob{0}\t{1}\n'.format(job_number, condor_script)) - 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}\tsigma_ratio="{1}"\n'.format(job_number, sig)) - 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])) - f.write('VARS\tjob{0}\tfix_scale="{1}"\n'.format(job_number, 'False')) - f.write('VARS\tjob{0}\tscale="{1}"\n'.format(job_number, 0)) - f.write('VARS\tjob{0}\tscale_region="{1}"\n'.format(job_number, scale_region)) - f.write('VARS\tjob{0}\tdimension="{1}"\n'.format(job_number, dim)) - f.write('VARS\tjob{0}\tenergy="{1}"\n'.format(job_number, en)) - f.write('VARS\tjob{0}\tlikelihood="{1}"\n'.format(job_number, likelihood)) - f.write('VARS\tjob{0}\tburnin="{1}"\n'.format(job_number, burnin)) - f.write('VARS\tjob{0}\tnwalkers="{1}"\n'.format(job_number, nwalkers)) - 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, fix_mixing)) - f.write('VARS\tjob{0}\tno_bsm="{1}"\n'.format(job_number, no_bsm)) - f.write('VARS\tjob{0}\trun_mcmc="{1}"\n'.format(job_number, run_mcmc)) - f.write('VARS\tjob{0}\tastroDeltaGamma="{1}"\n'.format(job_number, astroDeltaGamma)) - f.write('VARS\tjob{0}\tastroNorm="{1}"\n'.format(job_number, astroNorm)) - f.write('VARS\tjob{0}\tconvNorm="{1}"\n'.format(job_number, convNorm)) - f.write('VARS\tjob{0}\tmuonNorm="{1}"\n'.format(job_number, muonNorm)) - f.write('VARS\tjob{0}\tpromptNorm="{1}"\n'.format(job_number, promptNorm)) - f.write('VARS\tjob{0}\tdata="{1}"\n'.format(job_number, data)) - f.write('VARS\tjob{0}\tast="{1}"\n'.format(job_number, ast)) - f.write('VARS\tjob{0}\tplot_angles="{1}"\n'.format(job_number, plot_angles)) - f.write('VARS\tjob{0}\tplot_elements="{1}"\n'.format(job_number, plot_elements)) - f.write('VARS\tjob{0}\tseed="{1}"\n'.format(job_number, seed)) - f.write('VARS\tjob{0}\tthreads="{1}"\n'.format(job_number, threads)) - f.write('VARS\tjob{0}\tmcmc_seed_type="{1}"\n'.format(job_number, mcmc_seed_type)) - f.write('VARS\tjob{0}\tenergy_dependance="{1}"\n'.format(job_number, energy_dependance)) - f.write('VARS\tjob{0}\tspectral_index="{1}"\n'.format(job_number, spectral_index)) - f.write('VARS\tjob{0}\tbinning_0="{1}"\n'.format(job_number, binning[0])) - f.write('VARS\tjob{0}\tbinning_1="{1}"\n'.format(job_number, binning[1])) - f.write('VARS\tjob{0}\tbinning_2="{1}"\n'.format(job_number, binning[2])) - f.write('VARS\tjob{0}\tfix_mixing_almost="{1}"\n'.format(job_number, fix_mixing_almost)) - # f.write('VARS\tjob{0}\trun_bayes_factor="{1}"\n'.format(job_number, run_bayes_factor)) - # f.write('VARS\tjob{0}\tbayes_bins="{1}"\n'.format(job_number, bayes_bins)) - # f.write('VARS\tjob{0}\tbayes_output="{1}"\n'.format(job_number, bayes_output)) - # f.write('VARS\tjob{0}\tbayes_live_points="{1}"\n'.format(job_number, bayes_live_points)) - # f.write('VARS\tjob{0}\tbayes_tolerance="{1}"\n'.format(job_number, bayes_tolerance)) - # f.write('VARS\tjob{0}\tplot_bayes="{1}"\n'.format(job_number, plot_bayes)) - # f.write('VARS\tjob{0}\tbayes_eval_bin="{1}"\n'.format(job_number, r)) - # f.write('VARS\tjob{0}\trun_angles_limit="{1}"\n'.format(job_number, run_angles_limit)) - # f.write('VARS\tjob{0}\tangles_lim_output="{1}"\n'.format(job_number, angles_lim_output)) - # f.write('VARS\tjob{0}\tplot_angles_limit="{1}"\n'.format(job_number, plot_angles_limit)) - # f.write('VARS\tjob{0}\trun_angles_correlation="{1}"\n'.format(job_number, run_angles_correlation)) - # f.write('VARS\tjob{0}\tangles_corr_output="{1}"\n'.format(job_number, angles_corr_output)) - job_number += 1 - - for frs in full_scan_mfr: - print frs - outchains = outchain_head + '/full_scan/{0}'.format(str(sig).replace('.', '_')) - if run_bayes_factor == 'True': - bayes_output = outchains + '/bayes_factor/' - if run_angles_limit == 'True': - angles_lim_output = outchains + '/angles_limit/' - if run_angles_correlation == 'True': - angles_corr_output = outchains + '/angles_corr/' - outchains += 'mcmc_chain' - for r in range(b_runs): - print 'run', r - f.write('JOB\tjob{0}\t{1}\n'.format(job_number, condor_script)) - 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}\tsigma_ratio="{1}"\n'.format(job_number, sig)) - 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)) - f.write('VARS\tjob{0}\tfix_scale="{1}"\n'.format(job_number, 'False')) - f.write('VARS\tjob{0}\tscale="{1}"\n'.format(job_number, 0)) - f.write('VARS\tjob{0}\tscale_region="{1}"\n'.format(job_number, scale_region)) - f.write('VARS\tjob{0}\tdimension="{1}"\n'.format(job_number, dim)) - f.write('VARS\tjob{0}\tenergy="{1}"\n'.format(job_number, en)) - f.write('VARS\tjob{0}\tlikelihood="{1}"\n'.format(job_number, likelihood)) - f.write('VARS\tjob{0}\tburnin="{1}"\n'.format(job_number, burnin)) - f.write('VARS\tjob{0}\tnwalkers="{1}"\n'.format(job_number, nwalkers)) - 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, fix_mixing)) - f.write('VARS\tjob{0}\tno_bsm="{1}"\n'.format(job_number, no_bsm)) - f.write('VARS\tjob{0}\trun_mcmc="{1}"\n'.format(job_number, run_mcmc)) - f.write('VARS\tjob{0}\tastroDeltaGamma="{1}"\n'.format(job_number, astroDeltaGamma)) - f.write('VARS\tjob{0}\tastroNorm="{1}"\n'.format(job_number, astroNorm)) - f.write('VARS\tjob{0}\tconvNorm="{1}"\n'.format(job_number, convNorm)) - f.write('VARS\tjob{0}\tmuonNorm="{1}"\n'.format(job_number, muonNorm)) - f.write('VARS\tjob{0}\tpromptNorm="{1}"\n'.format(job_number, promptNorm)) - f.write('VARS\tjob{0}\tdata="{1}"\n'.format(job_number, data)) - f.write('VARS\tjob{0}\tast="{1}"\n'.format(job_number, ast)) - f.write('VARS\tjob{0}\tplot_angles="{1}"\n'.format(job_number, plot_angles)) - f.write('VARS\tjob{0}\tplot_elements="{1}"\n'.format(job_number, plot_elements)) - f.write('VARS\tjob{0}\tseed="{1}"\n'.format(job_number, seed)) - f.write('VARS\tjob{0}\tthreads="{1}"\n'.format(job_number, threads)) - f.write('VARS\tjob{0}\tmcmc_seed_type="{1}"\n'.format(job_number, mcmc_seed_type)) - f.write('VARS\tjob{0}\tenergy_dependance="{1}"\n'.format(job_number, energy_dependance)) - f.write('VARS\tjob{0}\tspectral_index="{1}"\n'.format(job_number, spectral_index)) - f.write('VARS\tjob{0}\tbinning_0="{1}"\n'.format(job_number, binning[0])) - f.write('VARS\tjob{0}\tbinning_1="{1}"\n'.format(job_number, binning[1])) - f.write('VARS\tjob{0}\tbinning_2="{1}"\n'.format(job_number, binning[2])) - f.write('VARS\tjob{0}\tfix_mixing_almost="{1}"\n'.format(job_number, fix_mixing_almost)) - f.write('VARS\tjob{0}\trun_bayes_factor="{1}"\n'.format(job_number, run_bayes_factor)) - f.write('VARS\tjob{0}\tbayes_bins="{1}"\n'.format(job_number, bayes_bins)) - f.write('VARS\tjob{0}\tbayes_output="{1}"\n'.format(job_number, bayes_output)) - f.write('VARS\tjob{0}\tbayes_live_points="{1}"\n'.format(job_number, bayes_live_points)) - f.write('VARS\tjob{0}\tbayes_tolerance="{1}"\n'.format(job_number, bayes_tolerance)) - f.write('VARS\tjob{0}\tplot_bayes="{1}"\n'.format(job_number, plot_bayes)) - f.write('VARS\tjob{0}\tbayes_eval_bin="{1}"\n'.format(job_number, r)) - f.write('VARS\tjob{0}\trun_angles_limit="{1}"\n'.format(job_number, run_angles_limit)) - f.write('VARS\tjob{0}\tangles_lim_output="{1}"\n'.format(job_number, angles_lim_output)) - f.write('VARS\tjob{0}\tplot_angles_limit="{1}"\n'.format(job_number, plot_angles_limit)) - f.write('VARS\tjob{0}\trun_angles_correlation="{1}"\n'.format(job_number, run_angles_correlation)) - f.write('VARS\tjob{0}\tangles_corr_output="{1}"\n'.format(job_number, angles_corr_output)) - job_number += 1 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 diff --git a/submitter/mcmc_submit.sub b/submitter/mcmc_submit.sub new file mode 100644 index 0000000..2032cb6 --- /dev/null +++ b/submitter/mcmc_submit.sub @@ -0,0 +1,39 @@ +Executable = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/fr.py +Arguments = "--ast $(ast) --burnin $(burnin) --data $(data) --dimension $(dimension) --fix-mixing $(fix_mixing) --fix-source-ratio $(fix_source_ratio) --likelihood $(likelihood) --measured-ratio $(mr0) $(mr1) $(mr2) --no-bsm $(no_bsm) --nsteps $(nsteps) --nwalkers $(nwalkers) --outfile $(outfile) --plot-angles $(plot_angles) --plot-elements $(plot_elements) --run-mcmc $(run_mcmc) --scale-region $(scale_region) --seed $(seed) --sigma-ratio $(sigma_ratio) --source-ratio $(sr0) $(sr1) $(sr2) --threads $(threads) --energy-dependance $(energy_dependance) --spectral-index $(spectral_index) --binning $(binning) --fix-mixing-almost $(fix_mixing_almost)" + +# All logs will go to a single file +log = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).log +output = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).out +error = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).err + +getenv = True +# environment = "X509_USER_PROXY=x509up_u14830" + +# Stage user cert to the node (Gridftp-Users is already on CVMFS) +# transfer_input_files = /tmp/x509up_u14830 + +# but do not try to copy outputs back (see: https://htcondor-wiki.cs.wisc.edu/index.cgi/tktview?tn=3081) +# +TransferOutput="" +Transfer_output_files = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/metaouts/ + +request_memory = 1GB +request_cpus = 1 + +Universe = vanilla +Notification = never + +# run on both SL5 and 6 +# +WantRHEL6 = True +# +WantSLC6 = False + +# # run on OSG +# +WantGlidein = True + +# +TransferOutput="" + +# Requirements = IS_GLIDEIN && HAS_CVMFS_icecube_opensciencegrid_org && (OpSysAndVer =?= "CentOS6" || OpSysAndVer =?= "RedHat6" || OpSysAndVer =?= "SL6") +# Requirements = IS_GLIDEIN +# Requirements = (OpSysMajorVer =?= 6) + +# GO! +queue diff --git a/submitter/sens_dag.py b/submitter/sens_dag.py new file mode 100644 index 0000000..2cecfe9 --- /dev/null +++ b/submitter/sens_dag.py @@ -0,0 +1,134 @@ +#! /usr/bin/env python + +import os +import numpy as np + +full_scan_mfr = [ + # (1, 1, 1), (1, 2, 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 = {} + +# Bayes Factor +GLOBAL_PARAMS.update(dict( + sens_run = 'True', + run_method = 'full', + stat_method = 'bayesian', + sens_bins = 10, + sens_eval_bin = 'all' # set to 'all' to run normally +)) + +# MultiNest +GLOBAL_PARAMS.update(dict( + mn_live_points = 400, + mn_tolerance = 0.01, + mn_output = './mnrun' +)) + +# 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_statistic = 'True' +)) + +outfile = 'dagman_FR_SENS.submit' +golemfitsourcepath = os.environ['GOLEMSOURCEPATH'] + '/GolemFit' +condor_script = golemfitsourcepath + '/scripts/flavour_ratio/submitter/sens_submit.sub' + +if GLOBAL_PARAMS['sens_eval_bin'].lower() != 'all': + if GLOBAL_PARAMS['run_method'].lower() == 'corr_angle': + sens_runs = GLOBAL_PARAMS['sens_bins']**2 + else: + sens_runs = GLOBAL_PARAMS['sens_bins'] +else: sens_runs = 1 + +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 + output = outchain_head + '/fix_ifr/' + if GLOBAL_PARAMS['likelihood'].lower() == 'gaussian': + output += '{0}/'.format(str(GLOBAL_PARAMS['sigma_ratio']).replace('.', '_')) + output += 'fr_stat' + for r in xrange(sens_runs): + 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}\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])) + f.write('VARS\tjob{0}\tsens_eval_bin="{1}"\n'.format(job_number, r)) + 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 + output = outchain_head + '/full/' + if GLOBAL_PARAMS['likelihood'].lower() == 'gaussian': + output += '{0}/'.format(str(GLOBAL_PARAMS['sigma_ratio']).replace('.', '_')) + output += 'fr_stat' + for r in xrange(sens_runs): + 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}\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)) + f.write('VARS\tjob{0}\tsens_eval_bin="{1}"\n'.format(job_number, r)) + 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 diff --git a/submitter/sens_submit.sub b/submitter/sens_submit.sub new file mode 100644 index 0000000..1a02608 --- /dev/null +++ b/submitter/sens_submit.sub @@ -0,0 +1,39 @@ +Executable = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/fr.py +Arguments = "--ast $(ast) --data $(data) --dimension $(dimension) --fix-mixing $(fix_mixing) --fix-source-ratio $(fix_source_ratio) --likelihood $(likelihood) --measured-ratio $(mr0) $(mr1) $(mr2) --no-bsm $(no_bsm) --outfile $(outfile) --scale-region $(scale_region) --seed $(seed) --sigma-ratio $(sigma_ratio) --source-ratio $(sr0) $(sr1) $(sr2) --threads $(threads) --energy-dependance $(energy_dependance) --spectral-index $(spectral_index) --binning $(binning) --fix-mixing-almost $(fix_mixing_almost) --sens-run $(sens_run) --run-method $(run_method) --stat-method $(stat_method) --sens-bins $(sens_bins) --sens-eval-bin $(sens_eval_bin) --mn-live-points $(mn_live_points) --mn-tolerance $(mn_tolerance) --mn-output $(mn_output) --plot-statistic $(plot_statistic)" + +# All logs will go to a single file +log = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).log +output = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).out +error = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).err + +getenv = True +# environment = "X509_USER_PROXY=x509up_u14830" + +# Stage user cert to the node (Gridftp-Users is already on CVMFS) +# transfer_input_files = /tmp/x509up_u14830 + +# but do not try to copy outputs back (see: https://htcondor-wiki.cs.wisc.edu/index.cgi/tktview?tn=3081) +# +TransferOutput="" +Transfer_output_files = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/metaouts/ + +request_memory = 1GB +request_cpus = 1 + +Universe = vanilla +Notification = never + +# run on both SL5 and 6 +# +WantRHEL6 = True +# +WantSLC6 = False + +# # run on OSG +# +WantGlidein = True + +# +TransferOutput="" + +# Requirements = IS_GLIDEIN && HAS_CVMFS_icecube_opensciencegrid_org && (OpSysAndVer =?= "CentOS6" || OpSysAndVer =?= "RedHat6" || OpSysAndVer =?= "SL6") +# Requirements = IS_GLIDEIN +# Requirements = (OpSysMajorVer =?= 6) + +# GO! +queue diff --git a/submitter/submit.sub b/submitter/submit.sub deleted file mode 100644 index 8e3c5af..0000000 --- a/submitter/submit.sub +++ /dev/null @@ -1,41 +0,0 @@ -Executable = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/fr.py -Arguments = "--ast $(ast) --astroDeltaGamma $(astroDeltaGamma) --astroNorm $(astroNorm) --burnin $(burnin) --convNorm $(convNorm) --data $(data) --dimension $(dimension) --energy $(energy) --fix-mixing $(fix_mixing) --fix-scale $(fix_scale) --fix-source-ratio $(fix_source_ratio) --likelihood $(likelihood) --measured-ratio $(mr0) $(mr1) $(mr2) --muonNorm $(muonNorm) --no-bsm $(no_bsm) --nsteps $(nsteps) --nwalkers $(nwalkers) --outfile $(outfile) --plot-angles $(plot_angles) --plot-elements $(plot_elements) --promptNorm $(promptNorm) --run-mcmc $(run_mcmc) --scale $(scale) --scale-region $(scale_region) --seed $(seed) --sigma-ratio $(sigma_ratio) --source-ratio $(sr0) $(sr1) $(sr2) --threads $(threads) --mcmc-seed-type $(mcmc_seed_type) --energy-dependance $(energy_dependance) --spectral-index $(spectral_index) --binning $(binning_0) $(binning_1) $(binning_2) --fix-mixing-almost $(fix_mixing_almost)" - -# --run-bayes-factor $(run_bayes_factor) --bayes-bins $(bayes_bins) --bayes-output $(bayes_output) --bayes-live-points $(bayes_live_points) --plot-bayes $(plot_bayes) --bayes-tolerance $(bayes_tolerance) --bayes-eval-bin $(bayes_eval_bin) --run-angles-limit $(run_angles_limit) --angles-lim-out $(angles_lim_output) --plot-angles-limit $(plot_angles_limit) --run-angles-correlation $(run_angles_correlation) --angles-corr-output $(angles_corr_output)" - -# All logs will go to a single file -log = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).log -output = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).out -error = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/logs/job_$(Cluster).err - -getenv = True -# environment = "X509_USER_PROXY=x509up_u14830" - -# Stage user cert to the node (Gridftp-Users is already on CVMFS) -# transfer_input_files = /tmp/x509up_u14830 - -# but do not try to copy outputs back (see: https://htcondor-wiki.cs.wisc.edu/index.cgi/tktview?tn=3081) -# +TransferOutput="" -Transfer_output_files = /data/user/smandalia/GolemTools/sources/GolemFit/scripts/flavour_ratio/submitter/metaouts/ - -request_memory = 1GB -request_cpus = 4 - -Universe = vanilla -Notification = never - -# run on both SL5 and 6 -# +WantRHEL6 = True -# +WantSLC6 = False - -# # run on OSG -# +WantGlidein = True - -# +TransferOutput="" - -# Requirements = IS_GLIDEIN && HAS_CVMFS_icecube_opensciencegrid_org && (OpSysAndVer =?= "CentOS6" || OpSysAndVer =?= "RedHat6" || OpSysAndVer =?= "SL6") -# Requirements = IS_GLIDEIN -# Requirements = (OpSysMajorVer =?= 6) - -# GO! -queue |
