Hi,
You must provide more information when sending mail to this list.
Simplify the life of thousands of people reading your mail.
Please read: http://root.cern.ch/root/roottalk/RoottalkRules.html
TTree and TChain behave in the same way when setting the branch addresses.
TTree* tree; TChain* chain
tree->SetBranchAddress("branchname",&fdisk01_wedge01_n);
chain->SetBranchAddress("branchname",&fdisk01_wedge01_n);
when doing tree->GetEntry(i) or chain->GetEntry(i)
the variable/object at the specified address should be filled.
Rene Brun
Justace Clutter wrote:
>
> Well,
>
> I understand that I can do this, and I have. What I find as strange is the
> differences in the data access between the TChain and the TTree. If I open
> the file with TFile I can access the data by creating a variable placeholder,
> telling the TTree the address of the placeholder and then pulling the right
> entry. Now, if I open the data through the TChain, there are some more
> detail to take care of. I am reading about them but do not follow them. I
> understand that the TChain is based off of TTree, so, intuitivly I would
> assume that it would work transparently as a tree also, such is not the case.
>
> The main thing that bothers me is that in the class header that was created
> with makeclass, it declares a lot of variables, all the information that I am
> looking for and it seems to make sence. Then, instead of calling
> SetBranchAddress over and over it just calles this on a few of the variables
> in the TTree. After makeing the call to GetEntry all the data seems filled
> even though it seems that the TTree was never passed references to the
> declared placeholders.
>
> Justace
>
> On Sunday 17 August 2003 03:34 pm, zaldy wrote:
> > Hi,
> >
> > If I understood it correctly; you want to chain 4 root files, say
> > file1.root, file2.root, file3.root, and file4.root, then you want to
> > produce a code using the MakeClass Functionality.
> >
> > If this is the case, one possibility is:
> >
> > At the directory where all these root files are located do:
> > root[] TChain ch("SMT");
> > root[] ch.Add("file*.root");
> > root[] SMT->MakeClass("myClass");
> >
> > Assuming the root files are of same tree structure, the above lines should
> > result to the creatioin of myClass.C and myClass.h.
> > Then you can edit/modify the files according the nature of your
> > application.
> >
> > I you want to understand the meaning of the codes and functions in the
> > TChain class I suggest you go to the site:
> >
> > http://root.cern.ch/root/html/TChain.html
> >
> > Hope it helps...keep trying.
> >
> > On Sun, 17 Aug 2003, Justace Clutter wrote:
> > > I am a very new root user and have been trying to understand how the
> > > TChain works. There is a TTree, called SMT, spread out among four
> > > different root files. If I load the first file up using just a straight
> > > TFile I can access the data directly like the following:
> > >
> > > Int_t fdisk01_wedge01_n[768];
> > >
> > > SMT->SetBranchAddress("fdisk01_wedge01_n", &fdisk01_wedge01_n);
> > > SMT->GetEntry(0);
> > >
> > > However when I try to load all the data at once with TChain I get very
> > > confused.
> > >
> > > TChain *data_chain = new TChain("SMT");
> > >
> > > data_chain->Add("file1");
> > > data_chain->Add("file2");
> > > data_chain->Add("file3");
> > > data_chain->Add("file4");
> > >
> > > At this point I can not just run the same code as I did above. Now I ran
> > > the makeclass utilities and generated the class files, but now I am even
> > > more confused. The variables are declared in the class but only a few
> > > are set through the SetBranchAddress functions. But they are all
> > > available somehow.
> > >
> > > I know that this post is very confusing, but I am confused. I have went
> > > through the ROOT Users Guide and the examples but they did not help my
> > > understanding of this. Any help on this matter would be greatly
> > > appreciated. I guess that I just want to know how it works, I could just
> > > use the makeclass and close my eyes but that does not put a smile on my
> > > face.
> > >
> > > Justace Clutter
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:14 MET