Hi, You are right. An integral of the absolute value is calculated since ver. 1.68 of TF1.cxx (CVS rev.). I don't know why the statistical functions required such thing. ---------------------------------------------------------------------- --- TF1.cxx 14 Jul 2003 12:58:22 -0000 1.67 +++ TF1.cxx 20 Aug 2003 07:00:47 -0000 1.68 @@ -1,4 +1,4 @@ -// @(#)root/hist:$Name: $:$Id: TF1.cxx,v 1.67 2003/07/14 12:58:22 brun Exp $ +// @(#)root/hist:$Name: $:$Id: TF1.cxx,v 1.68 2003/08/20 07:00:47 brun Exp $ // Author: Rene Brun 18/08/95 /************************************************************************* @@ -1563,18 +1563,18 @@ for (i=0;i<4;i++) { u = c2*x[i]; xx[0] = c1+u; - f1 = EvalPar(xx,params); + f1 = TMath::Abs(EvalPar(xx,params)); xx[0] = c1-u; - f2 = EvalPar(xx,params); + f2 = TMath::Abs(EvalPar(xx,params)); s8 += w[i]*(f1 + f2); } s16 = 0; for (i=4;i<12;i++) { u = c2*x[i]; xx[0] = c1+u; - f1 = EvalPar(xx,params); + f1 = TMath::Abs(EvalPar(xx,params)); xx[0] = c1-u; - f2 = EvalPar(xx,params); + f2 = TMath::Abs(EvalPar(xx,params)); s16 += w[i]*(f1 + f2); } s16 = c2*s16; @@ -1749,14 +1749,14 @@ sum3 = 0; for (j=0;j<n;j++) { z[j] = ctr[j] - xl2*wth[j]; - f2 = EvalPar(z,fParams); + f2 = TMath::Abs(EvalPar(z,fParams)); z[j] = ctr[j] + xl2*wth[j]; - f2 += EvalPar(z,fParams); + f2 += TMath::Abs(EvalPar(z,fParams)); wthl[j] = xl4*wth[j]; z[j] = ctr[j] - wthl[j]; - f3 = EvalPar(z,fParams); + f3 = TMath::Abs(EvalPar(z,fParams)); z[j] = ctr[j] + wthl[j]; - f3 += EvalPar(z,fParams); + f3 += TMath::Abs(EvalPar(z,fParams)); sum2 += f2; sum3 += f3; dif = TMath::Abs(7*f2-f3-12*sum1); @@ -1777,7 +1777,7 @@ for (m=0;m<2;m++) { wthl[k] = -wthl[k]; z[k] = ctr[k] + wthl[k]; - sum4 += EvalPar(z,fParams); + sum4 += TMath::Abs(EvalPar(z,fParams)); } } z[k] = ctr[k]; @@ -1791,7 +1791,7 @@ z[j] = ctr[j] + wthl[j]; } L90: - sum5 += EvalPar(z,fParams); + sum5 += TMath::Abs(EvalPar(z,fParams)); for (j=0;j<n;j++) { wthl[j] = -wthl[j]; z[j] = ctr[j] + wthl[j]; -------------------------------------------------------------- As you can see function value everywhere is replaced by its absolute value. Best regards, Stanislav. Vincent Roberfroid wrote: >Yes it's correct ! >This problem is present with root 3.10/00. >It doesn't exist with root 3.05. > >Vincent > >On Wednesday 10 December 2003 19:42, Martijn Schellekens wrote: > > >>Dear Rooters, >> >>I have this strange integral result: >> > TH1 func("func","-x",-50,50) >> >func.Integral(-1,1) >> >>result: >> 1 >>Can someone explains this result to me??? >>(seems to compute the integral of the absolute value: negatif values are >>not of this world after all???) >> >>Thanks a lot, >>Martijn Schellekens >> >>
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET