Published 2020 | Version v1
Journal article

Recent developments in histogram libraries

  • 1. Max Planck Institute for Nuclear Physics, Heidelberg (Germany)
  • 2. Princeton University, Princeton (United States)

Description

Boost.Histogram, a header-only C++14 library that provides multidimensional histograms and profiles, became available in Boost 1.70. It is extensible, fast, and uses modern C++ features. Using template metaprogramming, the most efficient code path for any given configuration is automatically selected. The library includes key features designed for the particle physics community, such as optional under- and overflow bins, weighted increments, reductions, growing axes, thread-safe filling, and memory-efficient counters with high-dynamic range. Python bindings for Boost.Histogram are being developed in the Scikit-HEP project to provide a fast, easy-to-install package as a backend for other Python libraries and for advanced users to manipulate histograms. Versatile and efficient histogram filling, effective manipulation, multithreading support, and other features make this a powerful tool. This library has also driven package distribution efforts in Scikit-HEP, allowing binary packages hosted on PyPI to be available for a very wide variety of platforms. Two other libraries fill out the remainder of the Scikit-HEP Python histogramming effort. Aghast is a library designed to provide conversions between different forms of histograms, enabling interaction between histogram libraries, often without an extra copy in memory. This enables a user to make a histogram in one library and then save it in another form, such as saving a Boost.Histogram in ROOT. And Hist is a library providing friendly, analyst-targeted syntax and shortcuts for quick manipulations and fast plotting using these two libraries.

Availability note (English)

Available from https://www.epj-conferences.org/articles/epjconf/pdf/2020/21/epjconf_chep2020_05014.pdf; https://doaj.org/article/46240ad978d44639b4a6b5d9d0c58f8c

Additional details

Publishing Information

Journal Title
EPJ. Web of Conferences
Journal Volume
245
Journal Page Range
vp.
ISSN
2100-014X

Conference

Title
24. International Conference on Computing in High Energy and Nuclear Physics
Acronym
CHEP 2019
Dates
4-8 Nov 2019
Place
Adelaide (Australia)

INIS

Country of Publication
France
Country of Input or Organization
France
INIS RN
53090164
Subject category
S97: MATHEMATICAL METHODS AND COMPUTING;
Resource subtype / Literary indicator
Conference
Descriptors DEI
COMPUTER CODES; DESIGN; PROGRAMMING; PYTHON
Descriptors DEC
PROGRAMMING LANGUAGES