diff options
| author | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-04-30 17:09:41 -0500 |
|---|---|---|
| committer | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-04-30 17:09:41 -0500 |
| commit | a1ab1014c7b2d6be8beffa99b47a57b74b90b876 (patch) | |
| tree | 1e23941ed229ce83048e2f7a1a6826b894b623d4 /test | |
| parent | 975ecb72c295a4209615bedc6c06a2719af67f6c (diff) | |
| download | GolemFlavor-a1ab1014c7b2d6be8beffa99b47a57b74b90b876.tar.gz GolemFlavor-a1ab1014c7b2d6be8beffa99b47a57b74b90b876.zip | |
Mon Apr 30 17:09:40 CDT 2018
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_gf.py | 76 | ||||
| -rw-r--r-- | test/test_gf_simple.py | 23 |
2 files changed, 99 insertions, 0 deletions
diff --git a/test/test_gf.py b/test/test_gf.py new file mode 100644 index 0000000..6f8f463 --- /dev/null +++ b/test/test_gf.py @@ -0,0 +1,76 @@ +import GolemFitPy as gf + +def steering_params(): + steering_categ = 'p2_0' + params = gf.SteeringParams(gf.sampleTag.HESE) + params.fastmode = True + params.quiet = False + params.simToLoad= steering_categ.lower() + return params + +def set_up_as(fitter, params): + print 'Injecting the model', params + asimov_params = gf.FitParameters(gf.sampleTag.HESE) + for x in params.iterkeys(): + asimov_params.__setattr__(x, float(params[x])) + fitter.SetupAsimov(asimov_params) + +def setup_fitter(asimov_paramset): + datapaths = gf.DataPaths() + sparams = steering_params() + npp = gf.NewPhysicsParams() + fitter = gf.GolemFit(datapaths, sparams, npp) + set_up_as(fitter, asimov_paramset) + return fitter + +def get_llh(fitter, params): + fitparams = gf.FitParameters(gf.sampleTag.HESE) + for x in params.iterkeys(): + fitparams.__setattr__(x, float(params[x])) + llh = -fitter.EvalLLH(fitparams) + return llh + +asimov_paramset = {'astroFlavorAngle1': 4/9., 'astroFlavorAngle2': 0.} +print 'injecting', asimov_paramset +fitter = setup_fitter(asimov_paramset) + +test_paramset = {'astroFlavorAngle1': 0.36, 'astroFlavorAngle2': -0.57} +print 'testing', test_paramset +print 'llh', get_llh(fitter, test_paramset) + +test_paramset = {'astroFlavorAngle1': 0.385224559219, 'astroFlavorAngle2': -0.157617854374} +print 'testing', test_paramset +print 'llh', get_llh(fitter, test_paramset) + +test_paramset = {'astroFlavorAngle1': 0.415578500878, 'astroFlavorAngle2': -0.0196186993217} +print 'testing', test_paramset +print 'llh', get_llh(fitter, test_paramset) + +test_paramset = {'astroFlavorAngle1': 4/9., 'astroFlavorAngle2': 0} +print 'testing', test_paramset +print 'llh', get_llh(fitter, test_paramset) + +test_paramset = {'astroFlavorAngle1': 4/9, 'astroFlavorAngle2': 0} +print 'testing', test_paramset +print 'llh', get_llh(fitter, test_paramset) + + +import numpy as np +import matplotlib as mpl +mpl.use('Agg') +import matplotlib.pyplot as plt + +shape = (10, 100) +angle1_binning = np.linspace(0, 1, shape[0]) +angle2_binning = np.linspace(-1, 1, shape[1]) + +for an1 in angle1_binning: + llhs = [] + for an2 in angle2_binning: + test_paramset = {'astroFlavorAngle1': an1, 'astroFlavorAngle2': an2} + llhs.append(get_llh(fitter, test_paramset)) + plt.plot(angle2_binning, llhs, label='astroFlavorAngle1 = {0}'.format(an1)) +plt.xlabel('astroFlavorAngle2') +plt.ylabel('LLH') +plt.legend() +plt.savefig('llh_profile_fastmode.png'.format(an1)) diff --git a/test/test_gf_simple.py b/test/test_gf_simple.py new file mode 100644 index 0000000..51460c1 --- /dev/null +++ b/test/test_gf_simple.py @@ -0,0 +1,23 @@ +import GolemFitPy as gf + +dp = gf.DataPaths() +npp = gf.NewPhysicsParams() +sp = gf.SteeringParams(gf.sampleTag.HESE) + +sp.quiet = False +# sp.fastmode = True + +golem = gf.GolemFit(dp, sp, npp) + +fp = gf.FitParameters(gf.sampleTag.HESE) +fp.astroFlavorAngle1 = 4./9. +fp.astroFlavorAngle2 = 0 + +golem.SetupAsimov(fp) + +fp_sh = gf.FitParameters(gf.sampleTag.HESE) +fp_sh.astroFlavorAngle1 = 0.36 +fp_sh.astroFlavorAngle2 = -0.57 + +print 'Eval fp = {0}'.format(golem.EvalLLH(fp)) +print 'Eval fp_sh = {0}'.format(golem.EvalLLH(fp_sh)) |
