ROOT 7 road map?

ROOT 7 has been advertised for a while but there doesn’t seem to be a lot of information about it yet. For those of us planning future experiments it would be useful to have some sort of road map as to what is planned and likely time scales. I would be grateful if more information were forthcoming.

I’ll let @Axel reply to that once he’s back from vacation

Is he back yet? ( Just posting a reply to keep the topic alive)

Yes, he is. Let’s ping him. @Axel ?

Dear @ajfinch - thanks for reaching out and apologies for the late response.

We are going to swap the major version number once RNTuple is production ready. That’s the technicality behind “ROOT 7”.

We are developing and releasing different parts at different pace, due to the need to focus our efforts. RDataFrame was one of the first elements to use the ROOT 7 style of interfaces; REve (2023), the web-based graphics system (2023), and RNtuple (2024) are on their way to production (respective release years). RHist development / a minimal viable product is planned for end of next year.

Does that help a bit? Is there something specific that you are after?

Cheers, Axel

Is that all that is planned, or will there be more after that? I am one of the people starting to think about HyperKamiokande software. This experiment is expected to run for several decades so we would like to know what changes that ROOT7 may bring that we need to be aware of when designing our software and thinking about data formats etc. In particular I guess anything that will not be backward compatible with ROOT6. Do you have plans to make greater use of STL features where they mirror ROOT ones for example? Are there any modern C++ features that we will need to use?

The ROOT7-style features I mentioned are all embracing STL-style interfaces; no TObject or TList etc, no raw pointers in user interfaces, etc. As examples, RNTuple needs C++17; RHist will likely require C++20 (concepts). ROOT itself requires C++14 these days.

Have a look for instance at ROOT::Experimental::RNTupleModel and friends, for typical examples of new interfaces.

We would be happy to hear how we can improve interfaces to match the needs of future experiments, especially as e.g. RNTuple is here to stay for the next >10 years, given for instance the LHC experiments’ commitments.

1 Like

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