With many researchers relying on ROOT's fitting framework RooFit for the fits of their statistical models to data there is a need for this framework to be both fast and user friendly. Recently, significant efforts were made to improve in both of these directions. For increased fitting speed a novel gradient-based parallelisation framework was built to supersede the already existing likelihood-based parallelisation framework. The main advantage of the newly implemented parallelisation strategy is its improved load balancing due to the use of a random work stealing algorithm for scheduling.
In order to hide the added complexity of this and potentially future developments from the end user a new interface to the fitting framework was also built. A factory design pattern was implemented for the building of likelihoods to allow the user to be agnostic towards the used fitting strategy on the back-end, while providing them with all the features formerly available in RooFit. This is the start of a larger effort to separate the statistical and computational aspects of RooFit.
This talk will introduce the aforementioned developments, cover recent work on benchmarking the parallelisation framework on use cases from the field of particle physics, and provide an overview of future benchmarking and improvement efforts.