Re: Draw of TNtuple

Rene Brun (Rene.Brun@cern.ch)
Thu, 18 Mar 1999 09:20:47 +0000


Hi Markus,
My guess is that your ntuple contains data growing with time.
The automatic binning algorithm currently used in TTree::Draw
buffers the first fEstimate (default=10000) entries for the
variable being histogrammed and computes the histogram limits
using these entries.
In case of data varying in time, you can change this parameter
via TTree::SetEstimate.
In your case, do
tree->SetEstimate(50000)
or, to be more general, if you do not have too many entries;
tree->SetEstimate(tree->GetEntries())

It is my intention to revisit this algorithm in the near future.

Rene Brun

Markus Weiss wrote:
>
> Hi,
>
> I wrote a little routine to display data which is organized
> as approx. 50000 lines of "x y z". When I try to draw these
> with e.g. option "surf3" only a subrange of y is shown.
>
> Thanks for any help.
>
> Markus.
>
> The code follows:
>
> gROOT->Reset();
>
> void show() {
> c1 = new TCanvas("c1","The Ntuple canvas",200,10,700,780);
>
> Double_t xin, yin, zin;
> int ncols, nlines;
>
> FILE *fp = fopen("s160399.mit","r");
>
> if (fp <= 0) printf("Sorry, cannot open file test.dat\n");
>
> data = new TNtuple("data","data","px:py:pz");
>
> while (1) {
> ncols = fscanf(fp, "%lf %lf %lf", &xin, &yin, &zin);
> if (ncols<0) break;
> data->Fill(xin,yin,zin);
> nlines++;
> }
> fclose(fp);
>
> printf(" found %d points\n",nlines);
>
> data->Draw("px:py","pz","surf3");
>
> c1->Update();
> }
>
> --
> ---------------------------------------------------------------------
> Markus Weiss "Ah elbereth glithoniel
> BESSY-2 Projektteam silvren penna miriel"
> e-mail: weiss@abbe.exp.bessy.de phone: +49-30-6392-2941
> ---------------------------------------------------------------------