Source-linked AI summary
Unfolding algorithms and tests using RooUnfold
Tim Adye
TL;DR
RooUnfold addresses the need to compare unfolding algorithms within a shared framework. It implements or interfaces with several regularized and reference methods, common uncertainty and multidimensional tools, and toy-MC testing. The paper reports that propagated Bayes uncertainties can be significantly underestimated without a second error-propagation term, while full propagation agrees well with toy-MC tests.
Problem
Comparing unfolding algorithms requires a common framework that handles shared utilities, uncertainty evaluation, multidimensional distributions, and varied truth and measurement models.
Method
RooUnfold combines multiple unfolding algorithms with shared response-matrix, covariance, multidimensional, and toy-MC testing facilities.
Results
Bayes propagated uncertainties were significantly underestimated relative to toy MC, while full error propagation agreed well with toy-MC tests.
Takeaways & Limitations
The framework supports side-by-side algorithm comparisons and identifies incomplete Bayes error propagation as the source of underestimated uncertainties.
Takeaways & Limitations
Bin-by-bin and unregularized inversion methods are not generally recommended because they risk model bias, large bin-to-bin correlations, or magnified statistical fluctuations.
Abstract
from arXiv · showhide
The RooUnfold package provides a common framework to evaluate and use different unfolding algorithms, side-by-side. It currently provides implementations or interfaces for the Iterative Bayes, Singular Value Decomposition, and TUnfold methods, as well as bin-by-bin and matrix inversion reference methods. Common tools provide covariance matrix evaluation and multi-dimensional unfolding. A test suite allows comparisons of the performance of the algorithms under different truth and measurement models. Here I outline the package, the unfolding methods, and some experience of their use.
1 RooUnfold package aims and features
RooUnfold provides a common C++/ROOT framework for comparing unfolding algorithms while sharing response-matrix, covariance, multidimensional, and testing utilities.
- RooUnfold supports Iterative Bayes, SVD, TUnfold, bin-by-bin correction, and unregularized matrix-inversion methods within one framework.
- Its object-oriented classes share a common base class, while the response matrix can be prepared independently in a training program.
- Results can be returned as histograms with errors or vectors with full covariance matrices, with support for 1D, 2D, and 3D distributions.
- The framework supports multiple error calculations, including uncorrelated bin-by-bin errors, propagated covariance, and covariance from MC toys.
- Different bin layouts may produce poor results for algorithms relying on the global distribution shape, such as SVD.
- Toy MC tests vary PDFs, parameters, binning, algorithms, and regularization settings across 1D, 2D, and 3D distributions.
2 C++ classes
RooUnfold separates response construction, unfolding, and output, allowing training and unfolding workflows to use ROOT objects across one-, two-, and three-dimensional distributions.
- A RooUnfoldResponse can be built from a 2D response histogram plus 1D truth and measured projections, or filled directly with measured, true, and missed events.
- Response objects can be saved with ROOT streamers, separating MC training from the later unfolding program.
- A RooUnfold algorithm object combines the response object with measured data and selects implementations such as RooUnfoldBayes, RooUnfoldSvd, or RooUnfoldTUnfold.
- Unfolded results are available as TH1D, TH2D, or TH3D histograms, or as a TVectorD with a TMatrixD covariance matrix.
- Histogram outputs contain only diagonal errors, so they require care when substantial bin-to-bin migration creates correlations.
3 Unfolding algorithms
RooUnfold offers regularized and reference unfolding algorithms, with method-specific choices for iteration, singular-value filtering, polynomial constraints, and uncertainty treatment.
- Iterative Bayes’ theorem: RooUnfoldBayes repeatedly applies Bayes’ theorem, using iteration count as regularization and typically requiring about four iterations.
- Iterative Bayes’ theorem: The Bayes implementation starts from the training truth as its prior and may reach an optimum after fewer iterations without bias after iteration.
- Iterative Bayes’ theorem: By default, Bayes propagates data-sample errors but excludes response-matrix uncertainty from finite MC statistics.
- Singular Value Decomposition: SVD regularizes the matrix inversion by smoothly cutting off small singular-value contributions associated with high-frequency fluctuations.
- Singular Value Decomposition: SVD regularization must be tuned to distribution, binning, and sample statistics to balance training-sample bias against statistical fluctuations.
- TUnfold: TUnfold uses 0-, 1-, or 2-order polynomial regularization of neighbouring bins and can select τ by scanning the L-curve.
- Unregularized algorithms: Bin-by-bin and unregularized inversion methods are included for reference but are generally discouraged because they can bias results or magnify fluctuations and correlations.
4 Examples
RooUnfold’s toy tests deliberately separate training and test models, applying detector-like distortions and inefficiency before comparing unfolding performance.
- The examples train on a single wide Gaussian and test on a double Breit-Wigner, using different models for the two stages.
- Both models are smeared and shifted, with variable inefficiency applied to produce the measured distributions.
5 Unfolding errors
RooUnfold evaluates unfolding errors and correlations across Bayes, SVD, and TUnfold examples. For iterative Bayes unfolding, the original error propagation underestimates uncertainties, while full propagation agrees with toy MC tests.
- Covariance and correlations: Regularization creates correlations between bins, so a correct χ2 requires inversion of the unfolded covariance matrix.The covariance inverse may be numerically unstable when the matrix is poorly conditioned.
- Illustrative unfolding tests: The Bayes example applies four iterations to a smeared, shifted, inefficient measurement and displays diagonal errors alongside bin-to-bin correlations.The test truth is generated from a double Breit-Wigner PDF on a flat background; the measured distribution is then unfolded.
- Illustrative unfolding tests: SVD unfolding is tested with k = 30, while TUnfold is tested with τ = 0.004 and two measurement bins per truth bin.Both tests use the same training and test samples as the Bayes example.
- Bayesian error propagation: The original Bayes error calculation significantly underestimates uncertainties because it omits dependence on previous iterations.After the first iteration, the prior is replaced by the previous unfolded result, which depends on the measurements.
- Bayesian error propagation: Including the new second term in the error propagation gives errors that agree well with toy MC tests when more than one iteration is used.The resulting covariance matrix is obtained from the measurement covariance through the error propagation matrix.
6 Status and plans
RooUnfold was developed in BABAR, released stand-alone in 2007, and adopted by groups across particle, astrophysics, and nuclear physics. Ongoing plans target systematic-error handling and integration into ROOT.
- RooUnfold was first developed in the BABAR software environment and released as a stand-alone package in 2007.
- Since its release, physicists from particle physics, particle-astrophysics, and nuclear physics groups have used RooUnfold.
- The Unfolding Framework Project adopted RooUnfold as a framework for developing unfolding experience, software, algorithms, and performance tests.
- Development continues, including planned systematic-error estimates for response-matrix uncertainties and correlated measurement bins.
- RooUnfold is planned for incorporation into ROOT alongside the existing TUnfold and TSVDUnfold classes.