Skip to content

Can not access REntry fields with DataVector in python #19022

Open
@Nowakus

Description

@Nowakus

Check duplicate issues.

  • Checked for duplicates

Description

An error is reported when trying to access REntry fields of type related to DataVector (a class with a default template argument) in python:

entry["HLTNav_RepackedFeatures_MET"]      # field of type: DataVector<xAOD::TrigMissingET_v1>

 File "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev3/Tue/ROOT/HEAD/x86_64-el9-gcc13-opt/lib/ROOT/_pythonization/_rntuple.py", line 28, in _REntry_getitem
    ptr_proxy = self._CallGetPtr(key)
 File "/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev3/Tue/ROOT/HEAD/x86_64-el9-gcc13-opt/lib/ROOT/_pythonization/_rntuple.py", line 24, in _REntry_CallGetPtr
    return self._GetPtr[fieldType](key)
TypeError: Could not find "GetPtr<DataVector<xAOD::TrigMissingET_v1>>" (set cppyy.set_debug() for C++ errors):
  Failed to instantiate "GetPtr<DataVector<xAOD::TrigMissingET_v1>>(::ROOT::RFieldToken&)"

Reproducer

# standard ATLAS Athena setup:
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
source $ATLAS_LOCAL_ROOT_BASE/user/atlasLocalSetup.sh
asetup main--dev3LCG,latest,Athena
python

import ROOT
rnt = ROOT.RNTupleReader.Open("EventData", "/afs/cern.ch/user/m/mnowak/public/DAOD_PHYS.rntuple.pool.root")
entry = rnt.CreateEntry()
rnt.LoadEntry(1, entry)
entry["HLTNav_RepackedFeatures_MET"]

ROOT version

master

Installation method

LCG dev3

Operating system

Linux

Additional context

No response

Metadata

Metadata

Labels

bugexperimentAffects an experiment / reported by its software & computimng expertsin:RNTuple

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions