ROOTers:
I have the following vector in my main program
I want to generate a tree of TPeakFitter objects and I do it using the following function:
void SharinganAnalyzer::GenerateTree(){
double Epeak;
int peakID;
TFile *fout = new TFile("treePeaks.root","recreate");
TTree *masterTree=new TTree("masterTree","Tree containing current analysis");
TPeakFitter *currPeak=new TPeakFitter();
masterTree->Branch("TPeakFitterBranch","TPeakFitter",&currPeak,32000,99);
for(int idxTPF=0;idxTPF<UsrPeaksVector.size();idxTPF++){
currPeak=UsrPeaksVector[idxTPF];
masterTree->Fill();
}
masterTree->Write();
fout->Close();
}
Now the definition of the TPeakFitter object contains the following relevant data members:
Class TPeakFitter {
string name;
int fLinkPReqID;
int nPoints;
Double_t binResolution;
vector<double> px;
vector<double> py;
vector<CMSingletObj*> PeakFuns;
vector<CMBackGroundObj*> BkGndFuns;
//....
//Relevant accesors, mutators and member functions
ClassDef(TPeakFitter,2)
} //End of class definition
I have a problem. When a create the tree, the tree contains all the information except the components of
A leaf is created for each of those two vectors. They are not split at all despite I have the maximum tree splitting option (i.e. 99). When I used the TBrowser, I can see that the PeakFuns and BkGndFuns are treated as branches and they contain the information that I need, but when I use the tree viewer they are shown as leaves with empty content. I dont understand why this happen. Can somebody see what am I doing wrong?
Thank you,
-
*
-
W E L C O M E to R O O T *
-
*
- Version 5.25/02 29 September 2009 *
-
*
- You are welcome to visit our Web site *
-
[root.cern.ch](http://root.cern.ch) *
-
*
ROOT 5.25/02 (trunk@30530, Sep 29 2009, 15:28:19 on linuxx8664gcc)
CINT/ROOT C/C++ Interpreter version 5.17.00, Dec 21, 2008