The ROOT Mathematical and Statistical libraries have been recently improved to facilitate the modelling of parametric functions that can be used for performing maximum likelihood fits to data sets to estimate parameters and their uncertainties.
We report here on the new functionality of the ROOT TFormula and TF1 classes to build these models in a convenient way for the users. We show how function objects, represented in ROOT by TF1 classes, can be used as probability density functions and how they can be combined together—via an addition operator—to perform extended likelihood fit of several normalised components. We also describe how the functions can be used to perform convolution, using the Fast Fourier transforms provided in ROOT by the FFTW3 package. Furthermore, we present new capabilities of the fitting algorithms for dealing with new data classes such as the ROOT 7 histograms.
Finally, we report on the improvements in the performance of the ROOT fitting algorithm, by using SIMD vectorisation in evaluating the model function on large data sets and by exploiting multi-thread or multi-process parallelisation in computing the likelihood function.
We present these performance results by fitting some standard benchmark data sets and we compare the obtained results with other fitting software tools provided by ROOT such as RooFit.