[ROOT] TTree analysis / Beginners question

From: Ole Streicher (ole@ifh.de)
Date: Mon Sep 02 2002 - 17:47:58 MEST


Hello, sorry for that much mails,

what is the correct usage of the SetAddress() function of the 
TBranch class?

I thought that it always needs a pointer to a pointer with an
initialized events, but in the example of the User's manual (pg. 247),
they use

static Float_d destep;
t2->GetBranch("destep")->SetAddress(&destep);

For me, neither of the two works. My script looks like:

gSystem->Load("run/.libs/libpamelarun");
TFile *f = new TFile("Physics.root");
TTree *t = (TTree *)f.Get("Physics");

EventCounter *counter = new EventCounter();
t->GetBranch("Counter")->SetAddress(&counter);

t->GetEntry(0);
cout << counter->GetEventNumber() << endl;
t->GetEntry(10);
cout << counter->GetEventNumber() << endl;

which doesn't print anything else than "0". Changing the "counter"
from a pointer to a local variable doesn't help. No error message is
printed, using "t->GetBranch("Counter")->Print()" I can see that it
contains the correct structure. Also with
"t->GetBranch()->Draw("Counter.EventNumber")" I find that the Number
is not zero.

How can I proceed to debug?

Ole



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:06 MET