source: Sophya/trunk/SophyaExt/CodeMinuit/code/mnerrs.F

Last change on this file 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: 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"
12CC Called by user, utility routine to get MINOS errors
13CC If NUMBER is positive, then it is external parameter number,
14CC if negative, it is -internal number.
15CC values returned by MNERRS:
16CC EPLUS, EMINUS are MINOS errors of parameter NUMBER,
17CC EPARAB is 'parabolic' error (from error matrix).
18CC (Errors not calculated are set = 0.)
19CC GCC is global correlation coefficient from error matrix
20#include "minuit/d506cm.inc"
21C
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
31C 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))))
39C global correlation coefficient
40 GCC = 0.
41 IF (ISW(2) .LT. 2) GO TO 990
42 GCC = GLOBCC(IIN)
43 GO TO 990
44C ERROR. parameter number not valid
45 900 EPLUS = 0.
46 EMINUS = 0.
47 EPARAB = 0.
48 GCC = 0.
49 990 RETURN
50 END
Note: See TracBrowser for help on using the repository browser.