Re: [ROOT] TCanvas trouble

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Aug 29 2001 - 09:21:06 MEST


Hi Matthieu,

I looked in your file and I see that the pad scales are wrong due to
the fit function to your histogram. You use a function fxFit with a gaussian
and a polynomial. The standard deviation for the gaussian is null.
In this case a NAN value is found in the function values and this corrupts
the pad scale.
I have introduced two protections in the development version 3.02:
 - protection against a null value in the computation of the gaussian.
 - protection against non physical values when computing the size of the pixmap
   for each pad in TPad::ResizePixmap.
 
With these protections, I can read your canvas.root file.

Rene Brun

Matthieu Guillo wrote:
> 
> Hello ROOTERS
> 
> I am working on a Linux box, RedHat 6.1, kernel 2.4 (recompiled), ROOT
> version 3.01/05.
> 
> I have a TCanvas ojbect I want to save into a ROOT file. I first create
> it, divide it in many sub pads and draw on every subpad an histogram
> obtained applying a TEventList AND a cut on a tree doing something like:
> 
> c1->cd(2);  // go to second pad
> tree->SetEventList(0); // reset list (not sure I need to do that)
> tree->SetEventList(mylistselection);  // use only selected events
> tree->Draw("var >> myhisto", cut);    // use subset of selected events
> 
> The problem is that sometimes when applying the cut there is no entries.
> The histogram is therefore empty and I noticed that the pad where it was
> supposed to be drawn is destroyed! Later I save the TCanvas in a ROOT file
> and when I try to retrieve it, I receive the following message:
> 
> Error in <RootX11ErrorHandler>: BadValue (integer parameter out of range
> for operation) (XID: 0)
> 
> Then everything freeze, ROOT, my canvas, and the only way to recover is to
> destroy the shell where I started ROOT!
> My guess is that occurs because the subpad was destroyed? What can I do to
> prevent that? Shoudn't I have an empty histogram drawn into the pad
> instead of having the pad destroyed. May be I cannot use both a TEventList
> and a cut?
> 
> Thanks for any suggestion
> 
> Matthieu Guillo
> University of South Carolina
> Thomas Jefferson National Laboratory
> Office 71 trailer 16
> Phone: 757-269-5551



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:58 MET