JSROOT: Some RNTuples are not fully displayed


Hi,

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?

Cheers,
Alessandro

Maybe @linev can help.

Hello @thea,

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.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.