Open
Description
Pythonic interaction with the RooWorkspace
This issue tracks the progress on the GSoC project on the Pythonic interaction with the RooWorkspace:
https://hepsoftwarefoundation.org/gsoc/2023/proposal_RooFit-RooWorkspacePythonization.html
This project was assigned to @yashnator.
Milestones and TODOs
- Pythonic way to use the RooWorkspace factory language using
__setitem__
on the workspace ([PyROOT] Feature to initialise RooWorkspace objects in PyRoot using strings #12911) - Enable creation of pdf, functions and variables from Python dictionaries passed to
RooWorksapce.__setitem__
([PyROOT][RF] Feature to initialise RooWorkspace objects in PyRoot using dictionaries #12994) - Implement automatic loading of JSON IO keys ([RF] Automatic JSON I/O key management #13152)
- Support creation of binned datasets from dictionaries as described in this comment
- Move all logic except for
dict
to string conversion to the C++ side - Avoid using nlohmann-json directly, but use RooFits
JSONInterface
instead
Merged PRs
- [PyROOT] Feature to initialise RooWorkspace objects in PyRoot using strings #12911
- [PyROOT][RF] Feature to initialise RooWorkspace objects in PyRoot using dictionaries #12994
- [RF] Automatic JSON I/O key management #13152
- [RF][PyROOT] Refactor: move RooWorkspace variable creation logic to C++ backend #13150