Dear Rooters Suppose, that I have filled tree(s) with one branch for: class MyClass: public TObject { TString fName; Int__t fNum Double_t fValue1 Double_t fValue2 } The following example exports all leafes from one tree: void Export(const char *treename, const char *outname) { output << "Name" << "\t" << "Number" << "\t" << "Value1" << "\t" << "Value2" << endl; MyClass *myclass = 0; TTree *tree = (TTree*)gDirectory->Get(treename); tree->SetBranchAddress("MyBranch", &myclass); ofstream output(outname, ios::out); Int_t entries = (Int_t)(tree->GetEntries()); for (Int_t i=0; i<entries; i++) { tree->GetEntry(i); output << myclass->GetName() << "\t" << myclass->GetNumber() << "\t" << myclass->GetValue1() << "\t" << myclass->GetValue2() << endl; } output.close(); } Now I would like to expand this function in two ways: 1, I want to export selected leafes only, e.g. Export("mytree", "outname", "fNum:fValue2") 2, I want to export selected leaves from all trees in a file, e.g. Export("*", "outname", "fValue1") ad 1) Export selected leafes: I could simply do: if("fNum") myclass->GetNumber(), but: analogously to be able to read selected branches, is there a similar way to read selected leafes? I have tried the following but got a bus error: MyClass *myclass = 0; TTree *tree = (TTree*)gDirectory->Get(treename); TBranch *branch = 0; branch = tree->GetBranch("MyBranch"); if (branch) branch->SetAddress(&myclass); TLeaf *name = branch->GetLeaf("fName"); TLeaf *num = branch->GetLeaf("fNum"); Int_t entries = (Int_t)(tree->GetEntries()); for (Int_t i=0; i<entries; i++) { branch->GetEntry(i); output << name->GetValue(i) << sep << num->GetValue(i) << endl; } What is wrong with this code, and how can I read selected leafes? It would be great if there would be a function such as TBranch::GetLeafEntry(entry, leafname)? ad 2) Export chains of trees I could try to loop over all trees in TFile, but the question is if there is a simpler and more elegant way to do it, where I could take advantage of TChain or of tree friends? Thank you in advance for your help. Best regards Christian _._._._._._._._._._._._._._._._ C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a V.i.e.n.n.a A.u.s.t.r.i.a _._._._._._._._._._._._._._._._
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:08 MET