Re: TTree::Draw bug?

From: Andre Lebedev <lebedev_at_fas.harvard.edu>
Date: Tue, 28 Nov 2006 17:44:43 -0500


Rene,

I can reproduce the problem typing the following at the command line:

root [0] TTree* tree = new TTree("tree", "tree")
root [1] double x, y
root [3] tree->Branch("x", &x, "x/D")

(class TBranch*)0x9f28478
root [4] tree->Branch("y", &y, "y/D")
(class TBranch*)0x9e92f08
root [5] x = 1e9
(const double)1.00000000000000000e+09

root [6] for (y = 0; y < 1000; y += 1) tree->Fill() root [7] tree->Print()
*Tree    :tree      : 
tree                                                   *
*Entries :     1000 : Total =           17475 bytes  File  Size 
=          0 *
*        :          : Tree compression factor =   
1.00                       *
******************************************************************************
*Br    0 :x         : 
x/D                                                    *
*Entries :     1000 : Total  Size=       8610 bytes  One basket in 
memory    *
*Baskets :        0 : Basket Size=      32000 bytes  Compression=   
1.00     *
*............................................................................*
*Br    1 :y         : 
y/D                                                    *
*Entries :     1000 : Total  Size=       8610 bytes  One basket in 
memory    *
*Baskets :        0 : Basket Size=      32000 bytes  Compression=   
1.00     *
*............................................................................*
root [8] tree->Draw("x")
<TCanvas::MakeDefCanvas>: created default TCanvas with name c1

The canvas remains blank and I don't get the prompt back.

Regards,
Andre.

Rene Brun wrote:
> Andre,

>

> I cannot reproduce this problem with version 5.12 or 5.13.
> Coould you send a script and short data file reproducing this problem?
>

> Rene
>
>

> Andre Lebedev wrote:
>> Hello, ROOTers.
>>
>> I believe there is a bug in TTree::Draw() when the variable to be 
>> drawn has no range. That is I have a tree where for some selection of 
>> cuts one of the variables is 1e9. If I do
>>
>> swtest->Draw("x2[0]>>h(100,0,1.1e9)", "z<-830")
>>
>> everything goes through ok. However, if I do
>>
>> swtest->Draw("x2[0]", "z<-830")
>>
>> The code prints the number of events that pass the cut and then hangs in
>> #0  0x0076b501 in isnan () from /lib/libm.so.6
>> #1  0x00768a5b in pow () from /lib/libm.so.6
>> #2  0x0195009c in TGaxis::PaintAxis ()
>>   from /usr/local/mipp/extern/root-5.12.00f/lib/libGraf.so
>> #3  0x01c45f95 in THistPainter::PaintAxis ()
>>   from /usr/local/mipp/extern/root-5.12.00f/lib/libHistPainter.so
>> #4  0x01c428a3 in THistPainter::Paint ()
>>   from /usr/local/mipp/extern/root-5.12.00f/lib/libHistPainter.so
>> #5  0x02063775 in TH1::Paint ()
>>   from /usr/local/mipp/extern/root-5.12.00f/lib/libHist.so
>>
>> I am running ROOT 5.12/00f on gcc 4.1.1. However, I don't see the 
>> same problem in ROOT 5.10/00 built on gcc-3.3.4.
>>
>> Regards,
>> Andre.
Received on Tue Nov 28 2006 - 23:45:09 MET

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:32:02 MET