If you want to merge a bunch of root TTree's, try the following > root -q -b merge.C where merge.C: void merge() { TChain *chain = new TChain("Global"); chain->Add("file1.root"); chain->Add("file2.root"); chain->Add("file3.root"); chain->Merge("merged.root"); } (This example works for RECO_ANALYZE root tuples.)