Carlos Lacasta wrote: > > Hi, > > > I'd like to create the tree like: > > > > Tree > > | > > 1 EventBody,Ntracks > > | > > 2 TrackBody,Ncnd > > | > > 3 CandidatBody,Nelements > > | > > 4 ElementBody > > > > I use to work with different trees, one per level, to cope with problems > in which one has a multilevel tree structure with variable length branchs. > That allows easy links between them and, at least for version 1.09 where I > did my first tests, a much bigger compression factor than using > TClonesArrays. On the other hand one has to tune carefully the buffer > sizes of the branches in the different trees because that method seems to > be "punished" in what CPU consumption concerns. > > It may be a "brute force" approach but is seems to work. It would be nice, > however, a container class for such kind of objects (a more general TTree > class) that could allow for individual filling of the branches controlling > the space ocuppied with a method like Fill(char *branchName) in order to > benefit from things like AutoSave. > Hi Carlos, I do not understand your argument about compression factors or time. The best compression factor should be obtained with TClonesArray because you get homogeneous data per branch. To get a good compression factor with TClonesArray, specify the compression level 2 for the TClonesArray superbranch. With compression level 2, both ints and floats are compressed. With level 1, floats are not compressed. About your last point: I am currently working on a new class (TOak). TOak is designed to be a big TTree with support for a hierarchy of branches. It assumes some user guidance for the definition of the branch hierarchy. Before announcing this new facility, I want to prototype it with several different configurations. Rene Brun
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:32 MET