GollumFit is an open-source framework developed by IceCube for performing binned-likelihood, high energy, diffuse, neutrino telescope analyses. In particular, GollumFit handles the fitting of monte carlo to data where the monte carlo may be parametrized by a large number of model parameters such as detector efficiencies and neutrino fluxes. We include model parameters common to all neutrino telescopes.
For details on the code, installation, usage, and examples, please visit the official documentation at https://docs.icecube.aq/gollumfit/main/index.html.
To build and run GollumFit, follow the instructions in the installation manual.
-
src/
Contains the C++ source code for GollumFit, including core modules for analysis weighting, event handling, and parameter management. -
include/
Contains header files (.h) for the C++ source code, along with additional headers such asjson.hppneeded by the project. -
examples/
Provides several example use cases:- expectations/: Scripts and files for generating and plotting expectation histograms.
- FastMC/: Scripts for fast Monte Carlo simulations.
- fitting_to_null/: Example scripts for generating fake data, computing likelihoods, and running related SLURM jobs.
- fluxes/: A collection of HDF5 files containing various neutrino flux models (e.g., astrophysical, atmospheric, etc.).
-
monte_carlo/
Contains a subdirectory (STERILE) with licensing files for Monte Carlo generation data used by GollumFit. -
docs/
Includes Doxygen configuration files and CSS for generating API documentation, as well as Markdown files for the user manual, code structure, and installation instructions. -
python/
Contains files to build the Python extension module (GollumFitPy), including source code, setup scripts, and build artifacts. -
docker/
Contains Docker configuration files including theDockerfilefor building a container image of GollumFit and a script to start a Jupyter server within the container. -
resources/
Provides additional resources:- AttenuationSplineMaker/: Tools and settings for creating attenuation splines.
- correlation_matrices/: Numpy files with flux and ice gradient correlations.
- DDMFluxMaker/: Scripts and data files for generating covariance matrices from flux models.
- FluxOscCalculator/: Tools for computing neutrino oscillation fluxes.
- Logo/: Official logos and images for GollumFit.
- Splines/: Directories with pre-computed splines for various parameters such as atmospheric kaon losses, ice gradients, and more.
Thank you for your interest in contributing to GollumFit! Please follow these steps:
-
Fork & Clone
Fork the repository on GitHub, then clone your fork locally. -
Create a Branch
Create a feature branch usinggit checkout -b feature/your-feature-name -
Make Changes
-
Commit & Push
Push usinggit push origin feature/your-feature-name -
Open a Pull Request
Submit a pull request against themainbranch and describe your changes. -
Reporting Issues
Please open an issue if you find bugs or have feature requests.