GolemFlavor is a Python package for running a Bayesian inference analysis pipeline using Astrophysical Flavor data taken at IceCube.
This is data of the flavor of a neutrino taken at the IceCube neutrino observatory, which is a cubic kilometer array of optical sensors embedded in the glacial ice at the South Pole. In particular, astrophysical neutrinos are ones that are very-high-energy and come from astrophysical origins such as active galactic nuclei.
For more on the physics behind neutrinos see here.
This package provides utilities for astrophysical neutrino propagation and Bayesian statistical modeling focused on advanced Markov Chain Monte Carlo (MCMC) algorithms. It has been used to make constraints on New Physics models in the Astrophysical Flavor, as motivated by the paper New Physics in Astrophysical Neutrino Flavor.
For more information on the statistical modeling see here.
- Portable Flavor Functions: A set of useful functions for calculating measured flavor compositions given a source composition and a mixing matrix.
- MCMC Algorithms: Affine invariant and nested sampling algorithms provided by emcee and MultiNest.
- Anarchic Sampling: Sampling of the neutrino mixing matrix is done under the neutrino mixing anarchy hypothesis to ensure an unbiased prior.
- Distributed and parallel computing: Scripts included to manage the workload across a CPU cluster using HTCondor.
- Visualization: Produce ternary plots of the flavor composition using the python-ternary package and joint posterior plots for analyzing MCMC chains using the getdist package.
You can find examples of how to use GolemFlavor in the
GolemFlavor/examples
directory.
The documentation for GolemFlavor can be found at https://golemflavor.readthedocs.io/.
GolemFlavor can be installed using pip
pip install git+https://github.com/ShiveshM/GolemFlavor.git
This installs GolemFlavor, along with all the necessary dependencies such as NumPy and SciPy.
GolemFlavor uses the IceCube software GolemFit: The HESE fitter
to fit with IceCube
Astrophysical Flavor data. This software is proprietary and so access is
currently limited to IceCube collaborators. A simple Gaussian likelihood can be
used as a substitute for test purposes if this requirement is not found.
GolemFlavor has the following dependencies:
Python
>= 2.7 or >= 3.4NumPy
SciPy
Six
mpmath
emcee
PyMultiNest
tqdm
Shapely
Matplotlib
python-ternary
GetDist
You can use pip
to install the above automatically. Note that PyMultiNest
requires the MultiNest
Bayesian inference library, see the PyMultiNest
documentation
for install instructions.
Additional dependencies:
Copyright (c) 2020 Shivesh Mandalia https://shivesh.org