Automatic Differentiation of Binned Likelihoods With Roofit and Clad

Read full text
Authors: Garima Singh, Jonas Rembser, L. Moneta, David Lange, Vassil S. Vassilev
Cited by: 0
References: 7

Abstract

Abstract Just as data sets from next-generation experiments grow, processing requirements for physics analysis become more computationally demanding, necessitating performance optimizations for RooFit. One possibility to speed-up minimization and add stability is the use of Automatic Differentiation (AD). Unlike for numerical differentiation, the computation cost scales linearly with the number of parameters, making AD particularly appealing for statistical models with many parameters. In this paper, we report on one possible way to implement AD in RooFit. Our approach is to add a facility to generate C++ code for a full RooFit model automatically. Unlike the original RooFit model, this generated code is free of virtual function calls and other RooFit-specific overhead. In particular, this code is then used to produce the gradient automatically with Clad. Clad is a source transformation AD tool implemented as a plugin to the clang compiler, which automatically generates the derivative code for input C++ functions. We show results demonstrating the improvements observed when applying this code generation strategy to HistFactory and other commonly used RooFit models. HistFactory is the subcomponent of RooFit that implements binned likelihood models with probability densities based on histogram templates. These models frequently have a very large number of free parameters and are thus an interesting first target for AD support in RooFit.

Fields of Study & Subjects

Parallel Computing and Optimization Techniques Computational Physics and Python Applications Distributed and Parallel Computing Systems

Publication details

Journal / source
Journal of Physics Conference Series
Publisher
IOP Publishing
Volume
3206
Issue
1
Pages
012112–012112
Publication date
1 April 2026
Language
EN