diff options
| author | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-04-04 17:26:05 -0500 |
|---|---|---|
| committer | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-04-04 17:26:05 -0500 |
| commit | 30fddc32cfd5af1fc1f49de2e91b39c81cdf10e2 (patch) | |
| tree | f75483c8702c2367dc49e9af397de9eabbd52ccf /utils/gf.py | |
| parent | 9b12d2bf5d2047539dbb85ed3c218114cf1406d7 (diff) | |
| download | GolemFlavor-30fddc32cfd5af1fc1f49de2e91b39c81cdf10e2.tar.gz GolemFlavor-30fddc32cfd5af1fc1f49de2e91b39c81cdf10e2.zip | |
intergrate GolemFit into scripts
Diffstat (limited to 'utils/gf.py')
| -rw-r--r-- | utils/gf.py | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/utils/gf.py b/utils/gf.py index 99b1f24..eaa9450 100644 --- a/utils/gf.py +++ b/utils/gf.py @@ -10,12 +10,58 @@ Useful GolemFit wrappers for the BSM flavour ratio analysis from __future__ import absolute_import, division import argparse +import socket from functools import partial import GolemFitPy as gf from utils.enums import * -from utils.misc import enum_parse +from utils.misc import enum_parse, thread_factors + + +def steering_params(args): + steering_categ = args.ast + params = gf.SteeringParams() + if 'cobalt0' in socket.gethostname().split('.')[0]: + params.quiet = False + else: + params.quiet = True + # TODO(shivesh): figure out right number for missid + params.track_to_shower_missid = 0.3 + params.fastmode = True + # params.fastmode = False + # params.readCompact = True + params.readCompact = False + params.do_HESE_reshuffle = False + params.sampleToLoad = gf.sampleTag.HESE + params.simToLoad= steering_categ.name.lower() + params.evalThreads = args.threads + # params.evalThreads = thread_factors(args.threads)[1] + params.baseline_astro_spectral_index = -2. + params.spline_hole_ice = True + params.spline_dom_efficiency = True + if steering_categ == SteeringCateg.LONGLIFE: + params.years = [999] + params.simToLoad= 'p2_0' + elif steering_categ == SteeringCateg.DPL: + params.diffuse_fit_type = gf.DiffuseFitType.DoublePowerLaw + params.simToLoad= 'p2_0' + return params + + +def set_up_as(fitter, params): + print 'Injecting the model', params + asimov_params = gf.FitParameters() + for parm in params: + asimov_params.__setattr__(parm.name, parm.value) + fitter.SetupAsimov(asimov_params) + + +def get_llh(fitter, params): + fitparams = gf.FitParameters() + for parm in params: + fitparams.__setattr__(parm.name, parm.value) + return fitter.EvalLLH(fitparams) def data_distributions(fitter): @@ -84,7 +130,7 @@ def gf_argparse(parser): choices=DataType, help='select datatype' ) parser.add_argument( - '--ast', default='baseline', type=partial(enum_parse, c=SteeringCateg), + '--ast', default='p2_0', type=partial(enum_parse, c=SteeringCateg), choices=SteeringCateg, help='use asimov/fake dataset with specific steering' ) |
