Smoofit: a package for smooth binned likelihood fits

Documentation status Test status Test coverage

Smoofit is a package for binned likelihood fits in high-energy physics. It leverages the power of JAX to quickly compute the likelihood, even for large models featuring many bins, channels, processes or systematics, and to analytically compute the gradient of the likelihood (as well as the fit covariance matrix), leading to fast and stable fits. In addition, the computations can be offloaded to GPUs, leading to significant speed-ups when fitting large models.

It supports nearly arbitrary functional dependencies of the process yields on the parameters of interests, enabling the implementation of complex models for inference in the context of effective field theories, or for unfolding differential cross sections with or without regularization.


Smoofit is hosted on the CERN gitlab. This package is very much a beta version, still under active development: although the basic features needed for template fits are in place, many are still missing: have a look at the list of open issues. Also, there is no guarantee that the results are correct (it hasn’t been validated against other fitting tools yet), and there might be bugs lurking in the dark! Suggestions, bug reports or contributions are therefore welcome!