Present: Valentin, Graeme, Andre, Geri, David, Xiaomei, Xingtao, someone else from IHEP
Agree to go for EDM4hep (if you really care argue on github)
Valentin will contact Acts people.
An important aspect of EDM4HEP is usability, which includes that the implementation plays nicely with standard workflows, p.ex.
RDataFrame seems to have a lot of momentum and support so should be thought of as well.
I (Valentin) was asked to present some work I previously did on the usage of RDataFrame in FCC Analyses at the next ROOT Parallel Programming meeting.
Since these analyses use the FCC-edm/podio this is a very related topic, and it will be good opportunity to give the root devs a chance to voice their thoughts.
To quickly summarize what I did: None of the FCC Analyses actually need to use any relations, so I construct a RDataFrame from the plain root file (which is filled with
std::vector<EDMTYPEData> and write some lambdas to do the needed operations (mainly filtering, tagging, calculating resonances etc …)). Here is an example of what that looks like: https://github.com/vvolkl/FCChhAnalyses/blob/3f328dddb8b0f2dba5a5dcde34a8d3eb88d47b3b/FCChhAnalyses/FCChh/tth_4l/dataframe/fcc_ana_tth_4l.cxx
(There was some more work involved to be able to use the configuration files from another analysis library, heppy with RDataFrame, but that’s not too relevant for EDM4HEP)
Are these lambdas are specific to the EDM? Could perhaps be supported directly in PODIO? Frank thinks so.
Example is calculating the p_t from an MC particle (doing this on a vector of particles, in particular).
Valentin will feedback after the ROOT meeting.
Have a look at the examples that Frank put in - ACTION on everyone.