5 * Revision 1.1.1.1 1996/04/01 15:02:28 mclareni
10 #if defined(CERNLIB_CDC)
12 1 (PARX2P,PARY2P,NPAR2P,COEF2P,SDEV2P)
14 C TO FIT A PARABOLA TO NPAR2P POINTS
16 C NPAR2P NO. OF POINTS
17 C PARX2P(I) X VALUE OF POINT I
18 C PARY2P(I) Y VALUE OF POINT I
20 C COEF2P(1...3) COEFFICIENTS OF THE FITTED PARABOLA
21 C Y=COEF2P(1) + COEF2P(2)*X + COEF2P(3)*X**2
23 C METHOD : CHI**2 = MIN EQUATION SOLVED EXPLICITLY
24 DIMENSION PARX2P(NPAR2P),PARY2P(NPAR2P),COEF2P(NPAR2P)
29 IF(NPAR2P.LT.3) GO TO 10
31 C--- CENTER X VALUES FOR REASONS OF MACHINE PRECISION
55 A=(F*X4-X2**2)*X2-F*X3**2
57 COEF2P(3)=(X2*(F*X2Y-X2*Y)-F*X3*XY)/A
58 COEF2P(2)=(XY-X3*COEF2P(3))/X2
59 COEF2P(1)=(Y-X2*COEF2P(3))/F
60 IF(NPAR2P.EQ.3) GOTO 6
61 SDEV2P=Y2-(COEF2P(1)*Y+COEF2P(2)*XY+COEF2P(3)*X2Y)
62 IF(SDEV2P.LT.0.) SDEV2P=0.
64 6 COEF2P(1)=COEF2P(1)+XM*(XM*COEF2P(3)-COEF2P(2))
65 COEF2P(2)=COEF2P(2)-2.*XM*COEF2P(3)
70 #if !defined(CERNLIB_CDC)
72 1 (PARX2P,PARY2P,NPAR2P,COEF2P,SDEV2P)
74 C TO FIT A PARABOLA TO NPAR2P POINTS
76 C NPAR2P NO. OF POINTS
77 C PARX2P(I) X VALUE OF POINT I
78 C PARY2P(I) Y VALUE OF POINT I
80 C COEF2P(1...3) COEFFICIENTS OF THE FITTED PARABOLA
81 C Y=COEF2P(1) + COEF2P(2)*X + COEF2P(3)*X**2
83 C METHOD : CHI**2 = MIN EQUATION SOLVED EXPLICITLY
84 DIMENSION PARX2P(NPAR2P),PARY2P(NPAR2P),COEF2P(NPAR2P)
85 DOUBLE PRECISION A,CZ(3),F,S,S2,T,XM,XY,X2,X2Y,X3,X4,Y,Y2
90 IF(NPAR2P.LT.3) GO TO 10
92 C--- CENTER X VALUES FOR REASONS OF MACHINE PRECISION
116 A=(F*X4-X2**2)*X2-F*X3**2
117 IF(A.EQ.0.D0) GOTO 10
118 CZ(3)=(X2*(F*X2Y-X2*Y)-F*X3*XY)/A
119 CZ(2)=(XY-X3*CZ(3))/X2
121 IF(NPAR2P.EQ.3) GOTO 6
122 SDEV2P=Y2-(CZ(1)*Y+CZ(2)*XY+CZ(3)*X2Y)
123 IF(SDEV2P.LT.0.) SDEV2P=0.
124 SDEV2P=SDEV2P/(F-3.D0)
125 6 CZ(1)=CZ(1)+XM*(XM*CZ(3)-CZ(2))
126 CZ(2)=CZ(2)-2.*XM*CZ(3)