Reading ROOT 5 simple TTrees with ROOT 4


I have some simple TTrees created with ROOT 5.10/00 that do not contain any specialized class structure - merely branches of simple data types. If I attempt to read this file using ROOT 4.02/00 I receive a number of errors:

root [0] TFile f(“backgnd-GR-v9r3_000001_merit_merit.root”, “READ”)
root [1] TTree t = (TTree)f.Get(“MeritTuple”)
Error in : The element TLeaf::fIsRange type 218 (Bool_t) is not supported yet

Error in : The element TLeaf::fIsUnsigned type 218 (Bool_t) is not supported yet

Error in : object of class TLeaf read too few bytes: 48 instead of 50

Is this expected? At this point this is merely a curiousity…and I realize there probably should be no expectation that earlier versions of ROOT can handle files generated by later versions…while the reverse (reading ROOT 4 files with ROOT 5) would be much more important and seems to work just fine.


Hi Heather,

Yes, we had an unfortunate forward compatibility between 4.02 and version 5.
Back compatibility is ok.