Skip to content

AthenaMonitoringKernel: Extend Rebinable class to 2D

Frank Winklmeier requested to merge fwinkl/athena:mon_rebin into master

Allow the creation of "rebinable" 2D histograms. Implementation-wise this is handled by converting the existing HistogramFillerRebinable1D class into a "Mixin" class that is templated with the base class (1D or 2D) and the histogram axis that is supposed to be rebinable. Note the extensive use of constexpr to optimize most of the configurability away during compile time.

Typedefs are provided to handle the existing 1D case (for which there are no functional changes) and the three new cases to rebin 2D histograms along x, y and both axes. An additional unit test suite for the 2D case has been added.

TODO: Currently one can only configure 2D histograms that are rebinnable in both axes. Need to decide whether to introduce kAddBinsDynamically[X,Y] and kRebinAxes[X,Y] flags to be more specific. (will do this as a separate MR).

cc @tbold @cburton @ponyisi

Edited by Frank Winklmeier

Merge request reports