Re: [ROOT] Merging files

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Dec 05 2001 - 22:15:16 MET


Hi Christian,

In the development version in CVS, I have added support for your request.
By default, Merge will switch to a new output file when the size of the
output file is greater than 1.9 GBytes. You can change this default
via TChain::SetMaxMergeSize. 
Here is what I specified in the CVs history:

in TChain::Merge, add support for automatic file overflow:

When merging many files, it may happen that the resulting file
reaches a size > fgMaxMergeSize (default = 1.9 GBytes). In this case
the current file is automatically closed and a new file started.
If the name of the merged file was "merged.root", the subsequent files
will be named "merged_1.root", "merged_2.root", etc.
fgMaxMergeSize may be modified via the static function SetMaxMergeSize.

The function Merge returns the total number of files generated.

Rene Brun

On Thu, 29 Nov 2001, Christian Schmitt wrote:

> Hi ROOTers,
> 
> I have the following problem: I need to merge several hundred files, each 
> containing the same tree. The total size is something like 10 GB.
> So I cannot use just TChain::Merge because of the 2GB limit of root-files.
> 
> Now my wuestion is: how can I merge the files such that ideally I get 5 to 6 
> files with each having a filesize < 2GB ?
> 
> It should be a solution which works in general, i.e. doesn't make an 
> asumption on the structure of the tree in the files (the only thing known is 
> that the trees are simple trees, i.e. only integers, or floats are stored).
> 
> Thanks for your help,
> 
> 	Christian Schmitt
> 



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:11 MET