Re: [ROOT] Stats box

From: Emily Nurse (
Date: Tue Jan 20 2004 - 15:40:46 MET

Hi Rene,
When I try and use a macro

TFile f("example.root","READ");
h = (TH1F*)gDirectory->Get("invmass_miss_dt");
TPaveStats *st=(TPaveStats*)h->GetListOfFunctions()->FindObject("stats");

I get the error:

Error: illegal pointer to class object st 0x0 431  FILE:example.C LINE:6
*** Interpreter error recovered ***

This is because TList *list=(TPaveStats*)h->GetListOfFunctions();
returns a null pointer.

If I do exactly the same commands on the command line it works fine.
How can I get round this problem?

On Mon, 19 Jan 2004, Rene Brun wrote:

> Hi emily,
> This is explained in:
> look at section "Statistics Display"
> When the histogram is drawn, a TPaveStats object is created and added
>  to the list of functions of the histogram. If a TPaveStats object already
>  exists in the histogram list of functions, the existing object is just
>  updated with the current histogram parameters.
>  With the option "same", the statistic box is not redrawn.
>  With the option "sames", the statistic box is drawn. If it hiddes
>  the previous statistics box, you can change its position
>  with these lines (if h is the pointer to the histogram):
>   Root > TPaveStats *st =
> (TPaveStats*)h->GetListOfFunctions()->FindObject("stats")
>   Root > st->SetX1NDC(newx1); //new x start position
>   Root > st->SetX2NDC(newx2); //new x end position
>  To change the type of information for an histogram with an existing TPaveStats
>  you should do: st->SetOptStat(mode) where mode has the same meaning than
>  when calling gStyle->SetOptStat(mode) (see above).
> Rene Brun
> Emily Nurse wrote:
> > 
> > Hi all,
> > Can someone tell me how I can change the size of my stats box for my
> > histogramme (without using the interactive interface).
> > Cheers,
> > Emily.

This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET