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