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

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