The RooFit toolkit for data modeling
Wouter Verkerke, David Kirkby
TL;DR
RooFit introduces an object-oriented framework inside ROOT for building and fitting probability density models using modular PDF building blocks. It emphasizes automatic PDF normalization, flexible composition (sum, product, convolution), and multi-dimensional modeling with projections, plotting, and Monte Carlo generation. The paper details advanced fitting options, efficiency optimizations, and data/project management tools that address analysis-scale challenges. Practically, RooFit has matured from BaBar-centric tooling to an open-source platform widely adopted in high-energy physics analyses.
Abstract
RooFit is a library of C++ classes that facilitate data modeling in the ROOT environment. Mathematical concepts such as variables, (probability density) functions and integrals are represented as C++ objects. The package provides a flexible framework for building complex fit models through classes that mimic math operators, and is straightforward to extend. For all constructed models RooFit provides a concise yet powerful interface for fitting (binned and unbinned likelihood, chi^2), plotting and toy Monte Carlo generation as well as sophisticated tools to manage large scale projects. RooFit has matured into an industrial strength tool capable of running the BABAR experiment's most complicated fits and is now available to all users on SourceForge.
