Chapter 1. Boost.Histogram

Hans Dembinski

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

Boost.Histogram provides an easy-to-use, fast, and extensible multi-dimensional histograms and profiles.


An overview of the features included in the library, the motivation and rationale.

Getting started

See the library in action in a few heavily commented examples. Copy/paste from these examples to kick-start your project.

User guide

An in-depth user guide that introduces all aspects of the library, starting simple and ending with the advanced features.


Detailed class and function reference.


Read this if you want to make custom axis types, storage types, and more that work with the library.


The performance of this library is compared with other popular libraries.


Thoughts behind the design for contributors and future maintainers of the library.


Log of code changes.


Klemens Morgenstern helped to make this library Boost-compliant, converting the documentation and adding Jamfiles, and provided code improvements.

Mateusz Loskot kindly agreed to fill the role of the Review Manager for this library and contributed various patches.

Steven Watanabe provided a very detailed review of the documentation and code of the library. Great reviews were submitted by Bjorn Reese, Jim Pivarski, Klemens Morgenstern, and Alex Hagen-Zanker. Comments and suggestions were provided by Andrea Bocci, degksi, Glen Fernandes, Gavin Lambert, Seth, and Mateusz Loskot. Peter Dimov, Vinnie Falco, and Glen Fernandes were invaluable source of information and feedback on the Cpplang Slack.

The members of the Scikit-HEP project provided valuable feedback and input on the design of this library, special thanks go to Henry Schreiner and Jim Pivarski.