Re: [ROOT] Fit troubles

From: Pavol Strizenec (uefypalo@savba.sk)
Date: Mon May 07 2001 - 12:20:06 MEST


 Hi,

 actually this is only drawing question, not fitting. By default
the function is draw by connecting 100 points over whole range.
If you include the statement:
theFunc->SetNpx(1000);
just after theFunc definition, you will get the function drawing
more closely to boundary points.

		Pavol


On Mon, 7 May 2001, Gregory Novak wrote:

> I'm running Root 2.25, and I'm trying to fit a function to a graph.
> However, it the fit doesn't seem to include the points on the boundary.  I
> played a lot with my fitting function to try to hit the point on the
> boundary, but finally concluded that nothing would work b/c the point
> wasn't included.  :-)  
> 
> So, how do I get Root to include all points?
> 
> I've attached an eps file of the canvas showing the graph and the fitted
> function, and here (basically) is the code I'm using.
> 
> Thanks,
> Greg
> 
> 
> Int_t nPoints=16;
> Float_t x[] = {0.195490003, 0.341758013, 0.626088023, 1.09469998, 1.92990005, 
>   3.40200996, 5.99965, 10.5876999, 18.6718006, 32.9463005, 58.1189003, 
>   102.549004, 180.925995, 319.307007, 563.236023, 993.775024};
> Float_t y[] = {6.47185993, 4.18911982, 2.12453008, 1.10843003, 0.803915024, 0.73110801, 
>   0.749179006, 0.831418991, 0.876044989, 0.87609899, 0.91761899, 0.954747021, 
>   0.983271003, 1.00406003, 1.02154005, 1.03620994};
> Float_t xErr[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
> Float_t yErr[] = {0.281376004, 0.189824, 0.112899996, 0.0736455023, 0.0586442016, 
>   0.0549372993, 0.0546161011, 0.059711501, 0.0590298995, 0.0593684018, 
>   0.0610054992, 0.0623256005, 0.0655059963, 0.0628056973, 0.0657007024, 
>   0.0688278973};
> 
>   const Char_t *func = "([0]+[1]/x**2+[2]/x**3+[3]/x**4)*log(x**2)+"
>     "[4]+[5]/x**2+[6]/x**3+[7]/x**4";
>   theFunc = new TF1("theFunc", func);
>   TGraph *tg=new TGraphErrors(nPoints,x,y,xErr,yErr);
>   tg->Fit("theFunc");
>   TCanvas *c1 = new TCanvas("c1","c1");
>   c1->SetLogx();
>   tg->Draw("AP");
> 
> 



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:44 MET