TTree BranchClones

From: Axel Schwank (schwank@mail.desy.de)
Date: Mon Feb 02 1998 - 18:33:36 MET


Dear Rooters,

I have a problem creating branches in case each event consits of several
TClonesArrays; this is the case C described in the TTree class manual.
The constructor for creating branches of this type is

TTree::Branch(const Text_t *name, TClonesArray *list, Int_t bufsize, Int_t
split)

Unfortunately, there is no example given for this method of how to create
and fill a tree. I want to use this method because I don't want to store
all the data of one event, but only a certain subset, e.g. tracks.
For this purpose, method C seems apropriate.

The event class I am using is similar to the famous class Event used in
the ROOT tutorials, where the data member fTracks is a pointer to a
TClonesArray, which itself is built of the class Track.
So I try to create a branch like this

Int_t bufsize = 64000;
Int_t split = 1;
event = new Event();
TTree *tree = new TTree("T","Example of a tree of TBranchClones");
TBranch *bTracks = tree->Branch("Tracks",event->fTracks,bufsize,split);

But invoking this constructor does not create the desired branch bTracks,
as can be recognized by looking at the address of bTracks which is 0.

What am I doing wrong ?
Could there be a little example and documentation on this method of
creating a tree with several branches, when the branches should consist of
TClonesArrays (method C) ?

Thanks for the support !!!


********************************************************************************

Axel Schwank

Hoffmann-von-Fallersleben-Strasse 15		DESY H1-F22
21029 Hamburg					Notkestrasse 85
Tel (+49 40) 7219895				22607 Hamburg
						Rm. 1b / 269
						Tel (+49 40) 8998-3560
						Fax (+49 40) 8998-4385 

e-mail 	schwank@mail.desy.de
Quix	0165-6-2705109

********************************************************************************



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:29 MET