Skip to content

Major rewrite of histogramming components (and more)

Maximilian Emanuel Goblirsch-Kolb requested to merge RefactorPlot into master

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 the Plot class taking its place
  • Reduced degree of templating, in particular for the Plot and HistoFiller classes
  • The HistoFiller needs no longer be manually invoked by the user - this now happens fully automatic in the background
  • New PlotFormat and CanvasOptions 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 of PlotFormat and CanvasOptions
  • Performance improvements for multithreading
  • Move PlotUtils from a class to a namespace, package all previous internal state into the CanvasOptions 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

Merge request reports