Randomizing entries on multiple input root files

I have a set of input root files containing a single TTree whose structure is the same on all inputs. I want to create an output root file whose TTree entries are randomly ordered from those on the input.
The problem I am having is that when I try to randomly access the entries on the input TChain, the process is incredibly slow, apparently because the entries are not memory resident. In the version of root I am using (4.04), the method TChain::LoadBaskets() is not implemented.

I have tried using hadd to concatentate the input root files into a single root file. I am able to do this. There are no i/o errors in this process. I can also open the resulting root file and TTree->Draw() a branch. But when I try to run the global method TTree::LoadBaskets(), the error “R__unzip: error during decompression” occurs. How can I diagnose/work around this problem?

Thanks for any help you can provide on this.

Bill Lockman

Hi Bill,

It is likely that your merged tree is too big to fit in memory. R__Unzip fails because a memory buffer could not be allocated.