Major rewrite of histogramming components (and more)
This MR merges a major revision of the histogramming related components in the package. These changes break backward compatibility, the branch [Legacy] has been set up to track the code as it was before the changes, allowing for future bug fixes.
Changes include:
- The
Plot
class now has a greatly enhanced flexibility, with several behaviours accessible via a range of constructors - The
PlotDescription
class is gone, with thePlot
class taking its place - Reduced degree of templating, in particular for the
Plot
andHistoFiller
classes - The
HistoFiller
needs no longer be manually invoked by the user - this now happens fully automatic in the background - New
PlotFormat
andCanvasOptions
classes allow a fine degree of control over histogram formatting, drawing and general plot configuration - Automated plotting is provided in the
DefaultPlotting
namespace, making use ofPlotFormat
andCanvasOptions
- Performance improvements for multithreading
- Move
PlotUtils
from a class to a namespace, package all previous internal state into theCanvasOptions
class. - More convenient instantiation of
Sample
class - New helper program to automatically write appropriate
NtupleBranchMgr
classes for user-provided trees
Please see the commit history and updated Readme for a more detailed description of changes