Skip to content

Draft: RNTuple Storage Technology for Athena/APR

Marcin Nowak requested to merge mnowak/athena:RNTuple into master

This is an implementation of a new APR Storage Technology using ROOT RNTuple.

The eventual goal is to be able to use RNTuple in the same way as we use TTrees and TBranches now, simply by specifying the new StorageTech.
RNtuple Storage Technology can be enabled by setting this property: AthenaPoolCnvSvc::StorageTechnology Property to ROOTRNTUPLE (now ROOTTREEINDEX)

Things not working yet:

  • more complicated cases of DataVector can not be read back
  • ElementLinks will not be initialized correctly when reading (no container name)
  • backfilling for new dynamic attributes is disabled
  • no support for std::map and std::set

Build procedure: use asetup master--dev3LCG,latest,Athena
packages to build:

  • Database/AthenaPOOL/AthenaPoolCnvSvc
  • Database/APR/.*
  • Database/AthenaRoot/RootAuxDynIO
  • Event/xAOD/xAODCore

Implementation details:
There is one RNTuple per original TTree, name is changed to RNT:

Edited by Marcin Nowak

Merge request reports