ROOT Team Meeting

32/1-A24 (CERN)



Show room on map
Danilo Piparo (CERN), Jakob Blomer (CERN)

Zoom link in announcement email; please contact if you did not receive it!

ROOT Team Meeting
Zoom Meeting ID
Axel Naumann
Alternative hosts
Bertrand Bellenot, Lorenzo Moneta, Danilo Piparo, Enrico Guiraud, Jakob Blomer, Vincenzo Eduardo Padulano
Useful links
Join via phone
Zoom URL


  • Kristupas joining, Erasmus student with CMS, staying with us for three months and working on RBatchGenerator

Meeting news


  • Peter van Gemmeren proposed a paged vector class that can read from storage as the vector is being iterated over


  • A RooFit workshop


  • Dima discussed his usage experience with RDF
  • Asked to bump priority on some features he needs
    • Most of all RInterface::Flatten


  • LHCb problem with ARM. Debug mode with assertion failure, ROOT built with one version of GCC and used with another version of GCC.
    [Jakob] Is this supported?
    [Vincenzo] Not explicitly, but experiments (at least ALICE and LHCb) do this all the time.

OpenLab students

Two projects were submitted by ROOT:
* Interactive large scale analysis with RDF (Marta, Vincenzo): list of candidates sent
* HPC I/O evaluation (Jonas Hahnfeld, Vincenzo): list of candidates sent



Issue fixed due to a merged PR that triggered a failure in roottest on Windows. We should be more careful with merging PRs and make sure they don't increase the number of failures.


Working on LLVM18. Still some failing tests, almost 9%.


Worked on a converter for HDF5 files from the DUNE DAQ to RNTuple. There is some discussion ongoing on how to bring ROOT into the DAQ, as the rest of the pipeline of the experiment already uses ROOT.

[Jonas Hahnfeld]

Working on EuroPar paper. Things are progressing well.

Some discussion ongoing with how RNTuple uses implicit MT in ROOT. Currently simply enabling EnableImplictMT in an RNTuple application can easily introduce deadlocks.


Submitted camera-ready poster for conference.
Working on the thesis, defense on March 22nd


CMS CAT workshop in Florence. A number of fruitful discussion. Understood highest-priority requirements. They gave us more solid examples to work on.

Started a few collaborations, they agreed that once bulk RDF is ready there are few people interested in testing.

Started collab with opendata team, once it's ready on their side we can provide some RDF example.

A few nice comments about new graphics from the people at the workshop.

[Jakob] Any surprises that we're not aware of?
[Marta] Some details on desiderata show that things are not so simple. Will further discuss in the proper contexts.


Benchmarking GenVectorX, promising results.


Worked on Helvetica font substitute TeX Gyre Heros. Implementing a new font turned out more difficult than expected and leading to various problems. Will substitute our current font with this one.


Work on TMapFile improvements.


[Jakob] The lxplus issue, is a problem on those nodes, not on ROOT?
[Serguey] At some point we decided to use "default browser", but what is that? It's some kind of configuration used in local files.

[Jakob] Qt-ROOT, where does this come from? Do we provide it?
[Bertrand] You can embed ROOT windows in any other toolkit, as soon as you get the ID of the window (generated by the window manager) and you can pair it to the window manager. Should still work on Windows. A problem appeared in Mac, they don't use the concept of Window ID anymore, but views, this breaks the behaviour. Embedding a canvas on a Qt application on Mac doesn't work anymore.
[Jakob] Should we provide more docs if we know this is flawed?
[Bertrand] The way we should advise is to use qt-web application, using the web widget to embed in Qt.
[Jakob] We should still signal clearly that this is a discouraged path for new users.


I added a comment about how to prepare for the testing of TMVA. Presently TMVA is not tested in the new CI for what concerns the external Python requirements not present in requirements.txt. We have an open PR to add the packages to requirements.txt. The proposal is merging the PR, then rebuild the image(s) and be prepared to fix the issues.
* What strategy for the images? Should we rebuild only one, only few?
* When should we merge the PR?

[Jonas H]
Once we merge the PR, all builds will take the updated requirements.txt. The moment we merge it, there is no testing phase anymore, everything will be run everywhere.

Maybe we can disable the TMVA option on some platforms?

[Jakob] Maybe we can have a manual run on platform with the updated requirements.txt

[Danilo] That we should do irrespectively. For the matrix of how many tests we want to, maybe we can use a bunch o build option to enable tests conditionally?

[Jonas H] That doesn't test the situation where a user has package X but not package Y

[Vincenzo] Nothing in the current GH actions CI can prepare that situation.

[Lorenzo] Nonetheless, it's what we should test.

Action items:
* New requirements.txt is going to be merged, Lorenzo will first test it in a container standalone and see what happens
* There will be some manipulation of CMake build flags on Linux builds to test e.g. TMVA-SOFIE on some platforms
* Windows is left out of this equation, for Mac we maybe have to choose one platform for this testing campaign e.g. Mac14 (Olivier).

There are minutes attached to this event. Show them.
    • 4:00 PM 4:01 PM
      Find notetaker 1m
    • 4:01 PM 4:05 PM
      News 4m
    • 4:05 PM 4:10 PM
      Shift handover 5m
    • 4:10 PM 4:20 PM
      Meeting Summaries and Plans 10m
      • I/O
      • TMVA
      • RooFit
      • PPP
      • Planning / Godparents /...
      • LIM
    • 5:00 PM 5:25 PM
      Round Table 25m
    • 5:25 PM 5:30 PM
      A.O.B. 5m