Re: TH2D::Integral()

From: Philip Rodrigues <p.rodrigues1_at_physics.ox.ac.uk>
Date: Tue, 2 Jun 2009 14:38:10 +0100


SetRangeUser is inclusive - if you give it a bin edge, it includes that bin. So when you ask for [0, 0.5] you get the bin with low edge at 0.5, and when you ask for [0.5, 1] you also get that bin. One way round it is:

   const double eps=1e-3;

   // Box1
   float box1=BoxIntegral(h2,0,x_cut,0,y_cut);

   //Box2
   float box2=BoxIntegral(h2,0,x_cut-eps,y_cut+eps,1.1);

   //Box3
   float box3=BoxIntegral(h2,x_cut+eps,1.1,0,y_cut-eps);

   //Box4

   float box4=BoxIntegral(h2,x_cut+eps,1,y_cut+eps,1);

Regards,
Philip

Anil Singh wrote:
> Mario,
> yeah, there was a typo actually this was just a
> dummy created to reproduce my problem. I corrected
> and had a re run:
> //-----
> Full Integral: 10000
> Box1: 2655
> Box2: 2556
> Box3: 2535
> Box4: 2439
> Sum of all Boxes: 10185
> //----
> So as you say, there still may be some double counting.
> Is there some easy way to correct this ??
> Anil
>
>
>
> ----- Original Message -----
> From: Mario Kadastik <mario.kadastik_at_cern.ch>
> Date: Tuesday, June 2, 2009 6:59 pm
> Subject: Re: [ROOT] TH2D::Integral()
> To: Mario Kadastik <mario.kadastik_at_cern.ch>
> Cc: Anil Singh <anil79_at_fnal.gov>, roottalk_at_pcroot.cern.ch
>
>

>>>> // Box1
>>>> float box1=BoxIntegral(h2,0,x_cut,0,y_cut);
>>>>
>>>> //Box2
>>>> float box2=BoxIntegral(h2,0,x_cut,y_cut,1);
>>>>
>>>> //Box3
>>>> float box3=BoxIntegral(h2,x_cut,1,0,y_cut);
>>>>
>>>> //Box4
>>>> float box4=BoxIntegral(h2,x_cut,1,0,y_cut);
>>> Aren't you taking a small overlap in the region where x_cut and  
>>> y_cut lines overlap? I'd guess that if you exclude the overlap  
>>> region you could well end up with the right result. Though the 25%  
>>> increase is a bit more than I'd have expected from the overlap in  
>>> case of 100 x 100 matrix.
>> Ehh ... it's even simpler :) You have a typo. Your Box3 and Box4 are  
>>
>> identical regions. You should be integrating from y_cut to 1 in Box4  
>>
>> to cover the whole range.
>>
>> Mario
>>

>
Received on Tue Jun 02 2009 - 15:38:13 CEST

This archive was generated by hypermail 2.2.0 : Tue Jun 02 2009 - 17:50:02 CEST