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