Unbinned analysis framework for Gammapy


Prof. Dr. Stefan Funk
Erlangen Centre for Astroparticle Physics (ECAP)
Friedrich-Alexander-Universität Erlangen-Nürnberg

Project Overview

For more than 30 years Imaging-Air-Cherenkov telescopes (IACTs) have been used to study the high-energy universe. They detect γ-rays between 20 GeV and 100 TeV which are produced in (or nearby) the
most violent phenomena in the universe, such as Supernova remnants, jets around spinning neutron stars or black holes. By observing the flux of high-energy particles, we aim to answer currently open physics questions such as which acceleration mechanisms are responsible for the acceleration of elementary particles to extreme energies or what is the nature of dark matter. The currently in-construction Cherenkov-Telescope-Array1 (CTA) will be the next-generation IACT array surpassing the sensitivity of currently operating IACTs, i.e. H.E.S.S, MAGIC, and Veritas. The official science-analysis tool of CTA will be Gammapy2 which released its first LTS v1.0 in Nov. 2022. Gammapy is open-source and builds on numpy, astropy, scipy, and other Python packages and is part of the NumFOCUS eco system3. Its innovative and flexible analysis framework is already very popular in IACT collaborations as it allows for 3D likelihood fitting, customized models, and the combination of data from different instruments. Initially developed for small field-of-view (FoV) instruments Gammapy now also support wide FoV instruments like Fermi-LAT or HAWC. And even the data of non-pointing neutrino detectors like KM3NeT can be processed with Gammapy which makes it a very promising tool in the raising era of multi-messenger astronomy. Because of the large data stores needed for the analyses, Gammapy is run frequently on HPC systems and will continue so as it gains more in popularity.

Therefore, we propose to identify problems and potential improvements of our current implementation as well as evaluating different implementation strategies jointly with a HPC expert. Before contributing our analysis to Gammapy we would like to optimize it for the usage on HPC systems and create benchmarks similar to those of the main package. Also Gammapy in general would benefit if we develop parallelisation strategies for the fitting, model evaluation, or likelihood computation which could be applied to the binned analysis as well.