4 *CMZ :- -26/04/91 13.22.25 by Federico Carminati
6 *-- Author : Zoltan Kunszt, modified by Bryan Webber
8 C-----------------------------------------------------------------------
10 SUBROUTINE HWHEW2(NPART,PPCM,H,CH,D)
12 C-----------------------------------------------------------------------
14 C PCM SHOULD BE DEFINED SUCH THAT ALL 4-MOMENTA ARE OUTGOING.
16 C CONVENTION FOR PCM AND P IS THAT DIRECTION 1 =BEAM, COMPONENT
18 C 4 = ENERGY AND COMPONENT 2 AND 3 ARE TRANSVERSE COMPONENTS.
20 C THUS INCOMING MOMENTA SHOULD CORRESPOND TO OUTGOING MOMENTA
24 C PCM IS FILLED BY PHASE SPACE MONTE CARLO.
26 C I1-I7 HERE REFER TO HOW PCM INDEXING IS MAPPED TO OUR STANDARD
28 C 1-6=GLUON,GLUON,Q,QBAR,QP,QPBAR ORDERING `
30 C-----------------------------------------------------------------------
34 COMPLEX PT5,ZT,Z1,ZI,ZP,ZQ,ZD,ZPS,ZQS,ZDPM,ZDMP,H(7,7),CH(7,7),
38 DOUBLE PRECISION ZERO,ONE,PPCM(5,7),P(5,7),WRN(7),EPS,Q1,Q2,QP,QM,
40 & P1,P2,PP,PM,DMP,DPM,PT,QT,PTI,QTI
42 INTEGER J,L,IJ,II,JJ,I,NPART,IP1,IPP1
44 PARAMETER (ZERO=0.D0,ONE=1.D0)
52 C FOLLOWING DO LOOP IS TO CONVERT TO OUR STANDARD INDEXING
64 IF(P(4,II).LT.ZERO) WRN(II)=-ONE
68 P(JJ,II)=WRN(II)*P(JJ,II)
72 C THE ABOVE CHECKS FOR MOMENTA WITH NEGATIVE ENERGY,INNER PRODUCTS
74 C ARE EXPRESSED DIFFERENTLY FOR DIFFERENT CASES
86 IF(Q1.GT.EPS)QP=SQRT(Q1)
92 IF(Q2.GT.EPS)QM=SQRT(Q2)
98 IF(P1.GT.EPS)PP=SQRT(P1)
104 IF(P2.GT.EPS)PM=SQRT(P2)
114 C NOTE THAT IN OUR INNER PRODUCT NOTATION WE ARE COMPUTING <P,Q>
116 PT=SQRT(P(2,J)**2+P(3,J)**2)
118 QT=SQRT(P(2,I)**2+P(3,I)**2)
120 IF(PT.GT.EPS) GOTO 99
128 ZP=CMPLX(PTI*P(2,J),PTI*P(3,J))
132 IF(QT.GT.EPS) GOTO 89
140 ZQ=CMPLX(QTI*P(2,I),QTI*P(3,I))
146 IF(WRN(I).LT.ZERO) ZT=ZT*ZI
148 IF(WRN(J).LT.ZERO) ZT=ZT*ZI
150 H(J,I)=(ZDMP*ZP-ZDPM*ZQ)*ZT
152 CH(J,I)=(ZDMP*ZPS-ZDPM*ZQS)*ZT