RNTuples in
1
Andres Rios-Tascon
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
TTrees are dead, long live RNTuples!
2
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Supporting RNTuples in Scikit-HEP
3
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Projects in Scikit-HEP that could/will use RNTuples
4
Work not yet started, but (hopefully) relatively straightforward.
Work not yet started, but probably relatively straightforward.
Started looking into it. We’ll probably have to wait for dust to settle on CMS and ATLAS.
RNTuple support already pretty solid. The most important one since it’s the entry point for the other packages. Will discuss in more detail.
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
RNTuples in Uproot
5
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Working with RNTuples in Uproot
6
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Things left for RNTuple support in Uproot
7
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Tracking RNTuple support in Uproot
8
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
External factors that affect us
On the CMS side:
9
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Improving NanoAOD
Electron_pt (array[f32])
Electron_eta (array[f32])
Electron_phi(array[f32])
…
Electron (array[{pt (f32), eta (f32), phi (f32), …}])
HLT_AK8PFJet140 (bool)
HLT_AK8PFJet200 (bool)
HLT_AK8PFJet220_SoftDropMass40 (bool)
…
HLT ({HLT_AK8PFJet140 (bool), HLT_AK8PFJet200 (bool), …}]
(possibly with substructs to group things further)
10
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
I’m working towards this, but could use some help
11
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
External factors that affect us
On the ATLAS side:
12
I know very little.
Please talk to me!
No clue about ALICE or LHCb.
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Plan for TTree support
13
"The reports of my death have been greatly exaggerated"
- TTree
TTree
Jim’s plan (which I agree with) was to freeze development for TTree and only move forward with RNTuple. TTree support in Uproot is far from complete, but still very good. We’ll need to think when we should make this shift official.
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Moving to RNTuple by default
14
We’re planning to introduce a warning telling people that in ~6 months this will write an RNTuple instead of a TTree.
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Summary
15
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025
Thank you!
16
Andres Rios-Tascon
RNTuples in Scikit-HEP — PyHEP.dev 2025