aboutsummaryrefslogtreecommitdiffstats
path: root/utils/gf.py
diff options
context:
space:
mode:
authorshivesh <s.p.mandalia@qmul.ac.uk>2018-04-27 18:37:45 -0500
committershivesh <s.p.mandalia@qmul.ac.uk>2018-04-27 18:37:45 -0500
commit45e8e4fa58e0c04c16b3000152dd08f2f6f8926e (patch)
treec05db01ced0f89ffa64d12d9f3f277e568eb80c9 /utils/gf.py
parentcfe60732b09544e304e66129383ceaf92ac8cdff (diff)
downloadGolemFlavor-45e8e4fa58e0c04c16b3000152dd08f2f6f8926e.tar.gz
GolemFlavor-45e8e4fa58e0c04c16b3000152dd08f2f6f8926e.zip
Fri Apr 27 18:37:45 CDT 2018
Diffstat (limited to 'utils/gf.py')
-rw-r--r--utils/gf.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/utils/gf.py b/utils/gf.py
index 59d1033..17ac029 100644
--- a/utils/gf.py
+++ b/utils/gf.py
@@ -16,6 +16,7 @@ import GolemFitPy as gf
from utils.enums import DataType, SteeringCateg
from utils.misc import enum_parse, thread_factors
+from utils.param import ParamSet
def fit_flags(llh_paramset):
@@ -23,9 +24,6 @@ def fit_flags(llh_paramset):
# False means it's not fixed in minimization
'astroFlavorAngle1' : True,
'astroFlavorAngle2' : True,
- 'astroENorm' : True,
- 'astroMuNorm' : True,
- 'astroTauNorm' : True,
'convNorm' : True,
'promptNorm' : True,
'muonNorm' : True,
@@ -44,9 +42,14 @@ def fit_flags(llh_paramset):
'astroDeltaGammaSec' : True
}
flags = gf.FitParametersFlag()
+ gf_nuisance = []
for param in llh_paramset:
- flags.__setattr__(param.name, False)
- return flags
+ if param.name in default_flags:
+ print 'Setting param {0:<15} to float in the ' \
+ 'minimisation'.format(param.name)
+ flags.__setattr__(param.name, False)
+ gf_nuisance.append(param)
+ return flags, ParamSet(gf_nuisance)
def steering_params(args):
@@ -68,7 +71,7 @@ def set_up_as(fitter, params):
print 'Injecting the model', params
asimov_params = gf.FitParameters(gf.sampleTag.HESE)
for parm in params:
- asimov_params.__setattr__(parm.name, parm.value)
+ asimov_params.__setattr__(parm.name, float(parm.value))
fitter.SetupAsimov(asimov_params)
@@ -84,7 +87,7 @@ def setup_fitter(args, asimov_paramset):
def get_llh(fitter, params):
fitparams = gf.FitParameters(gf.sampleTag.HESE)
for parm in params:
- fitparams.__setattr__(parm.name, parm.value)
+ fitparams.__setattr__(parm.name, float(parm.value))
llh = -fitter.EvalLLH(fitparams)
return llh
@@ -93,9 +96,10 @@ def get_llh_freq(fitter, params):
print 'setting to {0}'.format(params)
fitparams = gf.FitParameters(gf.sampleTag.HESE)
for parm in params:
- fitparams.__setattr__(parm.name, parm.value)
+ fitparams.__setattr__(parm.name, float(parm.value))
fitter.SetFitParametersSeed(fitparams)
- return -fitter.MinLLH().likelihood
+ llh = -fitter.MinLLH().likelihood
+ return llh
def data_distributions(fitter):