Re: PROOF: TTree::Draw() strangeness with canvas handling

From: Gerardo Ganis <gerardo.ganis_at_cern.ch>
Date: Mon, 26 Jan 2009 13:05:47 +0100

     Dear Thiemo,

     The small statistics problem should have been fixed in the trunk.
     There are still small fluctuations in the axis ranges due to the 
fact that the packets size may vary from
     one run to the other. These will always be there; but they should 
not be significant.

     In the trunk, I have also fixed a problem preventing

        hnew = new TH1F("hnew", "hnew", 100, 0, 10.);
        t->Draw("var>>hnew", "", "", 100);

     to work.

     The problem with the duplicated entries in the feedback list should 
also be fixed.

     Please let me know if you try.

     Gerri

Gerardo Ganis wrote:
>
> Dear Thiemo,
>
> The first problem is related to the way the autobin functionality
> works; it needs some minimal statistics
> to get synchronized between workers and 100 entries are currently
> not enough. We will provide a solution
> addressing the low statistic case. As a workaround, you can force
> the binning with something like
>
> t->Draw("var>>hnew(nbins,xmin,xmax)", "", "", 100);
>
> with nbins, xmin, xmax the values appropriate to your case.
>
> Note, however, that with autobin you will always depend on the order
> the data are processed; this is true also
> in the local (non-PROOF) case, changing, for example, the order of
> the files in your chain.
>
> The second observation is partially related to a bug and partially
> to a feature.
> The feature is that the first canvas that you get is the one created
> and used by the feedback mechanism
> which shows the histogram while it is filled. The final histogram
> drawing, when the query is finished,
> is done on the default canvas: if you create a second canvas from
> the file menu you change the default
> canvas and the final plot is going there.
> The bug is that the temporary feedback objects are merged twice in
> some cases; this will be fixed asap.
>
> Thanks for reporting the problems.
>
> G. Ganis
>
>
> Thiemo Nagel wrote:
>> Hello,
>>
>> I noticed strange things when using the same TTree::Draw() with PROOF
>> multiple times. Eg. when calling
>>
>> t->Draw("var", "", "", 100);
>> t->Draw("var", "", "", 100);
>> t->Draw("var", "", "", 100);
>> t->Draw("var", "", "", 100);
>> t->Draw("var", "", "", 100);
>> t->Draw("var", "", "", 100);
>> t->Draw("var", "", "", 100);
>>
>> the scaling of the x axis will vary between calls whereas I'd expect it
>> to be identical every time.
>>
>> The situation gets worse when opening a second Canvas:
>>
>> t->Draw("var", "", "", 100);
>> menu action: File ---> New Canvas
>> t->Draw("var", "", "", 100);
>>
>> This time, the newly opened canvas will contain the histogram alright,
>> but at the same time, the histogram is plotted a 2nd time inside the
>> first canvas with all values being multiplied by a factor of two.
>>
>> How can that happen?
>>
>> BTW:
>>
>> t->SetProof(false);
>>
>> removes this kind of strange behaviour.
>>
>> Thank you and kind regards,
>>
>> Thiemo
>>
>
>
Received on Mon Jan 26 2009 - 13:05:51 CET

This archive was generated by hypermail 2.2.0 : Mon Jan 26 2009 - 17:50:01 CET