ROOT Team Meeting

Europe/Zurich
32/1-A24 (CERN)

32/1-A24

CERN

40
Show room on map
Danilo Piparo (CERN), Jakob Blomer (CERN)
Zoom Meeting ID
63815034196
Host
Danilo Piparo
Alternative host
Philippe Canal
Useful links
Join via phone
Zoom URL

ROOT team meeting. 30.03.2026

About metrics to track progress

  • About issues, there are some issues we keep open just to track long-standing issues that can't be fixed very soon, what about those?
  • Keeping track of the issues number is maybe not the best metric, but it was useful to demonstrate our effort. Maybe it's a bit too early to remove it, but can be thought about
  • We had a similar discussion about the number of lines of code metric, everytime we have to add asterisks and it makes it more complicated to communicate clearly to our stakeholders
  • Things somewhat average out, some issues are misplaced, closed or are just a question that answers itself. Outliers are on both sides of the spectrum.
  • I started keeping track of what are the actual bugs among the open issues.

Further dependencies of ROOT

  • We need to understand whether to put xxhash at the same level of the compression libraries
  • Yes it's the same, because ROOT can't build without xxhash (RNTuple strictly requires it).

  • nlhomann json is different than other compression libraries. It requires the header at runtime because it's part of the API for REve for example. You may get inconsistent results if you have at runtime a different nlohmann json than the one used during the build.

  • So the suggestion is to encourage people not to use nlohmann json?
  • Yes
  • We introduced a relatively complete procedure to detect nlohmann json during compilation and loading of ROOT. So that the user doesn't do mistakes. Eve7 is a very special component, we can just require to install the system nlohmann json and then allow compilation only in such scenario. This library is already provided on many platforms so I don't see a problem with installing it from system.

Report from the ROOT advanced course

  • A lot of Python frameworks in the second bar on slide 3, and then the second last one says using Python frameworks

    • Different people were adding different types of answers all related to Python frameworks such as awkward
  • For the RooFit part, I had to speedup a bit also to gain back some time.

    • Yes, RooFit course can be as long as desired, this was a great start.
  • The advanced course in general was well received, we will definitely repeat this experience

  • Should we nurture the interest for C++ course?

    • Is it a real interest? Or just PhD students inheriting older codebases?

TTree investigation ZSTD vs ZLIB

  • Danilo: thanks for the investigation, should we repeat with RNTuple?

    • Yes, but don't overdo it, just make sure you don't see anything scary.
  • Philippe: given we're moving to default zlib-ng, shouldn't the new default be 102?

    • No, we decided we would use vanilla zlib for the builtin.
    • I know, but more distros will be using zlib-ng, so looking forward it might be worth setting the default to 102.
  • Philippe: have you tried with the experimental IO feature?

    • Yes, and the numbers are practically the same
  • Philippe: any progress in understanding why this happens?

    • Yes, let's discuss offline

Issues with LLVM

  • Vassil: It seems that LLVM 22 is a "bad release", a few regressions happening. We could identify 3 issues reproducible through CppInterop.

ePIC@EIC

  • We have been invited to give them a talk about "modern ROOT", 10th June

Using CPython limited API

  • Jonas R.: I've moved our CPython extensions to only use the Python limited API. This means that our CPython extensions can be built once for all Python versions we support, instead of one per Python version
    • Vincenzo: yes this could help streamline wheels and conda packages, but only if also cppyy
There are minutes attached to this event. Show them.
    • 1
      Find notetaker
    • 2
      News
    • 3
      Shift Handover

      Giacomo --> Devajith

    • 4
      Meeting Summaries and Plans

      ROOT Meetings:
      - I/O
      - Statistical Analysis Software
      - PPP
      - Python-C++ Bindings Meeting
      - Planning / Stakeholders

      Related meetings:
      - LIM

    • 5
      Topics
      • Liaisons' Reports
    • 6
      Round table