| Last change
 on this file since 2863 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 | 
      
      
| Rev | Line |  | 
|---|
| [2403] | 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.