Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to parse BASE error on TTree (TBaskets in TTree) #235

Open
oschulz opened this issue Apr 4, 2023 · 28 comments
Open

Unable to parse BASE error on TTree (TBaskets in TTree) #235

oschulz opened this issue Apr 4, 2023 · 28 comments
Labels
bug Something isn't working

Comments

@oschulz
Copy link
Member

oschulz commented Apr 4, 2023

With a fairly simple TTree generated by gears we (@fhagemann and me) get this error

julia> LazyTree(f, "t")
ERROR: Unable to parse 'BASE' of 'TTree'

Is this a known thing?

@fhagemann
Copy link

If needed we can provide an example file to reproduce this error

@Moelf
Copy link
Member

Moelf commented Apr 4, 2023

example file would be great

@fhagemann
Copy link

Thanks for looking into this.
Find an example file here.

@Moelf
Copy link
Member

Moelf commented Apr 4, 2023

@tamasgal because he recently refactored those code. From what I can tell, it's not a new issue, but the error message is now obscure, before 0.10.2, I see

julia> LazyTree("/tmp/gears.root", "t")
ERROR: UndefVarError: `TAttMarker_1` not defined

which we've seen many times. But in 0.10.2 the error message becomes what you see now.

@Moelf
Copy link
Member

Moelf commented Apr 4, 2023

idk why Geant4 would write out files like that, I think they're including legacy metadata not used, a simple re-procesisng with uproot makes the data readable:

In [18]: import uproot as up

In [19]: with up.recreate("/tmp/gears2.root") as f_out:
    ...:     f_in = up.open("/tmp/gears.root")["t"]
    ...:     f_out["t"] = {k: f_in[k].array() for k in f_in.keys()}
