]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hipyset1_35/pywidt_hijing.F
Obsolete - removed
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / pywidt_hijing.F
CommitLineData
e74335a4 1* $Id$
2
3C*********************************************************************
4
5 SUBROUTINE PYWIDT_HIJING(KFLR,RMAS,WDTP,WDTE)
6
7C...Calculates full and partial widths of resonances.
8#include "ludat1_hijing.inc"
9#include "ludat2_hijing.inc"
10#include "ludat3_hijing.inc"
11#include "pypars_hijing.inc"
12#include "pyint1_hijing.inc"
13#include "pyint4_hijing.inc"
14 DIMENSION WDTP(0:40),WDTE(0:40,0:5)
15
16C...Some common constants.
17 KFLA=IABS(KFLR)
18 SQM=RMAS**2
19 AS=ULALPS_HIJING(SQM)
20 AEM=PARU(101)
21 XW=PARU(102)
22 RADC=1.+AS/PARU(1)
23
24C...Reset width information.
25 DO 100 I=0,40
26 WDTP(I)=0.
27 DO 100 J=0,5
28 100 WDTE(I,J)=0.
29
30 IF(KFLA.EQ.21) THEN
31C...QCD:
32 DO 110 I=1,MDCY(21,3)
33 IDC=I+MDCY(21,2)-1
34 RM1=(PMAS(IABS(KFDP(IDC,1)),1)/RMAS)**2
35 RM2=(PMAS(IABS(KFDP(IDC,2)),1)/RMAS)**2
36 IF(SQRT(RM1)+SQRT(RM2).GT.1..OR.MDME(IDC,1).LT.0) GOTO 110
37 IF(I.LE.8) THEN
38C...QCD -> q + qb
39 WDTP(I)=(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
40 WID2=1.
41 ENDIF
42 WDTP(0)=WDTP(0)+WDTP(I)
43 IF(MDME(IDC,1).GT.0) THEN
44 WDTE(I,MDME(IDC,1))=WDTP(I)*WID2
45 WDTE(0,MDME(IDC,1))=WDTE(0,MDME(IDC,1))+WDTE(I,MDME(IDC,1))
46 WDTE(I,0)=WDTE(I,MDME(IDC,1))
47 WDTE(0,0)=WDTE(0,0)+WDTE(I,0)
48 ENDIF
49 110 CONTINUE
50
51 ELSEIF(KFLA.EQ.23) THEN
52C...Z0:
53 IF(MINT(61).EQ.1) THEN
54 EI=KCHG(IABS(MINT(15)),1)/3.
55 AI=SIGN(1.,EI)
56 VI=AI-4.*EI*XW
57 SQMZ=PMAS(23,1)**2
58 GZMZ=PMAS(23,2)*PMAS(23,1)
59 GGI=EI**2
60 GZI=EI*VI/(8.*XW*(1.-XW))*SQM*(SQM-SQMZ)/
61 & ((SQM-SQMZ)**2+GZMZ**2)
62 ZZI=(VI**2+AI**2)/(16.*XW*(1.-XW))**2*SQM**2/
63 & ((SQM-SQMZ)**2+GZMZ**2)
64 IF(MSTP(43).EQ.1) THEN
65C...Only gamma* production included
66 GZI=0.
67 ZZI=0.
68 ELSEIF(MSTP(43).EQ.2) THEN
69C...Only Z0 production included
70 GGI=0.
71 GZI=0.
72 ENDIF
73 ELSEIF(MINT(61).EQ.2) THEN
74 VINT(111)=0.
75 VINT(112)=0.
76 VINT(114)=0.
77 ENDIF
78 DO 120 I=1,MDCY(23,3)
79 IDC=I+MDCY(23,2)-1
80 RM1=(PMAS(IABS(KFDP(IDC,1)),1)/RMAS)**2
81 RM2=(PMAS(IABS(KFDP(IDC,2)),1)/RMAS)**2
82 IF(SQRT(RM1)+SQRT(RM2).GT.1..OR.MDME(IDC,1).LT.0) GOTO 120
83 IF(I.LE.8) THEN
84C...Z0 -> q + qb
85 EF=KCHG(I,1)/3.
86 AF=SIGN(1.,EF+0.1)
87 VF=AF-4.*EF*XW
88 IF(MINT(61).EQ.0) THEN
89 WDTP(I)=3.*(VF**2*(1.+2.*RM1)+AF**2*(1.-4.*RM1))*
90 & SQRT(MAX(0.,1.-4.*RM1))*RADC
91 ELSEIF(MINT(61).EQ.1) THEN
92 WDTP(I)=3.*((GGI*EF**2+GZI*EF*VF+ZZI*VF**2)*
93 & (1.+2.*RM1)+ZZI*AF**2*(1.-4.*RM1))*
94 & SQRT(MAX(0.,1.-4.*RM1))*RADC
95 ELSEIF(MINT(61).EQ.2) THEN
96 GGF=3.*EF**2*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))*RADC
97 GZF=3.*EF*VF*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))*RADC
98 ZZF=3.*(VF**2*(1.+2.*RM1)+AF**2*(1.-4.*RM1))*
99 & SQRT(MAX(0.,1.-4.*RM1))*RADC
100 ENDIF
101 WID2=1.
102 ELSEIF(I.LE.16) THEN
103C...Z0 -> l+ + l-, nu + nub
104 EF=KCHG(I+2,1)/3.
105 AF=SIGN(1.,EF+0.1)
106 VF=AF-4.*EF*XW
107 WDTP(I)=(VF**2*(1.+2.*RM1)+AF**2*(1.-4.*RM1))*
108 & SQRT(MAX(0.,1.-4.*RM1))
109 IF(MINT(61).EQ.0) THEN
110 WDTP(I)=(VF**2*(1.+2.*RM1)+AF**2*(1.-4.*RM1))*
111 & SQRT(MAX(0.,1.-4.*RM1))
112 ELSEIF(MINT(61).EQ.1) THEN
113 WDTP(I)=((GGI*EF**2+GZI*EF*VF+ZZI*VF**2)*
114 & (1.+2.*RM1)+ZZI*AF**2*(1.-4.*RM1))*
115 & SQRT(MAX(0.,1.-4.*RM1))
116 ELSEIF(MINT(61).EQ.2) THEN
117 GGF=EF**2*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
118 GZF=EF*VF*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
119 ZZF=(VF**2*(1.+2.*RM1)+AF**2*(1.-4.*RM1))*
120 & SQRT(MAX(0.,1.-4.*RM1))
121 ENDIF
122 WID2=1.
123 ELSE
124C...Z0 -> H+ + H-
125 CF=2.*(1.-2.*XW)
126 IF(MINT(61).EQ.0) THEN
127 WDTP(I)=0.25*CF**2*(1.-4.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
128 ELSEIF(MINT(61).EQ.1) THEN
129 WDTP(I)=0.25*(GGI+GZI*CF+ZZI*CF**2)*(1.-4.*RM1)*
130 & SQRT(MAX(0.,1.-4.*RM1))
131 ELSEIF(MINT(61).EQ.2) THEN
132 GGF=0.25*(1.-4.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
133 GZF=0.25*CF*(1.-4.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
134 ZZF=0.25*CF**2*(1.-4.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
135 ENDIF
136 WID2=WIDS(37,1)
137 ENDIF
138 WDTP(0)=WDTP(0)+WDTP(I)
139 IF(MDME(IDC,1).GT.0) THEN
140 WDTE(I,MDME(IDC,1))=WDTP(I)*WID2
141 WDTE(0,MDME(IDC,1))=WDTE(0,MDME(IDC,1))+WDTE(I,MDME(IDC,1))
142 WDTE(I,0)=WDTE(I,MDME(IDC,1))
143 WDTE(0,0)=WDTE(0,0)+WDTE(I,0)
144 VINT(111)=VINT(111)+GGF*WID2
145 VINT(112)=VINT(112)+GZF*WID2
146 VINT(114)=VINT(114)+ZZF*WID2
147 ENDIF
148 120 CONTINUE
149 IF(MSTP(43).EQ.1) THEN
150C...Only gamma* production included
151 VINT(112)=0.
152 VINT(114)=0.
153 ELSEIF(MSTP(43).EQ.2) THEN
154C...Only Z0 production included
155 VINT(111)=0.
156 VINT(112)=0.
157 ENDIF
158
159 ELSEIF(KFLA.EQ.24) THEN
160C...W+/-:
161 DO 130 I=1,MDCY(24,3)
162 IDC=I+MDCY(24,2)-1
163 RM1=(PMAS(IABS(KFDP(IDC,1)),1)/RMAS)**2
164 RM2=(PMAS(IABS(KFDP(IDC,2)),1)/RMAS)**2
165 IF(SQRT(RM1)+SQRT(RM2).GT.1..OR.MDME(IDC,1).LT.0) GOTO 130
166 IF(I.LE.16) THEN
167C...W+/- -> q + qb'
168 WDTP(I)=3.*(2.-RM1-RM2-(RM1-RM2)**2)*
169 & SQRT(MAX(0.,(1.-RM1-RM2)**2-4.*RM1*RM2))*
170 & VCKM((I-1)/4+1,MOD(I-1,4)+1)*RADC
171 WID2=1.
172 ELSE
173C...W+/- -> l+/- + nu
174 WDTP(I)=(2.-RM1-RM2-(RM1-RM2)**2)*
175 & SQRT(MAX(0.,(1.-RM1-RM2)**2-4.*RM1*RM2))
176 WID2=1.
177 ENDIF
178 WDTP(0)=WDTP(0)+WDTP(I)
179 IF(MDME(IDC,1).GT.0) THEN
180 WDTE(I,MDME(IDC,1))=WDTP(I)*WID2
181 WDTE(0,MDME(IDC,1))=WDTE(0,MDME(IDC,1))+WDTE(I,MDME(IDC,1))
182 WDTE(I,0)=WDTE(I,MDME(IDC,1))
183 WDTE(0,0)=WDTE(0,0)+WDTE(I,0)
184 ENDIF
185 130 CONTINUE
186
187 ELSEIF(KFLA.EQ.25) THEN
188C...H0:
189 DO 170 I=1,MDCY(25,3)
190 IDC=I+MDCY(25,2)-1
191 RM1=(PMAS(IABS(KFDP(IDC,1)),1)/RMAS)**2
192 RM2=(PMAS(IABS(KFDP(IDC,2)),1)/RMAS)**2
193 IF(SQRT(RM1)+SQRT(RM2).GT.1..OR.MDME(IDC,1).LT.0) GOTO 170
194 IF(I.LE.8) THEN
195C...H0 -> q + qb
196 WDTP(I)=3.*RM1*(1.-4.*RM1)*SQRT(MAX(0.,1.-4.*RM1))*RADC
197 WID2=1.
198 ELSEIF(I.LE.12) THEN
199C...H0 -> l+ + l-
200 WDTP(I)=RM1*(1.-4.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
201 WID2=1.
202 ELSEIF(I.EQ.13) THEN
203C...H0 -> g + g; quark loop contribution only
204 ETARE=0.
205 ETAIM=0.
206 DO 140 J=1,2*MSTP(1)
207 EPS=(2.*PMAS(J,1)/RMAS)**2
208 IF(EPS.LE.1.) THEN
209 IF(EPS.GT.1.E-4) THEN
210 ROOT=SQRT(1.-EPS)
211 RLN=LOG((1.+ROOT)/(1.-ROOT))
212 ELSE
213 RLN=LOG(4./EPS-2.)
214 ENDIF
215 PHIRE=0.25*(RLN**2-PARU(1)**2)
216 PHIIM=0.5*PARU(1)*RLN
217 ELSE
218 PHIRE=-(ASIN(1./SQRT(EPS)))**2
219 PHIIM=0.
220 ENDIF
221 ETARE=ETARE+0.5*EPS*(1.+(EPS-1.)*PHIRE)
222 ETAIM=ETAIM+0.5*EPS*(EPS-1.)*PHIIM
223 140 CONTINUE
224 ETA2=ETARE**2+ETAIM**2
225 WDTP(I)=(AS/PARU(1))**2*ETA2
226 WID2=1.
227 ELSEIF(I.EQ.14) THEN
228C...H0 -> gamma + gamma; quark, charged lepton and W loop contributions
229 ETARE=0.
230 ETAIM=0.
231 DO 150 J=1,3*MSTP(1)+1
232 IF(J.LE.2*MSTP(1)) THEN
233 EJ=KCHG(J,1)/3.
234 EPS=(2.*PMAS(J,1)/RMAS)**2
235 ELSEIF(J.LE.3*MSTP(1)) THEN
236 JL=2*(J-2*MSTP(1))-1
237 EJ=KCHG(10+JL,1)/3.
238 EPS=(2.*PMAS(10+JL,1)/RMAS)**2
239 ELSE
240 EPS=(2.*PMAS(24,1)/RMAS)**2
241 ENDIF
242 IF(EPS.LE.1.) THEN
243 IF(EPS.GT.1.E-4) THEN
244 ROOT=SQRT(1.-EPS)
245 RLN=LOG((1.+ROOT)/(1.-ROOT))
246 ELSE
247 RLN=LOG(4./EPS-2.)
248 ENDIF
249 PHIRE=0.25*(RLN**2-PARU(1)**2)
250 PHIIM=0.5*PARU(1)*RLN
251 ELSE
252 PHIRE=-(ASIN(1./SQRT(EPS)))**2
253 PHIIM=0.
254 ENDIF
255 IF(J.LE.2*MSTP(1)) THEN
256 ETARE=ETARE+0.5*3.*EJ**2*EPS*(1.+(EPS-1.)*PHIRE)
257 ETAIM=ETAIM+0.5*3.*EJ**2*EPS*(EPS-1.)*PHIIM
258 ELSEIF(J.LE.3*MSTP(1)) THEN
259 ETARE=ETARE+0.5*EJ**2*EPS*(1.+(EPS-1.)*PHIRE)
260 ETAIM=ETAIM+0.5*EJ**2*EPS*(EPS-1.)*PHIIM
261 ELSE
262 ETARE=ETARE-0.5-0.75*EPS*(1.+(EPS-2.)*PHIRE)
263 ETAIM=ETAIM+0.75*EPS*(EPS-2.)*PHIIM
264 ENDIF
265 150 CONTINUE
266 ETA2=ETARE**2+ETAIM**2
267 WDTP(I)=(AEM/PARU(1))**2*0.5*ETA2
268 WID2=1.
269 ELSEIF(I.EQ.15) THEN
270C...H0 -> gamma + Z0; quark, charged lepton and W loop contributions
271 ETARE=0.
272 ETAIM=0.
273 DO 160 J=1,3*MSTP(1)+1
274 IF(J.LE.2*MSTP(1)) THEN
275 EJ=KCHG(J,1)/3.
276 AJ=SIGN(1.,EJ+0.1)
277 VJ=AJ-4.*EJ*XW
278 EPS=(2.*PMAS(J,1)/RMAS)**2
279 EPSP=(2.*PMAS(J,1)/PMAS(23,1))**2
280 ELSEIF(J.LE.3*MSTP(1)) THEN
281 JL=2*(J-2*MSTP(1))-1
282 EJ=KCHG(10+JL,1)/3.
283 AJ=SIGN(1.,EJ+0.1)
284 VJ=AI-4.*EJ*XW
285 EPS=(2.*PMAS(10+JL,1)/RMAS)**2
286 EPSP=(2.*PMAS(10+JL,1)/PMAS(23,1))**2
287 ELSE
288 EPS=(2.*PMAS(24,1)/RMAS)**2
289 EPSP=(2.*PMAS(24,1)/PMAS(23,1))**2
290 ENDIF
291 IF(EPS.LE.1.) THEN
292 ROOT=SQRT(1.-EPS)
293 IF(EPS.GT.1.E-4) THEN
294 RLN=LOG((1.+ROOT)/(1.-ROOT))
295 ELSE
296 RLN=LOG(4./EPS-2.)
297 ENDIF
298 PHIRE=0.25*(RLN**2-PARU(1)**2)
299 PHIIM=0.5*PARU(1)*RLN
300 PSIRE=-(1.+0.5*ROOT*RLN)
301 PSIIM=0.5*PARU(1)*ROOT
302 ELSE
303 PHIRE=-(ASIN(1./SQRT(EPS)))**2
304 PHIIM=0.
305 PSIRE=-(1.+SQRT(EPS-1.)*ASIN(1./SQRT(EPS)))
306 PSIIM=0.
307 ENDIF
308 IF(EPSP.LE.1.) THEN
309 ROOT=SQRT(1.-EPSP)
310 IF(EPSP.GT.1.E-4) THEN
311 RLN=LOG((1.+ROOT)/(1.-ROOT))
312 ELSE
313 RLN=LOG(4./EPSP-2.)
314 ENDIF
315 PHIREP=0.25*(RLN**2-PARU(1)**2)
316 PHIIMP=0.5*PARU(1)*RLN
317 PSIREP=-(1.+0.5*ROOT*RLN)
318 PSIIMP=0.5*PARU(1)*ROOT
319 ELSE
320 PHIREP=-(ASIN(1./SQRT(EPSP)))**2
321 PHIIMP=0.
322 PSIREP=-(1.+SQRT(EPSP-1.)*ASIN(1./SQRT(EPSP)))
323 PSIIMP=0.
324 ENDIF
325 FXYRE=EPS*EPSP/(8.*(EPS-EPSP))*(1.-EPS*EPSP/(EPS-EPSP)*(PHIRE-
326 & PHIREP)+2.*EPS/(EPS-EPSP)*(PSIRE-PSIREP))
327 FXYIM=EPS*EPSP/(8.*(EPS-EPSP))*(-EPS*EPSP/(EPS-EPSP)*(PHIIM-
328 & PHIIMP)+2.*EPS/(EPS-EPSP)*(PSIIM-PSIIMP))
329 F1RE=EPS*EPSP/(2.*(EPS-EPSP))*(PHIRE-PHIREP)
330 F1IM=EPS*EPSP/(2.*(EPS-EPSP))*(PHIIM-PHIIMP)
331 IF(J.LE.2*MSTP(1)) THEN
332 ETARE=ETARE-3.*EJ*VJ*(FXYRE-0.25*F1RE)
333 ETAIM=ETAIM-3.*EJ*VJ*(FXYIM-0.25*F1IM)
334 ELSEIF(J.LE.3*MSTP(1)) THEN
335 ETARE=ETARE-EJ*VJ*(FXYRE-0.25*F1RE)
336 ETAIM=ETAIM-EJ*VJ*(FXYIM-0.25*F1IM)
337 ELSE
338 ETARE=ETARE-SQRT(1.-XW)*(((1.+2./EPS)*XW/SQRT(1.-XW)-
339 & (5.+2./EPS))*FXYRE+(3.-XW/SQRT(1.-XW))*F1RE)
340 ETAIM=ETAIM-SQRT(1.-XW)*(((1.+2./EPS)*XW/SQRT(1.-XW)-
341 & (5.+2./EPS))*FXYIM+(3.-XW/SQRT(1.-XW))*F1IM)
342 ENDIF
343 160 CONTINUE
344 ETA2=ETARE**2+ETAIM**2
345 WDTP(I)=(AEM/PARU(1))**2*(1.-(PMAS(23,1)/RMAS)**2)**3/XW*ETA2
346 WID2=WIDS(23,2)
347 ELSE
348C...H0 -> Z0 + Z0, W+ + W-
349 WDTP(I)=(1.-4.*RM1+12.*RM1**2)*SQRT(MAX(0.,1.-4.*RM1))/
350 & (2.*(18-I))
351 WID2=WIDS(7+I,1)
352 ENDIF
353 WDTP(0)=WDTP(0)+WDTP(I)
354 IF(MDME(IDC,1).GT.0) THEN
355 WDTE(I,MDME(IDC,1))=WDTP(I)*WID2
356 WDTE(0,MDME(IDC,1))=WDTE(0,MDME(IDC,1))+WDTE(I,MDME(IDC,1))
357 WDTE(I,0)=WDTE(I,MDME(IDC,1))
358 WDTE(0,0)=WDTE(0,0)+WDTE(I,0)
359 ENDIF
360 170 CONTINUE
361
362 ELSEIF(KFLA.EQ.32) THEN
363C...Z'0:
0b9c08da 364C.... this line added by A.M.
365 API = 0.
366C....
e74335a4 367 IF(MINT(61).EQ.1) THEN
368 EI=KCHG(IABS(MINT(15)),1)/3.
369 AI=SIGN(1.,EI)
370 VI=AI-4.*EI*XW
371 SQMZ=PMAS(23,1)**2
372 GZMZ=PMAS(23,2)*PMAS(23,1)
373 API=SIGN(1.,EI)
374 VPI=API-4.*EI*XW
375 SQMZP=PMAS(32,1)**2
376 GZPMZP=PMAS(32,2)*PMAS(32,1)
377 GGI=EI**2
378 GZI=EI*VI/(8.*XW*(1.-XW))*SQM*(SQM-SQMZ)/
379 & ((SQM-SQMZ)**2+GZMZ**2)
380 GZPI=EI*VPI/(8.*XW*(1.-XW))*SQM*(SQM-SQMZP)/
381 & ((SQM-SQMZP)**2+GZPMZP**2)
382 ZZI=(VI**2+AI**2)/(16.*XW*(1.-XW))**2*SQM**2/
383 & ((SQM-SQMZ)**2+GZMZ**2)
384 ZZPI=2.*(VI*VPI+AI*API)/(16.*XW*(1.-XW))**2*
385 & SQM**2*((SQM-SQMZ)*(SQM-SQMZP)+GZMZ*GZPMZP)/
386 & (((SQM-SQMZ)**2+GZMZ**2)*((SQM-SQMZP)**2+GZPMZP**2))
387 ZPZPI=(VPI**2+API**2)/(16.*XW*(1.-XW))**2*SQM**2/
388 & ((SQM-SQMZP)**2+GZPMZP**2)
389 IF(MSTP(44).EQ.1) THEN
390C...Only gamma* production included
391 GZI=0.
392 GZPI=0.
393 ZZI=0.
394 ZZPI=0.
395 ZPZPI=0.
396 ELSEIF(MSTP(44).EQ.2) THEN
397C...Only Z0 production included
398 GGI=0.
399 GZI=0.
400 GZPI=0.
401 ZZPI=0.
402 ZPZPI=0.
403 ELSEIF(MSTP(44).EQ.3) THEN
404C...Only Z'0 production included
405 GGI=0.
406 GZI=0.
407 GZPI=0.
408 ZZI=0.
409 ZZPI=0.
410 ELSEIF(MSTP(44).EQ.4) THEN
411C...Only gamma*/Z0 production included
412 GZPI=0.
413 ZZPI=0.
414 ZPZPI=0.
415 ELSEIF(MSTP(44).EQ.5) THEN
416C...Only gamma*/Z'0 production included
417 GZI=0.
418 ZZI=0.
419 ZZPI=0.
420 ELSEIF(MSTP(44).EQ.6) THEN
421C...Only Z0/Z'0 production included
422 GGI=0.
423 GZI=0.
424 GZPI=0.
425 ENDIF
426 ELSEIF(MINT(61).EQ.2) THEN
427 VINT(111)=0.
428 VINT(112)=0.
429 VINT(113)=0.
430 VINT(114)=0.
431 VINT(115)=0.
432 VINT(116)=0.
433 ENDIF
434 DO 180 I=1,MDCY(32,3)
435 IDC=I+MDCY(32,2)-1
436 RM1=(PMAS(IABS(KFDP(IDC,1)),1)/RMAS)**2
437 RM2=(PMAS(IABS(KFDP(IDC,2)),1)/RMAS)**2
438 IF(SQRT(RM1)+SQRT(RM2).GT.1..OR.MDME(IDC,1).LT.0) GOTO 180
439 IF(I.LE.8) THEN
440C...Z'0 -> q + qb
441 EF=KCHG(I,1)/3.
442 AF=SIGN(1.,EF+0.1)
443 VF=AF-4.*EF*XW
444 APF=SIGN(1.,EF+0.1)
445 VPF=APF-4.*EF*XW
446 IF(MINT(61).EQ.0) THEN
447 WDTP(I)=3.*(VPF**2*(1.+2.*RM1)+APF**2*(1.-4.*RM1))*
448 & SQRT(MAX(0.,1.-4.*RM1))*RADC
449 ELSEIF(MINT(61).EQ.1) THEN
450 WDTP(I)=3.*((GGI*EF**2+GZI*EF*VF+GZPI*EF*VPF+ZZI*VF**2+
451 & ZZPI*VF*VPF+ZPZPI*VPF**2)*(1.+2.*RM1)+(ZZI*AF**2+
452 & ZZPI*AF*APF+ZPZPI*APF**2)*(1.-4.*RM1))*
453 & SQRT(MAX(0.,1.-4.*RM1))*RADC
454 ELSEIF(MINT(61).EQ.2) THEN
455 GGF=3.*EF**2*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))*RADC
456 GZF=3.*EF*VF*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))*RADC
457 GZPF=3.*EF*VPF*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))*RADC
458 ZZF=3.*(VF**2*(1.+2.*RM1)+AF**2*(1.-4.*RM1))*
459 & SQRT(MAX(0.,1.-4.*RM1))*RADC
460 ZZPF=3.*(VF*VPF*(1.+2.*RM1)+AF*APF*(1.-4.*RM1))*
461 & SQRT(MAX(0.,1.-4.*RM1))*RADC
462 ZPZPF=3.*(VPF**2*(1.+2.*RM1)+APF**2*(1.-4.*RM1))*
463 & SQRT(MAX(0.,1.-4.*RM1))*RADC
464 ENDIF
465 WID2=1.
466 ELSE
467C...Z'0 -> l+ + l-, nu + nub
468 EF=KCHG(I+2,1)/3.
469 AF=SIGN(1.,EF+0.1)
470 VF=AF-4.*EF*XW
471 APF=SIGN(1.,EF+0.1)
472 VPF=API-4.*EF*XW
473 IF(MINT(61).EQ.0) THEN
474 WDTP(I)=(VPF**2*(1.+2.*RM1)+APF**2*(1.-4.*RM1))*
475 & SQRT(MAX(0.,1.-4.*RM1))
476 ELSEIF(MINT(61).EQ.1) THEN
477 WDTP(I)=((GGI*EF**2+GZI*EF*VF+GZPI*EF*VPF+ZZI*VF**2+
478 & ZZPI*VF*VPF+ZPZPI*VPF**2)*(1.+2.*RM1)+(ZZI*AF**2+
479 & ZZPI*AF*APF+ZPZPI*APF**2)*(1.-4.*RM1))*
480 & SQRT(MAX(0.,1.-4.*RM1))
481 ELSEIF(MINT(61).EQ.2) THEN
482 GGF=EF**2*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
483 GZF=EF*VF*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
484 GZPF=EF*VPF*(1.+2.*RM1)*SQRT(MAX(0.,1.-4.*RM1))
485 ZZF=(VF**2*(1.+2.*RM1)+AF**2*(1.-4.*RM1))*
486 & SQRT(MAX(0.,1.-4.*RM1))
487 ZZPF=(VF*VPF*(1.+2.*RM1)+AF*APF*(1.-4.*RM1))*
488 & SQRT(MAX(0.,1.-4.*RM1))
489 ZPZPF=(VPF**2*(1.+2.*RM1)+APF**2*(1.-4.*RM1))*
490 & SQRT(MAX(0.,1.-4.*RM1))
491 ENDIF
492 WID2=1.
493 ENDIF
494 WDTP(0)=WDTP(0)+WDTP(I)
495 IF(MDME(IDC,1).GT.0) THEN
496 WDTE(I,MDME(IDC,1))=WDTP(I)*WID2
497 WDTE(0,MDME(IDC,1))=WDTE(0,MDME(IDC,1))+WDTE(I,MDME(IDC,1))
498 WDTE(I,0)=WDTE(I,MDME(IDC,1))
499 WDTE(0,0)=WDTE(0,0)+WDTE(I,0)
500 VINT(111)=VINT(111)+GGF
501 VINT(112)=VINT(112)+GZF
502 VINT(113)=VINT(113)+GZPF
503 VINT(114)=VINT(114)+ZZF
504 VINT(115)=VINT(115)+ZZPF
505 VINT(116)=VINT(116)+ZPZPF
506 ENDIF
507 180 CONTINUE
508 IF(MSTP(44).EQ.1) THEN
509C...Only gamma* production included
510 VINT(112)=0.
511 VINT(113)=0.
512 VINT(114)=0.
513 VINT(115)=0.
514 VINT(116)=0.
515 ELSEIF(MSTP(44).EQ.2) THEN
516C...Only Z0 production included
517 VINT(111)=0.
518 VINT(112)=0.
519 VINT(113)=0.
520 VINT(115)=0.
521 VINT(116)=0.
522 ELSEIF(MSTP(44).EQ.3) THEN
523C...Only Z'0 production included
524 VINT(111)=0.
525 VINT(112)=0.
526 VINT(113)=0.
527 VINT(114)=0.
528 VINT(115)=0.
529 ELSEIF(MSTP(44).EQ.4) THEN
530C...Only gamma*/Z0 production included
531 VINT(113)=0.
532 VINT(115)=0.
533 VINT(116)=0.
534 ELSEIF(MSTP(44).EQ.5) THEN
535C...Only gamma*/Z'0 production included
536 VINT(112)=0.
537 VINT(114)=0.
538 VINT(115)=0.
539 ELSEIF(MSTP(44).EQ.6) THEN
540C...Only Z0/Z'0 production included
541 VINT(111)=0.
542 VINT(112)=0.
543 VINT(113)=0.
544 ENDIF
545
546 ELSEIF(KFLA.EQ.37) THEN
547C...H+/-:
548 DO 190 I=1,MDCY(37,3)
549 IDC=I+MDCY(37,2)-1
550 RM1=(PMAS(IABS(KFDP(IDC,1)),1)/RMAS)**2
551 RM2=(PMAS(IABS(KFDP(IDC,2)),1)/RMAS)**2
552 IF(SQRT(RM1)+SQRT(RM2).GT.1..OR.MDME(IDC,1).LT.0) GOTO 190
553 IF(I.LE.4) THEN
554C...H+/- -> q + qb'
555 WDTP(I)=3.*((RM1*PARU(121)+RM2/PARU(121))*
556 & (1.-RM1-RM2)-4.*RM1*RM2)*
557 & SQRT(MAX(0.,(1.-RM1-RM2)**2-4.*RM1*RM2))*RADC
558 WID2=1.
559 ELSE
560C...H+/- -> l+/- + nu
561 WDTP(I)=((RM1*PARU(121)+RM2/PARU(121))*
562 & (1.-RM1-RM2)-4.*RM1*RM2)*
563 & SQRT(MAX(0.,(1.-RM1-RM2)**2-4.*RM1*RM2))
564 WID2=1.
565 ENDIF
566 WDTP(0)=WDTP(0)+WDTP(I)
567 IF(MDME(IDC,1).GT.0) THEN
568 WDTE(I,MDME(IDC,1))=WDTP(I)*WID2
569 WDTE(0,MDME(IDC,1))=WDTE(0,MDME(IDC,1))+WDTE(I,MDME(IDC,1))
570 WDTE(I,0)=WDTE(I,MDME(IDC,1))
571 WDTE(0,0)=WDTE(0,0)+WDTE(I,0)
572 ENDIF
573 190 CONTINUE
574
575 ELSEIF(KFLA.EQ.40) THEN
576C...R:
577 DO 200 I=1,MDCY(40,3)
578 IDC=I+MDCY(40,2)-1
579 RM1=(PMAS(IABS(KFDP(IDC,1)),1)/RMAS)**2
580 RM2=(PMAS(IABS(KFDP(IDC,2)),1)/RMAS)**2
581 IF(SQRT(RM1)+SQRT(RM2).GT.1..OR.MDME(IDC,1).LT.0) GOTO 200
582 IF(I.LE.4) THEN
583C...R -> q + qb'
584 WDTP(I)=3.*RADC
585 WID2=1.
586 ELSE
587C...R -> l+ + l'-
588 WDTP(I)=1.
589 WID2=1.
590 ENDIF
591 WDTP(0)=WDTP(0)+WDTP(I)
592 IF(MDME(IDC,1).GT.0) THEN
593 WDTE(I,MDME(IDC,1))=WDTP(I)*WID2
594 WDTE(0,MDME(IDC,1))=WDTE(0,MDME(IDC,1))+WDTE(I,MDME(IDC,1))
595 WDTE(I,0)=WDTE(I,MDME(IDC,1))
596 WDTE(0,0)=WDTE(0,0)+WDTE(I,0)
597 ENDIF
598 200 CONTINUE
599
600 ENDIF
601 MINT(61)=0
602
603 RETURN
604 END