I have a ROOT file with some TDirectories and TEfficiency contained in them. I need to extract the data from those for further processing.
file = uproot.open("myroot.root")
my_directory = file["AnalysisEfficiency"]["ABC_10"]
my_directory.keys()
[b'hPixelEfficiency;1',,
b'eTotalEfficiency;1',
b'efficiencyColumns;1',
b'efficiencyRows;1']
And after
my_eff = my_directory["eTotalEfficiency"]
I get
NotImplementedError:
Unimplemented streamer type: TStreamerSTL
members: {'_classversion': 4, '_fOffset': 0, '_fName': b'fBeta_bin_params', '_fTitle': b'parameter for prior beta distribution different bin by bin', '_fType': 500, '_fSize': 24, '_fArrayLength': 0, '_fArrayDim': 0, '_fMaxIndex': array([0, 0, 0, 0, 0], dtype=int32), '_fTypeName': b'vector<pair<double,double> >', '_fXmin': 0.0, '_fXmax': 0.0, '_fFactor': 0.0, '_fSTLtype': 1, '_fCtype': 61}
file contents:
00000153 40 00 00 0c 40 09 00 00 00 d7 be d2 00 00 00 00 |@...@...........|
00000173 3f e5 d8 97 a2 41 a3 f5 40 00 00 11 00 05 00 01 |?....A..@.......|
00000213 00 00 00 00 03 00 00 00 00 00 00 00 00 40 00 02 |.............@..|
00000233 64 ff ff ff ff 54 48 31 44 00 40 00 02 57 00 03 |d....TH1D.@..W..|
00000253 40 00 02 35 00 08 40 00 00 3d 00 01 00 01 00 00 |@..5..@..=......|
00000273 00 00 03 00 00 00 17 65 54 6f 74 61 6c 45 66 66 |.......eTotalEff|
00000313 69 63 69 65 6e 63 79 5f 70 61 73 73 65 64 18 74 |iciency_passed.t|
00000333 6f 74 61 6c 45 66 66 69 63 69 65 6e 63 79 20 28 |otalEfficiency (|
00000353 70 61 73 73 65 64 29 40 00 00 08 00 02 02 5a 00 |passed)@......Z.|
00000373 01 00 01 40 00 00 06 00 02 00 00 03 e9 40 00 00 |...@.........@..|
I checked here and here but I'm not sure if there is a solution yet. I am using uproot 3.4.15. Is there a way to overcome this a retrieve the data using this or another version?