[ROOT] Re:

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Nov 17 2003 - 08:40:32 MET


Please send a complete macro. It looks like you are using a TGraphErrors
but you do not set the errors errE, Err1 and Err2.

Please always specify a mail subject title when you send mails to roottalk.
see: http://root.cern.ch/root/roottalk/RoottalkRules.html

Rene Brun

Venkatesh Kaushik wrote:
> 
> Hi ROOTers,
> I have two sets of data points, which I am supposed to fit straights line
> to. I try to fit both these with pol1, I observe two things
> 1) the chi square / dof value is horrible.
> 2) visually, i don't see the fit has done a good job.
> 
> i am not sure what's happening. are there any default fit
> strategies/parameters that is messing up my fit?
> 
> here's my code snippet. i have also attached the output of this code.
> 
> /********************************************************************/
>  # define Constrain 1
> 
>  // Data points are defined here.
>  Double_t E[n]={5,10,15,20,50,75,100}, par[3];
>  Int_t N[n]={77497,45361,28876,49716,13794,12370};
> 
>  Double_t E_Mean1[n]={125.68,214.17,356.12,496.4,1352.61,2067.54,3068.15};
>  Double_t errE_Mean1[n]={1.95,1.7,2.53,2.93,12.08,52.08,52.08};
> 
>  Double_t E_Mean2[n]={118.43,215.47,359.58,500.81,1349.5,2019.48,3052.16};
>  Double_t errE_Mean2[n]={0.3,1.97,2.24,2.86,10.78,37.96,47.94};
> 
>  // Define two graphs and error bars.
>  TGraph *gr=new TGraphErrors(7,E,E_Mean1,errE,Err1);
>  TGraph *gr1=new TGraphErrors(7,E,E_Mean2,errE,Err2);
> 
>  // put them in a multigraph.
>  TMultiGraph *mg = new TMultiGraph();
>    mg->Add(gr);
>    mg->Add(gr1);
>    mg->Draw("AP");
>    // fit pol1 to both graphs.
>    gr->Fit("pol1");
>    TF1 *fline1=gr->GetFunction("pol1");
>    if(Constrain)fline1->SetParameter(0,0);
>    par[0] = fline1->GetParameter(0);
>    par[1] = fline1->GetParameter(1);
>    cout << par[0] << " " << par[1] << endl;
>    fline1->SetLineColor(kRed);
> 
>    gr1->Fit("pol1");
>    TF1 *fline2=gr1->GetFunction("pol1");
>    if(Constrain)fline2->SetParameter(0,0);
>    par[0] = fline2->GetParameter(0);
>    par[1] = fline2->GetParameter(1);
>    cout << par[0] << " " << par[1] << endl;
>    fline2->SetLineColor(kBlue);
> 
> /********************************************************************/
> 
>   --------------------------------------------------------------------------------
>                          Name: Eliveonly_ecal.gif
>    Eliveonly_ecal.gif    Type: GIF Image (IMAGE/gif)
>                      Encoding: BASE64



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET