Contributor
Yash Solanki

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