Published September 22, 2023
| Version v1
Report
Open
Comparative Benchmarks for RooFit in Python
Contributors
Supervisor (2):
Description
The statistical models that are used in modern High Energy Physics (HEP) research are independent of their specific implementations. As a consequence, many different tools have been developed to perform statistical analyses in HEP. These implementations differ both in their performance, but also in their usability. In this scenario, comparative benchmarks are essential to aid users in choosing a library and to support developers in resolving bottlenecks or usability shortcomings. The goal of this project was to make a comparison of some of the most used tools in statistical analyses. The Python package pyhf focuses on template histogram fits, which are the backbone of many analyses at the ATLAS and CMS experiments. In contrast, zfit mainly focuses on unbinned fits to analytical functions. These frameworks are compared to the C++ library RooFit, which is used via Python bindings. RooFit can perform both template histogram fits and unbinned fits and is thus compared to both other packages. The benchmarks show that the RooFit backends 'legacy' and 'cpu' perform best for template histogram fits with few bins, while the JAX backend of pyhf is the fastest backend for many bins. For multiple channels, all pyhf backends perform much worse. In unbinned fits, the 'cpu' and 'cuda' modes of RooFit perform much better than the zfit implementation on both CPU and GPU. The 'codegen' mode, using AD, performs better than the default for many events.
Files
Summer_Student_Report_Daniel_Werner.pdf
Files
(1.8 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:9965e22c29b65f0623171570944bab54
|
1.8 MB | Preview Download |
Additional details
Identifiers
- CDS Report Number
- CERN-STUDENTS-Note-2023-169
CERN
- Department
- EP - Experimental Physics Department
- Experiment
- ATLAS , CMS