| 
            Last change
 on this file since 3264 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.