julia> LazyTree("/tmp/gears2.root", "t")
 Row │ xx                npdg   np     k                 m      y                 et                nxx    p                 nst 
     │ SubArray{Float6   Int32  Int32  SubArray{Float6   Int32  SubArray{Float6   SubArray{Float6   Int32  SubArray{Float6   Int 
─────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 1   │ [-39.4, -39.1, -  4      4      [2600.0, 2600.0,  -1     [9.24, 14.0, 72.  []                4      [2600.0, 2600.0,  4   
 2   │ [-36.8, -35.3, -  5      5      [2600.0, 2600.0,  -1     [6.12, 8.95, 48.  []                5      [2600.0, 2600.0,  5   
 3   │ [-37.3, -36.1, -  9      9      [2600.0, 2600.0,  1      [6.71, 9.85, 25.  [1860.0, 1860.0]  9      [2600.0, 2600.0,  9   
 4   │ [-32.8, -29.4, -  10     10     [2600.0, 2600.0,  1      [2.28, 3.36, 11.  [1910.0, 1910.0]  10     [2600.0, 2600.0,  10  
 5   │ [-33.6, -30.6, 4  5      5      [2600.0, 2600.0,  -1     [2.93, 4.29, 20.  []                5      [2600.0, 2600.0,  5   
 6   │ [-36.3, -34.6, -  15     15     [2600.0, 2600.0,  -1     [5.61, 8.18, 30.  []                15     [2600.0, 2600.0,  15  

@fhagemann
Copy link

Gotcha, this is very helpful for now, thanks!

@Moelf
Copy link
Member

Moelf commented Apr 4, 2023

@tamasgal
Copy link
Member

tamasgal commented Apr 5, 2023

Yes, the current error is suboptimal.

The main issue here is that we have very little test coverage for 32bit ROOT files and this is one of those:

julia> ENV["JULIA_DEBUG"] = UnROOT
UnROOT

julia> f = ROOTFile("/Users/tamasgal/Downloads/gears.root")
filename = "/Users/tamasgal/Downloads/gears.root"
┌ Debug: 32bit ROOT file
└ @ UnROOT ~/Dev/UnROOT.jl/src/root.jl:81

I need to dig deeper, but it's apparently using a TTree v5 and we only have support for more recent versions. I added the bootstrap logic for TTree v5 but it's not even hitting the TTree parsing, so it already chokes before that.

Here is the full debug log of the file opening, as we can see, a bunch of stuff is parsed somehow but it's unclear yet what's wrong. I'm having a look...

julia> ENV["JULIA_DEBUG"] = UnROOT
UnROOT

julia> f = ROOTFile("/Users/tamasgal/Downloads/gears.root")
filename = "/Users/tamasgal/Downloads/gears.root"
┌ Debug: 32bit ROOT file
└ @ UnROOT ~/Dev/UnROOT.jl/src/root.jl:81
┌ Debug: Unompressed stream at 51485631
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:100
┌ Debug: Found 56 streamers, continue with parsing.
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:109
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TObject' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'fUniqueID' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBits' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TObject
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TNamed' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fName' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTitle' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TNamed
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerInfo' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 4
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TNamed'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fCheckSum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fClassVersion' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fElements' with type 'UnROOT.TStreamerObjectPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TStreamerInfo
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerElement' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 7
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TNamed'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fType' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fSize' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fArrayLength' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fArrayDim' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaxIndex' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTypeName' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TStreamerElement
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerBase' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TStreamerElement'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fBaseVersion' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TStreamerBase
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerString' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TStreamerElement'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TStreamerString
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerBasicType' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TStreamerElement'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TStreamerBasicType
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerBasicPointer' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 4
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TStreamerElement'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fCountVersion' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fCountName' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fCountClass' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TStreamerBasicPointer
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerObject' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TStreamerElement'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TStreamerObject
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerObjectPointer' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TStreamerElement'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TStreamerObjectPointer
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TStreamerObjectAny' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TStreamerElement'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TStreamerObjectAny
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TArray' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'fN' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TArray
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TArrayI' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TArray'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fArray' with type 'UnROOT.TStreamerBasicPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TArrayI
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TArrayD' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TArray'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fArray' with type 'UnROOT.TStreamerBasicPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TArrayD
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TArrayF' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TArray'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fArray' with type 'UnROOT.TStreamerBasicPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TArrayF
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<char>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<char>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<short>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<short>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<int>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<int>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<unsigned char>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<unsigned char>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<unsigned short>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<unsigned short>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<unsigned int>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<unsigned int>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<float>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<float>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<double>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<double>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'vector<bool>' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'This' with type 'UnROOT.TStreamerSTL'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: vector<bool>
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TCollection' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fName' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fSize' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TCollection
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TSeqCollection' (v0)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TCollection'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fSorted' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TSeqCollection
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TList' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TSeqCollection'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TList
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TAttLine' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'fLineColor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLineStyle' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLineWidth' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TAttLine
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TAttFill' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'fFillColor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fFillStyle' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TAttFill
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TAttMarker' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'fMarkerColor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMarkerStyle' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMarkerSize' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TAttMarker
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TTree' (v5)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 19
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TNamed'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttLine'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttFill'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttMarker'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fEntries' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTotBytes' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fZipBytes' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fSavedBytes' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTimerInterval' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fScanField' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fUpdate' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaxEntryLoop' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaxVirtualSize' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fAutoSave' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fEstimate' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBranches' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLeaves' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fIndexValues' with type 'UnROOT.TStreamerObjectAny'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fIndex' with type 'UnROOT.TStreamerObjectAny'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TTree
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TBranch' (v8)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 20
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TNamed'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttFill'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fCompress' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBasketSize' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fEntryOffsetLen' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fWriteBasket' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fEntryNumber' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fOffset' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaxBaskets' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fSplitLevel' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fEntries' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTotBytes' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fZipBytes' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBranches' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLeaves' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBaskets' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBasketBytes' with type 'UnROOT.TStreamerBasicPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBasketEntry' with type 'UnROOT.TStreamerBasicPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBasketSeek' with type 'UnROOT.TStreamerBasicPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fFileName' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TBranch
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TBranchObject' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TBranch'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fClassName' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TBranchObject
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TBranchElement' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 6
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TBranch'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fClassName' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fClassVersion' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fID' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fType' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fStreamerType' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TBranchElement
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeaf' (v2)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 7
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TNamed'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fLen' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLenType' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fOffset' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fIsRange' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fIsUnsigned' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLeafCount' with type 'UnROOT.TStreamerObjectPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeaf
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafS' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fMinimum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaximum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafS
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafI' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fMinimum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaximum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafI
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafF' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fMinimum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaximum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafF
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafD' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fMinimum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaximum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafD
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafB' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fMinimum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaximum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafB
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafC' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fMinimum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaximum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafC
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafObject' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fVirtual' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafObject
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TLeafElement' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TLeaf'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fID' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fType' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TLeafElement
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TAttAxis' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 11
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       - skipping dependency 'fNdivisions' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fAxisColor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLabelColor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLabelFont' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLabelOffset' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLabelSize' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTickLength' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTitleOffset' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTitleSize' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTitleColor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTitleFont' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TAttAxis
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TAxis' (v6)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 10
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TNamed'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttAxis'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fNbins' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fXmin' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fXmax' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fXbins' with type 'UnROOT.TStreamerObjectAny'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fFirst' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fLast' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTimeDisplay' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTimeFormat' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TAxis
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH1' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 22
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TNamed'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttLine'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttFill'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAttMarker'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fNcells' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fXaxis' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fYaxis' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fZaxis' with type 'UnROOT.TStreamerObject'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBarOffset' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fBarWidth' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fEntries' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumw' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumw2' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwx' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwx2' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMaximum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fMinimum' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fNormFactor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fContour' with type 'UnROOT.TStreamerObjectAny'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fSumw2' with type 'UnROOT.TStreamerObjectAny'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fOption' with type 'UnROOT.TStreamerString'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fFunctions' with type 'UnROOT.TStreamerObjectPointer'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TH1
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH1F' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH1'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TArrayF'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TH1F
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH1D' (v1)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH1'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TArrayD'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TH1D
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TProfile' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 7
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH1D'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fBinEntries' with type 'UnROOT.TStreamerObjectAny'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fErrorMode' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fYmin' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fYmax' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwy' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwy2' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TProfile
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH2' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 5
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH1'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fScalefactor' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwy' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwy2' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwxy' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TH2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH2F' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH2'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TArrayF'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TH2F
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH2D' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH2'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TArrayD'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TH2D
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TProfile2D' (v5)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 7
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH2D'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fBinEntries' with type 'UnROOT.TStreamerObjectAny'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fErrorMode' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fZmin' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fZmax' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwz' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwz2' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TProfile2D
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH3' (v4)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 9
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH1'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TAtt3D'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       - skipping dependency 'fTsumwy' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwy2' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwxy' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwz' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwz2' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwxz' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       - skipping dependency 'fTsumwyz' with type 'UnROOT.TStreamerBasicType'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:121
┌ Debug:       => finishing dependency readout for: TH3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH3F' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH3'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TArrayF'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TH3F
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:34
┌ Debug: Unpacking: UnROOT.TKey32(31148, 2, 31102, 0x00000000, 46, 0, 51485631, 64, "TList", "StreamerInfo", "")
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:313
┌ Debug:   processing streamer info for 'TH3D' (v3)
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:113
┌ Debug:     number of dependencies: 2
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:114
┌ Debug:       + adding dependency 'TH3'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       + adding dependency 'TArrayD'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:118
┌ Debug:       => finishing dependency readout for: TH3D
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:124
┌ Debug: Starting topological sort of streamers
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:154
┌ Debug:   number of remaining streamers to sort: 56
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:160
┌ Debug:     processing 'TObject' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TNamed' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerInfo' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerElement' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerBase' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerString' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerBasicType' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerBasicPointer' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerObject' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerObjectPointer' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TStreamerObjectAny' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TArray' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TArrayI' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TArrayD' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TArrayF' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<char>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<short>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<int>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<unsigned char>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<unsigned short>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<unsigned int>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<float>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<double>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'vector<bool>' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TCollection' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TSeqCollection' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TList' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TAttLine' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TAttFill' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TAttMarker' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TTree' with 4' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TBranch' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TBranchObject' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TBranchElement' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeaf' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafS' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafI' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafF' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafD' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafB' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafC' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafObject' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TLeafElement' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TAttAxis' with 0' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TAxis' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH1' with 4' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH1F' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH1D' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TProfile' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH2' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH2F' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH2D' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TProfile2D' with 1' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH3' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH3F' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH3D' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:   number of remaining streamers to sort: 3
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:160
┌ Debug:     processing 'TH3' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH3F' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug:     processing 'TH3D' with 2' dependencies
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:165
┌ Debug: Finished the topological sort of streamers
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:185
ROOTFile with 1 entry and 53 streamers.
/Users/tamasgal/Downloads/gears.root
┌ Debug: Retrieving t ('TTree')
└ @ UnROOT ~/Dev/UnROOT.jl/src/root.jl:166
┌ Debug: Compression type: ZL
└ @ UnROOT ~/Dev/UnROOT.jl/src/types.jl:154
┌ Debug: Compressed/uncompressed size in bytes: 188160 / 349965
└ @ UnROOT ~/Dev/UnROOT.jl/src/types.jl:155


julia>

@Moelf
Copy link
Member

Moelf commented Apr 5, 2023

but it's apparently using a TTree v5 and we only have support for more recent versions

we can error on this if we can parse 0% of them

@tamasgal
Copy link
Member

tamasgal commented Apr 5, 2023

Currently it's not even reaching the TTree parsing, so the problem is before that. Something is different in the 32bit version

@oschulz
Copy link
Member Author

oschulz commented Apr 5, 2023

Thanks for looking into this @Moelf and @tamasgal !

@Moelf
Copy link
Member

Moelf commented Apr 5, 2023

32bit version

are you referring to the distinction in file header, fVersion? IIRC, it's something like "if it's smaller than something, TKey are 32 bit otherwise it's 64 bit"?

or is it something else

@tamasgal
Copy link
Member

tamasgal commented Apr 5, 2023

Yes and there might be some other differences downstreams. I am still checking what's going on. The TTree v5 logic is in-place, but I did not manage to reach that part yet. I will work on it this night.

@Moelf
Copy link
Member

Moelf commented Apr 5, 2023

ok it sounds pretty bad that we categorically cannot process "small" root file, I'm surprised we don't run into this more often.

uproot's output can be parsed by us is because uproot always use 64-bit for metadata regardless of file size 😆

@tamasgal
Copy link
Member

tamasgal commented Apr 5, 2023

Yes indeed but we will figure it out ;)

@tamasgal
Copy link
Member

tamasgal commented Apr 6, 2023

Actually I was wrong. Almost every file in our test-suite is a 32bit ROOT file 🙈

What I've just found is that fVersion field which specifies the ROOTDirectoryHeader version is almost always 5 for our test files except for one, where it's 1005 (that's the only 64bit test file sample we have in our test suite).

Now the funny part is that a number below 1000 means "32bit" ROOTDirectoryHeader, and above it's 64bit.

Somehow this "gears.root" file is a 32 bit ROOT file with a 64bit ROOTDirectoryHeader, because it reads 1001 in the field which indicates the version.

I am very confused... let's dig deeper ;)

@tamasgal
Copy link
Member

tamasgal commented Apr 6, 2023

Here is an example showing the fVersion (of the ROOTDirectoryHeader) for both the original file and the rewritten one (via uproot, as suggested by Jerry):

julia> f = ROOTFile("/Users/tamasgal/Downloads/gears.root")
32bit
unpacking header
fVersion = 1001
n_keys = 1
ROOTFile with 1 entry and 53 streamers.
/Users/tamasgal/Downloads/gears.root


julia> f = ROOTFile("/Users/tamasgal/Downloads/gears2.root")
32bit
unpacking header
fVersion = 5
n_keys = 1
ROOTFile with 1 entry and 23 streamers.
/Users/tamasgal/Downloads/gears2.root
└─ t (TTree)
   ├─ "n"
   ├─ "m"
   ├─ "ntrk"
   ├─ "⋮"
   ├─ "q"
   ├─ "net"
   └─ "et"

here are also some differences (notice TKey64 vs. TKey32), but as you can see, the entry is (most probably) correctly read. At least the TTree shows the correct name ;)

julia> f = ROOTFile("/Users/tamasgal/Downloads/gears.root")
32bit
unpacking header
fVersion = 1001
n_keys = 1
directory = ROOTDirectory (1 keys, 339 refs)

ROOTFile with 1 entry and 53 streamers.
/Users/tamasgal/Downloads/gears.root


julia> f.directory.keys
1-element Vector{Union{UnROOT.TKey32, UnROOT.TKey64}}:
 UnROOT.TKey32(188222, 2, 349965, 0x00000000, 53, 1, 51297303, 64, "TTree", "t", "Geant4 step points")

julia> f = ROOTFile("/Users/tamasgal/Downloads/gears2.root")
32bit
unpacking header
fVersion = 5
n_keys = 1
directory = ROOTDirectory (1 keys, 326 refs)

ROOTFile with 1 entry and 23 streamers.
/Users/tamasgal/Downloads/gears2.root
└─ t (TTree)
   ├─ "n"
   ├─ "m"
   ├─ "ntrk"
   ├─ "⋮"
   ├─ "q"
   ├─ "net"
   └─ "et"


julia> f.directory.keys
1-element Vector{Union{UnROOT.TKey32, UnROOT.TKey64}}:
 UnROOT.TKey64(22286, 1004, 22243, 0x710cca80, 43, 1, 1607, 100, "TTree", "t", "")

@tamasgal
Copy link
Member

tamasgal commented Apr 6, 2023

I got a bit further but I don't fully understand what's happening. I find random TBaskets at a place where I have never seen them. I now recall that Jim Pivarski mentioned them, but I don't remember the details.

I added TTree v5, TBranch v8 and AttMarker v1. With that, the metadata is correctly parsed but then it chokes on some baskets, as seen below, with a proper error now.

The basket parsing is not done via the streamer logic in UnROOT, so I need to figure that out. I don't want to ping Jim yet, but that will be my last resort. First I'll need to dig through all my notes and conversations with him ;)

julia> f = ROOTFile("/Users/tamasgal/Downloads/gears2.root")
ROOTFile with 1 entry and 23 streamers.
/Users/tamasgal/Downloads/gears2.root
└─ t (TTree)
   ├─ "n"
   ├─ "m"
   ├─ "ntrk"
   ├─ "⋮"
   ├─ "q"
   ├─ "net"
   └─ "et"


julia> f = ROOTFile("/Users/tamasgal/Downloads/gears.root")
ROOTFile with 1 entry and 53 streamers.
/Users/tamasgal/Downloads/gears.root
┌ Error: Could not get streamer for 'TBasket'
└ @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:236

@tamasgal
Copy link
Member

tamasgal commented Apr 6, 2023

I'll continue here: #236

@tamasgal
Copy link
Member

tamasgal commented Apr 6, 2023

OK found the quote: scikit-hep/uproot3#401 (comment)

I'll check out the TBasket implementation in Rust now.

@tamasgal
Copy link
Member

Jerry pointed me to another comment of Jim with more information: #14 (comment)

I forgot all these stuff, I need to work on my memory 🙈

Anyways, long story short, #236 already set the pavement to read out the baskets, now they need to be used when the number of entries is not what's written in the metadata. Meaning that the data in these ttree-tbaskets needs to be concatenated (they are uncompressed) to the actual basket data. That should be it.

I will try to finish it this week.

@fhagemann
Copy link

Thanks so much!

@tamasgal tamasgal changed the title Unable to parse BASE error on TTree Unable to parse BASE error on TTree (TBaskets in TTree) Apr 18, 2023
@tamasgal
Copy link
Member

A little update: when opening the (KM3NeT) file, which also has TBaskets in the TTree, UnROOT spits out 14 warnings and the tree has 14 branches. Starts to make sense ;)

julia> using UnROOT

julia> f = ROOTFile("GeneratedNeutrinoEvents.root")
ROOTFile with 1 entry and 18 streamers.
GeneratedNeutrinoEvents.root
┌ Warning: Found 1280816 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 1280816 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 1280816 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 1280816 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 1280824 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 1280824 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 3635056 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 908764 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 908764 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 3635056 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 3635056 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 3635056 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 1280808 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
┌ Warning: Found 1280808 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50
└─ gen (TTree)
   ├─ "pos_x_true"
   ├─ "pos_y_true"
   ├─ "pos_z_true"
   ├─ "⋮"
   ├─ "run_id_triggered"
   ├─ "w2"
   └─ "w3"


julia> length(keys(f["gen"]))
14

The file attached to this issue gives one warning (nothing else):

julia> f = ROOTFile("/Users/tamasgal/Dev/UnROOT.jl/test/samples/issue_235_tree_with_baskets.root")
ROOTFile with 1 entry and 53 streamers.
/Users/tamasgal/Dev/UnROOT.jl/test/samples/issue_235_tree_with_baskets.root
┌ Warning: Found 16056 bytes of basket data (not yet supported) in a TTree.
└ @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:50


julia>

@tamasgal
Copy link
Member

The basket recovery mechanism is finished: #238

We are now able to fully read the KM3NeT files with baskets inside the trees. However the file attached to this issue still causes issues. I have a similar problem with another file I found in the SciKit-HEP test data, which is certainly helpful 😉

I'll keep you updated.

@tamasgal
Copy link
Member

At the moment I am stuck at the readobjany() function which fails due to an invalid class reference. This "reference" is a number and the failing one is pretty huge, probably due to some misalignment in the readout.

julia> f = ROOTFile("/Users/tamasgal/Downloads/gears.root")
ROOTFile with 1 entry and 53 streamers.
/Users/tamasgal/Downloads/gears.root


julia> f["t"]
ERROR: Invalid class reference (1992490241).
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] readobjany!(io::IOBuffer, tkey::UnROOT.TKey32, refs::Dict{Int32, Any})
    @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:272
  [3] unpack(io::IOBuffer, tkey::UnROOT.TKey32, refs::Dict{Int32, Any}, T::Type{UnROOT.TObjArray})
    @ UnROOT ~/Dev/UnROOT.jl/src/streamers.jl:340
  [4] UnROOT.TTree(io::UnROOT.MmapStream, tkey::UnROOT.TKey32, refs::Dict{Int32, Any}; top::Bool)
    @ UnROOT ~/Dev/UnROOT.jl/src/bootstrap.jl:1077
  [5] UnROOT.TTree(io::UnROOT.MmapStream, tkey::UnROOT.TKey32, refs::Dict{Int32, Any})

I am also pretty sure that I found the place where things go wrong and I have the feeling I am pretty close to the solution.

I printed the ref, tag and cname (classname) values during the readobjany iteration in both uproot and UnROOT and as you can see, the references are nicely matching up to the point where the TBasket is parsed. UnROOT stops there and shows a wrong ref.

uproot:
...
...
ref = 497
ref = 73
ref = 134
ref = 497
ref = 497
tag = 4294967295
cname = TBranch
tag = 4294967295
cname = TLeafI
tag = 4294967295
cname = TBasket
ref = 223
ref = 381
ref = 503
tag = 4294967295
cname = TBranchElement
tag = 4294967295
cname = TLeafElement
ref = 503
ref = 33428
...
...
...
UnROOT:
...
...
ref = 497
ref = 73
ref = 134
ref = 497
ref = 497
ROOTFile with 1 entry and 53 streamers.
/Users/tamasgal/Downloads/gears.root
tag = 0xffffffff
cname = "TBranch"
tag = 0xffffffff
cname = "TLeafI"
tag = 0xffffffff
cname = "TBasket"
ref = 1992490241
...
...
...

The ref = 1992490241 triggers a look up failure, therefore the invalid class reference.

@Cornelius-G
Copy link

Hi @tamasgal thanks a lot for all the efforts! It's highly appreciated!

I just tried your recent changes with the (Geant4 generated) file I mentioned here. It now gives the following error message:
ERROR: Object 'UnROOT.TObjArray' has 6077 bytes; expected 42958
(Not sure if you have seen that error before, so I'm posting it here, hoping it might help to track down the problems.)

@tamasgal
Copy link
Member

Thanks @Cornelius-G that's helpful! I will continue this nicht. I was fiddling with the bits and bytes all day long, it really annoys me and I want to solve it 😅

@tamasgal tamasgal added the bug Something isn't working label Apr 29, 2023
@tamasgal
Copy link
Member

Sorry for being silent so long, I still have no news. I got a little bit further yesterday but not working patch yet... :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants