aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/gf.py8
-rw-r--r--utils/likelihood.py27
-rw-r--r--utils/multinest.py15
-rw-r--r--utils/plot.py24
4 files changed, 42 insertions, 32 deletions
diff --git a/utils/gf.py b/utils/gf.py
index 6ce7863..92e64f3 100644
--- a/utils/gf.py
+++ b/utils/gf.py
@@ -19,7 +19,7 @@ except:
print 'Running without GolemFit'
pass
-from utils.enums import DataType, SteeringCateg
+from utils.enums import DataType, Likelihood, SteeringCateg
from utils.misc import enum_parse, thread_factors
from utils.param import ParamSet
@@ -62,10 +62,16 @@ def steering_params(args):
params = gf.SteeringParams(gf.sampleTag.MagicTau)
params.quiet = False
params.fastmode = True
+ # params.fastmode = False
params.simToLoad= steering_categ.name.lower()
params.evalThreads = args.threads
# params.evalThreads = thread_factors(args.threads)[1]
+ if args.likelihood is Likelihood.GOLEMFIT:
+ params.frequentist = false;
+ elif args.likelihood is Likelihood.GF_FREQ:
+ params.frequentist = true;
+
# For Tianlu
# params.years = [999]
diff --git a/utils/likelihood.py b/utils/likelihood.py
index 7079d52..f4404c4 100644
--- a/utils/likelihood.py
+++ b/utils/likelihood.py
@@ -72,8 +72,6 @@ def lnprior(theta, paramset):
prior += Gaussian().logpdf(
param.nominal_value, param.value, param.std
)
- print 'prioring param', param.name, '=', param.value
- print 'prior', prior
elif param.prior is PriorsCateg.HALFGAUSS:
prior += Gaussian().logpdf(
param.nominal_value, param.value, param.std
@@ -175,15 +173,6 @@ def triangle_llh(theta, args, asimov_paramset, llh_paramset, fitter):
intergrated_measured_flux
fr = averaged_measured_flux / np.sum(averaged_measured_flux)
- if args.save_measured_fr and args.burnin is False:
- n = gen_identifier(args) + '.txt'
- with open(args.output_measured_fr + n, 'a') as f:
- f.write(r'{0:.3f} {1:.3f} {2:.3f} {3:.1f}'.format(
- float(fr[0]), float(fr[1]), float(fr[2]),
- llh_paramset['logLam'].value
- ))
- f.write('\n')
-
flavour_angles = fr_utils.fr_to_angles(fr)
# print 'flavour_angles', map(float, flavour_angles)
for idx, param in enumerate(hypo_paramset.from_tag(ParamTag.BESTFIT)):
@@ -198,6 +187,18 @@ def triangle_llh(theta, args, asimov_paramset, llh_paramset, fitter):
llh = gf_utils.get_llh(fitter, hypo_paramset)
elif args.likelihood is Likelihood.GF_FREQ:
llh = gf_utils.get_llh_freq(fitter, hypo_paramset)
+
+ if args.save_measured_fr and args.burnin is False:
+ n = gen_identifier(args) + '.txt'
+ with open(args.output_measured_fr + n, 'a') as f:
+ f.write(r'{0:.3f} {1:.3f} {2:.3f}'.format(
+ float(fr[0]), float(fr[1]), float(fr[2])
+ ))
+ for p in llh_paramset:
+ f.write(r' {0:.3f}'.format(p.value))
+ f.write(' LLH = {0:.3f}'.format(llh))
+ f.write('\n')
+
return llh
@@ -205,10 +206,6 @@ def ln_prob(theta, args, asimov_paramset, llh_paramset, fitter):
lp = lnprior(theta, paramset=llh_paramset)
if not np.isfinite(lp):
return -np.inf
- llh = triangle_llh(
- theta, args=args, asimov_paramset=asimov_paramset,
- llh_paramset=llh_paramset, fitter=fitter
- )
return lp + triangle_llh(
theta, args=args, asimov_paramset=asimov_paramset,
llh_paramset=llh_paramset, fitter=fitter
diff --git a/utils/multinest.py b/utils/multinest.py
index e9eece9..fdd87cd 100644
--- a/utils/multinest.py
+++ b/utils/multinest.py
@@ -16,7 +16,7 @@ import numpy as np
from pymultinest import analyse, run
from utils import likelihood
-from utils.misc import gen_identifier, make_dir
+from utils.misc import gen_identifier, make_dir, solve_ratio
def CubePrior(cube, ndim, n_params):
@@ -63,7 +63,8 @@ def mn_argparse(parser):
)
-def mn_evidence(mn_paramset, llh_paramset, asimov_paramset, args, fitter):
+def mn_evidence(mn_paramset, llh_paramset, asimov_paramset, args, fitter,
+ identifier='mn'):
"""Run the MultiNest algorithm to calculate the evidence."""
n_params = len(mn_paramset)
@@ -79,8 +80,14 @@ def mn_evidence(mn_paramset, llh_paramset, asimov_paramset, args, fitter):
fitter = fitter
)
- prefix = './mnrun/DIM{0}/{1}_{2}_{3:>010}_'.format(
- args.dimension, args.likelihood, gen_identifier(args), np.random.randint(0, 2**30)
+ # prefix = './mnrun/DIM{0}/{1}_{2}_{3:>010}_'.format(
+ # args.dimension, args.likelihood, gen_identifier(args), np.random.randint(0, 2**30)
+ # )
+ llh = '{0}'.format(args.likelihood).split('.')[1]
+ data = '{0}'.format(args.data).split('.')[1]
+ sr1, sr2, sr3 = solve_ratio(args.source_ratio)
+ prefix = './mnrun/DIM{0}/{1}/{2}/s{3}{4}{5}/{6}'.format(
+ args.dimension, data, llh, sr1, sr2, sr3, identifier
)
make_dir(prefix)
print 'Running evidence calculation for {0}'.format(prefix)
diff --git a/utils/plot.py b/utils/plot.py
index 53a4a84..6cbc4f5 100644
--- a/utils/plot.py
+++ b/utils/plot.py
@@ -627,18 +627,18 @@ def plot_sens_fixed_angle_pretty(data, outfile, outformat, args):
plt.setp(legend.get_title(), fontsize='11')
legend.get_frame().set_linestyle('-')
- # if show_data: ybound = 0.595
- # else: ybound = 0.73
- # if args.data is DataType.REAL and show_data:
- # # fig.text(0.295, 0.684, 'IceCube Preliminary', color='red', fontsize=13,
- # fig.text(0.278, ybound, r'\bf IceCube Preliminary', color='red', fontsize=13,
- # ha='center', va='center', zorder=11)
- # elif args.data is DataType.REALISATION:
- # fig.text(0.278, ybound-0.05, r'\bf IceCube Simulation', color='red', fontsize=13,
- # ha='center', va='center', zorder=11)
- # else:
- # fig.text(0.278, ybound, r'\bf IceCube Simulation', color='red', fontsize=13,
- # ha='center', va='center', zorder=11)
+ if show_data: ybound = 0.595
+ else: ybound = 0.73
+ if args.data is DataType.REAL and show_data:
+ # fig.text(0.295, 0.684, 'IceCube Preliminary', color='red', fontsize=13,
+ fig.text(0.278, ybound, r'\bf IceCube Preliminary', color='red', fontsize=13,
+ ha='center', va='center', zorder=11)
+ elif args.data is DataType.REALISATION:
+ fig.text(0.278, ybound-0.05, r'\bf IceCube Simulation', color='red', fontsize=13,
+ ha='center', va='center', zorder=11)
+ else:
+ fig.text(0.278, ybound, r'\bf IceCube Simulation', color='red', fontsize=13,
+ ha='center', va='center', zorder=11)
misc_utils.make_dir(outfile)
for of in outformat: