aboutsummaryrefslogtreecommitdiffstats
path: root/golemflavor/llh.py
diff options
context:
space:
mode:
authorShivesh Mandalia <shivesh.mandalia@outlook.com>2020-03-01 23:23:21 +0000
committerShivesh Mandalia <shivesh.mandalia@outlook.com>2020-03-01 23:23:21 +0000
commit059f6ec9ead0c34004c98af0ef58565b2d410e93 (patch)
treea1faa98c431f8513bae63f5c1a951bac37e1286e /golemflavor/llh.py
parentbd23e7cdec7e8c70ac4feeb77b21cfcf2c775f3c (diff)
downloadGolemFlavor-059f6ec9ead0c34004c98af0ef58565b2d410e93.tar.gz
GolemFlavor-059f6ec9ead0c34004c98af0ef58565b2d410e93.zip
Add example notebooks to show how to use GolemFlavor
Diffstat (limited to 'golemflavor/llh.py')
-rw-r--r--golemflavor/llh.py27
1 files changed, 23 insertions, 4 deletions
diff --git a/golemflavor/llh.py b/golemflavor/llh.py
index 14678b6..645ba6e 100644
--- a/golemflavor/llh.py
+++ b/golemflavor/llh.py
@@ -23,15 +23,34 @@ from golemflavor.misc import enum_parse, gen_identifier, parse_bool
def GaussianBoundedRV(loc=0., sigma=1., lower=-np.inf, upper=np.inf):
- """Normalised gaussian bounded between lower and upper values"""
+ """Normalized Gaussian bounded between lower and upper values"""
low, up = (lower - loc) / sigma, (upper - loc) / sigma
g = scipy.stats.truncnorm(loc=loc, scale=sigma, a=low, b=up)
return g
-def multi_gaussian(fr, fr_bf, sigma, offset=-320):
- """Multivariate gaussian likelihood."""
- cov_fr = np.identity(3) * sigma
+def multi_gaussian(fr, fr_bf, smearing, offset=-320):
+ """
+ Multivariate Gaussian log likelihood.
+
+ Parameters
+ ----------
+ fr : List[float], length 3
+ The flavour composition to evaluate at.
+ fr_bf : List[float], length 3
+ The bestfit / injected flavour composition.
+ smearing : float
+ The amount of smearing.
+ offset : float, optional
+ An amount to offset the magnitude of the log likelihood.
+
+ Returns
+ ----------
+ llh : float
+ The log likelihood evaluated at `fr`.
+
+ """
+ cov_fr = np.identity(3) * pow(smearing, 2)
return np.log(multivariate_normal.pdf(fr, mean=fr_bf, cov=cov_fr)) + offset