Re: Draw of TNtuple

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Mar 18 1999 - 10:20:47 MET


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
> ---------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET