RNTupleModel :: principle question for efficient storage of common fields

Hi! So the context is basically well known:

  1. run info with a bunch of associated vars (POD, std::string)
    which is common to
  2. event/collision (meta)data (also bunch of associated data, could be non trivial in size)
    which is common to
  3. track(like) information

is there a way, to have a model (flat pod model, no object/struct) that would not replicate the common information for each track, but only point to the common variables?
and then process whatever hierarhical node i need

I’m trying to find alternative for multiple Trees bundled together in a TDirectory
where each tree have a different data (run/event/tracks + detector specific) tied together with a global index var, alternative that would allow me have a single structure in file and to just just parse (let’s say) collisions content but having for each track available the common meta-data (but without this metadata being replicated for each track and consuming space)
Thank a lot!!

Sorry for the long delay… Maybe @jblomer can help with RNtuple

That’s an interesting use case! So if I understand correctly, you are looking for I/O supported references/pointers across different RNTuples in the same file? Or would you ideally want to combine all information in a single RNTuple?

At the moment, we don’t have references in RNTuple. We still explore the use cases and the proper design. If you already have TTree files with manual indexing, could you share them with us?

Cheers,
Jakob

The idea what i’m trying to explore (so it’s a very vague “what if” idea, without a very specific goal) is to combine data from multiple trees in a singe RNTuple, and it’s about ALICE O2 data (you can see information of data model here: AO2D tables · ALICE O2 documentation)
If you need some file example i can look for a small enough one and contact you privately on mail or mattermost.

Thank you for the link to the O2 data model! That’s very useful.

Perhaps we can have a chat on the subject, either at CERN or on Zoom. A small example would certainly be very useful, too!

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