Skip to content

Systematics management cleanup

Carsten Burgard requested to merge systematics-management-cleanup into master

For ease of review, the more bread-and-butter changes have been externalized to this MR: !699 (merged)

Release notes

Systematics management has been refactored significantly

  • New class TQSystematicsManager makes systematics management from SFramework now available in QFramework
  • TSModelBuilder now uses TQSystematicsManager
  • TQSystematicsHandler (aka yellow band factory) now also uses TQSystematicsManager

This achieves the ability to (for the first time) have a completely coherent implementation of systematic uncertainties for pre- and postfit.

Details

This MR contains several major types of changes:

  • Old legacy code from SFramework has been removed. This mostly affects the (now removed) TSHWWUtils as well as the (significantly slimmed down) ActionCreateModels
  • SFramework unit tests have been made a lot more restrictive by propagating escape codes of actions to the TSStatisticsManager
  • const correctness has been improved throughout TQHistogramUtils
  • code has been moved from SFramework to QFramework (TSSystematicsManager -> TQSystematicsManager, new class TSSystematicsManager inherits from `TQSystematicsManager and adds a few wrapper functions for compatibility)
  • TQSystematicsHandler (aka the yellow band maker) has been completely rewritten and now uses TQSystematicsManager as a backend.

The major achievements of this MR include:

  • significant reduction in code duplication
  • removal of dead code
  • speedup of yellow band making
  • implementation of advanced variation computations in yellow band maker

This MR is part of the "histogramming harmonization" effort.

Edited by Carsten Burgard

Merge request reports