[ROOT] Strange behaviour of TF2->Integral()

From: Smbat Grigoryan (Smbat.Grigoryan@clermont.in2p3.fr)
Date: Fri Sep 03 2004 - 19:23:42 MEST


I have a problem with 2-dimensional integral.
Here is a test macro showing the problem:

  Double_t func(Double_t *x, Double_t *par) {
    Double_t r = 1 - x[0];
    //    Double_t r = x[0];

    if (r < 0.5)
      return par[0];
      return 0;

void test() {

  TF2 *f2 = new TF2("f2",func,0,1,0,1,1);
  f2->SetParameter(0, 1);

  cout << f2->Integral(0,1,0,1) <<endl;


After .x test.C  I get 0 instead of 0.5,
but if I uncomment the 3rd line and comment the 2nd one
I get 0.5 as it should be. (One dimensional integral is OK for 
both options).
I am using ROOT v. 3.10/02
Any idea?

Thank you very much in advance,

This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET