This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
root:loadtext [2010/11/12 15:09] – nchiap | root:loadtext [2010/11/15 17:17] (current) – nchiap | ||
---|---|---|---|
Line 34: | Line 34: | ||
You can extend this idea to plot all histograms in an unknown tree. | You can extend this idea to plot all histograms in an unknown tree. | ||
The following code reads a tree form a datafile with a arbitrary number of columns | The following code reads a tree form a datafile with a arbitrary number of columns | ||
- | and creats | + | and creates |
<code C++> | <code C++> | ||
+ | /** Load Data into Tree **/ | ||
+ | TTree *T = new TTree(" | ||
+ | Long64_t nlines = T-> | ||
+ | |||
+ | /** Attache memory to tree **/ | ||
+ | Int_t nCols = T-> | ||
+ | std:: | ||
+ | for (Int_t i=0; i < nCols; i++) { | ||
+ | TString colName = T-> | ||
+ | T-> | ||
+ | } | ||
+ | |||
+ | /** Calculate binning **/ | ||
+ | Int_t nentries = (Int_t)T-> | ||
+ | |||
+ | T-> | ||
+ | Float_t first = entry[0]; | ||
+ | T-> | ||
+ | Float_t second = entry[0]; | ||
+ | Float_t step = second-first; | ||
+ | first = first - step/2; | ||
+ | Float_t last = first+step*(nlines); | ||
+ | | ||
+ | /** Create Histograms **/ | ||
+ | TH1F *h; | ||
+ | TObjArray histograms; | ||
+ | for (Int_t i = 0; i < nCols; i++) { | ||
+ | TString hName = Form(" | ||
+ | if (i == 1) { | ||
+ | h = new TH1F(hName, | ||
+ | } else { | ||
+ | h = new TH1F(hName,"", | ||
+ | } | ||
+ | histograms.AddLast(h); | ||
+ | } | ||
+ | |||
+ | /** Fill Histograms **/ | ||
+ | for (Int_t i=0; | ||
+ | T-> | ||
+ | i++; | ||
+ | for (Int_t col = 1; col < nCols; col++) { | ||
+ | h = dynamic_cast< | ||
+ | h-> | ||
+ | } | ||
+ | } | ||
</ | </ |