Hi Andrea, Assuming that you have the files: root_file_0.root root_file_1.root root_file_2.root. . . root_file_n.root and all of them have inside the same trees: treeA treeB treeC . . . treeZ then to create a single file named output.root you simply have to do: { TFile *f = new TFile("output.root ", "recreate"); // Merging chain A. TChain *chA = new TChain("treeA"); chA->Add("root_file_0.root"); chA->Add("root_file_1.root"); chA->Add("root_file_2.root"); . . chA->Add("root_file_n.root"); chA->Merge(f,0); // Merging chain B. TChain *chB = new TChain("treeB"); chB->Add("root_file_0.root"); chB->Add("root_file_1.root"); chB->Add("root_file_2.root"); . . chB->Add("root_file_n.root"); chB->Merge(f,0); // .... and then repeat the same for the other chains C, .... Z f->Close(); } Obviously you can do the above using a loop. Stelios. ----- Original Message ----- From: "Andreas Salzburger" <Andreas.Salzburger@cern.ch> To: <roottalk@pcroot.cern.ch> Sent: Wednesday, September 04, 2002 3:32 AM Subject: [ROOT] combining rootfiles > dear root-talk community, > > i've got a problem with some rootfiles that look exactly the same (same > tree and branch and directory structure). > and i want to combine them to one big file. > i know how to do that by writing a macro, declaring all the branches and > looping over the events, but i wonder if there's a fixed method that may > probably do this by default? > > so if someone could give me a hint, > this would help me a lot > thanks > andi > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:06 MET