-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GenericParameters should be stored the same way for TTree and RNTuple backends #590
Comments
At the time of writing the |
I would prefer the solution that makes the files more easy to read without root / with uproot actually. I also think that would probably play a bit nicer with RDataFrame (without having ever tested this). |
For RDataFrame the easiest way to access GenericParameters is to include the header and use the real type. ROOT.gInterpreter.Declare("#include <podio/GenericParameters.h>")
df = df.Define("xsec_fb", "PARAMETERS.getValue<float>(\"crossSection\")") I.e. as long as |
I am not sure we can really preserve the currently possible behavior for reading the parameters as a My currently favored options at the moment would be to either
|
Yes please! But then it would be really good to have a clear time line for the RDataSource before we break stuff that works at the moment... |
Todo: Add something to make the use of GenericParameters easier in FCCAnalysis |
Currently the
ROOTWriter
andROOTReader
(TTree) based store theGenericParameters
of a Frame directly via a custom dictionary, e.g.:podio/src/ROOTReader.cc
Lines 42 to 46 in 02a4b9d
On the other hand the RNTuple backend splits these up into pairs of vectors for the keys and the values:
podio/src/RNTupleWriter.cc
Lines 249 to 257 in 02a4b9d
These should both use the same mechanism to avoid confusion. Given that RNTuple doesn't support writing map types and that pairs of vectors are easier to interpret without knowing about GenericParameters, we decided to switch the TTree based backend to that as well. See EDM4hep meeting on Apr 23, 2024
The text was updated successfully, but these errors were encountered: