4 *CMZ :- -20/07/99 10:56:12 by Peter Richardson
6 *-- Author : Peter Richardson
8 C-----------------------------------------------------------------------
10 SUBROUTINE HWDRM5(X,Y,Z,A,B,MA,MB,MC,MD,MR,GAM)
12 C-----------------------------------------------------------------------
14 C Subroutine to find the maximum of the ME
16 C-----------------------------------------------------------------------
20 DOUBLE PRECISION X,Y,Z,MA,MB,MC,MD,MR,GAM,RES(3),A,B,C,D,
22 & E2S,E3S,E2M,E3M,LOW,UPP,HWRUNI,EPS,ZERO
26 PARAMETER(EPS=1D-9,ZERO=0)
32 RES(1) = -D*(MA**2 + MB**2)*MC*MD +
34 & C*(GAM**2*MR**2 + MR**4 - MA**2*MC**2 - MB**2*MC**2 -
36 & MA**2*MD**2 - MB**2*MD**2)
38 RES(2) = (GAM**2*MR**2 + (-MR**2 + MA**2 + MB**2)**2)*
42 & 2*C*D*MC*MD*(-MR**2 + MC**2 + MD**2) +
44 & C**2*(GAM**2*MR**2 + (-MR**2 + MC**2 + MD**2)**2))
46 RES(3) = -D*MC*MD+C*(2*MR**2-(MA**2+MB**2+MC**2+MD**2))
48 IF(RES(2).GT.ZERO) THEN
58 IF((RES(1)+RES(2))/RES(3).GT.(MD-MC)**2.OR.
60 & (RES(1)+RES(2))/RES(3).LT.(MA+MB)**2) THEN
62 X = (RES(1)-RES(2))/RES(3)
66 X = (RES(1)+RES(2))/RES(3)
70 IF(X.GT.(MD-MC)**2) X = (MD-MC)**2
72 IF(X.LT.(MA+MB)**2) X = (MA+MB)**2
74 E2S = (X-MA**2+MB**2)/(2*SQRT(X))
76 E3S = (MD**2-X-MC**2)/(2*SQRT(X))
84 IF(ABS(E2M/E2S).GT.EPS) CALL HWWARN('HWDRM5',2,*10)
92 IF(ABS(E3M/E3S).GT.EPS) CALL HWWARN('HWDRM5',3,*20)
102 LOW = (E2S+E3S)**2-(E2M+E3M)**2
104 UPP = (E2S+E3S)**2-(E2M-E3M)**2
106 Y = HWRUNI(1,LOW,UPP)
108 Z = MA**2+MB**2+MC**2+MD**2-X-Y