| Last change
 on this file since 3369 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.7 KB | 
      
      
| Rev | Line |  | 
|---|
| [2403] | 1 | * | 
|---|
|  | 2 | * $Id: mnwerr.F,v 1.1.1.1 2003-06-11 14:18:30 cmv Exp $ | 
|---|
|  | 3 | * | 
|---|
|  | 4 | * $Log: not supported by cvs2svn $ | 
|---|
|  | 5 | * Revision 1.1.1.1  1996/03/07 14:31:32  mclareni | 
|---|
|  | 6 | * Minuit | 
|---|
|  | 7 | * | 
|---|
|  | 8 | * | 
|---|
|  | 9 | #include "minuit/pilot.h" | 
|---|
|  | 10 | SUBROUTINE MNWERR | 
|---|
|  | 11 | #include "minuit/d506dp.inc" | 
|---|
|  | 12 | CC          Calculates the WERR, external parameter errors, | 
|---|
|  | 13 | CC      and the global correlation coefficients, to be called | 
|---|
|  | 14 | CC      whenever a new covariance matrix is available. | 
|---|
|  | 15 | CC | 
|---|
|  | 16 | #include "minuit/d506cm.inc" | 
|---|
|  | 17 | C                         calculate external error if v exists | 
|---|
|  | 18 | IF (ISW(2) .GE. 1) THEN | 
|---|
|  | 19 | DO 100 L= 1, NPAR | 
|---|
|  | 20 | NDEX = L*(L+1)/2 | 
|---|
|  | 21 | DX = SQRT(ABS(VHMAT(NDEX)*UP)) | 
|---|
|  | 22 | I = NEXOFI(L) | 
|---|
|  | 23 | IF (NVARL(I) .GT. 1)  THEN | 
|---|
|  | 24 | AL = ALIM(I) | 
|---|
|  | 25 | BA = BLIM(I) - AL | 
|---|
|  | 26 | DU1 = AL + 0.5 *(SIN(X(L)+DX) +1.0) * BA - U(I) | 
|---|
|  | 27 | DU2 = AL + 0.5 *(SIN(X(L)-DX) +1.0) * BA - U(I) | 
|---|
|  | 28 | IF (DX .GT. 1.0)  DU1 = BA | 
|---|
|  | 29 | DX = 0.5 * (ABS(DU1) + ABS(DU2)) | 
|---|
|  | 30 | ENDIF | 
|---|
|  | 31 | WERR(L) = DX | 
|---|
|  | 32 | 100 CONTINUE | 
|---|
|  | 33 | ENDIF | 
|---|
|  | 34 | C                          global correlation coefficients | 
|---|
|  | 35 | IF (ISW(2) .GE. 1) THEN | 
|---|
|  | 36 | DO 130 I= 1, NPAR | 
|---|
|  | 37 | GLOBCC(I) = 0. | 
|---|
|  | 38 | K1 = I*(I-1)/2 | 
|---|
|  | 39 | DO 130 J= 1, I | 
|---|
|  | 40 | K = K1 + J | 
|---|
|  | 41 | P(I,J) = VHMAT(K) | 
|---|
|  | 42 | 130          P(J,I) = P(I,J) | 
|---|
|  | 43 | CALL MNVERT(P,MAXINT,MAXINT,NPAR,IERR) | 
|---|
|  | 44 | IF (IERR .EQ. 0)   THEN | 
|---|
|  | 45 | DO 150 IIN= 1, NPAR | 
|---|
|  | 46 | NDIAG = IIN*(IIN+1)/2 | 
|---|
|  | 47 | DENOM = P(IIN,IIN)*VHMAT(NDIAG) | 
|---|
|  | 48 | IF (DENOM.LE.ONE .AND. DENOM.GE.ZERO)  THEN | 
|---|
|  | 49 | GLOBCC(IIN) = 0. | 
|---|
|  | 50 | ELSE | 
|---|
|  | 51 | GLOBCC(IIN) = SQRT(1.0-1.0/DENOM) | 
|---|
|  | 52 | ENDIF | 
|---|
|  | 53 | 150       CONTINUE | 
|---|
|  | 54 | ENDIF | 
|---|
|  | 55 | ENDIF | 
|---|
|  | 56 | RETURN | 
|---|
|  | 57 | END | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.