Fit is not taking the set parameters

Hi
I am fitting a graph with several fits in subranges. All of them work except the last one “gss5”. I set the parameters in the script but it graphs it wrong while if i set the same parameters graphically it draws it right . Am i doing sth wrong ?

FILE *fa = fopen(“tt”,“w”);
int i;
for (i=0;i<1152;i++) fprintf(fa,"%i %f %d\n",i,angl[i],cnt[i]);
fclose(fa);
TGraph *gr = new TGraph ( 1152,angl, cnt );
gr->Draw(“AP”);

double par1[3],parb[3],parc[5];
TF1 *gss1= new TF1(“gss1”,“pol2”,-0.719,-0.194);
gss1->SetLineColor(1);
gr->Fit(“gss1”,“r”);
//-------

double x,p[3];
TF1 *gss2a= new TF1(“gss2a”,"[0]+[1]*exp(x/[2])",-0.19562,-0.113);
gss2a->SetParameters(2337,18345,0.06655);
gss2a->SetLineColor(5);
gr->Fit(“gss2a”,“ru”);

//---------

TF1 gss2= new TF1(“gss2”,"exp([0]+x[1])",-0.1122,-0.052);
gss2->SetParameters(9.85,11.0);
gss2->SetLineColor(2);
gr->Fit(“gss2”,“ru”);

//---------

TF1 *gss3= new TF1(“gss3”,"[0]+[1]*exp(-(x-[2])/[3])+[4]*exp(-(x-[5])/[6])",0.052,0.35);
gss3->SetParameters(1522,92902.5,-0.0063,0.01934,12787,-0.0063,0.1169);
gss3->SetLineColor(3);
gr->Fit(“gss3”,“r”);

//--------

TF1 *gss5 = new TF1(“gss5”,"[0]*exp(-x/[1])+[2]",0.35,0.714);
gss5->SetParameters(4873.1,0.32,502);
//gss5->SetParameters(502.1,5873.1,0.32);
gss5->SetLineColor(4);
gr->Fit(“gss5”,“r”);

gr->Draw(“AP”);
gss1->Draw(“same”);
gss2->Draw(“same”);
gss3->Draw(“same”);
gss2a->Draw(“same”);
gss5->Draw(“same”);

FILE fp = fopen(“samy”,“w”);
int i ;
double r1,r2,r3,r4,r5;
for (i=0;i<525;i++) { r1 = -0.719+i
0.001 ; fprintf(fp," %i %f %f\n",i,r1,gss1->Eval(r1));}

for (i=525;i<(82+525);i++) { r2 = -0.194+(i-525)*0.001; fprintf(fp," %i %f %f\n",i,r2,gss2a->Eval(r2) );}

for (i=607;i<668;i++) { r3 = -0.112+(i-607)*0.001; fprintf(fp," %i %f %f\n",i,r3,gss2->Eval(r3) );}

for (i=668;i<976;i++) { r4 = 0.052+(i-668)*0.001; fprintf(fp," %i %f %f\n",i,r4,gss3->Eval(r4) );}
for (i=976;i<1334;i++) { r5 = 0.360+(i-976)*0.001; fprintf(fp," %i %f %f\n",i,r5,gss5->Eval(r5) );}

fclose(fp);

}

Could you provide a full running script (in attachment or using the option code).
What you post is truncated and cannt be executed.

Rene

Code + 2 needed data files

qq.C and ssd.C need to be renamed qq and ssd without the C extension before running it

thanks
ssd.C (13.5 KB)
qq.C (68.1 KB)
getangles.C (5.49 KB)

Any Idea please

Your graph is full of Y values=0 (in particular near the end).
You should exclude these points.

Rene

thanks

i thought that the fit does not include a null Y value , so why would they be a problem ?

[quote]i thought that the fit does not include a null Y value , so why would they be a problem ?
[/quote]
Where have you seen that?
You are fitting a TGraph, not a TH1

Rene