Closed casesyh closed 4 years ago
It was unable to read one of the TBranches and created an object of type Undefined
as a placeholder, then the Undefined
object doesn't have some of the data it needs. Even though the TTrees are in the same file, they might have different versions if they got into that file by copying them from other files in some strange way. (Otherwise, they'd all have the same version.)
Could you try this in Uproot 4? It might work there because Uproot 4 has better deserialization routines (better able to deal with different versions of the same class), but even if it doesn't, Uproot 4 has better debugging output that could help to figure out what's happening in this file.
Thanks. Uproot 4 works. When would uproot 4 be the official uproot?
I'm glad it works for you! (So I'll be closing this issue.)
Uproot 4 being "official" can mean several different things:
uproot
in PyPI points to the Uproot4 code with PyPI version number 4.0+ and the GitHub repos are moved such that scikit-hep/uproot → scikit-hep/uproot3 and scikit-hep/uproot4 → scikit-hep/uproot: this will happen before the end of the year. (That's a deadline.) The exact date depends on when I finish the last two features: file-writing and documentation.But that's also why it has a different Python package name, so that you can make a gradual transition, taking the best of both until Uproot 4 completely replaces it in PyPI.
(And since the current uproot
will be moving to uproot3
, it will forever be available as import uproot3 as uproot
for projects that depend on the old interface.)
I was trying to read a tree from a root file, I got the error below. However reading other trees in the same root file was fine. Thanks.
AttributeError Traceback (most recent call last)