While playing with RDataFrames and RNtuples, I noticed that JSROOT sometimes fails to show the content of RNTuples in the viewer. This is not the case with all RNtuples. I was able to explore and plot the content of a different RNtuple, so the issue seems to be related to RNtuple (or TFile??) content?
In case it’s useful, an example of both cases is available here:
I used the latest ROOT pip wheel for producing the RNuples.
For completeness, the same issue is not present if the same data is saved as TTrees.
Cheers,
Alessandro
ROOT Version: 0.1a9/6.38, JSROOT 7.10 Platform: Linux Compiler: Not Provided
If I open the files online ( Read a ROOT file ) I don’t seem to see that problem, see below; what is different for you? One thing is that in f_tuple.root the tree called tuple is directly on the first level directory inside the file, and in f_tuple_not_shown.root the (same?) tree has a different name (tpmaker…) and is inside a couple levels (triggerAna/TriggerPrimitives), but I can draw the variables by clicking on them.
Thank you for checking.
I am able to inspect/plot/draw the ntuple file too, using root.cern.ch/js/7.10.1/.
When trying to open the file, I used
the CERNBox root file reader: with this, I couldn’t open any of the RNtuples. I think it uses ROOTJS 7.8.2. I guess this is expected since RNtuple support was added to ROOT JS 7.10.0.
It may be a good time for CERNBox to switch to a newer version…
The VSCode ROOT extension (ROOTJS 7.10.0), where I see what is described above.
I can’t reproduce it using root.cern.ch/js/7.10.0/ so I guess this is probably a question for the extension author.
While we are at it, even using root.cern.ch/js/7.10.1/, JSROOT doesn’t draw uint64 leaves (e.g. the time_start leaf in the trigger primitives rntuple). Is that expected?
RNTuple support in JSROOT was indeed added recently but it’s still only partial - you can basically only visualize primitive types and strings. That said, uint64 should be supported, so this might be a bug. I would kindly invite you to open an issue so that we can track this problem and hopefully fix it in a timely manner.