| [2403] | 1 | * | 
|---|
|  | 2 | * $Id: mnerrs.F,v 1.1.1.1 2003-06-11 14:18:27 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 MNERRS(NUMBER,EPLUS,EMINUS,EPARAB,GCC) | 
|---|
|  | 11 | #include "minuit/d506dp.inc" | 
|---|
|  | 12 | CC    Called by user, utility routine to get MINOS errors | 
|---|
|  | 13 | CC    If NUMBER is positive, then it is external parameter number, | 
|---|
|  | 14 | CC                  if negative, it is -internal number. | 
|---|
|  | 15 | CC    values returned by MNERRS: | 
|---|
|  | 16 | CC       EPLUS, EMINUS are MINOS errors of parameter NUMBER, | 
|---|
|  | 17 | CC       EPARAB is 'parabolic' error (from error matrix). | 
|---|
|  | 18 | CC                 (Errors not calculated are set = 0.) | 
|---|
|  | 19 | CC       GCC is global correlation coefficient from error matrix | 
|---|
|  | 20 | #include "minuit/d506cm.inc" | 
|---|
|  | 21 | C | 
|---|
|  | 22 | IEX = NUMBER | 
|---|
|  | 23 | IF (NUMBER .LT. 0)  THEN | 
|---|
|  | 24 | IIN = -NUMBER | 
|---|
|  | 25 | IF (IIN .GT. NPAR)  GO TO 900 | 
|---|
|  | 26 | IEX = NEXOFI(IIN) | 
|---|
|  | 27 | ENDIF | 
|---|
|  | 28 | IF (IEX .GT. NU .OR. IEX .LE. 0)  GO TO 900 | 
|---|
|  | 29 | IIN = NIOFEX(IEX) | 
|---|
|  | 30 | IF (IIN .LE. 0)  GO TO 900 | 
|---|
|  | 31 | C             IEX is external number, IIN is internal number | 
|---|
|  | 32 | EPLUS = ERP(IIN) | 
|---|
|  | 33 | IF (EPLUS.EQ.UNDEFI)  EPLUS=0. | 
|---|
|  | 34 | EMINUS= ERN(IIN) | 
|---|
|  | 35 | IF (EMINUS.EQ.UNDEFI) EMINUS=0. | 
|---|
|  | 36 | CALL MNDXDI(X(IIN),IIN,DXDI) | 
|---|
|  | 37 | NDIAG = IIN*(IIN+1)/2 | 
|---|
|  | 38 | EPARAB = ABS(DXDI*SQRT(ABS(UP*VHMAT(NDIAG)))) | 
|---|
|  | 39 | C              global correlation coefficient | 
|---|
|  | 40 | GCC = 0. | 
|---|
|  | 41 | IF (ISW(2) .LT. 2)  GO TO 990 | 
|---|
|  | 42 | GCC = GLOBCC(IIN) | 
|---|
|  | 43 | GO TO 990 | 
|---|
|  | 44 | C                  ERROR.  parameter number not valid | 
|---|
|  | 45 | 900 EPLUS = 0. | 
|---|
|  | 46 | EMINUS = 0. | 
|---|
|  | 47 | EPARAB = 0. | 
|---|
|  | 48 | GCC = 0. | 
|---|
|  | 49 | 990 RETURN | 
|---|
|  | 50 | END | 
|---|