Abstract

Statistical modeling and fitting is a key element in most HEP analyses. This task is usually performed in the C++ based framework ROOT/RooFit. Recently the HEP community started shifting more to the Python language, which the tools above are only loose integrated into, and a lack of stable, native Python based toolkits became clear. We presented zfit, a project that aims at building a fitting ecosystem by providing a carefully designed, stable API and a workflow for libraries to communicate together with an implementation fully integrated into the Python ecosystem. It is built on top of one of the state-of-theart industry tools, TensorFlow, which is used the main computational backend. zfit provides data loading, extensive model building capabilities, loss creation, minimization and certain error estimation. Each part is also provided with convenient base classes built for customizability and extendability.

Highlights

  • Analysis of data collected from High Energy Physics experiments, such as the one stationed around the Large Hadron Collider, was performed predominantly in a C++ ecosystem

  • The HEP community recently shifted more towards the Python language as the preferred tool to use in analysis making use of the open ecosystem

  • The preferred tool for this task is RooFit [2], which is integrated into the ROOT [1] C++ toolkit

Read more

Summary

Introduction

Analysis of data collected from High Energy Physics experiments, such as the one stationed around the Large Hadron Collider, was performed predominantly in a C++ ecosystem. The preferred tool for this task is RooFit [2], which is integrated into the ROOT [1] C++ toolkit This step, model fitting, is a statistical tool that is used in many fields, in contrast to most other fields though HEP has strong requirements to such a tool. The zfit project was created to fill this gap; to provide a stable ecosystem for fitting in HEP It focuses only on model fitting and sampling and has three essential goals: defining a workflow and stable API to allow other libraries to be built around; using a state-of-the-art computational backend that keeps up with modern architecture and delivers performance on the level of current C++ tools; providing a strong implementation that is extendable by the community using entry points such as pre-defined methods that can be overriden in base classes

Workflow and API
Computational Backend
Implementation

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.