RDataFrame feature request: Filter "OR" for Snapshot with variations

Hi!

I know the VariationsFor(SnapshotPtr_t resPtr) implementation is still a work-in-progress, and I don’t know what approach will be followed exactly, so I will take this chance to make a small request:

It would be extremely useful if, as an option if this is not the default approach already being considered, the output of the VariationsFor(df.Snapshot(...)) call could be a single tree with an “OR” applied over all acting variations on each Filter, instead of different trees, one for each variation (like what we currently have for histograms).

This would be extremely useful for skimming scripts used on NTuples with kinematic systematic variations that affect Filters applied during the skimming. In most of these cases, we want our output NTuples to have roughly the same structure as the original tree (with maybe some additional/removed columns), and all the systematic variations.

Furthermore, a set of boolean flag columns could be optionally stored, signaling which filter-variation combination was passed on each RDF entry.

Thanks for all the ongoing work!

Best,

Jean Yves

Jean Yves,

Thanks for your input on this important topic. As a matter of fact, the topic of “Varied Snapshots” is something which has currently high priority. We’ll not have the time to deliver this for the ROOT 6.34.00 release, expected in November, however we’ll do our best to ship the feature with 6.36.00, foreseen in May.
Technical discussions are already quite advanced: let me add in the loop @StephanH @mczurylo and @vpadulan , the RDF lead developers.

Cheers,
Danilo

1 Like