Re: [ROOT] problem with tree->Draw()

From: HP Wei (hp@rentec.com)
Date: Fri Sep 01 2000 - 15:00:40 MEST


Thanks for looking into the problem, Rene.
Just to make sure that the fix you did completely settle this
issue. Let me add more info.

>When looking at the file you sent to me yesterday, I see that your Tree
>attributes have very large positive and negative values ( > 1e33).
  Yes, there are a lot of -1.5092e33 in the data file.
  In financial data, NaN is very common.
  I use -1.5092e33 (-1/Planck const) to represent NaN.
  
  In the situation that I reported yesterday, (ntic==2) seems to be the one
  causing the problem.
  Using T->Scan("capt", "ntic==2"), I find that all the 
  entries for capt are NaN.  The Row numbers that T->Scan() generate
  tells me that all these entries are scattered (in a systematic way, though)
  around in the data file.
  
  -------------
  By the way, is there a standard way to represent NaN in ROOT ??
  For example, the package Matlab defines NaN as 
  double mxGetNaN()


>If one draws one of this attributes, the axis painting routine crashes
>in the particular range of values that are in your file. 
  Does the option "goff" used in T->Draw() still trigger
  any painting routines ???  I was using T->Draw()
  with "goff" to extract
  date into V1, V2 and V3.


>HP Wei wrote:
>> 
>> Hi rooters,
>>    I encounter a strange behavior for a particular
>>    .root file.
>>    This file has one tree with three branches, two
>>    Int_t's and one Double_t.
>>    The number of entries is 1089840.
>> 
>>    Machine: Sun Solaris
>>    ROOT/Cint 5.25.0, and 5.14.40
>> 
>>    In Root/cint,
>>    I type: TFile f("file.root");
>>    then check the data by doing:
>>    T->Scan("capt", "ntic==0");
>>    T->Scan("capt", "ntic==1");
>>    T->Scan("capt", "ntic==2");
>>    T->Scan("capt", "ntic==3");
>> 
>>    Each one of the Scan produces 120 entries which are
>>    all ok.
>> 
>>    Now I do:
>>    T->Draw("capt", "ntic==0", "goff");
>>    T->Draw("capt", "ntic==1", "goff");
>>    T->Draw("capt", "ntic==2", "goff");
>>    The third line results in a frozen screen !!!
>>    I need to type Control_C to get out.
>>    AFter getting out, I type T.
>>    It says: NO Symbol T in current scope...
>> 
>>    Furthermore,  let me represent
>>    a sequence of T->Draw() commands as
>>    [n1, n2, n3 ...]
>>    which means:
>>    T->Draw("capt", "ntic==n1", "goff");
>>    T->Draw("capt", "ntic==n2", "goff");
>>    etc..
>> 
>>    Using that notation, I find the following situations:
>>    [1 3 4 5 ] appears to be ok.
>>    [10 9 13 13 ] ok.
>>    [10 1 2] ----> freeze!
>>    [10 2] ---> freeze!
>>    [0 2] ---> freeze!
>>    [1 2] ---> freeze!
>>    [2 3 4 5 1 2] ---> freeze!!
>> 
>>    Since the data look fine as browsed by T->Scan(),
>>    I have no clue about what is going on.
>>    Any suggestion?
>> 
>> HP



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:32 MET