Unfolding algorithms and tests using RooUnfold
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.
💡 Research Summary
**
The paper presents RooUnfold, a ROOT‑based C++ framework that unifies several widely used unfolding algorithms—Iterative Bayesian, Singular Value Decomposition (SVD), and TUnfold—under a common interface. By encapsulating the response matrix in a dedicated RooUnfoldResponse object and providing algorithm‑specific subclasses (RooUnfoldBayes, RooUnfoldSvd, RooUnfoldTUnfold, plus reference methods RooUnfoldBinByBin and RooUnfoldInvert), the package allows physicists to train a detector response once, store it, and reuse it for any number of unfolding tasks. The framework automatically handles 1‑, 2‑, and 3‑dimensional histograms, variable binning, under‑/overflow bins, and offers three error‑evaluation modes: simple bin‑by‑bin errors, full covariance propagation from measurement uncertainties, and Monte‑Carlo toy‑based covariance estimation.
Iterative Bayesian unfolding follows D’Agostini’s method. The number of iterations acts as the regularisation parameter; typically four iterations give a good balance between bias and variance. RooUnfoldBayes uses the training truth distribution as the initial prior rather than a flat one, which speeds convergence. The original D’Agostini error propagation neglects the dependence of the unfolding matrix on the prior after the first iteration, leading to a systematic under‑estimation of uncertainties when more than one iteration is used. The paper derives the missing term, shows how to compute the full Jacobian ∂n̂/∂n, and demonstrates that including this term brings the Bayesian error estimate into excellent agreement with toy‑Monte‑Carlo RMS studies.
SVD unfolding is accessed via the TSVDUnfold class. Regularisation is achieved by truncating small singular values; the cutoff index k determines the trade‑off between bias (small k) and statistical fluctuations (large k). RooUnfoldSvd propagates the statistical uncertainties of the response matrix into the unfolded covariance matrix, providing a realistic error estimate. The authors illustrate the sensitivity of the result to the choice of k using a toy model with a double‑Breit‑Wigner truth distribution.
TUnfold implements matrix inversion with 0‑, 1‑, or 2‑order polynomial regularisation of neighbouring bins. RooUnfoldTUnfold automatically builds the regularisation matrix for 2‑D and 3‑D problems and can scan the L‑curve (log χ² vs. log τ) to determine the optimal regularisation strength τ. In the presented tests τ≈0.004 yields the smallest χ² for the double‑Breit‑Wigner case.
The paper also includes two reference, unregularised methods: a simple bin‑by‑bin correction (RooUnfoldBinByBin) and a direct matrix inversion with singular‑value removal (RooUnfoldInvert). These are provided for completeness but are discouraged for production analyses because they are highly sensitive to the Monte‑Carlo model and can produce large bin‑to‑bin correlations.
A comprehensive toy‑Monte‑Carlo test suite is described. The authors generate training data from a wide Gaussian PDF and test data from a double‑Breit‑Wigner PDF, applying smearing, shifts, and a variable efficiency to mimic detector effects. They perform 1‑D, 2‑D, and 3‑D unfolding with each algorithm, scanning the respective regularisation parameters. Results show: (i) Bayesian unfolding with four iterations reproduces the truth with modest bias; (ii) SVD with k=30 gives the best compromise between bias and variance; (iii) TUnfold with τ≈0.004 provides the lowest χ². The covariance matrices differ markedly among the methods, highlighting the importance of a proper error treatment.
Finally, the development history and future plans are outlined. RooUnfold originated in the BABAR software environment in 2007 and has since been adopted by many particle‑physics, astroparticle‑physics, and nuclear‑physics groups. Ongoing work within the Helmholtz Alliance Unfolding Framework Project aims to add systematic uncertainty handling for the response matrix and correlated measurement bins. RooUnfold is slated for inclusion in the official ROOT distribution alongside TUnfold and TSVDUnfold, which will further standardise unfolding practices across the high‑energy physics community.
Comments & Academic Discussion
Loading comments...
Leave a Comment