Hi Alexander,
You are right in this case - if you look at TH1::Fit() code you'll see
such lines:
// - Set error criterion for chisquare or likelihood methods
// - MINUIT ERRDEF should not be set to 0.5 in case of loglikelihood fit.
// - because the FCN is already multiplied by 2 in H1FitLikelihood
// - if Hoption.User is specified, assume that the user has already set
// - his minimization function via SetFCN.
arglist[0] = 1;
if (Foption.Like) {
hFitter->SetFitMethod("H1FitLikelihood");
} else {
if (!Foption.User) hFitter->SetFitMethod("H1FitChisquare");
}
hFitter->ExecuteCommand("SET ERR",arglist,1); ///
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
So your efforts in setting MINUIT ERRDEF was for nothing. Sorry. I
see the only solution is not to use the TH1::Fit() method or change the
method itself
Best regards,
Stanislav.
Alexander Dietz wrote:
>Hi,
>
>to change the ERRDEF-parameter in MINUIT I tried the following:
>
> Double_t arglist[100];
>
> TH1F* h1=new TH1F("h1","h1",3,1,4);
> h1->Fill(1,1);
> h1->Fill(2,2);
> h1->Fill(3,1);
> h1->Draw();
>
> TVirtualFitter *hFitter = TVirtualFitter::Fitter(h1);
> h1->Fit("pol0"); // Fit 1
>
> arglist[0]=1;
> hFitter->ExecuteCommand("SET ERR",arglist,0.7);
> gMinuit->SetErrorDef(0.7);
> h1->Fit("pol0"); // Fit 2
>
>
>But both fits gave the same errors!
>So how to change the ERRDEF -parameter?
>
>Alexander Dietz
>
>
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET