RooFit - Pythonic interaction with the RooWorkspace
- Mentors
- Jonas Rembser, Moneta
- Organization
- CERN-HSF
- Technologies
- python, c++, clang, Cppyy, cling
- Topics
- documentation, unit testing, Pythonization, C++ bindings for python
RooFit uses RooWorkSpace to manage its models. Currently, the syntax to interact with RooWorkspace is completely different from Python syntax, which makes the code less intuitive & harder to manage. The project aims at making the interaction with RooWorkspace more Pythonic.
Pythonization RooWorkspace is done in two main steps:
1.) Writing a C++ plugin for the RooWorkspace factory
2.) Writing Pythonizations
This is followed by making unit tests, writing documentation & writing tutorial for the new Pythonic interaction.
The deliverables for this project are:
● Develop a Pythonic alternative to RooWorkspace::factory()
● Pythonization of special operations of RooWorkspace along with support for creating Histfactory p.d.f.s using the JSON I/O
● Write unit tests to check the functionality of Pythonic code
● Make tutorials to demonstrate the usage of new functions in Python & improve documentation for HistFactory