How to get a "SUCCESSFUL" fit in MINOS?

Dear All

I am fitting a line shape using TMinuit, MINOS, however, the results are always “STATUS=PROBLEMS” or “STATUS=FAILURE”.

I do not know how to optimize it.

Here is my options in code:

    TMinuit *ptMinuit = new TMinuit(iNum);
    ptMinuit->SetPrintLevel();
    ptMinuit->SetFCN(calc_chi_square);
    ptMinuit->SetMaxIterations(1000);
    Double_t arglist[10];
    Int_t ierflg = 0;
    arglist[0] = 1;
    ptMinuit->mnexcm("SET ERR", arglist ,1,ierflg);
    arglist[0] = 2;
    ptMinuit->mnexcm("SET STR", arglist ,1,ierflg);
        for(int i=0; i<ipar; i++){
        parmintem[i]=vstart[i];
        ptMinuit->mnparm(i, pars_name[i], vstart[i],  step[i], vstart_low[i], vstart_high[i], ierflg);
        }
        arglist[0] = 5000;
        arglist[1] = 1.6;
        ptMinuit->mnexcm("SIMPLEX", arglist ,ipar,ierflg);
        ptMinuit->mnexcm("MIGRAD", arglist ,ipar,ierflg);
        ptMinuit->mnexcm("MIGRAD", arglist ,ipar,ierflg);
        ptMinuit->mnexcm("MINOS", arglist ,ipar,ierflg);

And here is the details:

FCN=16.0683 FROM MINOS     STATUS=NEW MINIMU    227 CALLS    30345902 TOTAL
                     EDM= unknown      STRATEGY= 2      NO ERROR MATRIX
  EXT PARAMETER                  PARABOLIC         MINOS ERRORS
  NO.   NAME      VALUE            ERROR      NEGATIVE      POSITIVE
   1  a0          -2.70737e+00   4.41469e-01
   2  a1           9.50336e-01   4.67776e-01
   3  a2          -5.99460e+00   3.77415e+00
   4  a3           8.19141e-01   1.32770e+00
   5  a4           2.98390e+00   3.56443e+00
   6  a5          -5.06823e-01   8.45144e-01
 NEW MINIMUM FOUND.  GO BACK TO MINIMIZATION STEP.
 =================================================
                                                  V
                                                  V
                                                  V
                                               VVVVVVV
                                                VVVVV
                                                 VVV
                                                  V

 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 3 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 5 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== 11.6231 added to diagonal of error matrix
 EIGENVALUES OF SECOND-DERIVATIVE MATRIX:
        -1.4213e+00 -3.6672e-02  1.7827e-02  1.5054e-01  9.9964e-01  6.2899e+00
 MINUIT WARNING IN HESSE
 ============== MATRIX FORCED POS-DEF BY ADDING 1.427548 TO DIAGONAL.
 EIGENVALUES OF SECOND-DERIVATIVE MATRIX:
        -5.2637e-03  1.7040e-05  1.9500e-02  6.2492e-01  1.0662e+00  4.2946e+00
 MINUIT WARNING IN MIGRAD
 ============== MATRIX FORCED POS-DEF BY ADDING 0.009558 TO DIAGONAL.
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 FCN=3.05887 FROM MIGRAD    STATUS=CONVERGED    4843 CALLS    30350745 TOTAL
                     EDM=3.12499e-05    STRATEGY= 2      ERROR MATRIX ACCURATE
  EXT PARAMETER                                   STEP         FIRST
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE
   1  a0          -5.44166e+00   6.20311e+00   2.76801e-05   1.56653e-02
   2  a1           9.99999e-01   3.92643e-07   1.46198e-10  -1.73244e+03
   3  a2          -3.15107e+00   7.98764e-04   1.47401e-06  -1.76736e+01
   4  a3           4.12862e-03   3.68619e-04   2.17488e-08   2.56198e+01
   5  a4           5.14168e-02   4.40022e+00   1.77173e-05  -1.96943e-02
   6  a5          -3.25259e-01   1.14480e-02   8.77797e-07   4.70225e-01
 CALL LIMIT EXCEEDED IN MIGRAD.
 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 2 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 3 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 5 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== 9.21912e+09 added to diagonal of error matrix
 EIGENVALUES OF SECOND-DERIVATIVE MATRIX:
        -1.7956e+04  1.0000e+00  1.0000e+00  1.0829e+00  1.7957e+04
 MINUIT WARNING IN HESSE
 ============== MATRIX FORCED POS-DEF BY ADDING 17973.511877 TO DIAGONAL.
 MINUIT WARNING IN MIGRAD
 ============== Negative diagonal element 3 in Error Matrix
 MINUIT WARNING IN MIGRAD
 ============== 1.00002 added to diagonal of error matrix
 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 2 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 3 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== Negative diagonal element 4 in Error Matrix
 MINUIT WARNING IN HESSE
 ============== 1.59089e+06 added to diagonal of error matrix
 EIGENVALUES OF SECOND-DERIVATIVE MATRIX:
        -2.3125e+03  7.6667e-01  9.9065e-01  1.0000e+00  2.3147e+03
 MINUIT WARNING IN HESSE
 ============== MATRIX FORCED POS-DEF BY ADDING 2314.787661 TO DIAGONAL.
 FCN=3.05887 FROM MINOS     STATUS=FAILURE      5711 CALLS    30356456 TOTAL
                     EDM=3.12499e-05    STRATEGY= 2      ERROR MATRIX ACCURATE
  EXT PARAMETER                  PARABOLIC         MINOS ERRORS
  NO.   NAME      VALUE            ERROR      NEGATIVE      POSITIVE
   1  a0          -5.44166e+00   6.20311e+00
   2  a1           9.99999e-01   3.92643e-07
   3  a2          -3.15107e+00   7.98764e-04
   4  a3           4.12862e-03   3.68619e-04
   5  a4           5.14168e-02   4.40022e+00
   6  a5          -3.25259e-01   1.14480e-02

See how to post code in the forum.

Hi,
There is a problem in minimizing the profile likelihood function. It seems its Hessian is not positive defined.
I see also that the minimisation did not converge correctly and you have a call limit exceeded.
First thing I would increase the maximum number of calls. Then I will look carefully at the log to see if you have found the right minimum and then run Minos.

If you need further help, please post your running code

Lorenzo

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.