RooFit is a toolkit for statistical modeling and fitting, and together with RooStats it is used for measurements and statistical tests by most experiments in particle physics, particularly the LHC experiments. As the LHC program progresses, physics analysis becomes more computationally demanding. Therefore, the focus of RooFit developments in recent years was performance optimization.
Recently, much of RooFit's core functionality has been re-implemented to include several performance optimizations to speed up your physics analysis. New highlights are the model evaluation on GPUs or with CPU vector instructions, the parallelization of the gradient computation on multiple processes, and various optimizations targeting the workflows of major RooFit users. Additionally, the recent RooFit release includes new PyROOT-specific features that improve the interoperability with the scientific Python ecosystem. Besides, the latest release also supports JSON export and import of the RooWorkspace.
This talk will give an overview of these speed and usability improvements and explain how you can get possible speedups in your statistical analysis. Furthermore, this talk will report on ongoing RooFit developments. They primarily aim for the automatic differentiation of RooFit models and analytical gradients support in the minimization. All gradient-related efforts are planned to be generalized for second derivatives, which are used for uncertainty analysis and some minimization algorithms.