4 *CMZ :- -26/04/91 11.11.56 by Bryan Webber
6 *-- Author : Bryan Webber
8 C-----------------------------------------------------------------------
12 C-----------------------------------------------------------------------
14 C REPLACES SPACELIKE PARTONS BY SPECTATORS
16 C-----------------------------------------------------------------------
18 INCLUDE 'HERWIG61.INC'
20 DOUBLE PRECISION HWUSQR,EMSQ,EMTR,EPAR,XPAR,QSQ,PCL(5)
22 INTEGER KHEP,IP,JP,IDH,IDP,ISP,IDSPC,JHEP
26 IF (IERROR.NE.0) RETURN
30 IF (ISTHEP(KHEP).EQ.145.OR.ISTHEP(KHEP).EQ.146) THEN
36 IF (JDAHEP(1,IP).NE.0) JP=JDAHEP(1,IP)
52 ELSEIF (IDP.LT.13) THEN
58 CALL HWWARN('HWSSPC',100,*999)
62 C---IDENTIFY SPECTATOR
66 ELSEIF (IDP.LE.3) THEN
70 10 IF (IDH.EQ.NCLDK(LOCN(IDP,ISP))) GOTO 20
72 CALL HWWARN('HWSSPC',101,*999)
78 ELSEIF (ISP.LE.9) THEN
88 C---(2) ANTIQUARK CASE
90 ELSEIF (IDP.GT.6.AND.IDP.LE.9) THEN
96 30 IF (IDH.EQ.NCLDK(LOCN(ISP,IDP))) GOTO 40
98 CALL HWWARN('HWSSPC',103,*999)
102 40 IF (ISP.LE.3) THEN
106 ELSEIF (ISP.LE.9) THEN
116 C---SPECIAL CASE FOR REMNANT HADRON
118 ELSEIF (IDH.EQ.71.OR.IDH.EQ.72) THEN
126 CALL HWWARN('HWSSPC',106,*999)
132 CALL HWWARN('HWSSPC',105,*999)
136 C---REPLACE PARTON BY SPECTATOR
140 IDHEP(KHEP)=IDPDG(IDSPC)
144 EMSQ=SIGN(PHEP(5,KHEP)**2,PHEP(5,KHEP))
146 EMTR=EMSQ+PHEP(1,KHEP)**2+PHEP(2,KHEP)**2
150 CALL HWVDIF(4,PHEP(1,JP),PHEP(1,KHEP),PHEP(1,KHEP))
152 IF (EPAR**2.LT.10000.*ABS(EMTR)) THEN
154 CALL HWUMAS(PHEP(1,KHEP))
158 C---COMPUTE SPECTATOR MASS ELIMINATING ROUNDING ERRORS
162 QSQ=SIGN(PHEP(5,JP)**2,PHEP(5,JP))
164 PHEP(5,KHEP)=HWUSQR((1.-XPAR)*QSQ+EMSQ-EMTR/XPAR
166 & -((QSQ*XPAR**2-EMTR)/(2*EPAR*XPAR**2))**2*XPAR)
170 C---CHECK FOR UNPHYSICAL SPECTATOR
172 IF (PHEP(4,KHEP).LT.ZERO) FROST=.TRUE.
174 C---FIND MASS OF CORRESPONDING CLUSTER, IF PARTNER IS IN THE SAME JET
176 IF (QORQQB(IDHW(KHEP))) THEN
180 ELSEIF (QBORQQ(IDHW(KHEP))) THEN
192 CALL HWVSUM(4,PHEP(1,KHEP),PHEP(1,JHEP),PCL)
196 C---IF IT IS NEGATIVE, REJECT
198 IF (PCL(5).LT.ZERO) FROST=.TRUE.
212 *CMZ :- -26/04/91 11.11.56 by Bryan Webber
214 *-- Author : Bryan Webber
216 C-----------------------------------------------------------------------
220 C-----------------------------------------------------------------------
222 INCLUDE 'HERWIG61.INC'
224 DOUBLE PRECISION HWSSUD,HWSGQQ,DMIN,QSCA,XLAST,DIST(13)
230 COMMON/HWTABC/XLAST,N0,IS,ID
236 CALL HWSFUN(XLAST,QSCA,IDHW(INHAD),NSTRU,DIST,JNHAD)
238 IF (ID.EQ.13) DIST(ID)=DIST(ID)*HWSGQQ(QSCA)
240 IF (DIST(ID).LT.DMIN) DIST(ID)=DMIN
242 HWSSUD=SUD(N0+I,IS)/DIST(ID)