The Scikit-HEP project is a collection of several dozen packages intended to facilitate the use of Python in High Energy Physics (HEP), started in 2016. One of the major fronts of development is in histogramming; a majority of HEP analysis is heavily reliant on histograms. To this end, a new Python package was introduced for histogramming in Scikit-HEP, boost-histogram, developed in close collaboration with the author of the Boost C++ libraries’ Histogram package. This package is intended to be a core package for histogramming with no dependencies, much like Numpy is for data structures.
Scikit-HEP developers are preparing an implementation of an analyst friendly package, called “hist”, built on top of boost-histogram and providing plotting, saving/loading, and other commonly expected histogramming features. This package will allow a wider range of dependencies and features not admissible in the core package. Two other packages have already been developed that will help support Hist; one is Aghast, a histogram conversion library that can convert formats and save histograms; and the other is mplhep, a plotting helper library for matplotlib that can be integrated with the Histogram objects being produced by Hist/boost-histogram.
The goal of this project will be to assist in the development of Hist, building on top of the three existing libraries and enabling common analysis tasks to be performed with a reasonable amount of readable code.
By the end of the summer, Hist should be able to perform several common plotting tasks easily, it should be able to save/load basic histograms, and it should be able to perform a few common statistical operations.
Contact the mentors for a task that we’ll use to evaluate candidates.