Re: The second branch

Rene Brun (Rene.Brun@cern.ch)
Wed, 03 Mar 1999 15:56:12 +0000


Hi Valeri,
Sorry, I did not realize that you were using split=1.
There is a limitation in split mode. You cannot have two split branches
referencing the same class. The branch names in this case are not
correctly generated.
I hope to have time to support this mode in the coming release.
Meanwhile use split=0.

Rene Brun

Tioukov Valeri wrote:
>
> Dear Rene,
>
> I applied the proposed corrections but they seems have no effect at all.
>
> > Numbering in ROOT and C++ starts at 0, not 1. If you replace the 2
> > lines:
>
> It is correct of cause but nor 1 nor 0 newer happend in this example
> in fact the lowest tracks number was around 500 in MainEvent.
>
> I made available the code of the example at:
> http://chorusdq.na.infn.it/r/MainEvent.cxx
> all my lines are marked as //VT
>
> http://chorusdq.na.infn.it/r/branch1.root - the result with 1 branch
> http://chorusdq.na.infn.it/r/branch2.root - the result with 2 branches
>
> Thank you for your help
> Valeri
>
> >
> > Tioukov Valeri wrote:
> > >
> > > Dear rooters,
> > >
> > > I have 2 TObjArrays and after some selections I need to store objects
> > > from them into the different branches of the tree.
> > >
> > > When I have just one branch it works fine. If I add the second all tree
> > > leaves are filled by zeros.
> > >
> > > To illustrate a problem I added the following lines into
> > > test/MainEvent.cxx:
> > >
> > > // Create one event
> > > ....
> > > Track *track1 = new Track();
> > > Track *track2 = new Track();
> > > ....
> > > TTree *tree2 = new TTree("T2","My example of a ROOT tree");
> > > tree2->Branch("track1", "Track", &track1, bufsize,split); //1-st branch
> > > tree2->Branch("track2", "Track", &track2, bufsize,split); //2-d branch
> > > ....
> > >
> > > // inside the event cycle:
> > >
> > > if( event->GetNtrack()>1) {
> > > track1 = (Track*)event->GetTracks()->UncheckedAt(1);
> > > track2 = (Track*)event->GetTracks()->UncheckedAt(2);
> > > if (write) tree2->Fill();
> > > }
> > >
> > > ....
> > >
> > > If I just comment the line belongs to one branch the tree filling
> > > correctly.
> > >
> > > What is wrong here?
> > >
> > > Best regards
> > > Valeri Tioukov
> >