| Last change
 on this file since 2996 was             2403, checked in by cmv, 22 years ago | 
        
          | 
Creation du module de code source de MINUIT (CERNLIB) extrait par CMV
 
cmv 11/06/2003
 | 
        
          | File size:
            1.6 KB | 
      
      
| Line |  | 
|---|
| 1 | * | 
|---|
| 2 | * $Id: mncuve.F,v 1.1.1.1 2003-06-11 14:18:26 cmv Exp $ | 
|---|
| 3 | * | 
|---|
| 4 | * $Log: not supported by cvs2svn $ | 
|---|
| 5 | * Revision 1.1.1.1  1996/03/07 14:31:29  mclareni | 
|---|
| 6 | * Minuit | 
|---|
| 7 | * | 
|---|
| 8 | * | 
|---|
| 9 | #include "minuit/pilot.h" | 
|---|
| 10 | SUBROUTINE MNCUVE(FCN,FUTIL) | 
|---|
| 11 | #include "minuit/d506dp.inc" | 
|---|
| 12 | CC        Makes sure that the current point is a local | 
|---|
| 13 | CC        minimum and that the error matrix exists, | 
|---|
| 14 | CC        or at least something good enough for MINOS and MNCONT | 
|---|
| 15 | CC | 
|---|
| 16 | #include "minuit/d506cm.inc" | 
|---|
| 17 | EXTERNAL FCN,FUTIL | 
|---|
| 18 | IF (ISW(4) .LT. 1) THEN | 
|---|
| 19 | WRITE (ISYSWR,'(/A,A)') | 
|---|
| 20 | +    ' FUNCTION MUST BE MINIMIZED BEFORE CALLING ',CFROM | 
|---|
| 21 | APSI = EPSI | 
|---|
| 22 | CALL MNMIGR(FCN,FUTIL) | 
|---|
| 23 | ENDIF | 
|---|
| 24 | IF (ISW(2) .LT. 3)  THEN | 
|---|
| 25 | CALL MNHESS(FCN,FUTIL) | 
|---|
| 26 | IF (ISW(2) .LT. 1)  THEN | 
|---|
| 27 | CALL MNWARN('W',CFROM,'NO ERROR MATRIX.  WILL IMPROVISE.') | 
|---|
| 28 | DO 555 I=1,NPAR | 
|---|
| 29 | NDEX = I*(I-1)/2 | 
|---|
| 30 | DO 554 J=1,I-1 | 
|---|
| 31 | NDEX = NDEX + 1 | 
|---|
| 32 | 554         VHMAT(NDEX) = 0. | 
|---|
| 33 | NDEX = NDEX + 1 | 
|---|
| 34 | IF (G2(I) .LE. ZERO)  THEN | 
|---|
| 35 | WINT = WERR(I) | 
|---|
| 36 | IEXT = NEXOFI(I) | 
|---|
| 37 | IF (NVARL(IEXT) .GT. 1) THEN | 
|---|
| 38 | CALL MNDXDI(X(I),I,DXDI) | 
|---|
| 39 | IF (ABS(DXDI) .LT. .001) THEN | 
|---|
| 40 | WINT = .01 | 
|---|
| 41 | ELSE | 
|---|
| 42 | WINT = WINT/ABS(DXDI) | 
|---|
| 43 | ENDIF | 
|---|
| 44 | ENDIF | 
|---|
| 45 | G2(I) = UP/WINT**2 | 
|---|
| 46 | ENDIF | 
|---|
| 47 | VHMAT(NDEX) = 2./G2(I) | 
|---|
| 48 | 555       CONTINUE | 
|---|
| 49 | ISW(2) = 1 | 
|---|
| 50 | DCOVAR = 1. | 
|---|
| 51 | ELSE | 
|---|
| 52 | CALL MNWERR | 
|---|
| 53 | ENDIF | 
|---|
| 54 | ENDIF | 
|---|
| 55 | RETURN | 
|---|
| 56 | END | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.