ROOT TF1函数声明的参数有问题

时间:2019-05-15 16:03:25

标签: data-analysis root-framework

我使用用户定义的函数来适应ROOT中的数据集。我的代码中的TF1类声明是:

double t=1000;
double a=0.1*t, b=0.9*t;
...
TF1 *ffit = new TF1("ffit",fit,a,b,2);
ffit->FixParameter(0,t);
ffit->FixParameter(1,1);
...
TGraph *g = new TGraph(n,x,y);
g->Fit("ffit","R");

我希望它会起作用,但实际上不会。运行此代码时,出现了段违规和混乱。但是,当我在TF1函数的声明中仅输入100和900而不是a和b时,效果很好。

那么,这是什么问题?我该如何克服这个问题? 函数fit如下:

double fit(double *x, double *par) 
{ 
double y=par[0], g=par[1], y0=x[0];
double r=(y0*(y-y0))/y;  
return (pow(r,1.5)*g); 
} 

P / s:我正在使用ROOT v6.14

0 个答案:

没有答案