215 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
218 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
219 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
220 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
221 common/pydat4/chaf(500,2)
223 common/pydatr/mrpy(6),rrpy(100)
224 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
225 common/pypars/mstp(200),parp(200),msti(200),pari(200)
226 common/pyint1/mint(400),vint(400)
227 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
228 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
229 common/pyint4/mwid(500),wids(500,5)
230 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
231 common/pyint6/proc(0:500)
233 common/pyint7/sigt(0:6,0:6,0:5)
234 common/pymssm/imss(0:99),rmss(0:99)
235 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
237 common/pybins/ihist(4),indx(1000),
bin(20000)
238 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pydat4/,/pydatr/,/pysubs/,
239 &/pypars/,/pyint1/,/pyint2/,/pyint3/,/pyint4/,/pyint5/,
240 &/pyint6/,/pyint7/,/pymssm/,/pyssmt/,/pybins/
244 & 0, 0, 0, 4000,10000, 500, 4000, 0, 0, 2,
245 1 6, 1, 1, 0, 1, 1, 0, 0, 0, 0,
246 2 2, 10, 0, 0, 1, 10, 0, 0, 0, 0,
247 3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
248 4 2, 2, 1, 4, 2, 1, 1, 0, 0, 0,
249 5 25, 24, 0, 1, 0, 0, 0, 0, 0, 0,
250 6 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
252 1 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
253 2 1, 5, 3, 5, 0, 0, 0, 0, 0, 0,
256 & 3.141592653589793d0, 6.283185307179586d0,
257 & 0.197327d0, 5.06773d0, 0.389380d0, 2.56819d0, 4*0d0,
258 1 0.001d0, 0.09d0, 0.01d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
259 2 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
260 3 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
261 4 2.0d0, 1.0d0, 0.25d0, 2.5d0, 0.05d0,
262 4 0d0, 0d0, 0.0001d0, 0d0, 0d0,
263 5 2.5d0,1.5d0,7.0d0,1.0d0,0.5d0,2.0d0,3.2d0, 0d0, 0d0, 0d0,
265 & 0.00729735d0, 0.232d0, 0.007764d0, 1.0d0, 1.16639
d-5,
266 & 0d0, 0d0, 0d0, 0d0, 0d0,
267 1 0.20d0, 0.25d0, 1.0d0, 4.0d0, 10d0, 0d0, 0d0, 0d0, 0d0, 0d0,
268 2 -0.693d0, -1.0d0, 0.387d0, 1.0d0, -0.08d0,
269 2 -1.0d0, 1.0d0, 1.0d0, 1.0d0, 0d0,
270 3 1.0d0,-1.0d0, 1.0d0,-1.0d0, 1.0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
271 4 5.0d0, 1.0d0, 1.0d0, 0d0, 1.0d0, 1.0d0, 0d0, 0d0, 0d0, 0d0,
272 5 1.0d0, 0d0, 0d0, 0d0, 1000d0, 1.0d0, 1.0d0, 1.0d0, 1.0d0,0d0,
273 6 1.0d0, 1.0d0, 1.0d0, 1.0d0, 1.0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
274 7 1.0d0, 1.0d0, 1.0d0, 1.0d0, 1.0d0, 1.0d0, 1.0d0, 0d0,0d0,0d0,
275 8 1.0d0, 1.0d0, 1.0d0, 0.0d0, 0.0d0, 1.0d0, 1.0d0, 0d0,0d0,0d0,
276 9 0d0, 0d0, 0d0, 0d0, 1.0d0, 0d0, 0d0, 0d0, 0d0, 0d0/
278 & 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
279 1 4, 2, 0, 1, 0, 0, 0, 0, 0, 0,
280 2 2, 1, 1, 2, 1, 2, 2, 0, 0, 0,
281 3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
282 4 2, 2, 4, 2, 5, 3, 3, 0, 0, 3,
283 5 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
285 & 5, 2, 7, 5, 1, 1, 0, 2, 0, 2,
286 1 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
289 & 0.10d0, 0.30d0, 0.40d0, 0.05d0, 0.50d0,
290 & 0.50d0, 0.50d0, 0d0, 0d0, 0d0,
291 1 0.50d0,0.60d0,0.75d0, 0d0, 0d0, 0d0, 0d0, 1.0d0, 1.0d0, 0d0,
292 2 0.36d0, 1.0d0,0.01d0, 2.0d0,1.0d0,0.4d0, 0d0, 0d0, 0d0, 0d0,
293 3 0.10d0, 1.0d0, 0.8d0, 1.5d0,0d0,2.0d0,0.2d0,2.5d0,0.6d0,0d0,
294 4 0.3d0, 0.58d0, 0.5d0, 0.9d0,0.5d0,1.0d0,1.0d0,1.0d0,0d0,0d0,
295 5 0.77d0, 0.77d0, 0.77d0, -0.05d0, -0.005d0,
296 5 -0.00001d0, -0.00001d0, -0.00001d0, 1.0d0, 0d0,
297 6 4.5d0, 0.7d0, 0d0,0.003d0, 0.5d0, 0.5d0, 0d0, 0d0, 0d0, 0d0,
298 7 10d0, 1000d0, 100d0, 1000d0, 0d0, 0.7d0,10d0, 0d0, 0d0, 0d0,
299 8 0.29d0, 1.0d0, 1.0d0, 0d0, 10d0, 10d0, 0d0, 0d0, 0d0, 0d0,
300 9 0.02d0, 1.0d0, 0.2d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
301 & 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
302 1 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
303 2 1.0d0, 0.25d0,91.187d0,2.489d0, 0.01d0,
304 2 2.0d0, 1.0d0, 0.25d0,0.002d0, 0d0,
305 3 0d0, 0d0, 0d0, 0d0, 0.01d0, 0.99d0, 0d0, 0d0, 0.2d0, 0d0,
309 DATA (kchg(i,1),i= 1, 500)/-1,2,-1,2,-1,2,-1,2,2*0,-3,0,-3,0,
310 &-3,0,-3,6*0,3,9*0,3,2*0,3,0,-1,12*0,3,2*0,3,28*0,2,-1,20*0,4*3,
311 &8*0,3*3,4*0,3*3,3*0,3*3,7*0,3*3,3*0,3*3,3*0,-2,-3,2*1,3*0,4,3*3,
312 &6,2*-2,2*-3,0,2*1,2*0,2*3,-2,2*-3,2*0,-3,2*1,2*0,3,0,2*4,2*3,2*6,
313 &3,2*1,2*0,2*3,2*0,4,2*3,2*6,2*3,6,2*-2,2*-3,0,-3,0,2*1,2*0,2*3,0,
314 &3,2*-2,2*-3,2*0,2*-3,0,2*1,2*0,2*3,2*0,2*3,-2,2*-3,2*0,2*-3,2*0,
315 &-3,2*0,2*3,4*0,2*3,2*0,2*3,2*0,2*3,4*0,2*3,2*0,2*3,3*0,3,2*0,3,0,
316 &3,0,3,2*0,3,0,3,3*0,-1,2,-1,2,-1,2,-3,0,-3,0,-3,4*0,3,2*0,3,0,-1,
317 &2,-1,2,-1,2,-3,0,-3,0,-3,0,-1,2,-3,164*0/
318 DATA (kchg(i,2),i= 1, 500)/8*1,12*0,2,16*0,2,1,113*0,-1,0,2*-1,
319 &3*0,-1,4*0,2*-1,3*0,2*-1,4*0,-1,5*0,2*-1,4*0,2*-1,5*0,2*-1,6*0,
320 &-1,7*0,2*-1,5*0,2*-1,6*0,2*-1,7*0,2*-1,8*0,-1,56*0,6*1,6*0,2,7*0,
322 DATA (kchg(i,3),i= 1, 500)/8*1,2*0,8*1,5*0,1,9*0,1,2*0,1,0,2*1,
323 &11*0,1,2*0,1,26*0,1,0,2*1,20*0,4*1,5*0,6*1,4*0,9*1,4*0,12*1,3*0,
324 &102*1,2*0,2*1,2*0,4*1,2*0,6*1,2*0,8*1,3*0,1,0,2*1,0,3*1,0,4*1,
325 &3*0,12*1,3*0,1,2*0,1,0,16*1,163*0/
326 DATA (kchg(i,4),i= 1, 293)/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
327 &16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,
328 &37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,
329 &58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,
330 &79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,
331 &100,110,111,113,115,130,210,211,213,215,220,221,223,225,310,311,
332 &313,315,321,323,325,330,331,333,335,411,413,415,421,423,425,431,
333 &433,435,440,441,443,445,511,513,515,521,523,525,531,533,535,541,
334 &543,545,551,553,555,1103,1114,2101,2103,2110,2112,2114,2203,2210,
335 &2212,2214,2224,3101,3103,3112,3114,3122,3201,3203,3212,3214,3222,
336 &3224,3303,3312,3314,3322,3324,3334,4101,4103,4112,4114,4122,4132,
337 &4201,4203,4212,4214,4222,4224,4232,4301,4303,4312,4314,4322,4324,
338 &4332,4334,4403,4412,4414,4422,4424,4432,4434,4444,5101,5103,5112,
339 &5114,5122,5132,5142,5201,5203,5212,5214,5222,5224,5232,5242,5301,
340 &5303,5312,5314,5322,5324,5332,5334,5342,5401,5403,5412,5414,5422,
341 &5424,5432,5434,5442,5444,5503,5512,5514,5522,5524,5532,5534,5542,
342 &5544,5554,10111,10113,10211,10213,10221,10223,10311,10313,10321,
343 &10323,10331,10333,10411,10413,10421,10423,10431,10433,10441,
344 &10443,10511,10513,10521,10523,10531,10533,10541,10543,10551,
345 &10553,20113,20213,20223,20313,20323,20333,20413,20423,20433/
346 DATA (kchg(i,4),i= 294, 500)/20443,20513,20523,20533,20543,20553,
347 &100443,100553,1000001,1000002,1000003,1000004,1000005,1000006,
348 &1000011,1000012,1000013,1000014,1000015,1000016,1000021,1000022,
349 &1000023,1000024,1000025,1000035,1000037,1000039,2000001,2000002,
350 &2000003,2000004,2000005,2000006,2000011,2000012,2000013,2000014,
351 &2000015,2000016,4000001,4000002,4000011,4000012,163*0/
352 DATA (pmas(i,1),i= 1, 214)/0.0099d0,0.0056d0,0.199d0,1.35d0,
353 &5d0,175d0,2*400d0,2*0d0,0.00051d0,0d0,0.10566d0,0d0,1.777d0,0d0,
354 &400d0,5*0d0,91.187d0,80.33d0,80d0,6*0d0,500d0,900d0,500d0,
355 &3*300d0,350d0,200d0,5000d0,10*0d0,3*100d0,3*200d0,26*0d0,1d0,2d0,
356 &5d0,16*0d0,0.13498d0,0.7685d0,1.318d0,0.49767d0,0d0,0.13957d0,
357 &0.7669d0,1.318d0,0d0,0.54745d0,0.78194d0,1.275d0,2*0.49767d0,
358 &0.8961d0,1.432d0,0.4936d0,0.8916d0,1.425d0,0d0,0.95777d0,
359 &1.0194d0,1.525d0,1.8693d0,2.01d0,2.46d0,1.8645d0,2.0067d0,2.46d0,
360 &1.9685d0,2.1124d0,2.5735d0,0d0,2.9798d0,3.09688d0,3.5562d0,
361 &5.2792d0,5.3248d0,5.83d0,5.2789d0,5.3248d0,5.83d0,5.3693d0,
362 &5.4163d0,6.07d0,6.594d0,6.602d0,7.35d0,9.4d0,9.4603d0,9.9132d0,
363 &0.77133d0,1.234d0,0.57933d0,0.77133d0,0d0,0.93957d0,1.233d0,
364 &0.77133d0,0d0,0.93827d0,1.232d0,1.231d0,0.80473d0,0.92953d0,
365 &1.19744d0,1.3872d0,1.11568d0,0.80473d0,0.92953d0,1.19255d0,
366 &1.3837d0,1.18937d0,1.3828d0,1.09361d0,1.3213d0,1.535d0,1.3149d0,
367 &1.5318d0,1.67245d0,1.96908d0,2.00808d0,2.4521d0,2.5d0,2.2849d0,
368 &2.4703d0,1.96908d0,2.00808d0,2.4535d0,2.5d0,2.4529d0,2.5d0,
369 &2.4656d0,2.15432d0,2.17967d0,2.55d0,2.63d0,2.55d0,2.63d0,2.704d0,
370 &2.8d0,3.27531d0,3.59798d0,3.65648d0,3.59798d0,3.65648d0,
371 &3.78663d0,3.82466d0,4.91594d0,5.38897d0,5.40145d0,5.8d0,5.81d0/
372 DATA (pmas(i,1),i= 215, 500)/5.641d0,5.84d0,7.00575d0,5.38897d0,
373 &5.40145d0,5.8d0,5.81d0,5.8d0,5.81d0,5.84d0,7.00575d0,5.56725d0,
374 &5.57536d0,5.96d0,5.97d0,5.96d0,5.97d0,6.12d0,6.13d0,7.19099d0,
375 &6.67143d0,6.67397d0,7.03724d0,7.0485d0,7.03724d0,7.0485d0,
376 &7.21101d0,7.219d0,8.30945d0,8.31325d0,10.07354d0,10.42272d0,
377 &10.44144d0,10.42272d0,10.44144d0,10.60209d0,10.61426d0,
378 &11.70767d0,11.71147d0,15.11061d0,0.9835d0,1.231d0,0.9835d0,
379 &1.231d0,1d0,1.17d0,1.429d0,1.29d0,1.429d0,1.29d0,2*1.4d0,2.272d0,
380 &2.424d0,2.272d0,2.424d0,2.5d0,2.536d0,3.4151d0,3.46d0,5.68d0,
381 &5.73d0,5.68d0,5.73d0,5.92d0,5.97d0,7.25d0,7.3d0,9.8598d0,9.875d0,
382 &2*1.23d0,1.282d0,2*1.402d0,1.427d0,2*2.372d0,2.56d0,3.5106d0,
383 &2*5.78d0,6.02d0,7.3d0,9.8919d0,3.686d0,10.0233d0,32*500d0,
385 DATA (pmas(i,2),i= 1, 500)/5*0d0,1.4d0,16*0d0,2.47833d0,
386 &2.069d0,0.00295d0,6*0d0,14.67788d0,0d0,16.79392d0,8.45231d0,
387 &4.93534d0,5.80468d0,19.1898d0,0.39162d0,417.35283d0,62*0d0,
388 &0.151d0,0.107d0,3*0d0,0.149d0,0.107d0,2*0d0,0.00843d0,0.185d0,
389 &2*0d0,0.0505d0,0.109d0,0d0,0.0498d0,0.098d0,0d0,0.0002d0,
390 &0.00443d0,0.076d0,2*0d0,0.023d0,2*0d0,0.023d0,2*0d0,0.015d0,0d0,
391 &0.0013d0,0d0,0.002d0,2*0d0,0.02d0,2*0d0,0.02d0,2*0d0,0.02d0,
392 &2*0d0,0.02d0,4*0d0,0.12d0,4*0d0,0.12d0,3*0d0,2*0.12d0,3*0d0,
393 &0.0394d0,4*0d0,0.036d0,0d0,0.0358d0,2*0d0,0.0099d0,0d0,0.0091d0,
394 &74*0d0,0.06d0,0.142d0,0.06d0,0.142d0,0d0,0.36d0,0.287d0,0.09d0,
395 &0.287d0,0.09d0,0.25d0,0.08d0,0.05d0,0.02d0,0.05d0,0.02d0,0.05d0,
396 &0d0,0.014d0,0.01d0,8*0.05d0,0d0,0.01d0,2*0.4d0,0.025d0,2*0.174d0,
397 &0.053d0,3*0.05d0,0.0009d0,4*0.05d0,3*0d0,19*1d0,0d0,7*1d0,0d0,
398 &1d0,0d0,1d0,0d0,2.60511d0,2.60839d0,0.42904d0,0.41921d0,163*0d0/
399 DATA (pmas(i,3),i= 1, 500)/5*0d0,14d0,16*0d0,24.78326d0,
400 &20.69d0,0.02954d0,6*0d0,146.77876d0,0d0,167.93924d0,84.52308d0,
401 &49.35344d0,58.04675d0,191.89803d0,3.91624d0,4173.5283d0,62*0d0,
402 &0.4d0,0.25d0,3*0d0,0.4d0,0.25d0,2*0d0,0.1d0,0.17d0,2*0d0,0.2d0,
403 &0.12d0,0d0,0.2d0,0.12d0,0d0,0.002d0,0.015d0,0.2d0,2*0d0,0.12d0,
404 &2*0d0,0.12d0,2*0d0,0.05d0,0d0,0.005d0,0d0,0.01d0,2*0d0,0.05d0,
405 &2*0d0,0.05d0,2*0d0,0.05d0,2*0d0,0.05d0,4*0d0,0.14d0,4*0d0,0.14d0,
406 &3*0d0,2*0.14d0,3*0d0,0.04d0,4*0d0,0.035d0,0d0,0.035d0,2*0d0,
407 &0.05d0,0d0,0.05d0,74*0d0,0.05d0,0.25d0,0.05d0,0.25d0,0d0,0.2d0,
408 &0.4d0,0.005d0,0.4d0,0.01d0,0.35d0,0.001d0,0.1d0,0.08d0,0.1d0,
409 &0.08d0,0.1d0,0d0,0.05d0,0.02d0,6*0.1d0,0.05d0,0.1d0,0d0,0.02d0,
410 &2*0.3d0,0.05d0,2*0.3d0,0.02d0,2*0.1d0,0.03d0,0.001d0,4*0.1d0,
411 &3*0d0,19*10d0,0.00001d0,7*10d0,0.00001d0,10d0,0.00001d0,10d0,
412 &0.00001d0,26.05109d0,26.08388d0,4.29043d0,4.19206d0,163*0d0/
413 DATA (pmas(i,4),i= 1, 500)/12*0d0,658654d0,0d0,0.0872d0,68*0d0,
414 &0.1d0,0.387d0,16*0d0,0.00003d0,2*0d0,15500d0,0d0,7804.5d0,6*0d0,
415 &26.762d0,3*0d0,3709d0,6*0d0,0.317d0,2*0d0,0.1244d0,2*0d0,0.14d0,
416 &6*0d0,0.468d0,2*0d0,0.462d0,2*0d0,0.483d0,2*0d0,0.15d0,19*0d0,
417 &44.34d0,0d0,78.88d0,4*0d0,23.96d0,2*0d0,49.1d0,0d0,87.1d0,0d0,
418 &24.6d0,4*0d0,0.0618d0,0.029d0,6*0d0,0.106d0,6*0d0,0.019d0,2*0d0,
419 &7*0.1d0,4*0d0,0.342d0,2*0.387d0,6*0d0,2*0.387d0,6*0d0,0.387d0,
420 &0d0,0.387d0,2*0d0,8*0.387d0,0d0,9*0.387d0,83*0d0,163*0d0/
422 & 0.5d0,0.25d0, 0.5d0,0.25d0, 1d0, 0.5d0, 0d0, 0d0, 0d0, 0d0,
423 1 0.5d0, 0d0, 0.5d0, 0d0, 1d0, 1d0, 0d0, 0d0, 0d0, 0d0,
424 2 0.5d0, 0d0, 0.5d0, 0d0, 1d0, 1d0, 0d0, 0d0, 0d0, 0d0,
425 3 0.5d0, 0d0, 0.5d0, 0d0, 1d0, 1d0, 0d0, 0d0, 0d0, 0d0,
426 4 0.5d0, 0d0, 0.5d0, 0d0, 1d0, 1d0, 0d0, 0d0, 0d0, 0d0,
427 5 0.5d0, 0d0, 0.5d0, 0d0, 1d0, 1d0, 0d0, 0d0, 0d0, 0d0,
428 6 0.75d0, 0.5d0, 0d0,0.1667d0,0.0833d0,0.1667d0,0d0,0d0,0d0, 0d0,
429 7 0d0, 0d0, 1d0,0.3333d0,0.6667d0,0.3333d0,0d0,0d0,0d0, 0d0,
430 8 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
431 9 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
432 & 0.325d0,0.325d0,0.5d0,1.6d0, 5.0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
433 1 0d0,0.11d0,0.16d0,0.048d0,0.50d0,0.45d0,0.55d0,0.60d0,0d0,0d0,
434 2 0.2d0, 0.1d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0, 0d0,
436 DATA ((vckm(i,j),j=1,4),i=1,4)/
437 & 0.95113d0, 0.04884d0, 0.00003d0, 0.00000d0,
438 & 0.04884d0, 0.94940d0, 0.00176d0, 0.00000d0,
439 & 0.00003d0, 0.00176d0, 0.99821d0, 0.00000d0,
440 & 0.00000d0, 0.00000d0, 0.00000d0, 1.00000d0/
443 DATA (mdcy(i,1),i= 1, 500)/5*0,3*1,6*0,1,0,1,5*0,3*1,6*0,1,0,
444 &7*1,10*0,2*1,0,3*1,26*0,3*1,16*0,3*1,3*0,2*1,0,7*1,0,2*1,0,12*1,
445 &0,18*1,0,1,4*0,1,3*0,2*1,2*0,3*1,2*0,4*1,0,5*1,2*0,4*1,2*0,5*1,
446 &2*0,6*1,0,7*1,2*0,5*1,2*0,6*1,2*0,7*1,2*0,8*1,0,75*1,0,7*1,0,1,0,
448 DATA (mdcy(i,2),i= 1, 500)/1,9,17,25,33,41,54,64,2*0,74,78,80,
449 &85,87,141,143,148,2*0,151,160,172,188,208,6*0,287,0,309,332,414,
450 &494,521,524,525,10*0,534,539,0,544,564,588,26*0,606,607,611,16*0,
451 &620,622,627,636,0,645,647,649,0,656,664,670,679,681,683,686,696,
452 &702,705,0,716,722,733,739,802,805,813,874,876,884,917,919,0,923,
453 &924,927,929,965,966,974,1010,1011,1019,1058,1059,1063,1094,1095,
454 &1099,1100,1109,0,1111,4*0,1112,3*0,1115,1118,2*0,1119,1121,1124,
455 &2*0,1128,1129,1132,1135,0,1138,1143,1145,1148,1150,2*0,1154,1155,
456 &1156,1232,2*0,1236,1237,1238,1239,1240,2*0,1244,1245,1247,1248,
457 &1250,1254,0,1255,1259,1263,1267,1271,1275,1279,2*0,1283,1284,
458 &1285,1302,1311,2*0,1320,1321,1322,1323,1324,1333,2*0,1342,1343,
459 &1344,1345,1346,1355,1356,2*0,1365,1374,1383,1392,1401,1410,1419,
460 &1428,0,1437,1446,1455,1464,1473,1482,1491,1500,1509,1518,1519,
461 &1520,1521,1522,1527,1530,1532,1537,1539,1544,1551,1555,1557,1559,
462 &1561,1563,1565,1567,1569,1570,1572,1574,1576,1578,1580,1582,1584,
463 &1586,1588,1589,1591,1593,1607,1609,1611,1615,1617,1619,1621,1623,
464 &1625,1627,1629,1631,1633,1644,1658,1670,1682,1694,1706,1718,1731,
465 &1742,1753,1764,1775,1786,1797,1858,1863,1965,2021,2139,2273,0,
466 &2344,2360,2376,2392,2408,2424,2440,0,2455,0,2470,0,2485,2489,
468 DATA (mdcy(i,3),i= 1, 500)/5*8,13,2*10,2*0,4,2,5,2,54,2,5,3,
469 &2*0,9,12,16,20,79,6*0,22,0,23,82,80,27,3,1,9,10*0,2*5,0,20,24,18,
470 &26*0,1,4,9,16*0,2,5,2*9,0,2*2,7,0,8,6,9,2*2,3,10,6,3,11,0,6,11,6,
471 &63,3,8,61,2,8,33,2,4,0,1,3,2,36,1,8,36,1,8,39,1,4,31,1,4,1,9,2,0,
472 &1,4*0,3,3*0,3,1,2*0,2,3,4,2*0,1,3*3,0,5,2,3,2,4,2*0,2*1,76,4,2*0,
473 &4*1,4,2*0,1,2,1,2,4,1,0,7*4,2*0,2*1,17,2*9,2*0,4*1,2*9,2*0,4*1,9,
474 &1,9,2*0,8*9,0,9*9,4*1,5,3,2,5,2,5,7,4,7*2,1,9*2,1,2*2,14,2*2,4,
475 &9*2,11,14,5*12,13,6*11,61,5,102,56,118,134,71,0,6*16,15,0,15,0,
477 DATA (mdme(i,1),i= 1,4000)/6*1,-1,7*1,-1,7*1,-1,7*1,-1,7*1,-1,
478 &7*1,-1,1,-1,12*1,2*-1,8*1,2*-1,73*1,-1,2*1,-1,6*1,2*-1,7*1,2*-1,
479 &3*1,-1,6*1,2*-1,6*1,2*-1,3*1,-1,3*1,-1,3*1,5*-1,3*1,-1,85*1,2*-1,
480 &6*1,8*-1,3*1,-1,3*1,-1,3*1,5*-1,3*1,4*-1,197*1,2*-1,2*1,-1,20*1,
481 &2*-1,6*1,2*-1,7*1,-1,3*1,-1,3*1,5*-1,3*1,-1,1,-1,6*1,2*-1,6*1,
483 DATA (mdme(i,2),i= 1,4000)/43*102,4*0,102,0,4*53,3*102,4*0,102,
484 &2*0,3*102,4*0,102,2*0,6*102,42,6*102,2*42,2*0,8*41,2*0,36*41,
485 &8*102,0,102,0,102,2*0,21*102,8*32,8*0,16*32,21*0,62*53,8*32,14*0,
486 &16*32,27*0,62*53,18*0,62*53,9*0,18*53,3*32,0,6*32,3*0,2*32,3*0,
487 &2*32,7*0,8*32,12*0,16*32,6*0,8*32,8*0,12,2*42,2*11,9*42,0,2,3,
488 &15*0,4*42,5*0,3,12*0,2,3*0,1,0,3,16*0,2*3,15*0,2*42,2*3,18*0,2*3,
489 &3*0,1,11*0,22*42,41*0,2*3,9*0,16*42,45*0,3,10*0,10*42,20*0,2*13,
490 &6*0,12,2*0,12,0,12,14*42,16*0,48,3*13,2*42,9*0,14*42,16*0,48,
491 &3*13,2*42,9*0,14*42,19*0,48,3*13,2*42,6*0,2*11,28*42,5*0,32,3*0,
492 &4*32,2*4,0,32,45*0,14*42,52*0,10*13,2*42,2*11,4*0,2*42,2*11,6*0,
493 &2*42,2*11,0,2*42,2*11,2*42,2*11,2*42,2*11,2*42,2*11,2*42,2*11,
494 &2*42,2*11,2*42,2*11,2*0,3*42,8*0,48,3*13,20*42,4*0,18*42,4*0,
495 &9*42,0,162*42,50*0,2*12,17*0,2*32,33*0,12,9*0,32,2*0,12,11*0,
496 &4*32,2*4,5*0,828*53,1515*0/
497 DATA (brat(i) ,i= 1, 418)/43*0d0,0.00003d0,0.00177d0,0.9982d0,
498 &33*0d0,1d0,6*0d0,0.1783d0,0.1735d0,0.1131d0,0.2494d0,0.003d0,
499 &0.09d0,0.0027d0,0.01d0,0.0014d0,0.0012d0,2*0.00025d0,0.0071d0,
500 &0.012d0,0.0004d0,0.00075d0,0.00006d0,2*0.00078d0,0.0034d0,0.08d0,
501 &0.011d0,0.0191d0,0.00006d0,0.005d0,0.0133d0,0.0067d0,0.0005d0,
502 &0.0035d0,0.0006d0,0.0015d0,0.00021d0,0.0002d0,0.00075d0,0.0001d0,
503 &0.0002d0,0.0011d0,3*0.0002d0,0.00022d0,0.0004d0,0.0001d0,
504 &2*0.00205d0,2*0.00069d0,0.00025d0,0.00051d0,0.00025d0,35*0d0,
505 &0.15403d0,0.11945d0,0.15402d0,0.11931d0,0.15215d0,3*0d0,
506 &0.03357d0,0.0668d0,0.03357d0,0.0668d0,0.0335d0,0.0668d0,2*0d0,
507 &0.32139d0,0.0165d0,2*0d0,0.0165d0,0.32067d0,2*0d0,0.00001d0,
508 &0.00059d0,6*0d0,2*0.10814d0,0.10806d0,3*0d0,0.00031d0,0.04438d0,
509 &0.88031d0,4*0d0,0.0002d0,0.05531d0,0d0,0.01838d0,0.00071d0,0d0,
510 &0.00009d0,0.00032d0,62*0d0,0.14449d0,0.11223d0,0.14449d0,
511 &0.11223d0,0.14443d0,0.05782d0,2*0d0,0.03172d0,0.06305d0,
512 &0.03172d0,0.06305d0,0.03172d0,0.06305d0,8*0d0,0.24928d0,0.0128d0,
513 &0.00001d0,0d0,0.0128d0,0.24882d0,0.00039d0,0d0,0.00001d0,
514 &0.00046d0,0.22153d0,5*0d0,2*0.08464d0,0.08463d0,7*0d0,0.00005d0,
515 &0.00097d0,5*0d0,0.00007d0,0d0,0.00049d0,0.00001d0,0.00006d0,
516 &0.30591d0,0.68863d0,0d0,0.0038d0,66*0d0,0.00008d0,0.00167d0/
517 DATA (brat(i) ,i= 419, 722)/5*0d0,0.00013d0,0d0,0.00294d0,
518 &0.00001d0,3*0d0,0.99517d0,63*0d0,0.00002d0,0.07231d0,2*0d0,
519 &0.00001d0,0.00269d0,0d0,0.92497d0,18*0d0,0.0024d0,0.99483d0,
520 &0.00278d0,1d0,3*0.21511d0,0.21478d0,2*0d0,2*0.06995d0,2*0d0,1d0,
521 &3*0d0,0.95d0,0.05d0,3*0d0,4*0.25d0,16*0d0,4*0.25d0,20*0d0,1d0,
522 &17*0d0,1d0,2*0.08d0,0.76d0,0.08d0,2*0.105d0,0.04d0,0.5d0,0.08d0,
523 &0.14d0,0.01d0,0.015d0,0.005d0,0.988d0,0.012d0,0.998739d0,
524 &0.00079d0,0.00038d0,0.000046d0,0.000045d0,2*0.34725d0,0.144d0,
525 &0.104d0,0.0245d0,2*0.01225d0,0.0028d0,0.0057d0,0.2112d0,0.1256d0,
526 &2*0.1939d0,2*0.1359d0,0.002d0,0.001d0,0.0006d0,0.999877d0,
527 &0.000123d0,0.99955d0,0.00045d0,2*0.34725d0,0.144d0,0.104d0,
528 &0.049d0,0.0028d0,0.0057d0,0.3923d0,0.321d0,0.2317d0,0.0478d0,
529 &0.0049d0,0.0013d0,0.0003d0,0.0007d0,0.89d0,0.08693d0,0.0221d0,
530 &0.00083d0,2*0.00007d0,0.564d0,0.282d0,0.072d0,0.028d0,0.023d0,
531 &2*0.0115d0,0.005d0,0.003d0,0.6861d0,0.3139d0,2*0.5d0,0.665d0,
532 &0.333d0,0.002d0,0.333d0,0.166d0,0.168d0,0.084d0,0.087d0,0.043d0,
533 &0.059d0,2*0.029d0,0.002d0,0.6352d0,0.2116d0,0.0559d0,0.0173d0,
534 &0.0482d0,0.0318d0,0.666d0,0.333d0,0.001d0,0.332d0,0.166d0,
535 &0.168d0,0.084d0,0.086d0,0.043d0,0.059d0,2*0.029d0,2*0.002d0,
536 &0.437d0,0.208d0,0.302d0,0.0302d0,0.0212d0,0.0016d0,0.48947d0/
537 DATA (brat(i) ,i= 723, 897)/0.34d0,3*0.043d0,0.027d0,0.0126d0,
538 &0.0013d0,0.0003d0,0.00025d0,0.00008d0,0.444d0,2*0.222d0,0.104d0,
539 &2*0.004d0,0.07d0,0.065d0,2*0.005d0,2*0.011d0,5*0.001d0,0.07d0,
540 &0.065d0,2*0.005d0,2*0.011d0,5*0.001d0,0.026d0,0.019d0,0.066d0,
541 &0.041d0,0.045d0,0.076d0,0.0073d0,2*0.0047d0,0.026d0,0.001d0,
542 &0.0006d0,0.0066d0,0.005d0,2*0.003d0,2*0.0006d0,2*0.001d0,0.006d0,
543 &0.005d0,0.012d0,0.0057d0,0.067d0,0.008d0,0.0022d0,0.027d0,
544 &0.004d0,0.019d0,0.012d0,0.002d0,0.009d0,0.0218d0,0.001d0,0.022d0,
545 &0.087d0,0.001d0,0.0019d0,0.0015d0,0.0028d0,0.683d0,0.306d0,
546 &0.011d0,0.3d0,0.15d0,0.16d0,0.08d0,0.13d0,0.06d0,0.08d0,0.04d0,
547 &0.034d0,0.027d0,2*0.002d0,2*0.004d0,2*0.002d0,0.034d0,0.027d0,
548 &2*0.002d0,2*0.004d0,2*0.002d0,0.0365d0,0.045d0,0.073d0,0.062d0,
549 &3*0.021d0,0.0061d0,0.015d0,0.025d0,0.0088d0,0.074d0,0.0109d0,
550 &0.0041d0,0.002d0,0.0035d0,0.0011d0,0.001d0,0.0027d0,2*0.0016d0,
551 &0.0018d0,0.011d0,0.0063d0,0.0052d0,0.018d0,0.016d0,0.0034d0,
552 &0.0036d0,0.0009d0,0.0006d0,0.015d0,0.0923d0,0.018d0,0.022d0,
553 &0.0077d0,0.009d0,0.0075d0,0.024d0,0.0085d0,0.067d0,0.0511d0,
554 &0.017d0,0.0004d0,0.0028d0,0.619d0,0.381d0,0.3d0,0.15d0,0.16d0,
555 &0.08d0,0.13d0,0.06d0,0.08d0,0.04d0,0.01d0,2*0.02d0,0.03d0,
556 &2*0.005d0,2*0.02d0,0.03d0,2*0.005d0,0.015d0,0.037d0,0.028d0/
557 DATA (brat(i) ,i= 898,1063)/0.079d0,0.095d0,0.052d0,0.0078d0,
558 &4*0.001d0,0.028d0,0.033d0,0.026d0,0.05d0,0.01d0,4*0.005d0,0.25d0,
559 &0.0952d0,0.94d0,0.06d0,2*0.4d0,2*0.1d0,1d0,0.0602d0,0.0601d0,
560 &0.8797d0,0.135d0,0.865d0,0.02d0,0.055d0,2*0.005d0,0.008d0,
561 &0.012d0,0.02d0,0.055d0,2*0.005d0,0.008d0,0.012d0,0.01d0,0.03d0,
562 &0.0035d0,0.011d0,0.0055d0,0.0042d0,0.009d0,0.018d0,0.015d0,
563 &0.0185d0,0.0135d0,0.025d0,0.0004d0,0.0007d0,0.0008d0,0.0014d0,
564 &0.0019d0,0.0025d0,0.4291d0,0.08d0,0.07d0,0.02d0,0.015d0,0.005d0,
565 &1d0,0.3d0,0.15d0,0.16d0,0.08d0,0.13d0,0.06d0,0.08d0,0.04d0,
566 &0.02d0,0.055d0,2*0.005d0,0.008d0,0.012d0,0.02d0,0.055d0,
567 &2*0.005d0,0.008d0,0.012d0,0.01d0,0.03d0,0.0035d0,0.011d0,
568 &0.0055d0,0.0042d0,0.009d0,0.018d0,0.015d0,0.0185d0,0.0135d0,
569 &0.025d0,0.0004d0,0.0007d0,0.0008d0,0.0014d0,0.0019d0,0.0025d0,
570 &0.4291d0,0.08d0,0.07d0,0.02d0,0.015d0,0.005d0,1d0,0.3d0,0.15d0,
571 &0.16d0,0.08d0,0.13d0,0.06d0,0.08d0,0.04d0,0.02d0,0.055d0,
572 &2*0.005d0,0.008d0,0.012d0,0.02d0,0.055d0,2*0.005d0,0.008d0,
573 &0.012d0,0.01d0,0.03d0,0.0035d0,0.011d0,0.0055d0,0.0042d0,0.009d0,
574 &0.018d0,0.015d0,0.0185d0,0.0135d0,0.025d0,2*0.0002d0,0.0007d0,
575 &2*0.0004d0,0.0014d0,0.001d0,0.0009d0,0.0025d0,0.4291d0,0.08d0,
576 &0.07d0,0.02d0,0.015d0,0.005d0,1d0,2*0.3d0,2*0.2d0,0.047d0/
577 DATA (brat(i) ,i=1064,1254)/0.122d0,0.006d0,0.012d0,0.035d0,
578 &0.012d0,0.035d0,0.003d0,0.007d0,0.15d0,0.037d0,0.008d0,0.002d0,
579 &0.05d0,0.015d0,0.003d0,0.001d0,0.014d0,0.042d0,0.014d0,0.042d0,
580 &0.24d0,0.065d0,0.012d0,0.003d0,0.001d0,0.002d0,0.001d0,0.002d0,
581 &0.014d0,0.003d0,1d0,2*0.3d0,2*0.2d0,1d0,0.0252d0,0.0248d0,
582 &0.0267d0,0.015d0,0.045d0,0.015d0,0.045d0,0.7743d0,0.029d0,0.22d0,
583 &0.78d0,1d0,0.331d0,0.663d0,0.006d0,0.663d0,0.331d0,0.006d0,1d0,
584 &0.999d0,0.001d0,0.88d0,2*0.06d0,0.639d0,0.358d0,0.002d0,0.001d0,
585 &1d0,0.88d0,2*0.06d0,0.516d0,0.483d0,0.001d0,0.88d0,2*0.06d0,
586 &0.9988d0,0.0001d0,0.0006d0,0.0004d0,0.0001d0,0.667d0,0.333d0,
587 &0.9954d0,0.0011d0,0.0035d0,0.333d0,0.667d0,0.676d0,0.234d0,
588 &0.085d0,0.005d0,2*1d0,0.018d0,2*0.005d0,0.003d0,0.002d0,
589 &2*0.006d0,0.018d0,2*0.005d0,0.003d0,0.002d0,2*0.006d0,0.0066d0,
590 &0.025d0,0.016d0,0.0088d0,2*0.005d0,0.0058d0,0.005d0,0.0055d0,
591 &4*0.004d0,2*0.002d0,2*0.004d0,0.003d0,0.002d0,2*0.003d0,
592 &3*0.002d0,2*0.001d0,0.002d0,2*0.001d0,2*0.002d0,0.0013d0,
593 &0.0018d0,5*0.001d0,4*0.003d0,2*0.005d0,2*0.002d0,2*0.001d0,
594 &2*0.002d0,2*0.001d0,0.2432d0,0.057d0,2*0.035d0,0.15d0,2*0.075d0,
595 &0.03d0,2*0.015d0,2*0.08d0,0.76d0,0.08d0,4*1d0,2*0.08d0,0.76d0,
596 &0.08d0,1d0,2*0.5d0,1d0,2*0.5d0,2*0.08d0,0.76d0,0.08d0,1d0/
597 DATA (brat(i) ,i=1255,1447)/2*0.08d0,0.76d0,3*0.08d0,0.76d0,
598 &3*0.08d0,0.76d0,3*0.08d0,0.76d0,3*0.08d0,0.76d0,3*0.08d0,0.76d0,
599 &3*0.08d0,0.76d0,0.08d0,2*1d0,2*0.105d0,0.04d0,0.0077d0,0.02d0,
600 &0.0235d0,0.0285d0,0.0435d0,0.0011d0,0.0022d0,0.0044d0,0.4291d0,
601 &0.08d0,0.07d0,0.02d0,0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,
602 &0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,
603 &0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,4*1d0,2*0.105d0,0.04d0,
604 &0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,0.04d0,
605 &0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,4*1d0,2*0.105d0,
606 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,1d0,2*0.105d0,
607 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
608 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
609 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
610 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
611 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
612 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
613 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
614 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
615 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0,
616 &0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,0.015d0,0.005d0,2*0.105d0/
617 DATA (brat(i) ,i=1448,1648)/0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
618 &0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
619 &0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
620 &0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
621 &0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
622 &0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
623 &0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
624 &0.015d0,0.005d0,2*0.105d0,0.04d0,0.5d0,0.08d0,0.14d0,0.01d0,
625 &0.015d0,0.005d0,4*1d0,0.52d0,0.26d0,0.11d0,2*0.055d0,0.333d0,
626 &0.334d0,0.333d0,0.667d0,0.333d0,0.28d0,0.14d0,0.313d0,0.157d0,
627 &0.11d0,0.667d0,0.333d0,0.28d0,0.14d0,0.313d0,0.157d0,0.11d0,
628 &0.36d0,0.18d0,0.03d0,2*0.015d0,2*0.2d0,4*0.25d0,0.667d0,0.333d0,
629 &0.667d0,0.333d0,0.667d0,0.333d0,0.667d0,0.333d0,4*0.5d0,0.007d0,
630 &0.993d0,1d0,0.667d0,0.333d0,0.667d0,0.333d0,0.667d0,0.333d0,
631 &0.667d0,0.333d0,8*0.5d0,0.02d0,0.98d0,1d0,4*0.5d0,3*0.146d0,
632 &3*0.05d0,0.15d0,2*0.05d0,4*0.024d0,0.066d0,0.667d0,0.333d0,
633 &0.667d0,0.333d0,4*0.25d0,0.667d0,0.333d0,0.667d0,0.333d0,2*0.5d0,
634 &0.273d0,0.727d0,0.667d0,0.333d0,0.667d0,0.333d0,4*0.5d0,0.35d0,
635 &0.65d0,2*0.0083d0,0.1866d0,0.324d0,0.184d0,0.027d0,0.001d0,
636 &0.093d0,0.087d0,0.078d0,0.0028d0,3*0.014d0,0.008d0,0.024d0/
637 DATA (brat(i) ,i=1649,4000)/0.008d0,0.024d0,0.425d0,0.02d0,
638 &0.185d0,0.088d0,0.043d0,0.067d0,0.066d0,827*0d0,0.8516d0,
639 &0.00539d0,0.04483d0,0.09819d0,0.85053d0,0.02152d0,0.02989d0,
640 &0.09806d0,0.29439d0,0.10943d0,0.59618d0,0.38983d0,0.61017d0,
642 DATA (kfdp(i,1),i= 1, 375)/21,22,23,4*-24,25,21,22,23,4*24,25,
643 &21,22,23,4*-24,25,21,22,23,4*24,25,21,22,23,4*-24,25,21,22,23,
644 &4*24,25,37,1000022,1000023,1000025,1000035,21,22,23,4*-24,25,
645 &2*-37,21,22,23,4*24,25,2*37,22,23,-24,25,23,24,-12,22,23,-24,25,
646 &23,24,-12,-14,48*16,22,23,-24,25,23,24,22,23,-24,25,-37,23,24,37,
647 &1,2,3,4,5,6,7,8,21,1,2,3,4,5,6,7,8,11,13,15,17,1,2,3,4,5,6,7,8,
648 &11,12,13,14,15,16,17,18,4*-1,4*-3,4*-5,4*-7,-11,-13,-15,-17,1,2,
649 &3,4,5,6,7,8,11,13,15,17,21,2*22,23,24,1000022,2*1000023,
650 &3*1000025,4*1000035,2*1000024,2*1000037,1000001,2000001,1000001,
651 &-1000001,1000002,2000002,1000002,-1000002,1000003,2000003,
652 &1000003,-1000003,1000004,2000004,1000004,-1000004,1000005,
653 &2000005,1000005,-1000005,1000006,2000006,1000006,-1000006,
654 &1000011,2000011,1000011,-1000011,1000012,2000012,1000012,
655 &-1000012,1000013,2000013,1000013,-1000013,1000014,2000014,
656 &1000014,-1000014,1000015,2000015,1000015,-1000015,1000016,
657 &2000016,1000016,-1000016,1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,
658 &24,37,2*23,25,35,4*-1,4*-3,4*-5,4*-7,-11,-13,-15,-17,3*24,1,2,3,
659 &4,5,6,7,8,11,13,15,17,21,2*22,23,24,23,25,36,1000022,2*1000023,
660 &3*1000025,4*1000035,2*1000024,2*1000037,1000001,2000001,1000001,
661 &-1000001,1000002,2000002,1000002,-1000002,1000003,2000003/
662 DATA (kfdp(i,1),i= 376, 606)/1000003,-1000003,1000004,2000004,
663 &1000004,-1000004,1000005,2000005,1000005,-1000005,1000006,
664 &2000006,1000006,-1000006,1000011,2000011,1000011,-1000011,
665 &1000012,2000012,1000012,-1000012,1000013,2000013,1000013,
666 &-1000013,1000014,2000014,1000014,-1000014,1000015,2000015,
667 &1000015,-1000015,1000016,2000016,1000016,-1000016,1,2,3,4,5,6,7,
668 &8,11,13,15,17,21,2*22,23,24,23,1000022,2*1000023,3*1000025,
669 &4*1000035,2*1000024,2*1000037,1000001,2000001,1000001,-1000001,
670 &1000002,2000002,1000002,-1000002,1000003,2000003,1000003,
671 &-1000003,1000004,2000004,1000004,-1000004,1000005,2000005,
672 &1000005,-1000005,1000006,2000006,1000006,-1000006,1000011,
673 &2000011,1000011,-1000011,1000012,2000012,1000012,-1000012,
674 &1000013,2000013,1000013,-1000013,1000014,2000014,1000014,
675 &-1000014,1000015,2000015,1000015,-1000015,1000016,2000016,
676 &1000016,-1000016,-1,-3,-5,-7,-11,-13,-15,-17,24,2*1000022,
677 &2*1000023,2*1000025,2*1000035,1000006,2000006,1000006,2000006,
678 &-1000001,-1000003,-1000011,-1000013,-1000015,-2000015,5,6,21,2,1,
679 &2,3,4,5,6,11,13,15,4,5,11,13,15,2*4,-11,-13,-15,2*24,2*52,1,2,3,
680 &4,5,6,7,8,11,12,13,14,15,16,17,18,2*24,2*52,4*-1,4*-3,4*-5,4*-7,
681 &-11,-13,-15,-17,22,23,1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,82/
682 DATA (kfdp(i,1),i= 607,1001)/-11,-13,2*2,-12,-14,-16,2*-2,2*-4,
683 &-2,-4,2*22,211,111,221,13,11,213,-213,221,223,321,130,310,111,
684 &331,111,211,-12,12,-14,14,211,111,22,-13,-11,2*211,213,113,221,
685 &223,321,211,331,22,111,211,2*22,211,22,111,211,22,211,221,111,11,
686 &211,111,2*211,321,130,310,221,111,211,111,130,310,321,2*311,321,
687 &311,323,313,323,313,321,3*311,-13,3*211,12,14,311,2*321,311,321,
688 &313,323,313,323,311,4*321,211,111,3*22,111,321,130,-213,113,213,
689 &211,22,111,11,13,211,321,130,310,221,211,111,11*-11,11*-13,-311,
690 &-313,-311,-313,-20313,2*-311,-313,-311,-313,2*111,2*221,2*331,
691 &2*113,2*223,2*333,-311,-313,2*-321,211,-311,-321,333,-311,-313,
692 &-321,211,2*-321,2*-311,-321,211,113,421,2*411,421,411,423,413,
693 &423,413,421,411,8*-11,8*-13,-321,-323,-321,-323,-311,2*-313,-311,
694 &-313,2*-311,-321,-10323,-321,-323,-321,-311,2*-313,211,111,333,
695 &3*-321,-311,-313,-321,-313,310,333,211,2*-321,-311,-313,-311,211,
696 &-321,3*-311,211,113,321,2*421,411,421,413,423,413,423,411,421,
697 &-15,5*-11,5*-13,221,331,333,221,331,333,10221,211,213,211,213,
698 &321,323,321,323,2212,221,331,333,221,2*2,2*431,421,411,423,413,
699 &82,11,13,82,443,82,6*12,6*14,2*16,3*-411,3*-413,2*-411,2*-413,
700 &2*441,2*443,2*20443,2*2,2*4,2,4,511,521,511,523,513,523,513,521,
701 &511,6*12,6*14,2*16,3*-421,3*-423,2*-421,2*-423,2*441,2*443/
702 DATA (kfdp(i,1),i=1002,1428)/2*20443,2*2,2*4,2,4,521,511,521,513,
703 &523,513,523,511,521,6*12,6*14,2*16,3*-431,3*-433,2*-431,2*-433,
704 &3*441,3*443,3*20443,2*2,2*4,2,4,531,521,511,523,513,16,2*4,2*12,
705 &2*14,2*16,4*2,4*4,2*-11,2*-13,2*-1,2*-3,2*-11,2*-13,2*-1,541,511,
706 &521,513,523,21,11,13,15,1,2,3,4,21,22,553,21,2112,2212,2*2112,
707 &2212,2112,2*2212,2112,-12,3122,3212,3112,2212,2*2112,-12,2*3122,
708 &3222,3112,2212,2112,2212,3122,3222,3212,3122,3112,-12,-14,-12,
709 &3322,3312,2*3122,3212,3322,3312,3122,3322,3312,-12,2*4122,7*-11,
710 &7*-13,2*2224,2*2212,2*2214,2*3122,2*3212,2*3214,5*3222,4*3224,
711 &2*3322,3324,2*2224,7*2212,5*2214,2*2112,2*2114,2*3122,2*3212,
712 &2*3214,2*3222,2*3224,4*2,3,2*2,1,2*2,-11,-13,2*2,4*4122,-11,-13,
713 &2*2,3*4132,3*4232,-11,-13,2*2,4332,-11,-13,2*2,-11,-13,2*2,-11,
714 &-13,2*2,-11,-13,2*2,-11,-13,2*2,-11,-13,2*2,-11,-13,2*2,2*5122,
715 &-12,-14,-16,5*4122,441,443,20443,2*-2,2*-4,-2,-4,-12,-14,-16,
716 &2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,4*5122,-12,-14,-16,
717 &2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,2*5132,2*5232,-12,
718 &-14,-16,2*-2,2*-4,-2,-4,5332,-12,-14,-16,2*-2,2*-4,-2,-4,-12,-14,
719 &-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,
720 &2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,
721 &-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12/
722 DATA (kfdp(i,1),i=1429,1710)/-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,
723 &2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,
724 &2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,
725 &-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,-12,
726 &-14,-16,2*-2,2*-4,-2,-4,-12,-14,-16,2*-2,2*-4,-2,-4,221,223,221,
727 &223,211,111,321,130,310,213,113,-213,321,311,321,311,323,313,
728 &2*311,321,311,321,313,323,321,211,111,321,130,310,2*211,313,-313,
729 &323,-323,421,411,423,413,411,421,413,423,411,421,423,413,443,
730 &2*82,521,511,523,513,511,521,513,523,521,511,523,513,511,521,513,
731 &523,553,2*21,213,-213,113,213,10211,10111,-10211,2*221,213,2*113,
732 &-213,2*321,2*311,113,323,2*313,323,313,-313,323,-323,423,2*413,
733 &2*423,413,443,82,523,2*513,2*523,2*513,523,553,21,11,13,82,4*443,
734 &10441,20443,445,441,11,13,15,1,2,3,4,21,22,2*553,10551,20553,555,
735 &1000039,-1000024,-1000037,1000022,1000023,1000025,1000035,
736 &1000002,2000002,1000002,2000002,1000021,1000039,1000024,1000037,
737 &1000022,1000023,1000025,1000035,1000001,2000001,1000001,2000001,
738 &1000021,1000039,-1000024,-1000037,1000022,1000023,1000025,
739 &1000035,1000004,2000004,1000004,2000004,1000021,1000039,1000024,
740 &1000037,1000022,1000023,1000025,1000035,1000003,2000003,1000003,
741 &2000003,1000021,1000039,-1000024,-1000037,1000022,1000023/
742 DATA (kfdp(i,1),i=1711,1900)/1000025,1000035,1000006,2000006,
743 &1000006,2000006,1000021,1000039,1000024,1000037,1000022,1000023,
744 &1000025,1000035,1000005,2000005,1000005,2000005,1000021,1000022,
745 &1000039,-1000024,-1000037,1000022,1000023,1000025,1000035,
746 &1000012,2000012,1000012,2000012,1000039,1000024,1000037,1000022,
747 &1000023,1000025,1000035,1000011,2000011,1000011,2000011,1000039,
748 &-1000024,-1000037,1000022,1000023,1000025,1000035,1000014,
749 &2000014,1000014,2000014,1000039,1000024,1000037,1000022,1000023,
750 &1000025,1000035,1000013,2000013,1000013,2000013,1000039,-1000024,
751 &-1000037,1000022,1000023,1000025,1000035,1000016,2000016,1000016,
752 &2000016,1000039,1000024,1000037,1000022,1000023,1000025,1000035,
753 &1000015,2000015,1000015,2000015,1000039,1000001,-1000001,2000001,
754 &-2000001,1000002,-1000002,2000002,-2000002,1000003,-1000003,
755 &2000003,-2000003,1000004,-1000004,2000004,-2000004,1000005,
756 &-1000005,2000005,-2000005,1000006,-1000006,2000006,-2000006,
757 &6*1000022,6*1000023,6*1000025,6*1000035,1000024,-1000024,1000024,
758 &-1000024,1000024,-1000024,1000037,-1000037,1000037,-1000037,
759 &1000037,-1000037,10*1000039,16*1000022,1000024,-1000024,1000024,
760 &-1000024,1000024,-1000024,1000024,-1000024,1000024,-1000024,
761 &1000024,-1000024,1000037,-1000037,1000037,-1000037,1000037/
762 DATA (kfdp(i,1),i=1901,2095)/-1000037,1000037,-1000037,1000037,
763 &-1000037,1000037,-1000037,1000024,-1000024,1000037,-1000037,
764 &1000001,-1000001,2000001,-2000001,1000002,-1000002,2000002,
765 &-2000002,1000003,-1000003,2000003,-2000003,1000004,-1000004,
766 &2000004,-2000004,1000005,-1000005,2000005,-2000005,1000006,
767 &-1000006,2000006,-2000006,1000011,-1000011,2000011,-2000011,
768 &1000012,-1000012,2000012,-2000012,1000013,-1000013,2000013,
769 &-2000013,1000014,-1000014,2000014,-2000014,1000015,-1000015,
770 &2000015,-2000015,1000016,-1000016,2000016,-2000016,5*1000021,
771 &2*1000039,6*1000022,6*1000023,6*1000025,6*1000035,1000022,
772 &1000023,1000025,1000035,1000002,2000002,-1000001,-2000001,
773 &1000004,2000004,-1000003,-2000003,1000006,2000006,-1000005,
774 &-2000005,1000012,2000012,-1000011,-2000011,1000014,2000014,
775 &-1000013,-2000013,1000016,2000016,-1000015,-2000015,2*1000021,
776 &5*1000039,16*1000022,16*1000023,1000024,-1000024,1000024,
777 &-1000024,1000024,-1000024,1000024,-1000024,1000024,-1000024,
778 &1000024,-1000024,1000037,-1000037,1000037,-1000037,1000037,
779 &-1000037,1000037,-1000037,1000037,-1000037,1000037,-1000037,
780 &1000024,-1000024,1000037,-1000037,1000001,-1000001,2000001,
781 &-2000001,1000002,-1000002,2000002,-2000002,1000003,-1000003/
782 DATA (kfdp(i,1),i=2096,2323)/2000003,-2000003,1000004,-1000004,
783 &2000004,-2000004,1000005,-1000005,2000005,-2000005,1000006,
784 &-1000006,2000006,-2000006,1000011,-1000011,2000011,-2000011,
785 &1000012,-1000012,2000012,-2000012,1000013,-1000013,2000013,
786 &-2000013,1000014,-1000014,2000014,-2000014,1000015,-1000015,
787 &2000015,-2000015,1000016,-1000016,2000016,-2000016,5*1000021,
788 &5*1000039,16*1000022,16*1000023,16*1000025,1000024,-1000024,
789 &1000024,-1000024,1000024,-1000024,1000024,-1000024,1000024,
790 &-1000024,1000024,-1000024,1000037,-1000037,1000037,-1000037,
791 &1000037,-1000037,1000037,-1000037,1000037,-1000037,1000037,
792 &-1000037,1000024,-1000024,1000037,-1000037,1000001,-1000001,
793 &2000001,-2000001,1000002,-1000002,2000002,-2000002,1000003,
794 &-1000003,2000003,-2000003,1000004,-1000004,2000004,-2000004,
795 &1000005,-1000005,2000005,-2000005,1000006,-1000006,2000006,
796 &-2000006,1000011,-1000011,2000011,-2000011,1000012,-1000012,
797 &2000012,-2000012,1000013,-1000013,2000013,-2000013,1000014,
798 &-1000014,2000014,-2000014,1000015,-1000015,2000015,-2000015,
799 &1000016,-1000016,2000016,-2000016,5*1000021,2*1000039,15*1000024,
800 &6*1000022,6*1000023,6*1000025,6*1000035,1000022,1000023,1000025,
801 &1000035,1000002,2000002,-1000001,-2000001,1000004,2000004/
802 DATA (kfdp(i,1),i=2324,4000)/-1000003,-2000003,1000006,2000006,
803 &-1000005,-2000005,1000012,2000012,-1000011,-2000011,1000014,
804 &2000014,-1000013,-2000013,1000016,2000016,-1000015,-2000015,
805 &2*1000021,1000039,-1000024,-1000037,1000022,1000023,1000025,
806 &1000035,4*1000001,1000002,2000002,1000002,2000002,1000021,
807 &1000039,1000024,1000037,1000022,1000023,1000025,1000035,
808 &4*1000002,1000001,2000001,1000001,2000001,1000021,1000039,
809 &-1000024,-1000037,1000022,1000023,1000025,1000035,4*1000003,
810 &1000004,2000004,1000004,2000004,1000021,1000039,1000024,1000037,
811 &1000022,1000023,1000025,1000035,4*1000004,1000003,2000003,
812 &1000003,2000003,1000021,1000039,-1000024,-1000037,1000022,
813 &1000023,1000025,1000035,4*1000005,1000006,2000006,1000006,
814 &2000006,1000021,1000039,1000024,1000037,1000022,1000023,1000025,
815 &1000035,4*1000006,1000005,2000005,1000005,2000005,1000021,
816 &1000039,-1000024,-1000037,1000022,1000023,1000025,1000035,
817 &4*1000011,1000012,2000012,1000012,2000012,1000039,-1000024,
818 &-1000037,1000022,1000023,1000025,1000035,4*1000013,1000014,
819 &2000014,1000014,2000014,1000039,-1000024,-1000037,1000022,
820 &1000023,1000025,1000035,4*1000015,1000016,2000016,1000016,
821 &2000016,21,22,23,-24,21,22,23,24,22,23,-24,23,24,1503*0/
822 DATA (kfdp(i,2),i= 1, 337)/3*1,2,4,6,8,1,3*2,1,3,5,7,2,3*3,2,4,
823 &6,8,3,3*4,1,3,5,7,4,3*5,2,4,6,8,5,3*6,1,3,5,7,6,5,4*1000006,3*7,
824 &2,4,6,8,7,4,6,3*8,1,3,5,7,8,5,7,2*11,12,11,12,2*11,2*13,14,13,14,
825 &13,11,13,-211,-213,-211,-213,-211,-213,-211,-213,2*-211,-321,
826 &-323,-321,2*-323,3*-321,4*-211,-213,-211,-213,-211,-213,-211,
827 &-213,-211,-213,3*-211,-213,4*-211,-323,-321,2*-211,2*-321,3*-211,
828 &2*15,16,15,16,15,2*17,18,17,2*18,2*17,-1,-2,-3,-4,-5,-6,-7,-8,21,
829 &-1,-2,-3,-4,-5,-6,-7,-8,-11,-13,-15,-17,-1,-2,-3,-4,-5,-6,-7,-8,
830 &-11,-12,-13,-14,-15,-16,-17,-18,2,4,6,8,2,4,6,8,2,4,6,8,2,4,6,8,
831 &12,14,16,18,-1,-2,-3,-4,-5,-6,-7,-8,-11,-13,-15,-17,21,22,2*23,
832 &-24,2*1000022,1000023,1000022,1000023,1000025,1000022,1000023,
833 &1000025,1000035,-1000024,-1000037,-1000024,-1000037,-1000001,
834 &2*-2000001,2000001,-1000002,2*-2000002,2000002,-1000003,
835 &2*-2000003,2000003,-1000004,2*-2000004,2000004,-1000005,
836 &2*-2000005,2000005,-1000006,2*-2000006,2000006,-1000011,
837 &2*-2000011,2000011,-1000012,2*-2000012,2000012,-1000013,
838 &2*-2000013,2000013,-1000014,2*-2000014,2000014,-1000015,
839 &2*-2000015,2000015,-1000016,2*-2000016,2000016,-1,-2,-3,-4,-5,-6,
840 &-7,-8,-11,-12,-13,-14,-15,-16,-17,-18,-24,-37,22,25,2*36,2,4,6,8,
841 &2,4,6,8,2,4,6,8,2,4,6,8,12,14,16,18,23,22,25,-1,-2,-3,-4,-5,-6/
842 DATA (kfdp(i,2),i= 338, 524)/-7,-8,-11,-13,-15,-17,21,22,2*23,
843 &-24,2*25,36,2*1000022,1000023,1000022,1000023,1000025,1000022,
844 &1000023,1000025,1000035,-1000024,-1000037,-1000024,-1000037,
845 &-1000001,2*-2000001,2000001,-1000002,2*-2000002,2000002,-1000003,
846 &2*-2000003,2000003,-1000004,2*-2000004,2000004,-1000005,
847 &2*-2000005,2000005,-1000006,2*-2000006,2000006,-1000011,
848 &2*-2000011,2000011,-1000012,2*-2000012,2000012,-1000013,
849 &2*-2000013,2000013,-1000014,2*-2000014,2000014,-1000015,
850 &2*-2000015,2000015,-1000016,2*-2000016,2000016,-1,-2,-3,-4,-5,-6,
851 &-7,-8,-11,-13,-15,-17,21,22,2*23,-24,25,2*1000022,1000023,
852 &1000022,1000023,1000025,1000022,1000023,1000025,1000035,-1000024,
853 &-1000037,-1000024,-1000037,-1000001,2*-2000001,2000001,-1000002,
854 &2*-2000002,2000002,-1000003,2*-2000003,2000003,-1000004,
855 &2*-2000004,2000004,-1000005,2*-2000005,2000005,-1000006,
856 &2*-2000006,2000006,-1000011,2*-2000011,2000011,-1000012,
857 &2*-2000012,2000012,-1000013,2*-2000013,2000013,-1000014,
858 &2*-2000014,2000014,-1000015,2*-2000015,2000015,-1000016,
859 &2*-2000016,2000016,2,4,6,8,12,14,16,18,25,1000024,1000037,
860 &1000024,1000037,1000024,1000037,1000024,1000037,2*-1000005,
861 &2*-2000005,1000002,1000004,1000012,1000014,2*1000016,-5,-6,21,11/
862 DATA (kfdp(i,2),i= 525, 940)/-3,-4,-5,-6,-7,-8,-13,-15,-17,-4,-5,
863 &-11,-13,-15,-5,-3,12,14,16,-24,-52,-24,-52,-1,-2,-3,-4,-5,-6,-7,
864 &-8,-11,-12,-13,-14,-15,-16,-17,-18,23,51,23,51,2,4,6,8,2,4,6,8,2,
865 &4,6,8,2,4,6,8,12,14,16,18,2*51,-1,-2,-3,-4,-5,-6,-7,-8,-11,-12,
866 &-13,-14,-15,-16,-17,-18,-82,12,14,-1,-3,11,13,15,1,4,3,4,1,3,22,
867 &11,-211,2*22,-13,-11,-211,211,111,211,-321,130,310,22,2*111,-211,
868 &11,-11,13,-13,-211,111,22,14,12,111,22,111,3*211,-311,22,211,22,
869 &111,-211,211,11,-211,13,22,-211,111,-211,22,111,-11,-211,111,
870 &2*-211,-321,130,310,221,111,-211,111,2*0,-211,111,22,-211,111,
871 &-211,111,-211,211,-213,113,223,221,14,111,211,111,-11,-13,211,
872 &111,22,211,111,211,111,2*211,213,113,223,221,22,-211,111,113,223,
873 &22,111,-321,310,211,111,2*-211,221,22,-11,-13,-211,-321,130,310,
874 &221,-211,111,11*12,11*14,2*211,2*213,211,20213,2*321,2*323,211,
875 &213,211,213,211,213,211,213,211,213,211,213,3*211,213,211,2*321,
876 &8*211,2*113,3*211,111,22,211,111,211,111,4*211,8*12,8*14,2*211,
877 &2*213,2*111,221,2*113,223,333,20213,211,2*321,323,2*311,313,-211,
878 &111,113,2*211,321,2*211,311,321,310,211,-211,4*211,321,4*211,113,
879 &2*211,-321,111,22,-211,111,-211,111,-211,211,-211,211,16,5*12,
880 &5*14,3*211,3*213,211,2*111,2*113,2*-311,2*-313,-2112,3*321,323,
881 &2*-1,22,111,321,311,321,311,-82,-11,-13,-82,22,-82,6*-11,6*-13/
882 DATA (kfdp(i,2),i= 941,1318)/2*-15,211,213,20213,211,213,20213,
883 &431,433,431,433,311,313,311,313,311,313,-1,-4,-3,-4,-1,-3,22,
884 &-211,111,-211,111,-211,211,-211,211,6*-11,6*-13,2*-15,211,213,
885 &20213,211,213,20213,431,433,431,433,321,323,321,323,321,323,-1,
886 &-4,-3,-4,-1,-3,22,211,111,211,111,4*211,6*-11,6*-13,2*-15,211,
887 &213,20213,211,213,20213,431,433,431,433,221,331,333,221,331,333,
888 &221,331,333,-1,-4,-3,-4,-1,-3,22,-321,-311,-321,-311,-15,-3,-1,
889 &2*-11,2*-13,2*-15,-1,-4,-3,-4,-3,-4,-1,-4,2*12,2*14,2,3,2,3,2*12,
890 &2*14,2,1,22,411,421,411,421,21,-11,-13,-15,-1,-2,-3,-4,2*21,22,
891 &21,2*-211,111,22,111,211,22,211,-211,11,2*-211,111,-211,111,22,
892 &11,22,111,-211,211,111,211,22,211,111,211,-211,22,11,13,11,-211,
893 &2*111,2*22,111,211,-321,-211,111,11,2*-211,7*12,7*14,-321,-323,
894 &-311,-313,-311,-313,211,213,211,213,211,213,111,221,331,113,223,
895 &111,221,113,223,321,323,321,-211,-213,111,221,331,113,223,333,
896 &10221,111,221,331,113,223,211,213,211,213,321,323,321,323,321,
897 &323,311,313,311,313,2*-1,-3,-1,2203,3201,3203,2203,2101,2103,12,
898 &14,-1,-3,2*111,2*211,12,14,-1,-3,22,111,2*22,111,22,12,14,-1,-3,
899 &22,12,14,-1,-3,12,14,-1,-3,12,14,-1,-3,12,14,-1,-3,12,14,-1,-3,
900 &12,14,-1,-3,12,14,-1,-3,2*-211,11,13,15,-211,-213,-20213,-431,
901 &-433,3*3122,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1/
902 DATA (kfdp(i,2),i=1319,1774)/3,2*111,2*211,11,13,15,1,4,3,4,1,3,
903 &11,13,15,1,4,3,4,1,3,4*22,11,13,15,1,4,3,4,1,3,22,11,13,15,1,4,3,
904 &4,1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,
905 &1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,
906 &3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,
907 &11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,
908 &11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,
909 &11,13,15,1,4,3,4,1,3,11,13,15,1,4,3,4,1,3,2*111,2*211,-211,111,
910 &-321,130,310,-211,111,211,-211,111,-213,113,-211,111,223,211,111,
911 &213,113,211,111,223,-211,111,-321,130,310,2*-211,-311,311,-321,
912 &321,211,111,211,111,-211,111,-211,111,311,2*321,311,22,2*-82,
913 &-211,111,-211,111,211,111,211,111,-321,-311,-321,-311,411,421,
914 &411,421,22,2*21,-211,2*211,111,-211,111,2*211,111,-211,211,111,
915 &211,-321,2*-311,-321,22,-211,111,211,111,-311,311,-321,321,211,
916 &111,-211,111,321,311,22,-82,-211,111,211,111,-321,-311,411,421,
917 &22,21,-11,-13,-82,211,111,221,111,4*22,-11,-13,-15,-1,-2,-3,-4,
918 &2*21,211,111,3*22,1,2*2,4*1,2*-24,2*-37,1,2,2*1,4*2,2*24,2*37,2,
919 &3,2*4,4*3,2*-24,2*-37,3,4,2*3,4*4,2*24,2*37,4,5,2*6,4*5,2*-24,
920 &2*-37,5,6,2*5,4*6,2*24,2*37,6,4,11,2*12,4*11,2*-24,2*-37,12,2*11,
921 &4*12,2*24,2*37,13,2*14,4*13,2*-24,2*-37,14,2*13,4*14,2*24,2*37/
922 DATA (kfdp(i,2),i=1775,2218)/15,2*16,4*15,2*-24,2*-37,16,2*15,
923 &4*16,2*24,2*37,21,-1,1,-1,1,-2,2,-2,2,-3,3,-3,3,-4,4,-4,4,-5,5,
924 &-5,5,-6,6,-6,6,1,3,5,2,4,6,1,3,5,2,4,6,1,3,5,2,4,6,1,3,5,2,4,6,1,
925 &-1,3,-3,5,-5,1,-1,3,-3,5,-5,22,23,25,35,36,22,23,25,35,36,22,23,
926 &11,13,15,12,14,16,1,3,5,2,4,25,35,36,-24,24,11,-11,13,-13,15,-15,
927 &1,-1,3,-3,-24,24,11,-11,13,-13,15,-15,1,-1,3,-3,-37,37,-37,37,-1,
928 &1,-1,1,-2,2,-2,2,-3,3,-3,3,-4,4,-4,4,-5,5,-5,5,-6,6,-6,6,-11,11,
929 &-11,11,-12,12,-12,12,-13,13,-13,13,-14,14,-14,14,-15,15,-15,15,
930 &-16,16,-16,16,1,3,5,2,4,24,37,24,-11,-13,-15,-1,-3,24,-11,-13,
931 &-15,-1,-3,24,-11,-13,-15,-1,-3,24,-11,-13,-15,-1,-3,4*37,2*-1,
932 &2*2,2*-3,2*4,2*-5,2*6,2*-11,2*12,2*-13,2*14,2*-15,2*16,-1,-3,22,
933 &23,25,35,36,22,23,11,13,15,12,14,16,1,3,5,2,4,25,35,36,22,23,11,
934 &13,15,12,14,16,1,3,5,2,4,25,35,36,-24,24,11,-11,13,-13,15,-15,1,
935 &-1,3,-3,-24,24,11,-11,13,-13,15,-15,1,-1,3,-3,-37,37,-37,37,-1,1,
936 &-1,1,-2,2,-2,2,-3,3,-3,3,-4,4,-4,4,-5,5,-5,5,-6,6,-6,6,-11,11,
937 &-11,11,-12,12,-12,12,-13,13,-13,13,-14,14,-14,14,-15,15,-15,15,
938 &-16,16,-16,16,1,3,5,2,4,22,23,25,35,36,22,23,11,13,15,12,14,16,1,
939 &3,5,2,4,25,35,36,22,23,11,13,15,12,14,16,1,3,5,2,4,25,35,36,22,
940 &23,11,13,15,12,14,16,1,3,5,2,4,25,35,36,-24,24,11,-11,13,-13,15,
941 &-15,1,-1,3,-3,-24,24,11,-11,13,-13,15,-15,1,-1,3,-3,-37,37,-37/
942 DATA (kfdp(i,2),i=2219,4000)/37,-1,1,-1,1,-2,2,-2,2,-3,3,-3,3,-4,
943 &4,-4,4,-5,5,-5,5,-6,6,-6,6,-11,11,-11,11,-12,12,-12,12,-13,13,
944 &-13,13,-14,14,-14,14,-15,15,-15,15,-16,16,-16,16,1,3,5,2,4,24,37,
945 &23,11,13,15,12,14,16,1,3,5,2,4,25,35,36,24,-11,-13,-15,-1,-3,24,
946 &-11,-13,-15,-1,-3,24,-11,-13,-15,-1,-3,24,-11,-13,-15,-1,-3,4*37,
947 &2*-1,2*2,2*-3,2*4,2*-5,2*6,2*-11,2*12,2*-13,2*14,2*-15,2*16,-1,
948 &-3,1,2*2,4*1,23,25,35,36,2*-24,2*-37,1,2,2*1,4*2,23,25,35,36,
949 &2*24,2*37,2,3,2*4,4*3,23,25,35,36,2*-24,2*-37,3,4,2*3,4*4,23,25,
950 &35,36,2*24,2*37,4,5,2*6,4*5,23,25,35,36,2*-24,2*-37,5,6,2*5,4*6,
951 &23,25,35,36,2*24,2*37,6,11,2*12,4*11,23,25,35,36,2*-24,2*-37,13,
952 &2*14,4*13,23,25,35,36,2*-24,2*-37,15,2*16,4*15,23,25,35,36,2*-24,
953 &2*-37,3*1,4*2,1,2*11,2*12,11,1503*0/
954 DATA (kfdp(i,3),i= 1,1087)/79*0,14,6*0,2*16,2*0,6*111,310,130,
955 &2*0,3*111,310,130,321,113,211,223,221,2*113,2*211,2*223,2*221,
956 &2*113,221,2*113,2*213,-213,113,2*111,310,130,310,130,2*310,130,
957 &470*0,4*3,4*4,1,4,3,2*2,0,-11,8*0,-211,5*0,2*111,211,-211,211,
958 &-211,10*0,111,4*0,2*111,-211,-11,11,-13,22,111,3*0,22,3*0,111,
959 &211,4*0,111,11*0,111,-211,6*0,-211,3*111,7*0,111,-211,5*0,2*221,
960 &3*0,111,5*0,111,11*0,-311,-313,-311,-321,-313,-323,111,221,331,
961 &113,223,-311,-313,-311,-321,-313,-323,111,221,331,113,223,22*0,
962 &111,113,2*211,-211,-311,211,111,3*211,-211,7*211,7*0,111,-211,
963 &111,-211,-321,-323,-311,-321,-313,-323,-211,-213,-321,-323,-311,
964 &-321,-313,-323,-211,-213,22*0,111,113,-311,2*-211,211,-211,310,
965 &-211,2*111,211,2*-211,-321,-211,2*211,-211,111,-211,2*211,6*0,
966 &111,-211,111,-211,0,221,331,333,321,311,221,331,333,321,311,20*0,
967 &3,13*0,-411,-413,-10413,-10411,-20413,-415,-411,-413,-10413,
968 &-10411,-20413,-415,-411,-413,16*0,-4,-1,-4,-3,2*-2,5*0,111,-211,
969 &111,-211,-421,-423,-10423,-10421,-20423,-425,-421,-423,-10423,
970 &-10421,-20423,-425,-421,-423,16*0,-4,-1,-4,-3,2*-2,5*0,111,-211,
971 &111,-211,-431,-433,-10433,-10431,-20433,-435,-431,-433,-10433,
972 &-10431,-20433,-435,-431,-433,19*0,-4,-1,-4,-3,2*-2,8*0,441,443,
973 &441,443,441,443,-4,-1,-4,-3,-4,-3,-4,-1,531,533,531,533,3,2,3,2/
974 DATA (kfdp(i,3),i=1088,2186)/511,513,511,513,1,2,13*0,2*21,11*0,
975 &2112,6*0,2212,12*0,2*3122,3212,10*0,3322,2*0,3122,3212,3214,2112,
976 &2114,2212,2112,3122,3212,3214,2112,2114,2212,2112,52*0,3*3,1,6*0,
977 &4*3,4*0,4*3,6*0,4*3,0,28*3,2*0,3*4122,8*0,4,1,4,3,2*2,4*4,1,4,3,
978 &2*2,4*4,1,4,3,2*2,4*0,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*0,4*4,1,4,3,
979 &2*2,0,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,
980 &4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,
981 &3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,
982 &4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,3,2*2,4*4,1,4,
983 &3,2*2,31*0,211,111,45*0,-211,2*111,-211,3*111,-211,111,211,30*0,
984 &-211,111,13*0,2*21,-211,111,167*0,-1,-3,-5,-2,-4,-6,-1,-3,-5,-2,
985 &-4,-6,-1,-3,-5,-2,-4,-6,-1,-3,-5,-2,-4,-6,-2,2,-4,4,-6,6,-2,2,-4,
986 &4,-6,6,12*0,-11,-13,-15,-12,-14,-16,-1,-3,-5,-2,-4,5*0,-12,12,
987 &-14,14,-16,16,-2,2,-4,4,2*0,-12,12,-14,14,-16,16,-2,2,-4,4,52*0,
988 &-1,-3,-5,-2,-4,3*0,12,14,16,2,4,0,12,14,16,2,4,0,12,14,16,2,4,0,
989 &12,14,16,2,4,28*0,2,4,7*0,-11,-13,-15,-12,-14,-16,-1,-3,-5,-2,-4,
990 &5*0,-11,-13,-15,-12,-14,-16,-1,-3,-5,-2,-4,5*0,-12,12,-14,14,-16,
991 &16,-2,2,-4,4,2*0,-12,12,-14,14,-16,16,-2,2,-4,4,52*0,-1,-3,-5,-2,
992 &-4,7*0,-11,-13,-15,-12,-14,-16,-1,-3,-5,-2,-4,5*0,-11,-13,-15,
993 &-12,-14,-16,-1,-3,-5,-2,-4,5*0,-11,-13,-15,-12,-14,-16,-1,-3,-5/
994 DATA (kfdp(i,3),i=2187,4000)/-2,-4,5*0,-12,12,-14,14,-16,16,-2,2,
995 &-4,4,2*0,-12,12,-14,14,-16,16,-2,2,-4,4,52*0,-1,-3,-5,-2,-4,3*0,
996 &-11,-13,-15,-12,-14,-16,-1,-3,-5,-2,-4,4*0,12,14,16,2,4,0,12,14,
997 &16,2,4,0,12,14,16,2,4,0,12,14,16,2,4,28*0,2,4,1657*0/
998 DATA (kfdp(i,4),i= 1,4000)/92*0,4*111,6*0,111,2*0,-211,0,-211,
999 &3*0,111,2*-211,0,111,0,2*111,113,221,2*111,-213,-211,211,113,
1000 &6*111,310,2*130,470*0,13*81,41*0,-11,10*0,111,-211,4*0,111,62*0,
1001 &111,211,111,211,7*0,111,211,111,211,35*0,2*-211,2*111,211,111,
1002 &-211,2*211,2*-211,13*0,-211,111,-211,111,4*0,-211,111,-211,111,
1003 &34*0,111,-211,3*111,3*-211,2*111,3*-211,14*0,-321,-311,3*0,-321,
1004 &-311,20*0,-3,43*0,6*1,39*0,6*2,42*0,6*3,14*0,8*4,4*0,4*-5,4*0,
1005 &2*-5,67*0,-211,111,5*0,-211,111,52*0,2101,2103,2*2101,6*0,4*81,
1006 &4*0,4*81,6*0,4*81,0,28*81,13*0,6*2101,18*81,4*0,18*81,4*0,9*81,0,
1007 &162*81,31*0,-211,111,2450*0/
1008 DATA (kfdp(i,5),i= 1,4000)/94*0,2*111,17*0,111,7*0,2*111,0,
1009 &3*111,0,111,665*0,-211,2*111,-211,111,-211,111,65*0,111,-211,
1010 &3*111,-211,111,3127*0/
1013 DATA (chaf(i,1),i= 1, 190)/
'd',
'u',
's',
'c',
'b',
't',
'b''',
't''',
1014 &2*
' ',
'e-',
'nu_e',
'mu-',
'nu_mu',
'tau-',
'nu_tau',
'tau''-',
1015 &
'nu''_tau',2*
' ',
'g',
'gamma',
'Z0',
'W+',
'h0',2*
' ',
'reggeon',
1016 &
'pomeron',2*
' ',
'Z''0',
'Z"0',
'W''+',
'H0',
'A0',
'H+',
'eta_tech0',
1017 &
'LQ_ue',
'R0',10*
' ',
'pi_tech0',
'pi_tech+',
'pi''_tech0',
1018 &
'rho_tech0',
'rho_tech+',
'omega_tech',24*
' ',
'specflav',
1019 &
'rndmflav',
'phasespa',
'c-hadron',
'b-hadron',5*
' ',
'cluster',
1020 &
'string',
'indep.',
'CMshower',
'SPHEaxis',
'THRUaxis',
'CLUSjet',
1021 &
'CELLjet',
'table',
' ',
'rho_diff0',
'pi0',
'rho0',
'a_20',
'K_L0',
1022 &
'pi_diffr+',
'pi+',
'rho+',
'a_2+',
'omega_di',
'eta',
'omega',
'f_2',
1023 &
'K_S0',
'K0',
'K*0',
'K*_20',
'K+',
'K*+',
'K*_2+',
'phi_diff',
'eta''',
1024 &
'phi',
'f''_2',
'D+',
'D*+',
'D*_2+',
'D0',
'D*0',
'D*_20',
'D_s+',
1025 &
'D*_s+',
'D*_2s+',
'J/psi_di',
'eta_c',
'J/psi',
'chi_2c',
'B0',
'B*0',
1026 &
'B*_20',
'B+',
'B*+',
'B*_2+',
'B_s0',
'B*_s0',
'B*_2s0',
'B_c+',
1027 &
'B*_c+',
'B*_2c+',
'eta_b',
'Upsilon',
'chi_2b',
'dd_1',
'Delta-',
1028 &
'ud_0',
'ud_1',
'n_diffr0',
'n0',
'Delta0',
'uu_1',
'p_diffr+',
'p+',
1029 &
'Delta+',
'Delta++',
'sd_0',
'sd_1',
'Sigma-',
'Sigma*-',
'Lambda0',
1030 &
'su_0',
'su_1',
'Sigma0',
'Sigma*0',
'Sigma+',
'Sigma*+',
'ss_1',
'Xi-',
1031 &
'Xi*-',
'Xi0',
'Xi*0',
'Omega-',
'cd_0',
'cd_1',
'Sigma_c0',
1032 &
'Sigma*_c0',
'Lambda_c+',
'Xi_c0',
'cu_0',
'cu_1',
'Sigma_c+'/
1033 DATA (chaf(i,1),i= 191, 317)/
'Sigma*_c+',
'Sigma_c++',
1034 &
'Sigma*_c++',
'Xi_c+',
'cs_0',
'cs_1',
'Xi''_c0',
'Xi*_c0',
'Xi''_c+',
1035 &
'Xi*_c+',
'Omega_c0',
'Omega*_c0',
'cc_1',
'Xi_cc+',
'Xi*_cc+',
1036 &
'Xi_cc++',
'Xi*_cc++',
'Omega_cc+',
'Omega*_cc+',
'Omega*_ccc++',
1037 &
'bd_0',
'bd_1',
'Sigma_b-',
'Sigma*_b-',
'Lambda_b0',
'Xi_b-',
1038 &
'Xi_bc0',
'bu_0',
'bu_1',
'Sigma_b0',
'Sigma*_b0',
'Sigma_b+',
1039 &
'Sigma*_b+',
'Xi_b0',
'Xi_bc+',
'bs_0',
'bs_1',
'Xi''_b-',
'Xi*_b-',
1040 &
'Xi''_b0',
'Xi*_b0',
'Omega_b-',
'Omega*_b-',
'Omega_bc0',
'bc_0',
1041 &
'bc_1',
'Xi''_bc0',
'Xi*_bc0',
'Xi''_bc+',
'Xi*_bc+',
'Omega''_bc0',
1042 &
'Omega*_bc0',
'Omega_bcc+',
'Omega*_bcc+',
'bb_1',
'Xi_bb-',
1043 &
'Xi*_bb-',
'Xi_bb0',
'Xi*_bb0',
'Omega_bb-',
'Omega*_bb-',
1044 &
'Omega_bbc0',
'Omega*_bbc0',
'Omega*_bbb-',
'a_00',
'b_10',
'a_0+',
1045 &
'b_1+',
'f_0',
'h_1',
'K*_00',
'K_10',
'K*_0+',
'K_1+',
'f''_0',
'h''_1',
1046 &
'D*_0+',
'D_1+',
'D*_00',
'D_10',
'D*_0s+',
'D_1s+',
'chi_0c',
'h_1c',
1047 &
'B*_00',
'B_10',
'B*_0+',
'B_1+',
'B*_0s0',
'B_1s0',
'B*_0c+',
'B_1c+',
1048 &
'chi_0b',
'h_1b',
'a_10',
'a_1+',
'f_1',
'K*_10',
'K*_1+',
'f''_1',
1049 &
'D*_1+',
'D*_10',
'D*_1s+',
'chi_1c',
'B*_10',
'B*_1+',
'B*_1s0',
1050 &
'B*_1c+',
'chi_1b',
'psi''',
'Upsilon''',
'~d_L',
'~u_L',
'~s_L',
1051 &
'~c_L',
'~b_1',
'~t_1',
'~e_L-',
'~nu_eL',
'~mu_L-',
'~nu_muL',
1052 &
'~tau_1-',
'~nu_tauL',
'~g',
'~chi_10',
'~chi_20',
'~chi_1+'/
1053 DATA (chaf(i,1),i= 318, 500)/
'~chi_30',
'~chi_40',
'~chi_2+',
1054 &
'~gravitino',
'~d_R',
'~u_R',
'~s_R',
'~c_R',
'~b_2',
'~t_2',
'~e_R-',
1055 &
'~nu_eR',
'~mu_R-',
'~nu_muR',
'~tau_2-',
'~nu_tauR',
'd*',
'u*',
'e*-',
1057 DATA (chaf(i,2),i= 1, 206)/
'dbar',
'ubar',
'sbar',
'cbar',
'bbar',
1058 &
'tbar',
'b''bar',
't''bar',2*
' ',
'e+',
'nu_ebar',
'mu+',
'nu_mubar',
1059 &
'tau+',
'nu_taubar',
'tau''+',
'nu''_taubar',5*
' ',
'W-',9*
' ',
1060 &
'W''-',2*
' ',
'H-',
' ',
'LQ_uebar',
'Rbar0',11*
' ',
'pi_tech-',2*
' ',
1061 &
'rho_tech-',26*
' ',
'rndmflavbar',
' ',
'c-hadronbar',
'b-hadronbar',
1062 &20*
' ',
'pi_diffr-',
'pi-',
'rho-',
'a_2-',5*
' ',
'Kbar0',
'K*bar0',
1063 &
'K*_2bar0',
'K-',
'K*-',
'K*_2-',4*
' ',
'D-',
'D*-',
'D*_2-',
'Dbar0',
1064 &
'D*bar0',
'D*_2bar0',
'D_s-',
'D*_s-',
'D*_2s-',4*
' ',
'Bbar0',
1065 &
'B*bar0',
'B*_2bar0',
'B-',
'B*-',
'B*_2-',
'B_sbar0',
'B*_sbar0',
1066 &
'B*_2sbar0',
'B_c-',
'B*_c-',
'B*_2c-',3*
' ',
'dd_1bar',
'Deltabar+',
1067 &
'ud_0bar',
'ud_1bar',
'n_diffrbar0',
'nbar0',
'Deltabar0',
'uu_1bar',
1068 &
'p_diffrbar-',
'pbar-',
'Deltabar-',
'Deltabar--',
'sd_0bar',
1069 &
'sd_1bar',
'Sigmabar+',
'Sigma*bar+',
'Lambdabar0',
'su_0bar',
1070 &
'su_1bar',
'Sigmabar0',
'Sigma*bar0',
'Sigmabar-',
'Sigma*bar-',
1071 &
'ss_1bar',
'Xibar+',
'Xi*bar+',
'Xibar0',
'Xi*bar0',
'Omegabar+',
1072 &
'cd_0bar',
'cd_1bar',
'Sigma_cbar0',
'Sigma*_cbar0',
'Lambda_cbar-',
1073 &
'Xi_cbar0',
'cu_0bar',
'cu_1bar',
'Sigma_cbar-',
'Sigma*_cbar-',
1074 &
'Sigma_cbar--',
'Sigma*_cbar--',
'Xi_cbar-',
'cs_0bar',
'cs_1bar',
1075 &
'Xi''_cbar0',
'Xi*_cbar0',
'Xi''_cbar-',
'Xi*_cbar-',
'Omega_cbar0',
1076 &
'Omega*_cbar0',
'cc_1bar',
'Xi_ccbar-',
'Xi*_ccbar-',
'Xi_ccbar--'/
1077 DATA (chaf(i,2),i= 207, 324)/
'Xi*_ccbar--',
'Omega_ccbar-',
1078 &
'Omega*_ccbar-',
'Omega*_cccbar-',
'bd_0bar',
'bd_1bar',
1079 &
'Sigma_bbar+',
'Sigma*_bbar+',
'Lambda_bbar0',
'Xi_bbar+',
1080 &
'Xi_bcbar0',
'bu_0bar',
'bu_1bar',
'Sigma_bbar0',
'Sigma*_bbar0',
1081 &
'Sigma_bbar-',
'Sigma*_bbar-',
'Xi_bbar0',
'Xi_bcbar-',
'bs_0bar',
1082 &
'bs_1bar',
'Xi''_bbar+',
'Xi*_bbar+',
'Xi''_bbar0',
'Xi*_bbar0',
1083 &
'Omega_bbar+',
'Omega*_bbar+',
'Omega_bcbar0',
'bc_0bar',
'bc_1bar',
1084 &
'Xi''_bcbar0',
'Xi*_bcbar0',
'Xi''_bcbar-',
'Xi*_bcbar-',
1085 &
'Omega''_bcba',
'Omega*_bcbar0',
'Omega_bccbar-',
'Omega*_bccbar-',
1086 &
'bb_1bar',
'Xi_bbbar+',
'Xi*_bbbar+',
'Xi_bbbar0',
'Xi*_bbbar0',
1087 &
'Omega_bbbar+',
'Omega*_bbbar+',
'Omega_bbcbar0',
'Omega*_bbcbar0',
1088 &
'Omega*_bbbbar+',2*
' ',
'a_0-',
'b_1-',2*
' ',
'K*_0bar0',
'K_1bar0',
1089 &
'K*_0-',
'K_1-',2*
' ',
'D*_0-',
'D_1-',
'D*_0bar0',
'D_1bar0',
1090 &
'D*_0s-',
'D_1s-',2*
' ',
'B*_0bar0',
'B_1bar0',
'B*_0-',
'B_1-',
1091 &
'B*_0sbar0',
'B_1sbar0',
'B*_0c-',
'B_1c-',3*
' ',
'a_1-',
' ',
1092 &
'K*_1bar0',
'K*_1-',
' ',
'D*_1-',
'D*_1bar0',
'D*_1s-',
' ',
1093 &
'B*_1bar0',
'B*_1-',
'B*_1sbar0',
'B*_1c-',3*
' ',
'~d_Lbar',
1094 &
'~u_Lbar',
'~s_Lbar',
'~c_Lbar',
'~b_1bar',
'~t_1bar',
'~e_L+',
1095 &
'~nu_eLbar',
'~mu_L+',
'~nu_muLbar',
'~tau_1+',
'~nu_tauLbar',3*
' ',
1096 &
'~chi_1-',2*
' ',
'~chi_2-',
' ',
'~d_Rbar',
'~u_Rbar',
'~s_Rbar'/
1097 DATA (chaf(i,2),i= 325, 500)/
'~c_Rbar',
'~b_2bar',
'~t_2bar',
1098 &
'~e_R+',
'~nu_eRbar',
'~mu_R+',
'~nu_muRbar',
'~tau_2+',
1099 &
'~nu_tauRbar',
'd*bar',
'u*bar',
'e*bar+',
'nu*_ebar0',163*
' '/
1102 DATA mrpy/19780503,0,0,97,33,0/
1107 DATA ((kfin(i,j),j=-40,40),i=1,2)/16*0,4*1,4*0,6*1,5*0,5*1,0,
1108 &5*1,5*0,6*1,4*0,4*1,16*0,16*0,4*1,4*0,6*1,5*0,5*1,0,5*1,5*0,
1111 & 2.0d0, -1.0d0, 0.0d0, -1.0d0, 1.0d0,
1112 & 1.0d0, -10d0, 10d0, -10d0, 10d0,
1113 1 -10d0, 10d0, -10d0, 10d0, -10d0,
1114 1 10d0, -1.0d0, 1.0d0, -1.0d0, 1.0d0,
1115 2 0.0d0, 1.0d0, 0.0d0, 1.0d0, -1.0d0,
1116 2 1.0d0, -1.0d0, 1.0d0, 0d0, 0d0,
1117 3 2.0d0, -1.0d0, 0d0, 0d0, 0.0d0,
1118 3 -1.0d0, 0.0d0, -1.0d0, 4.0d0, -1.0d0,
1119 4 12.0d0, -1.0d0, 12.0d0, -1.0d0, 12.0d0,
1120 4 -1.0d0, 12.0d0, -1.0d0, 0d0, 0d0,
1121 5 0.0d0, -1.0d0, 0.0d0, -1.0d0, 0.0d0,
1122 5 -1.0d0, 0d0, 0d0, 0d0, 0d0,
1126 DATA (mstp(i),i=1,100)/
1127 & 3, 1, 2, 0, 0, 0, 0, 0, 0, 0,
1128 1 1, 0, 1, 0, 5, 0, 0, 0, 0, 0,
1129 2 1, 0, 1, 0, 0, 0, 0, 0, 0, 1,
1130 3 1, 2, 0, 1, 0, 2, 1, 5, 2, 0,
1131 4 1, 1, 3, 7, 3, 1, 1, 2, 1, 0,
1132 5 4, 1, 3, 1, 5, 1, 1, 6, 1, 7,
1133 6 1, 3, 2, 2, 1, 1, 2, 0, 0, 0,
1134 7 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1135 8 1, 1, 100, 0, 0, 0, 0, 0, 0, 0,
1136 9 1, 4, 1, 2, 0, 0, 0, 0, 0, 0/
1137 DATA (mstp(i),i=101,200)/
1138 & 3, 1, 0, 0, 0, 0, 0, 0, 0, 0,
1139 1 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
1140 2 0, 1, 2, 1, 1, 50, 0, 0, 10, 0,
1141 3 0, 4, 0, 1, 0, 0, 0, 0, 0, 0,
1142 4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1143 5 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1144 6 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1145 7 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
1146 8 6, 102, 1997, 04, 22, 0, 0, 0, 0, 0,
1147 9 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/
1148 DATA (parp(i),i=1,100)/
1149 & 0.25d0, 10d0, 8*0d0,
1150 1 0d0, 0d0, 1.0d0, 0.01d0, 0.6d0, 1.0d0, 1.0d0, 3*0d0,
1152 3 1.5d0,2.0d0,0.075d0,1.0d0,0.2d0,0d0,2.0d0,0.70d0,0.006d0,0d0,
1153 4 0.02d0,2.0d0,0.10d0,1000d0,2054d0, 123d0, 246d0, 50d0, 2*0d0,
1155 6 0.25d0, 1.0d0,0.25d0, 1.0d0, 2.0d0,1
d-3, 4.0d0,1
d-3,2*0d0,
1156 7 4.0d0, 0.25d0, 8*0d0,
1157 8 1.40d0,1.55d0,0.5d0, 0.2d0,0.33d0,0.66d0, 0.7d0, 0.5d0,2*0d0,
1158 9 0.44d0,0.20d0,2.0d0,1.0d0,0d0,3.0d0,1.0d0,0.75d0,0.44d0,2.0d0/
1159 DATA (parp(i),i=101,200)/
1160 & 0.5d0, 0.28d0, 1.0d0, 0.8d0, 6*0d0,
1161 1 2.0d0, 3*0d0, 1.5d0, 0.5d0, 0.6d0, 2.5d0, 2.0d0, 1.0d0,
1162 2 1.0d0, 0.4d0, 8*0d0,
1164 4 0.33333d0, 82d0, 1d0, 4d0, 200d0, 5*0d0,
1165 5 0d0, 0d0, 0d0, 0d0, 6*0d0,
1166 6 2.20d0, 23.6d0, 18.4d0, 11.5d0, 6*0d0,
1167 7 0d0, 0d0, 0d0, 1.0d0, 6*0d0,
1175 DATA (iset(i),i=1,100)/
1176 & 1, 1, 1, -1, 3, -1, -1, 3, -2, 2,
1177 1 2, 2, 2, 2, 2, 2, -1, 2, 2, 2,
1178 2 -1, 2, 2, 2, 2, 2, -1, 2, 2, 2,
1179 3 2, -1, 2, 2, 2, 2, -1, -1, -1, -1,
1180 4 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1181 5 -1, -1, 2, 2, -1, -1, -1, 2, -1, -1,
1182 6 -1, -1, -1, -1, -1, -1, -1, 2, 2, 2,
1183 7 4, 4, 4, -1, -1, 4, 4, -1, -1, 2,
1184 8 2, 2, 2, 2, 2, 2, 2, 2, 2, -2,
1185 9 0, 0, 0, 0, 0, 9, -2, -2, -2, -2/
1186 DATA (iset(i),i=101,200)/
1187 & -1, 1, 1, -2, -2, -2, -2, -2, -2, 2,
1188 1 2, 2, 2, 2, 2, -1, -1, -1, -2, -2,
1189 2 5, 5, 5, 5, -2, -2, -2, -2, -2, -2,
1190 3 -1, -2, -2, -2, -2, -2, -2, -2, -2, -2,
1191 4 1, 1, 1, 1, 1, -2, 1, 1, 1, -2,
1192 5 1, 1, 1, -2, -2, 1, 1, 1, -2, -2,
1193 6 2, 2, 2, 2, 2, 2, 2, 2, -2, -2,
1194 7 2, 2, 5, 5, -2, 2, 2, 5, 5, -2,
1195 8 5, 5, -2, -2, -2, 5, 5, -2, -2, -2,
1196 9 1, 1, 1, 2, -2, -2, -2, -2, -2, -2/
1197 DATA (iset(i),i=201,300)/
1198 & 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1199 1 2, 2, 2, 2, -2, 2, 2, 2, 2, 2,
1200 2 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1201 3 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1202 4 2, 2, 2, 2, -1, 2, 2, 2, 2, 2,
1203 5 2, 2, 2, 2, -1, 2, -1, 2, 2, -2,
1204 6 2, 2, 2, 2, 2, -1, -1, -1, -1, -1,
1205 7 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1206 8 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
1207 9 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2/
1208 DATA (iset(i),i=301,500)/200*-2/
1209 DATA ((kfpr(i,j),j=1,2),i=1,50)/
1210 & 23, 0, 24, 0, 25, 0, 24, 0, 25, 0,
1211 & 24, 0, 23, 0, 25, 0, 0, 0, 0, 0,
1212 1 0, 0, 0, 0, 21, 21, 21, 22, 21, 23,
1213 1 21, 24, 21, 25, 22, 22, 22, 23, 22, 24,
1214 2 22, 25, 23, 23, 23, 24, 23, 25, 24, 24,
1215 2 24, 25, 25, 25, 0, 21, 0, 22, 0, 23,
1216 3 0, 24, 0, 25, 0, 21, 0, 22, 0, 23,
1217 3 0, 24, 0, 25, 0, 21, 0, 22, 0, 23,
1218 4 0, 24, 0, 25, 0, 21, 0, 22, 0, 23,
1219 4 0, 24, 0, 25, 0, 21, 0, 22, 0, 23/
1220 DATA ((kfpr(i,j),j=1,2),i=51,100)/
1221 5 0, 24, 0, 25, 0, 0, 0, 0, 0, 0,
1222 5 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223 6 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1224 6 0, 0, 0, 0, 21, 21, 24, 24, 23, 24,
1225 7 23, 23, 24, 24, 23, 24, 23, 25, 22, 22,
1226 7 23, 23, 24, 24, 24, 25, 25, 25, 0, 211,
1227 8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 8 443, 21,10441, 21,20443, 21, 445, 21, 0, 0,
1229 9 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1230 9 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/
1231 DATA ((kfpr(i,j),j=1,2),i=101,150)/
1232 & 23, 0, 25, 0, 25, 0, 0, 0, 0, 0,
1233 & 0, 0, 0, 0, 0, 0, 0, 0, 22, 25,
1234 1 21, 25, 0, 25, 21, 25, 22, 22, 21, 22,
1235 1 22, 23, 23, 23, 24, 24, 0, 0, 0, 0,
1236 2 25, 6, 25, 6, 25, 0, 25, 0, 0, 0,
1237 2 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238 3 23, 5, 0, 0, 0, 0, 0, 0, 0, 0,
1239 3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1240 4 32, 0, 34, 0, 37, 0, 40, 0, 39, 0,
1241 4 0, 0, 4000001, 0, 4000002, 0, 38, 0, 0, 0/
1242 DATA ((kfpr(i,j),j=1,2),i=151,200)/
1243 5 35, 0, 35, 0, 35, 0, 0, 0, 0, 0,
1244 5 36, 0, 36, 0, 36, 0, 0, 0, 0, 0,
1245 6 6, 37, 39, 0, 39, 39, 39, 39, 11, 0,
1246 6 11, 0, 0, 4000001, 0, 4000002, 0, 0, 0, 0,
1247 7 23, 35, 24, 35, 35, 0, 35, 0, 0, 0,
1248 7 23, 36, 24, 36, 36, 0, 36, 0, 0, 0,
1249 8 35, 6, 35, 6, 0, 0, 0, 0, 0, 0,
1250 8 36, 6, 36, 6, 0, 0, 0, 0, 0, 0,
1251 9 54, 0, 55, 0, 56, 0, 11, 0, 0, 0,
1252 9 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/
1253 DATA ((kfpr(i,j),j=1,2),i=201,240)/
1254 & 1000011, 1000011, 2000011, 2000011, 1000011,
1255 & 2000011, 1000013, 1000013, 2000013, 2000013,
1256 & 1000013, 2000013, 1000015, 1000015, 2000015,
1257 & 2000015, 1000015, 2000015, 1000011, 1000012,
1258 1 1000015, 1000016, 2000015, 1000016, 1000012,
1259 1 1000012, 1000016, 1000016, 0, 0,
1260 1 1000022, 1000022, 1000023, 1000023, 1000025,
1261 1 1000025, 1000035, 1000035, 1000022, 1000023,
1262 2 1000022, 1000025, 1000022, 1000035, 1000023,
1263 2 1000025, 1000023, 1000035, 1000025, 1000035,
1264 2 1000024, 1000024, 1000037, 1000037, 1000024,
1265 2 1000037, 1000022, 1000024, 1000023, 1000024,
1266 3 1000025, 1000024, 1000035, 1000024, 1000022,
1267 3 1000037, 1000023, 1000037, 1000025, 1000037,
1268 3 1000035, 1000037, 1000021, 1000022, 1000021,
1269 3 1000023, 1000021, 1000025, 1000021, 1000035/
1270 DATA ((kfpr(i,j),j=1,2),i=241,280)/
1271 4 1000021, 1000024, 1000021, 1000037, 1000021,
1272 4 1000021, 1000021, 1000021, 0, 0,
1273 4 1000002, 1000022, 2000002, 1000022, 1000002,
1274 4 1000023, 2000002, 1000023, 1000002, 1000025,
1275 5 2000002, 1000025, 1000002, 1000035, 2000002,
1276 5 1000035, 1000001, 1000024, 2000005, 1000024,
1277 5 1000001, 1000037, 2000005, 1000037, 1000002,
1278 5 1000021, 2000002, 1000021, 0, 0,
1279 6 1000006, 1000006, 2000006, 2000006, 1000006,
1280 6 2000006, 1000006, 1000006, 2000006, 2000006,
1283 7 1000002, 1000002, 2000002, 2000002, 1000002,
1284 7 2000002, 1000002, 1000002, 2000002, 2000002,
1285 7 1000002, 2000002, 1000002, 1000002, 2000002,
1286 7 2000002, 1000002, 1000002, 2000002, 2000002/
1287 DATA ((kfpr(i,j),j=1,2),i=281,500)/440*0/
1288 DATA coef/10000*0d0/
1289 DATA (((icol(i,j,k),k=1,2),j=1,4),i=1,40)/
1290 &4,0,3,0,2,0,1,0,3,0,4,0,1,0,2,0,2,0,0,1,4,0,0,3,3,0,0,4,1,0,0,2,
1291 &3,0,0,4,1,4,3,2,4,0,0,3,4,2,1,3,2,0,4,1,4,0,2,3,4,0,3,4,2,0,1,2,
1292 &3,2,1,0,1,4,3,0,4,3,3,0,2,1,1,0,3,2,1,4,1,0,0,2,2,4,3,1,2,0,0,1,
1293 &3,2,1,4,1,4,3,2,4,2,1,3,4,2,1,3,3,4,4,3,1,2,2,1,2,0,3,1,2,0,0,0,
1294 &4,2,1,0,0,0,1,0,3,0,0,3,1,2,0,0,4,0,0,4,0,0,1,2,2,0,0,1,4,4,3,3,
1295 &2,2,1,1,4,4,3,3,3,3,4,4,1,1,2,2,3,2,1,3,1,2,0,0,4,2,1,4,0,0,1,2,
1296 &4,0,0,0,4,0,1,3,0,0,3,0,2,4,3,0,3,4,0,0,1,0,0,1,0,0,3,4,2,0,0,2,
1297 &3,0,0,0,1,0,0,0,0,0,3,0,2,0,0,0,2,0,3,1,2,0,0,0,3,2,1,0,1,0,0,0,
1298 &0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1299 &0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
1302 DATA (mwid(i) ,i= 1, 500)/5*0,3*1,8*0,1,5*0,3*1,6*0,1,0,7*1,
1303 &10*0,2*1,0,3*1,245*0,19*2,0,7*2,0,2,0,2,0,4*1,163*0/
1306 DATA proc(0)/
'All included subprocesses '/
1307 DATA (proc(i),i=1,20)/
1308 &
'f + fbar -> gamma*/Z0 ',
'f + fbar'' -> W+/- ',
1309 &
'f + fbar -> h0 ',
'gamma + W+/- -> W+/- ',
1310 &
'Z0 + Z0 -> h0 ',
'Z0 + W+/- -> W+/- ',
1311 &
' ',
'W+ + W- -> h0 ',
1312 &
' ',
'f + f'' -> f + f'' (QFD) ',
1313 1
'f + f'' -> f + f'' (QCD) ',
'f + fbar -> f'' + fbar'' ',
1314 1
'f + fbar -> g + g ',
'f + fbar -> g + gamma ',
1315 1
'f + fbar -> g + Z0 ',
'f + fbar'' -> g + W+/- ',
1316 1
'f + fbar -> g + h0 ',
'f + fbar -> gamma + gamma ',
1317 1
'f + fbar -> gamma + Z0 ',
'f + fbar'' -> gamma + W+/- '/
1318 DATA (proc(i),i=21,40)/
1319 2
'f + fbar -> gamma + h0 ',
'f + fbar -> Z0 + Z0 ',
1320 2
'f + fbar'' -> Z0 + W+/- ',
'f + fbar -> Z0 + h0 ',
1321 2
'f + fbar -> W+ + W- ',
'f + fbar'' -> W+/- + h0 ',
1322 2
'f + fbar -> h0 + h0 ',
'f + g -> f + g ',
1323 2
'f + g -> f + gamma ',
'f + g -> f + Z0 ',
1324 3
'f + g -> f'' + W+/- ',
'f + g -> f + h0 ',
1325 3
'f + gamma -> f + g ',
'f + gamma -> f + gamma ',
1326 3
'f + gamma -> f + Z0 ',
'f + gamma -> f'' + W+/- ',
1327 3
'f + gamma -> f + h0 ',
'f + Z0 -> f + g ',
1328 3
'f + Z0 -> f + gamma ',
'f + Z0 -> f + Z0 '/
1329 DATA (proc(i),i=41,60)/
1330 4
'f + Z0 -> f'' + W+/- ',
'f + Z0 -> f + h0 ',
1331 4
'f + W+/- -> f'' + g ',
'f + W+/- -> f'' + gamma ',
1332 4
'f + W+/- -> f'' + Z0 ',
'f + W+/- -> f'' + W+/- ',
1333 4
'f + W+/- -> f'' + h0 ',
'f + h0 -> f + g ',
1334 4
'f + h0 -> f + gamma ',
'f + h0 -> f + Z0 ',
1335 5
'f + h0 -> f'' + W+/- ',
'f + h0 -> f + h0 ',
1336 5
'g + g -> f + fbar ',
'g + gamma -> f + fbar ',
1337 5
'g + Z0 -> f + fbar ',
'g + W+/- -> f + fbar'' ',
1338 5
'g + h0 -> f + fbar ',
'gamma + gamma -> f + fbar ',
1339 5
'gamma + Z0 -> f + fbar ',
'gamma + W+/- -> f + fbar'' '/
1340 DATA (proc(i),i=61,80)/
1341 6
'gamma + h0 -> f + fbar ',
'Z0 + Z0 -> f + fbar ',
1342 6
'Z0 + W+/- -> f + fbar'' ',
'Z0 + h0 -> f + fbar ',
1343 6
'W+ + W- -> f + fbar ',
'W+/- + h0 -> f + fbar'' ',
1344 6
'h0 + h0 -> f + fbar ',
'g + g -> g + g ',
1345 6
'gamma + gamma -> W+ + W- ',
'gamma + W+/- -> Z0 + W+/- ',
1346 7
'Z0 + Z0 -> Z0 + Z0 ',
'Z0 + Z0 -> W+ + W- ',
1347 7
'Z0 + W+/- -> Z0 + W+/- ',
'Z0 + Z0 -> Z0 + h0 ',
1348 7
'W+ + W- -> gamma + gamma ',
'W+ + W- -> Z0 + Z0 ',
1349 7
'W+/- + W+/- -> W+/- + W+/- ',
'W+/- + h0 -> W+/- + h0 ',
1350 7
'h0 + h0 -> h0 + h0 ',
'q + gamma -> q'' + pi+/- '/
1351 DATA (proc(i),i=81,100)/
1352 8
'q + qbar -> Q + Qbar, mass ',
'g + g -> Q + Qbar, massive ',
1353 8
'f + q -> f'' + Q, massive ',
'g + gamma -> Q + Qbar, mass ',
1354 8
'gamma + gamma -> F + Fbar, m',
'g + g -> J/Psi + g ',
1355 8
'g + g -> chi_0c + g ',
'g + g -> chi_1c + g ',
1356 8
'g + g -> chi_2c + g ',
' ',
1357 9
'Elastic scattering ',
'Single diffractive (XB) ',
1358 9
'Single diffractive (AX) ',
'Double diffractive ',
1359 9
'Low-pT scattering ',
'Semihard QCD 2 -> 2 ',
1362 DATA (proc(i),i=101,120)/
1363 &
'g + g -> gamma*/Z0 ',
'g + g -> h0 ',
1364 &
'gamma + gamma -> h0 ',
' ',
1367 &
' ',
'f + fbar -> gamma + h0 ',
1368 1
'f + fbar -> g + h0 ',
'q + g -> q + h0 ',
1369 1
'g + g -> g + h0 ',
'g + g -> gamma + gamma ',
1370 1
'g + g -> g + gamma ',
'g + g -> gamma + Z0 ',
1371 1
'g + g -> Z0 + Z0 ',
'g + g -> W+ + W- ',
1373 DATA (proc(i),i=121,140)/
1374 2
'g + g -> Q + Qbar + h0 ',
'q + qbar -> Q + Qbar + h0 ',
1375 2
'f + f'' -> f + f'' + h0 ',
1376 2
'f + f'' -> f" + f"'' + h0 ',
1380 3
'g + g -> Z0 + q + qbar ',
' ',
1385 DATA (proc(i),i=141,160)/
1386 4
'f + fbar -> gamma*/Z0/Z''0 ',
'f + fbar'' -> W''+/- ',
1387 4
'f + fbar'' -> H+/- ',
'f + fbar'' -> R ',
1388 4
'q + l -> LQ ',
' ',
1389 4
'd + g -> d* ',
'u + g -> u* ',
1390 4
'g + g -> eta_techni ',
' ',
1391 5
'f + fbar -> H0 ',
'g + g -> H0 ',
1392 5
'gamma + gamma -> H0 ',
' ',
1393 5
' ',
'f + fbar -> A0 ',
1394 5
'g + g -> A0 ',
'gamma + gamma -> A0 ',
1396 DATA (proc(i),i=161,180)/
1397 6
'f + g -> f'' + H+/- ',
'q + g -> LQ + lbar ',
1398 6
'g + g -> LQ + LQbar ',
'q + qbar -> LQ + LQbar ',
1399 6
'f + fbar -> f'' + fbar'' (g/Z)',
1400 6
'f +fbar'' -> f" + fbar"'' (W) ',
1401 6
'q + q'' -> q" + d* ',
'q + q'' -> q" + u* ',
1403 7
'f + fbar -> Z0 + H0 ',
'f + fbar'' -> W+/- + H0 ',
1404 7
'f + f'' -> f + f'' + H0 ',
1405 7
'f + f'' -> f" + f"'' + H0 ',
1406 7
' ',
'f + fbar -> Z0 + A0 ',
1407 7
'f + fbar'' -> W+/- + A0 ',
1408 7
'f + f'' -> f + f'' + A0 ',
1409 7
'f + f'' -> f" + f"'' + A0 ',
1411 DATA (proc(i),i=181,200)/
1412 8
'g + g -> Q + Qbar + H0 ',
'q + qbar -> Q + Qbar + H0 ',
1414 8
' ',
'g + g -> Q + Qbar + A0 ',
1415 8
'q + qbar -> Q + Qbar + A0 ',
' ',
1417 9
'f + fbar -> rho_tech0 ',
'f + f'' -> rho_tech+/- ',
1418 9
'f + fbar -> omega_tech0 ',
'f+fbar -> f''+fbar'' (technic)',
1422 DATA (proc(i),i=201,220)/
1423 &
'f + fbar -> ~e_L + ~e_Lbar ',
'f + fbar -> ~e_R + ~e_Rbar ',
1424 &
'f + fbar -> ~e_R + ~e_Lbar ',
'f + fbar -> ~mu_L + ~mu_Lbar',
1425 &
'f + fbar -> ~mu_R + ~mu_Rbar',
'f + fbar -> ~mu_L + ~mu_Rbar',
1426 &
'f+fbar -> ~tau_1 + ~tau_1bar',
'f+fbar -> ~tau_2 + ~tau_2bar',
1427 &
'f+fbar -> ~tau_1 + ~tau_2bar',
'q + qbar'' -> ~l_L + ~nulbar ',
1428 1
'q+qbar''-> ~tau_1 + ~nutaubar',
'q+qbar''-> ~tau_2 + ~nutaubar',
1429 1
'f + fbar -> ~nul + ~nulbar ',
'f+fbar -> ~nutau + ~nutaubar',
1430 1
' ',
'f + fbar -> ~chi1 + ~chi1 ',
1431 1
'f + fbar -> ~chi2 + ~chi2 ',
'f + fbar -> ~chi3 + ~chi3 ',
1432 1
'f + fbar -> ~chi4 + ~chi4 ',
'f + fbar -> ~chi1 + ~chi2 '/
1433 DATA (proc(i),i=221,240)/
1434 2
'f + fbar -> ~chi1 + ~chi3 ',
'f + fbar -> ~chi1 + ~chi4 ',
1435 2
'f + fbar -> ~chi2 + ~chi3 ',
'f + fbar -> ~chi2 + ~chi4 ',
1436 2
'f + fbar -> ~chi3 + ~chi4 ',
'f+fbar -> ~chi+-1 + ~chi-+1 ',
1437 2
'f+fbar -> ~chi+-2 + ~chi-+2 ',
'f+fbar -> ~chi+-1 + ~chi-+2 ',
1438 2
'q + qbar'' -> ~chi1 + ~chi+-1',
'q + qbar'' -> ~chi2 + ~chi+-1',
1439 3
'q + qbar'' -> ~chi3 + ~chi+-1',
'q + qbar'' -> ~chi4 + ~chi+-1',
1440 3
'q + qbar'' -> ~chi1 + ~chi+-2',
'q + qbar'' -> ~chi2 + ~chi+-2',
1441 3
'q + qbar'' -> ~chi3 + ~chi+-2',
'q + qbar'' -> ~chi4 + ~chi+-2',
1442 3
'q + qbar -> ~chi1 + ~g ',
'q + qbar -> ~chi2 + ~g ',
1443 3
'q + qbar -> ~chi3 + ~g ',
'q + qbar -> ~chi4 + ~g '/
1444 DATA (proc(i),i=241,260)/
1445 4
'q + qbar'' -> ~chi+-1 + ~g ',
'q + qbar'' -> ~chi+-2 + ~g ',
1446 4
'q + qbar -> ~g + ~g ',
'g + g -> ~g + ~g ',
1447 4
' ',
'qj + g -> ~qj_L + ~chi1 ',
1448 4
'qj + g -> ~qj_R + ~chi1 ',
'qj + g -> ~qj_L + ~chi2 ',
1449 4
'qj + g -> ~qj_R + ~chi2 ',
'qj + g -> ~qj_L + ~chi3 ',
1450 5
'qj + g -> ~qj_R + ~chi3 ',
'qj + g -> ~qj_L + ~chi4 ',
1451 5
'qj + g -> ~qj_R + ~chi4 ',
'qj + g -> ~qk_L + ~chi+-1 ',
1452 5
'qj + g -> ~qk_R + ~chi+-1 ',
'qj + g -> ~qk_L + ~chi+-2 ',
1453 5
'qj + g -> ~qk_R + ~chi+-2 ',
'qj + g -> ~qj_L + ~g ',
1454 5
'qj + g -> ~qj_R + ~g ',
' '/
1455 DATA (proc(i),i=261,280)/
1456 6
'f + fbar -> ~t_1 + ~t_1bar ',
'f + fbar -> ~t_2 + ~t_2bar ',
1457 6
'f + fbar -> ~t_1 + ~t_2bar ',
'g + g -> ~t_1 + ~t_1bar ',
1458 6
'g + g -> ~t_2 + ~t_2bar ',
' ',
1461 7
'qi + qj -> ~qi_L + ~qj_L ',
'qi + qj -> ~qi_R + ~qj_R ',
1462 7
'qi + qj -> ~qi_L + ~qj_R ',
'qi+qjbar -> ~qi_L + ~qj_Lbar',
1463 7
'qi+qjbar -> ~qi_R + ~qj_Rbar',
'qi+qjbar -> ~qi_L + ~qj_Rbar',
1464 7
'f + fbar -> ~qi_L + ~qi_Lbar',
'f + fbar -> ~qi_R + ~qi_Rbar',
1465 7
'g + g -> ~qi_L + ~qi_Lbar ',
'g + g -> ~qi_R + ~qi_Rbar '/
1466 DATA (proc(i),i=281,500)/220*
' '/
1473 & 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
1476 & 80d0,160d0,500d0,800d0,2d0,250d0,200d0,800d0,700d0,800d0,
1477 1 700d0,500d0,250d0,200d0,800d0,400d0,0d0,0.1d0,850d0,0.041d0,
1478 2 1d0,800d0,1d4,1d4,1d4,0d0,0d0,24d17,2*0d0,
1482 DATA ihist/1000,20000,55,1/
1496 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
1499 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
1500 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
1501 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
1502 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
1503 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
1504 common/pypars/mstp(200),parp(200),msti(200),pari(200)
1507 dimension psum(5),pini(6),pfin(6)
1527 IF(mtest.GE.1) CALL
pytabu(20)
1546 IF(iev.EQ.301.OR.iev.EQ.351.OR.iev.EQ.401) mstj(116)=3
1552 IF(ity.EQ.3.OR.ity.EQ.4) mstj(11)=2
1553 IF(ity.EQ.1) CALL
py1ent(1,1,15d0,0d0,0d0)
1554 IF(ity.EQ.2) CALL
py1ent(1,3101,15d0,0d0,0d0)
1555 IF(ity.EQ.3) CALL
py1ent(1,-2203,15d0,0d0,0d0)
1556 IF(ity.EQ.4) CALL
py1ent(1,-4,30d0,0d0,0d0)
1557 IF(ity.EQ.5) CALL
py1ent(1,21,15d0,0d0,0d0)
1560 ELSEIF(iev.LE.130)
THEN
1562 IF(ity.EQ.1) CALL
py2ent(1,1,-1,40d0)
1563 IF(ity.EQ.2) CALL
py2ent(1,4,-4,30d0)
1564 IF(ity.EQ.3) CALL
py2ent(1,2,2103,100d0)
1565 IF(ity.EQ.4) CALL
py2ent(1,21,21,40d0)
1566 IF(ity.EQ.5) CALL
py3ent(1,2101,21,-3203,30d0,0.6d0,0.8d0)
1567 IF(ity.EQ.6) CALL
py3ent(1,5,21,-5,40d0,0.9d0,0.8d0)
1568 IF(ity.EQ.7) CALL
py3ent(1,21,21,21,60d0,0.7d0,0.5d0)
1569 IF(ity.EQ.8) CALL
py4ent(1,2,21,21,-2,40d0,
1570 & 0.4d0,0.64d0,0.6d0,0.12d0,0.2d0)
1573 ELSEIF(iev.LE.200)
THEN
1575 mstj(2)=1+
mod(iev-131,4)
1576 mstj(3)=1+
mod((iev-131)/4,4)
1577 IF(ity.EQ.1) CALL
py2ent(1,4,-5,40d0)
1578 IF(ity.EQ.2) CALL
py3ent(1,3,21,-3,40d0,0.9d0,0.4d0)
1579 IF(ity.EQ.3) CALL
py4ent(1,2,21,21,-2,40d0,
1580 & 0.4d0,0.64d0,0.6d0,0.12d0,0.2d0)
1581 IF(ity.GE.4) CALL
py4ent(1,2,-3,3,-2,40d0,
1582 & 0.4d0,0.64d0,0.6d0,0.12d0,0.2d0)
1585 ELSEIF(iev.LE.300)
THEN
1592 IF(i.EQ.1) kfl=
int(1d0+4d0*
pyr(0))
1593 IF(i.EQ.njet) kfl=-
int(1d0+4d0*
pyr(0))
1594 ejet=5d0+20d0*
pyr(0)
1599 IF(i.EQ.1.OR.i.EQ.njet) mstj(93)=1
1600 IF(i.EQ.1.OR.i.EQ.njet) psum(5)=psum(5)+
pymass(kfl)
1602 psum(j)=psum(j)+
p(i,j)
1605 IF(psum(4)**2-psum(1)**2-psum(2)**2-psum(3)**2.LT.
1606 & (psum(5)+parj(32))**2) goto 100
1609 ELSEIF(iev.LE.350)
THEN
1614 ELSEIF(iev.LE.400)
THEN
1615 mstj(42)=1+
mod(iev,2)
1616 mstj(43)=1+
mod(iev/2,4)
1617 mstj(44)=
mod(iev/8,3)
1621 ELSEIF(iev.LE.450)
THEN
1644 IF((pfin(1)-pini(1))**2+(pfin(2)-pini(2))**2.GE.4d0)
1646 epzrem=pini(4)+pini(3)-pfin(4)-pfin(3)
1647 IF(epzrem.LT.0d0.OR.epzrem.GT.2d0*parj(31)) merr=merr+1
1648 IF(abs(pfin(6)-pini(6)).GT.2.1d0) merr=merr+1
1651 IF(abs(pfin(j)-pini(j)).GT.0.0001d0*pini(4)) merr=merr+1
1653 IF(abs(pfin(6)-pini(6)).GT.0.1d0) merr=merr+1
1655 IF(merr.NE.0)
WRITE(mstu(11),5000) (pini(j),j=1,4),pini(6),
1656 & (pfin(j),j=1,4),pfin(6)
1661 IF(k(i,1).GT.20) goto 170
1662 IF(
pycomp(k(i,2)).EQ.0)
THEN
1663 WRITE(mstu(11),5100) i
1666 pd=
p(i,4)**2-
p(i,1)**2-
p(i,2)**2-
p(i,3)**2-
p(i,5)**2
1667 IF(abs(pd).GT.
max(0.1d0,0.001d0*
p(i,4)**2).OR.
p(i,4).LT.0d0)
1669 WRITE(mstu(11),5200) i
1673 IF(mtest.GE.1) CALL
pytabu(21)
1676 IF(merr.NE.0.OR.mstu(24).NE.0.OR.mstu(28).NE.0)
THEN
1677 IF(merr.GE.1)
WRITE(mstu(11),6400)
1679 ELSEIF(mtest.GE.1.AND.
mod(iev-5,100).EQ.0)
THEN
1684 IF(merr.NE.0) nerr=nerr+1
1686 WRITE(mstu(11),6300)
1693 IF(mtest.GE.1) CALL
pytabu(22)
1714 mstp(122)=
max(0,
min(2,mtest))
1742 CALL
pyinit(
'FIXT',
'pi+',
'p',pzsum)
1745 ELSEIF(iproc.EQ.2)
THEN
1751 CALL
pyinit(
'CMS',
'p',
'p',pesum)
1754 ELSEIF(iproc.EQ.3)
THEN
1763 CALL
pyinit(
'CMS',
'p',
'pbar',pesum)
1766 ELSEIF(iproc.EQ.4)
THEN
1778 CALL
pyinit(
'CMS',
'p',
'pbar',pesum)
1781 ELSEIF(iproc.EQ.5)
THEN
1793 CALL
pyinit(
'CMS',
'p',
'p',pesum)
1796 ELSEIF(iproc.EQ.6)
THEN
1805 CALL
pyinit(
'CMS',
'p',
'p',pesum)
1808 ELSEIF(iproc.EQ.7)
THEN
1815 CALL
pyinit(
'CMS',
'e+',
'e-',pesum)
1818 ELSEIF(iproc.EQ.8)
THEN
1831 CALL
pyinit(
'USER',
'p',
'e-',pesum)
1838 IF(iproc.EQ.4) pesumm=msti(41)*pesum
1851 deve=abs(pfin(4)-pini(4))+abs(pfin(3)-pini(3))
1852 devt=abs(pfin(1)-pini(1))+abs(pfin(2)-pini(2))
1853 devq=abs(pfin(6)-pini(6))
1854 IF(deve.GT.2
d-3*pesum.OR.devt.GT.
max(0.01d0,1
d-4*pesum).OR.
1855 & devq.GT.0.1d0) merr=1
1856 IF(merr.NE.0)
WRITE(mstu(11),5000) (pini(j),j=1,4),pini(6),
1857 & (pfin(j),j=1,4),pfin(6)
1862 IF(k(i,1).GT.20) goto 210
1863 IF(
pycomp(k(i,2)).EQ.0)
THEN
1864 WRITE(mstu(11),5100) i
1867 pd=
p(i,4)**2-
p(i,1)**2-
p(i,2)**2-
p(i,3)**2-
p(i,5)**2*
1869 IF(abs(pd).GT.
max(0.1d0,0.002d0*
p(i,4)**2,0.002d0*
p(i,5)**2)
1870 & .OR.(
p(i,5).GE.0d0.AND.
p(i,4).LT.0d0))
THEN
1871 WRITE(mstu(11),5200) i
1877 IF(merr.GE.1) nerr=nerr+1
1879 WRITE(mstu(11),6300)
1883 IF(mtest.GE.1.AND.(merr.GE.1.OR.iev.EQ.1))
THEN
1884 IF(merr.GE.1)
WRITE(mstu(11),6400)
1890 IF(mtest.GE.1) CALL
pystat(1)
1894 IF(nerr.EQ.0)
WRITE(mstu(11),6500)
1895 IF(nerr.GT.0)
WRITE(mstu(11),6600) nerr
1898 5000
FORMAT(/
' Momentum, energy and/or charge were not conserved ',
1899 &
'in following event'/
' sum of',9
x,
'px',11
x,
'py',11
x,
'pz',11
x,
1900 &
'E',8
x,
'charge'/
' before',2
x,4(1
x,f12.5),1
x,f8.2/
' after',3
x,
1901 &4(1
x,f12.5),1
x,f8.2)
1902 5100
FORMAT(/5
x,
'Entry no.',i4,
' in following event not known code')
1903 5200
FORMAT(/5
x,
'Entry no.',i4,
' in following event has faulty ',
1905 6300
FORMAT(/5
x,
'This is the tenth error experienced! Something is ',
1906 &
'wrong.'/5
x,
'Execution will be stopped after listing of event.')
1907 6400
FORMAT(5
x,
'Faulty event follows:')
1908 6500
FORMAT(//5
x,
'End result of PYTEST: no errors detected.')
1909 6600
FORMAT(//5
x,
'End result of PYTEST:',i2,
' errors detected.'/
1910 &5
x,
'This should not have happened!')
1924 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
1927 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
1928 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
1929 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
1932 parameter(nmxhep=4000)
1933 common/
hepevt/nevhep,nhep,isthep(nmxhep),idhep(nmxhep),
1934 &jmohep(2,nmxhep),jdahep(2,nmxhep),phep(5,nmxhep),vhep(4,nmxhep)
1935 DOUBLE PRECISION phep,vhep
1941 IF(
n.GT.nmxhep) CALL
pyerrm(8,
1942 &
'(PYHEPC:) no more space in /HEPEVT/')
1946 IF(k(i,1).GE.1.AND.k(i,1).LE.10) isthep(i)=1
1947 IF(k(i,1).GE.11.AND.k(i,1).LE.20) isthep(i)=2
1948 IF(k(i,1).GE.21.AND.k(i,1).LE.30) isthep(i)=3
1949 IF(k(i,1).GE.31.AND.k(i,1).LE.100) isthep(i)=k(i,1)
1953 IF(k(i,1).NE.3.AND.k(i,1).NE.13.AND.k(i,1).NE.14)
THEN
1971 IF(k(i,1).EQ.21.AND.k(i-1,1).NE.21) inew=i
1975 IF(i.GE.inew+2.AND.k(i,1).EQ.21.AND.k(i,3).EQ.0)
THEN
1977 IF(i.GE.inew+3.AND.k(i-1,1).EQ.21.AND.k(i-1,3).EQ.0)
1981 ELSEIF(k(i,2).GE.91.AND.k(i,2).LE.93)
THEN
1984 IF(i1.GE.i) CALL
pyerrm(8,
1985 &
'(PYHEPC:) translation of inconsistent event history')
1986 IF(i1.LT.i.AND.k(i1,1).NE.1.AND.k(i1,1).NE.11) goto 120
1988 IF(i1.LT.i.AND.kc.EQ.0) goto 120
1989 IF(i1.LT.i.AND.kchg(kc,2).EQ.0) goto 120
1991 ELSEIF(k(i,2).EQ.94)
THEN
1993 IF(nhep.GE.i+3.AND.k(i+3,3).LE.i) njet=3
1994 IF(nhep.GE.i+4.AND.k(i+4,3).LE.i) njet=4
1995 jmohep(2,i)=
mod(k(i+njet,4)/mstu(5),mstu(5))
1996 IF(jmohep(2,i).EQ.jmohep(1,i)) jmohep(2,i)=
1997 &
mod(k(i+1,4)/mstu(5),mstu(5))
2001 IF(k(i,2).EQ.94.AND.mstu(16).NE.2)
THEN
2002 DO 130 i1=jdahep(1,i),jdahep(2,i)
2003 i2=
mod(k(i1,4)/mstu(5),mstu(5))
2007 IF(k(i,2).GE.91.AND.k(i,2).LE.94) goto 140
2009 IF(i1.LE.0.OR.i1.GT.nhep) goto 140
2010 IF(k(i1,1).NE.13.AND.k(i1,1).NE.14) goto 140
2011 IF(jdahep(1,i1).EQ.0)
THEN
2018 IF(k(i,1).NE.13.AND.k(i,1).NE.14) goto 150
2019 IF(jdahep(2,i).EQ.0) jdahep(2,i)=jdahep(1,i)
2024 IF(nhep.GT.mstu(4)) CALL
pyerrm(8,
2025 &
'(PYHEPC:) no more space in /PYJETS/')
2031 IF(isthep(i).EQ.1) k(i,1)=1
2032 IF(isthep(i).EQ.2) k(i,1)=11
2033 IF(isthep(i).EQ.3) k(i,1)=21
2045 IF(isthep(i).EQ.2.AND.phep(4,i).GT.phep(5,i))
THEN
2047 IF(i1.GT.0.AND.i1.LE.nhep) v(i,5)=(vhep(4,i1)-vhep(4,i))*
2048 & phep(5,i)/phep(4,i)
2052 IF(isthep(i).EQ.1)
THEN
2055 IF(kc.NE.0) kq=kchg(kc,2)*isign(1,k(i,2))
2056 IF(kq.NE.0) nkq=nkq+1
2057 IF(kq.NE.2) kqsum=kqsum+kq
2058 IF(kq.NE.0.AND.kqsum.NE.0)
THEN
2060 ELSEIF(kq.EQ.2.AND.i.LT.
n)
THEN
2061 IF(k(i+1,2).EQ.21) k(i,1)=2
2065 IF(nkq.EQ.1.OR.kqsum.NE.0) CALL
pyerrm(8,
2066 &
'(PYHEPC:) input parton configuration not colour singlet')
2080 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
2083 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
2084 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
2085 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
2086 common/pydat4/chaf(500,2)
2088 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
2089 common/pypars/mstp(200),parp(200),msti(200),pari(200)
2090 common/pyint1/mint(400),vint(400)
2091 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
2092 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
2093 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pydat4/,/pysubs/,/pypars/,
2094 &/pyint1/,/pyint2/,/pyint5/
2096 dimension alamin(20),nfin(20)
2097 CHARACTER*(*) frame,beam,
target
2098 CHARACTER chfram*8,chbeam*8,chtarg*8,chlh(2)*6
2101 common/w50512/qcdl4,qcdl5
2103 DOUBLE PRECISION value(20),qcdl4,qcdl5
2104 CHARACTER*20 parm(20)
2105 DATA value/20*0d0/,parm/20*
' '/
2108 DATA alamin/0.177d0,0.239d0,0.247d0,0.2322d0,0.248d0,0.248d0,
2109 &14*0.2d0/,nfin/20*4/
2110 DATA chlh/
'lepton',
'hadron'/
2117 IF(mstu(12).GE.1) CALL
pylist(0)
2118 IF(mstp(122).GE.1)
WRITE(mstu(11),5100)
2121 mstp(1)=
min(4,mstp(1))
2122 mstu(114)=
min(mstu(114),2*mstp(1))
2123 mstp(58)=
min(mstp(58),2*mstp(1))
2129 IF(ia.GE.1.AND.ia.LE.2*mstp(1))
THEN
2132 IF(ib.GE.6.AND.mstp(9).EQ.0) goto 110
2133 ipm=(5-isign(1,i))/2
2135 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.ipm) vint(180+i)=
2136 & vint(180+i)+vckm((ia+1)/2,(ib+1)/2)
2138 ELSEIF(ia.GE.11.AND.ia.LE.10+2*mstp(1))
THEN
2144 IF(mstp(52).EQ.2)
THEN
2148 value(2)=mstp(51)/1000
2154 mint(93)=1000000+mstp(51)
2159 IF(mstp(3).GE.2)
THEN
2162 IF(mstp(52).EQ.1.AND.mstp(51).GE.1.AND.mstp(51).LE.10)
THEN
2163 alam=alamin(mstp(51))
2165 ELSEIF(mstp(52).EQ.2)
THEN
2174 IF(mstp(3).EQ.3) parj(81)=alam
2184 parj(123)=pmas(23,1)
2185 parj(124)=pmas(23,2)
2191 CALL
pyinbm(chfram,chbeam,chtarg,win)
2192 IF(mint(65).EQ.1) goto 170
2198 IF(mstp(14).EQ.10.AND.(msel.EQ.1.OR.msel.EQ.2))
THEN
2199 IF((mint(11).EQ.22.OR.mint(12).EQ.22).AND.
2200 & (iabs(mint(11)).GE.28.OR.iabs(mint(12)).GE.28)) mint(121)=3
2201 IF(mint(11).EQ.22.AND.mint(12).EQ.22) mint(121)=6
2202 IF((mint(11).EQ.22.OR.mint(12).EQ.22).AND.
2203 & (iabs(mint(11)).EQ.11.OR.iabs(mint(12)).EQ.11)) mint(121)=2
2210 DO 160 iga=1,mint(121)
2219 IF(mint(50).EQ.0.AND.isub.GE.91.AND.isub.LE.96.AND.
2220 & msub(isub).EQ.1)
THEN
2221 WRITE(mstu(11),5200) isub,chlh(mint(41)),chlh(mint(42))
2223 ELSEIF(msub(isub).EQ.1.AND.iset(isub).EQ.-1)
THEN
2224 WRITE(mstu(11),5300) isub
2226 ELSEIF(msub(isub).EQ.1.AND.iset(isub).LE.-2)
THEN
2227 WRITE(mstu(11),5400) isub
2229 ELSEIF(msub(isub).EQ.1)
THEN
2233 IF(mint(48).EQ.0)
THEN
2234 WRITE(mstu(11),5500)
2237 mint(49)=mint(48)-msub(91)-msub(92)-msub(93)-msub(94)
2251 IF(mstp(121).LE.1) CALL
pymaxi
2254 IF(mint(121).GT.1) mstp(131)=0
2255 IF(mstp(131).NE.0) CALL
pypile(1)
2258 IF(mint(50).EQ.1.AND.(mint(49).NE.0.OR.mstp(131).NE.0).AND.
2259 & mstp(82).GE.2) CALL
pymult(1)
2262 IF(mint(121).GT.1) CALL
pysave(1,iga)
2266 170
IF(mstp(122).GE.1)
WRITE(mstu(11),5600)
2269 5100
FORMAT(
'1',18(
'*'),1
x,
'PYINIT: initialization of PYTHIA ',
2270 &
'routines',1
x,17(
'*'))
2271 5200
FORMAT(1
x,
'Error: process number ',i3,
' not meaningful for ',a6,
2272 &
'-',a6,
' interactions.'/1
x,
'Execution stopped!')
2273 5300
FORMAT(1
x,
'Error: requested subprocess',i4,
' not implemented.'/
2274 &1
x,
'Execution stopped!')
2275 5400
FORMAT(1
x,
'Error: requested subprocess',i4,
' not existing.'/
2276 &1
x,
'Execution stopped!')
2277 5500
FORMAT(1
x,
'Error: no subprocess switched on.'/
2278 &1
x,
'Execution stopped.')
2279 5600
FORMAT(/1
x,22(
'*'),1
x,
'PYINIT: initialization completed',1
x,
2294 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
2297 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
2298 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
2299 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
2300 common/pypars/mstp(200),parp(200),msti(200),pari(200)
2301 common/pyint1/mint(400),vint(400)
2302 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
2303 common/pyint4/mwid(500),wids(500,5)
2304 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
2305 common/pyuppr/nup,kup(20,7),nfup,ifup(10,2),pup(20,5),q2up(0:10)
2306 SAVE /
pyjets/,/
pydat1/,/pydat2/,/pypars/,/pyint1/,/pyint2/,
2307 &/pyint4/,/pyint5/,/pyuppr/
2324 IF(mstp(171).EQ.1)
THEN
2326 IF(msti(61).EQ.1)
THEN
2330 IF(mint(121).GT.1) CALL
pysave(3,1)
2335 IF(mstp(131).LE.0)
THEN
2341 DO 260 ipile=1,npile
2342 IF(mint(84)+100.GE.mstu(4))
THEN
2344 &
'(PYEVNT:) no more space in PYJETS for pileup events')
2345 IF(mstu(21).GE.1) goto 270
2353 IF(mint(51).NE.0.OR.mstu(24).NE.0) msti(52)=msti(52)+1
2358 IF(msti(61).EQ.1)
THEN
2362 IF(mint(51).EQ.2)
RETURN
2364 IF(mstp(111).EQ.-1) goto 250
2366 IF(isub.LE.90.OR.isub.GE.95)
THEN
2371 IF(mint(51).EQ.1) goto 100
2374 IF(isub.EQ.95) goto 130
2379 IF(mstp(61).GE.1.AND.mint(47).GE.2) CALL
pysspa(ipu1,ipu2)
2381 IF(mint(51).EQ.1) goto 100
2386 IF(mstp(71).GE.1.AND.iset(isub).GE.2.AND.iset(isub).LE.10)
2390 IF(iset(isub).EQ.5) ipu4=-3
2392 IF(iset(isub).EQ.2) qmax=
sqrt(parp(71))*vint(55)
2393 CALL
pyshow(ipu3,ipu4,qmax)
2394 ELSEIF(mstp(71).GE.1.AND.iset(isub).EQ.11.AND.nfup.GE.1)
THEN
2396 ipu3=ifup(iup,1)+mint(84)
2397 ipu4=ifup(iup,2)+mint(84)
2399 CALL
pyshow(ipu3,ipu4,qmax)
2406 IF(mstp(41).GE.1.AND.iset(isub).LE.10) CALL
pyresd(0)
2407 IF(mint(51).EQ.1) goto 100
2411 IF(mstp(81).GE.1.AND.mint(50).EQ.1) CALL
pymult(6)
2415 130 CALL
pyremn(ipu1,ipu2)
2416 IF(mint(51).EQ.1.AND.mint(57).GE.1.AND.mint(57).LE.5) goto 110
2417 IF(mint(51).EQ.1) goto 100
2425 IF(mstp(111).GE.1)
THEN
2427 DO 140 i=mint(84)+1,nfix
2428 IF(k(i,1).GE.1.AND.k(i,1).LE.10.AND.k(i,2).NE.21.AND.
2429 & k(i,2).NE.22)
THEN
2430 IF(mwid(
pycomp(k(i,2))).NE.0)
THEN
2432 IF(mint(51).EQ.1) goto 100
2439 IF(mstp(113).GE.1)
THEN
2440 DO 150 i=mint(83)+1,
n
2441 IF(k(i,1).GT.0.AND.k(i,1).LE.10)
p(i,4)=
sqrt(
p(i,1)**2+
2442 &
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
2449 IF(mstp(111).LE.0) mstj(14)=-1
2452 IF(mstp(112).EQ.1.AND.mstu(28).EQ.3) goto 100
2453 IF(mstp(125).EQ.0.OR.mstp(125).EQ.1)
THEN
2454 DO 180 i=mint(84)+1,
n
2455 IF(k(i,2).EQ.94)
THEN
2456 DO 170 i1=i+1,
min(
n,i+3)
2457 IF(k(i1,3).EQ.i)
THEN
2458 k(i1,3)=
mod(k(i1,4)/mstu(5),mstu(5))
2459 IF(k(i1,3).EQ.0)
THEN
2460 DO 160 ii=mint(84)+1,i-1
2461 IF(k(ii,2).EQ.k(i1,2))
THEN
2462 IF(
mod(k(ii,4),mstu(5)).EQ.i1.OR.
2463 &
mod(k(ii,5),mstu(5)).EQ.i1) k(i1,3)=ii
2466 IF(k(i+1,3).EQ.0) k(i+1,3)=k(i,3)
2474 IF(mstp(125).EQ.0) CALL
pyedit(15)
2475 IF(mstp(125).EQ.0) mint(4)=0
2476 DO 200 i=mint(83)+1,
n
2477 IF(k(i,1).EQ.11.AND.k(i,4).EQ.0.AND.k(i,5).EQ.0)
THEN
2479 IF(k(i1,3).EQ.i.AND.k(i,4).EQ.0) k(i,4)=i1
2480 IF(k(i1,3).EQ.i) k(i,5)=i1
2487 IF(ipile.EQ.1.AND.mstp(125).LE.0)
THEN
2490 ELSEIF(ipile.EQ.1)
THEN
2501 IF(mstp(151).EQ.1)
THEN
2506 DO 230 i=mint(83)+1,
n
2508 v(i,j)=v(i,j)+vtx(j)
2514 IF(mstp(111).GE.1)
THEN
2516 IF(mstu(24).NE.0) goto 100
2518 IF(mstp(113).GE.1)
THEN
2520 IF(
p(i,5).GT.0d0)
p(i,4)=
sqrt(
p(i,1)**2+
2521 &
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
2524 IF(mstp(125).EQ.0.OR.mstp(125).EQ.1) CALL
pyedit(14)
2528 250
IF(ipile.EQ.1) CALL
pydocu
2532 IF(ipile.GE.2.AND.ipile.LE.10) msti(40+ipile)=isub
2533 IF(mstu70.LT.10)
THEN
2538 mint(84)=
n+mstp(126)
2539 IF(ipile.LT.npile) CALL
pyfram(2)
2543 IF(mstp(131).EQ.1.AND.mstp(133).GE.1)
THEN
2547 IF(mstp(133).GE.2) pari(93)=pari(93)*xsec(0,3)/vint(131)
2552 270 CALL
pyfram(mstp(124))
2568 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
2571 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
2573 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
2574 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
2575 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
2576 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
2577 common/pypars/mstp(200),parp(200),msti(200),pari(200)
2578 common/pyint1/mint(400),vint(400)
2579 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
2580 common/pyint4/mwid(500),wids(500,5)
2581 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
2582 common/pyint6/proc(0:500)
2584 common/pymssm/imss(0:99),rmss(0:99)
2585 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pysubs/,/pypars/,/pyint1/,
2586 &/pyint2/,/pyint4/,/pyint5/,/pyint6/,/pymssm/
2588 dimension wdtp(0:200),wdte(0:200,0:5)
2589 CHARACTER proga(6)*28,chau*16,chkf*16,chd1*16,chd2*16,chd3*16,
2590 &chin(2)*12,state(-1:5)*4,chkin(21)*18,disga(2)*28
2592 &
'VMD/hadron * VMD ',
'VMD/hadron * direct ',
2593 &
'VMD/hadron * anomalous ',
'direct * direct ',
2594 &
'direct * anomalous ',
'anomalous * anomalous '/
2595 DATA disga/
'e * VMD',
'e * anomalous'/
2596 DATA state/
'----',
'off ',
'on ',
'on/+',
'on/-',
'on/1',
'on/2'/,
2597 &chkin/
' m_hard (GeV/c^2) ',
' p_T_hard (GeV/c) ',
2598 &
'm_finite (GeV/c^2)',
' y*_subsystem ',
' y*_large ',
2599 &
' y*_small ',
' eta*_large ',
' eta*_small ',
2600 &
'cos(theta*)_large ',
'cos(theta*)_small ',
' x_1 ',
2601 &
' x_2 ',
' x_F ',
' cos(theta_hard) ',
2602 &
'm''_hard (GeV/c^2) ',
' tau ',
' y* ',
2603 &
'cos(theta_hard^-) ',
'cos(theta_hard^+) ',
' x_T^2 ',
2608 IF(mint(121).GT.1) CALL
pysave(5,0)
2609 WRITE(mstu(11),5000)
2610 WRITE(mstu(11),5100)
2611 WRITE(mstu(11),5200) 0,proc(0),ngen(0,3),ngen(0,1),xsec(0,3)
2613 IF(msub(i).NE.1) goto 100
2614 WRITE(mstu(11),5200) i,proc(i),ngen(i,3),ngen(i,1),xsec(i,3)
2616 IF(mint(121).GT.1)
THEN
2617 WRITE(mstu(11),5300)
2618 DO 110 iga=1,mint(121)
2620 IF(mint(121).EQ.2)
THEN
2621 WRITE(mstu(11),5200) iga,disga(iga),ngen(0,3),ngen(0,1),
2624 WRITE(mstu(11),5200) iga,proga(iga),ngen(0,3),ngen(0,1),
2630 WRITE(mstu(11),5400) 1d0-dble(ngen(0,3))/
2631 &
max(1d0,dble(ngen(0,2)))
2634 ELSEIF(mstat.EQ.2)
THEN
2635 WRITE(mstu(11),5500)
2636 WRITE(mstu(11),5600)
2642 IF(kc.GT.2*mstp(1).AND.kc.LE.10) goto 140
2643 IF(kc.GT.10+2*mstp(1).AND.kc.LE.20) goto 140
2644 IF(kc.LE.5.OR.(kc.GE.11.AND.kc.LE.16)) ioff=1
2645 IF(kc.EQ.18.AND.pmas(18,1).LT.1d0) ioff=1
2646 IF(kc.EQ.21.OR.kc.EQ.22) ioff=1
2648 IF(mwid(kc).LE.0) goto 140
2649 IF(imss(1).LE.0.AND.(kf/ksusy1.EQ.1.OR.
2650 & kf/ksusy1.EQ.2)) goto 140
2655 IF(kc.LE.20) ngp=(
mod(kc,10)+1)/2
2656 IF(ngp.LE.mstp(1))
WRITE(mstu(11),5700) kf,chkf(1:10),
2657 & pmas(kc,1),0d0,0d0,state(mdcy(kc,1)),0d0
2658 DO 120 j=1,mdcy(kc,3)
2661 IF(iabs(kfdp(idc,1)).LE.20) ngp1=
2662 & (
mod(iabs(kfdp(idc,1)),10)+1)/2
2664 IF(iabs(kfdp(idc,2)).LE.20) ngp2=
2665 & (
mod(iabs(kfdp(idc,2)),10)+1)/2
2666 CALL
pyname(kfdp(idc,1),chd1)
2667 CALL
pyname(kfdp(idc,2),chd2)
2668 IF(kfdp(idc,3).EQ.0)
THEN
2669 IF(mdme(idc,2).EQ.102.AND.ngp1.LE.mstp(1).AND.
2670 & ngp2.LE.mstp(1))
WRITE(mstu(11),5800) idc,chd1(1:10),
2671 & chd2(1:10),0d0,0d0,state(mdme(idc,1)),0d0
2673 CALL
pyname(kfdp(idc,3),chd3)
2674 IF(mdme(idc,2).EQ.102.AND.ngp1.LE.mstp(1).AND.
2675 & ngp2.LE.mstp(1))
WRITE(mstu(11),5850) idc,chd1(1:10),
2676 & chd2(1:10),chd3(1:10),0d0,0d0,state(mdme(idc,1)),0d0
2681 CALL
pywidt(kf,pmas(kc,1)**2,wdtp,wdte)
2683 IF(wdte(0,0).LE.0d0) brfin=0d0
2684 WRITE(mstu(11),5700) kf,chkf(1:10),pmas(kc,1),wdtp(0),1d0,
2685 & state(mdcy(kc,1)),brfin
2686 DO 130 j=1,mdcy(kc,3)
2689 IF(iabs(kfdp(idc,1)).LE.20) ngp1=
2690 & (
mod(iabs(kfdp(idc,1)),10)+1)/2
2692 IF(iabs(kfdp(idc,2)).LE.20) ngp2=
2693 & (
mod(iabs(kfdp(idc,2)),10)+1)/2
2695 IF(wdte(0,0).GT.0d0) brfin=wdte(j,0)/wdte(0,0)
2696 CALL
pyname(kfdp(idc,1),chd1)
2697 CALL
pyname(kfdp(idc,2),chd2)
2698 IF(kfdp(idc,3).EQ.0)
THEN
2699 IF(ngp1.LE.mstp(1).AND.ngp2.LE.mstp(1))
2700 &
WRITE(mstu(11),5800) idc,chd1(1:10),
2701 & chd2(1:10),wdtp(j),wdtp(j)/wdtp(0),
2702 & state(mdme(idc,1)),brfin
2704 CALL
pyname(kfdp(idc,3),chd3)
2705 IF(ngp1.LE.mstp(1).AND.ngp2.LE.mstp(1))
2706 &
WRITE(mstu(11),5850) idc,chd1(1:10),
2707 & chd2(1:10),chd3(1:10),wdtp(j),wdtp(j)/wdtp(0),
2708 & state(mdme(idc,1)),brfin
2713 WRITE(mstu(11),5900)
2716 ELSEIF(mstat.EQ.3)
THEN
2717 WRITE(mstu(11),6000)
2718 CALL
pyname(mint(11),chau)
2720 CALL
pyname(mint(12),chau)
2722 WRITE(mstu(11),6100) chin(1),chin(2)
2726 IF(ia.GT.mstp(58).AND.ia.LE.10) goto 150
2727 IF(ia.GT.10+2*mstp(1).AND.ia.LE.20) goto 150
2729 WRITE(mstu(11),6200) chau,state(kfin(1,i)),chau,
2732 WRITE(mstu(11),6300)
2735 ELSEIF(mstat.EQ.4)
THEN
2736 WRITE(mstu(11),6400)
2737 WRITE(mstu(11),6500)
2739 IF(shrmax.LT.0d0) shrmax=vint(1)
2740 WRITE(mstu(11),6600) ckin(1),chkin(1),shrmax
2741 pthmin=
max(ckin(3),ckin(5))
2743 IF(pthmax.LT.0d0) pthmax=0.5d0*shrmax
2744 WRITE(mstu(11),6700) ckin(3),pthmin,chkin(2),pthmax
2745 WRITE(mstu(11),6800) chkin(3),ckin(6)
2747 WRITE(mstu(11),6600) ckin(2*i-1),chkin(i),ckin(2*i)
2750 IF(sprmax.LT.0d0) sprmax=vint(1)
2751 WRITE(mstu(11),6600) ckin(31),chkin(15),sprmax
2752 WRITE(mstu(11),6900)
2755 ELSEIF(mstat.EQ.5)
THEN
2756 WRITE(mstu(11),7000)
2757 WRITE(mstu(11),7100)
2759 WRITE(mstu(11),7200) i,mstp(i),parp(i),100+i,mstp(100+i),
2764 ELSEIF(mstat.EQ.6)
THEN
2765 WRITE(mstu(11),7300)
2766 WRITE(mstu(11),7400)
2768 IF(iset(i).LT.0) goto 180
2769 WRITE(mstu(11),7500) i,proc(i),iset(i),kfpr(i,1),kfpr(i,2)
2771 WRITE(mstu(11),7600)
2775 5000
FORMAT(
'1',9(
'*'),1
x,
'PYSTAT: Statistics on Number of ',
2776 &
'Events and Cross-sections',1
x,9(
'*'))
2777 5100
FORMAT(/1
x,78(
'=')/1
x,
'I',34
x,
'I',28
x,
'I',12
x,
'I'/1
x,
'I',12
x,
2778 &
'Subprocess',12
x,
'I',6
x,
'Number of points',6
x,
'I',4
x,
'Sigma',3
x,
2779 &
'I'/1
x,
'I',34
x,
'I',28
x,
'I',12
x,
'I'/1
x,
'I',34(
'-'),
'I',28(
'-'),
2780 &
'I',4
x,
'(mb)',4
x,
'I'/1
x,
'I',34
x,
'I',28
x,
'I',12
x,
'I'/1
x,
'I',1
x,
2781 &
'N:o',1
x,
'Type',25
x,
'I',4
x,
'Generated',9
x,
'Tried',1
x,
'I',12
x,
2782 &
'I'/1
x,
'I',34
x,
'I',28
x,
'I',12
x,
'I'/1
x,78(
'=')/1
x,
'I',34
x,
'I',28
x,
2784 5200
FORMAT(1
x,
'I',1
x,i3,1
x,a28,1
x,
'I',1
x,i12,1
x,i13,1
x,
'I',1
x,1
p,
2786 5300
FORMAT(1
x,
'I',34
x,
'I',28
x,
'I',12
x,
'I'/1
x,78(
'=')/
2787 &1
x,
'I',34
x,
'I',28
x,
'I',12
x,
'I')
2788 5400
FORMAT(1
x,
'I',34
x,
'I',28
x,
'I',12
x,
'I'/1
x,78(
'=')//
2789 &1
x,
'********* Fraction of events that fail fragmentation ',
2790 &
'cuts =',1
x,f8.5,
' *********'/)
2791 5500
FORMAT(
'1',27(
'*'),1
x,
'PYSTAT: Decay Widths and Branching ',
2792 &
'Ratios',1
x,27(
'*'))
2793 5600
FORMAT(/1
x,98(
'=')/1
x,
'I',49
x,
'I',13
x,
'I',12
x,
'I',6
x,
'I',12
x,
'I'/
2794 &1
x,
'I',5
x,
'Mother --> Branching/Decay Channel',8
x,
'I',1
x,
2795 &
'Width (GeV)',1
x,
'I',7
x,
'B.R.',1
x,
'I',1
x,
'Stat',1
x,
'I',2
x,
2796 &
'Eff. B.R.',1
x,
'I'/1
x,
'I',49
x,
'I',13
x,
'I',12
x,
'I',6
x,
'I',12
x,
'I'/
2798 5700
FORMAT(1
x,
'I',49
x,
'I',13
x,
'I',12
x,
'I',6
x,
'I',12
x,
'I'/1
x,
'I',1
x,
2799 &i8,2
x,a10,3
x,
'(m =',f10.3,
')',2
x,
'-->',5
x,
'I',2
x,1
p,d10.3,0
p,1
x,
2800 &
'I',1
x,1
p,d10.3,0
p,1
x,
'I',1
x,a4,1
x,
'I',1
x,1
p,d10.3,0
p,1
x,
'I')
2801 5800
FORMAT(1
x,
'I',1
x,i8,2
x,a10,1
x,
'+',1
x,a10,15
x,
'I',2
x,
2802 &1
p,d10.3,0
p,1
x,
'I',1
x,1
p,d10.3,0
p,1
x,
'I',1
x,a4,1
x,
'I',1
x,
2803 &1
p,d10.3,0
p,1
x,
'I')
2804 5850
FORMAT(1
x,
'I',1
x,i8,2
x,a10,1
x,
'+',1
x,a10,1
x,
'+',1
x,a10,2
x,
'I',2
x,
2805 &1
p,d10.3,0
p,1
x,
'I',1
x,1
p,d10.3,0
p,1
x,
'I',1
x,a4,1
x,
'I',1
x,
2806 &1
p,d10.3,0
p,1
x,
'I')
2807 5900
FORMAT(1
x,
'I',49
x,
'I',13
x,
'I',12
x,
'I',6
x,
'I',12
x,
'I'/1
x,98(
'='))
2808 6000
FORMAT(
'1',7(
'*'),1
x,
'PYSTAT: Allowed Incoming Partons/',
2809 &
'Particles at Hard Interaction',1
x,7(
'*'))
2810 6100
FORMAT(/1
x,78(
'=')/1
x,
'I',38
x,
'I',37
x,
'I'/1
x,
'I',1
x,
2811 &
'Beam particle:',1
x,a12,10
x,
'I',1
x,
'Target particle:',1
x,a12,7
x,
2812 &
'I'/1
x,
'I',38
x,
'I',37
x,
'I'/1
x,
'I',1
x,
'Content',6
x,
'State',19
x,
2813 &
'I',1
x,
'Content',6
x,
'State',18
x,
'I'/1
x,
'I',38
x,
'I',37
x,
'I'/1
x,
2814 &78(
'=')/1
x,
'I',38
x,
'I',37
x,
'I')
2815 6200
FORMAT(1
x,
'I',1
x,a9,5
x,a4,19
x,
'I',1
x,a9,5
x,a4,18
x,
'I')
2816 6300
FORMAT(1
x,
'I',38
x,
'I',37
x,
'I'/1
x,78(
'='))
2817 6400
FORMAT(
'1',12(
'*'),1
x,
'PYSTAT: User-Defined Limits on ',
2818 &
'Kinematical Variables',1
x,12(
'*'))
2819 6500
FORMAT(/1
x,78(
'=')/1
x,
'I',76
x,
'I')
2820 6600
FORMAT(1
x,
'I',16
x,1
p,d10.3,0
p,1
x,
'<',1
x,
a,1
x,
'<',1
x,1
p,d10.3,0
p,
2822 6700
FORMAT(1
x,
'I',3
x,1
p,d10.3,0
p,1
x,
'(',1
p,d10.3,0
p,
')',1
x,
'<',1
x,
a,
2823 &1
x,
'<',1
x,1
p,d10.3,0
p,16
x,
'I')
2824 6800
FORMAT(1
x,
'I',29
x,
a,1
x,
'=',1
x,1
p,d10.3,0
p,16
x,
'I')
2825 6900
FORMAT(1
x,
'I',76
x,
'I'/1
x,78(
'='))
2826 7000
FORMAT(
'1',12(
'*'),1
x,
'PYSTAT: Summary of Status Codes and ',
2827 &
'Parameter Values',1
x,12(
'*'))
2828 7100
FORMAT(/3
x,
'I',4
x,
'MSTP(I)',9
x,
'PARP(I)',20
x,
'I',4
x,
'MSTP(I)',9
x,
2830 7200
FORMAT(1
x,i3,5
x,i6,6
x,1
p,d10.3,0
p,18
x,i3,5
x,i6,6
x,1
p,d10.3)
2831 7300
FORMAT(
'1',13(
'*'),1
x,
'PYSTAT: List of implemented processes',
2833 7400
FORMAT(/1
x,65(
'=')/1
x,
'I',34
x,
'I',28
x,
'I'/1
x,
'I',12
x,
2834 &
'Subprocess',12
x,
'I',1
x,
'ISET',2
x,
'KFPR(I,1)',2
x,
'KFPR(I,2)',1
x,
2835 &
'I'/1
x,
'I',34
x,
'I',28
x,
'I'/1
x,65(
'=')/1
x,
'I',34
x,
'I',28
x,
'I')
2836 7500
FORMAT(1
x,
'I',1
x,i3,1
x,a28,1
x,
'I',1
x,i4,1
x,i10,1
x,i10,1
x,
'I')
2837 7600
FORMAT(1
x,
'I',34
x,
'I',28
x,
'I'/1
x,65(
'='))
2852 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
2855 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
2857 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
2858 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
2859 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
2860 common/pydat4/chaf(500,2)
2862 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
2863 common/pypars/mstp(200),parp(200),msti(200),pari(200)
2864 common/pyint1/mint(400),vint(400)
2865 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
2866 common/pyint4/mwid(500),wids(500,5)
2867 common/pyint6/proc(0:500)
2869 common/pymssm/imss(0:99),rmss(0:99)
2870 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pydat4/,/pysubs/,/pypars/,
2871 &/pyint1/,/pyint2/,/pyint4/,/pyint6/,/pymssm/
2873 dimension wdtp(0:200),wdte(0:200,0:5),wdtpm(0:200),
2874 &wdtem(0:200,0:5),kcord(500),pmord(500)
2879 IF(mstp(8).GE.2) xw=1d0-(pmas(24,1)/pmas(23,1))**2
2881 IF(mstp(4).EQ.2)
THEN
2883 ratbe=((1d0-tanbe**2)/(1d0+tanbe**2))**2
2887 sqma=sqmh*(sqmz-sqmh)/(sqmz*ratbe-sqmh)
2888 sqmhp=0.5d0*(sqma+sqmz+
sqrt((sqma+sqmz)**2-4d0*sqma*sqmz*ratbe))
2890 IF(sqmh.GE.sqmz.OR.
min(sqma,sqmhp,sqmhc).LE.0d0)
THEN
2891 WRITE(mstu(11),5000)
2894 pmas(35,1)=
sqrt(sqmhp)
2895 pmas(36,1)=
sqrt(sqma)
2896 pmas(37,1)=
sqrt(sqmhc)
2897 alsu=0.5d0*atan(2d0*tanbe*(sqma+sqmz)/((1d0-tanbe**2)*
2902 paru(161)=-
sin(alsu)/
cos(besu)
2903 paru(162)=
cos(alsu)/
sin(besu)
2905 paru(164)=
sin(besu-alsu)
2907 paru(168)=
sin(besu-alsu)+0.5d0*
cos(2d0*besu)*
sin(besu+alsu)/xw
2908 paru(171)=
cos(alsu)/
cos(besu)
2909 paru(172)=
sin(alsu)/
sin(besu)
2911 paru(174)=
cos(besu-alsu)
2913 paru(176)=
cos(2d0*alsu)*
cos(besu+alsu)-2d0*
sin(2d0*alsu)*
2915 paru(177)=
cos(2d0*besu)*
cos(besu+alsu)
2916 paru(178)=
cos(besu-alsu)-0.5d0*
cos(2d0*besu)*
cos(besu+alsu)/xw
2922 paru(186)=
cos(besu-alsu)
2923 paru(187)=
sin(besu-alsu)
2927 paru(195)=
cos(besu-alsu)
2941 IF(kf.EQ.0) goto 140
2942 IF(mwid(kc).EQ.0) goto 140
2943 IF(kc.EQ.7.OR.kc.EQ.8.OR.kc.EQ.17.OR.kc.EQ.18)
THEN
2944 IF(mstp(1).LE.3) goto 140
2946 IF(kf/ksusy1.EQ.1.OR.kf/ksusy1.EQ.2)
THEN
2947 IF(imss(1).LE.0) goto 140
2951 IF(kc.EQ.23.OR.kc.EQ.24) pmres=0d0
2952 DO 120 i1=nres-1,1,-1
2953 IF(pmres.GE.pmord(i1)) goto 130
2954 kcord(i1+1)=kcord(i1)
2955 pmord(i1+1)=pmord(i1)
2967 IF(mstp(1).LE.3)
THEN
2968 DO 150 j=1,mdcy(kc,3)
2970 kfa1=iabs(kfdp(idc,1))
2971 kfa2=iabs(kfdp(idc,2))
2972 IF(kfa1.EQ.7.OR.kfa1.EQ.8.OR.kfa1.EQ.17.OR.kfa1.EQ.18.OR.
2973 & kfa2.EQ.7.OR.kfa2.EQ.8.OR.kfa2.EQ.17.OR.kfa2.EQ.18)
2979 IF(imss(1).LE.0)
THEN
2980 DO 160 j=1,mdcy(kc,3)
2982 kfa1s=iabs(kfdp(idc,1))/ksusy1
2983 kfa2s=iabs(kfdp(idc,2))/ksusy1
2984 IF(kfa1s.EQ.1.OR.kfa1s.EQ.2.OR.kfa2s.EQ.1.OR.kfa2s.EQ.2)
2991 IF(kf.EQ.25.OR.kf.EQ.35.OR.kf.EQ.36) mint(62)=1
2992 IF(mwid(kc).EQ.3) mint(63)=1
2993 CALL
pywidt(kf,pmr**2,wdtp,wdte)
2997 IF(kchg(kc,3).EQ.0)
THEN
2998 wids(kc,1)=((wdte(0,1)+wdte(0,2))**2+
2999 & 2d0*(wdte(0,1)+wdte(0,2))*(wdte(0,4)+wdte(0,5))+
3000 & 2d0*wdte(0,4)*wdte(0,5))/wdtp(0)**2
3001 wids(kc,2)=(wdte(0,1)+wdte(0,2)+wdte(0,4))/wdtp(0)
3006 IF(mwid(kc).EQ.3) mint(63)=1
3007 CALL
pywidt(-kf,pmr**2,wdtpm,wdtem)
3009 wids(kc,1)=((wdte(0,1)+wdte(0,2))*(wdtem(0,1)+wdtem(0,3))+
3010 & (wdte(0,1)+wdte(0,2))*(wdtem(0,4)+wdtem(0,5))+
3011 & (wdte(0,4)+wdte(0,5))*(wdtem(0,1)+wdtem(0,3))+
3012 & wdte(0,4)*wdtem(0,5)+wdte(0,5)*wdtem(0,4))/wdtp(0)**2
3013 wids(kc,2)=(wdte(0,1)+wdte(0,2)+wdte(0,4))/wdtp(0)
3014 wids(kc,3)=(wdtem(0,1)+wdtem(0,3)+wdtem(0,4))/wdtp(0)
3015 wids(kc,4)=((wdte(0,1)+wdte(0,2))**2+
3016 & 2d0*(wdte(0,1)+wdte(0,2))*(wdte(0,4)+wdte(0,5))+
3017 & 2d0*wdte(0,4)*wdte(0,5))/wdtp(0)**2
3018 wids(kc,5)=((wdtem(0,1)+wdtem(0,3))**2+
3019 & 2d0*(wdtem(0,1)+wdtem(0,3))*(wdtem(0,4)+wdtem(0,5))+
3020 & 2d0*wdtem(0,4)*wdtem(0,5))/wdtp(0)**2
3025 IF(mwid(kc).EQ.1.OR.mwid(kc).EQ.3)
THEN
3027 pmas(kc,3)=
min(0.9d0*pmas(kc,1),10d0*pmas(kc,2))
3029 DO 170 j=1,mdcy(kc,3)
3032 IF(wdtp(0).GT.0d0) brat(idc)=wdtp(j)/wdtp(0)
3038 kflqq=kfdp(mdcy(39,2),1)
3039 kflql=kfdp(mdcy(39,2),2)
3040 kchg(39,1)=kchg(
pycomp(kflqq),1)*isign(1,kflqq)+
3041 &kchg(
pycomp(kflql),1)*isign(1,kflql)
3043 IF(iabs(kflql).EQ.13) ll=2
3044 IF(iabs(kflql).EQ.15) ll=3
3045 chaf(39,1)=
'LQ_'//chaf(iabs(kflqq),1)(1:1)//
3046 &chaf(iabs(kflql),1)(1:ll)//
' '
3047 chaf(39,2)=chaf(39,2)(1:4+ll)//
'bar '
3050 IF(mstp(43).EQ.1)
THEN
3051 proc(1)=
'f + fbar -> gamma*'
3052 proc(15)=
'f + fbar -> g + gamma*'
3053 proc(19)=
'f + fbar -> gamma + gamma*'
3054 proc(30)=
'f + g -> f + gamma*'
3055 proc(35)=
'f + gamma -> f + gamma*'
3056 ELSEIF(mstp(43).EQ.2)
THEN
3057 proc(1)=
'f + fbar -> Z0'
3058 proc(15)=
'f + fbar -> g + Z0'
3059 proc(19)=
'f + fbar -> gamma + Z0'
3060 proc(30)=
'f + g -> f + Z0'
3061 proc(35)=
'f + gamma -> f + Z0'
3062 ELSEIF(mstp(43).EQ.3)
THEN
3063 proc(1)=
'f + fbar -> gamma*/Z0'
3064 proc(15)=
'f + fbar -> g + gamma*/Z0'
3065 proc(19)=
'f + fbar -> gamma + gamma*/Z0'
3066 proc(30)=
'f + g -> f + gamma*/Z0'
3067 proc(35)=
'f + gamma -> f + gamma*/Z0'
3071 IF(mstp(44).EQ.1)
THEN
3072 proc(141)=
'f + fbar -> gamma*'
3073 ELSEIF(mstp(44).EQ.2)
THEN
3074 proc(141)=
'f + fbar -> Z0'
3075 ELSEIF(mstp(44).EQ.3)
THEN
3076 proc(141)=
'f + fbar -> Z''0'
3077 ELSEIF(mstp(44).EQ.4)
THEN
3078 proc(141)=
'f + fbar -> gamma*/Z0'
3079 ELSEIF(mstp(44).EQ.5)
THEN
3080 proc(141)=
'f + fbar -> gamma*/Z''0'
3081 ELSEIF(mstp(44).EQ.6)
THEN
3082 proc(141)=
'f + fbar -> Z0/Z''0'
3083 ELSEIF(mstp(44).EQ.7)
THEN
3084 proc(141)=
'f + fbar -> gamma*/Z0/Z''0'
3088 IF(mstp(45).EQ.1)
THEN
3089 proc(77)=
'W+ + W+ -> W+ + W+'
3090 ELSEIF(mstp(45).EQ.2)
THEN
3091 proc(77)=
'W+ + W- -> W+ + W-'
3092 ELSEIF(mstp(45).EQ.3)
THEN
3093 proc(77)=
'W+/- + W+/- -> W+/- + W+/-'
3097 5000
FORMAT(1
x,
'Error: unphysical input tan^2(beta) and m_H ',
3098 &
'combination'/1
x,
'Execution stopped!')
3111 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
3114 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
3115 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
3116 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
3117 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
3118 common/pypars/mstp(200),parp(200),msti(200),pari(200)
3119 common/pyint1/mint(400),vint(400)
3120 SAVE /
pyjets/,/
pydat1/,/pydat2/,/pysubs/,/pypars/,/pyint1/
3122 CHARACTER chfram*8,chbeam*8,chtarg*8,chcom(3)*8,chalp(2)*26,
3123 &chidnt(3)*8,chtemp*8,chcde(29)*8,chinit*76
3124 dimension
len(3),kcde(29),pm(2)
3125 DATA chalp/
'abcdefghijklmnopqrstuvwxyz',
3126 &
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
3127 DATA chcde/
'e- ',
'e+ ',
'nu_e ',
'nu_ebar ',
3128 &
'mu- ',
'mu+ ',
'nu_mu ',
'nu_mubar',
'tau- ',
3129 &
'tau+ ',
'nu_tau ',
'nu_tauba',
'pi+ ',
'pi- ',
3130 &
'n0 ',
'nbar0 ',
'p+ ',
'pbar- ',
'gamma ',
3131 &
'lambda0 ',
'sigma- ',
'sigma0 ',
'sigma+ ',
'xi- ',
3132 &
'xi0 ',
'omega- ',
'pi0 ',
'reggeon ',
'pomeron '/
3133 DATA kcde/11,-11,12,-12,13,-13,14,-14,15,-15,16,-16,
3134 &211,-211,2112,-2112,2212,-2212,22,3122,3112,3212,3222,
3135 &3312,3322,3334,111,28,29/
3148 IF(
len(i).EQ.ll.AND.chcom(i)(ll:ll).EQ.
' ')
len(i)=ll-1
3150 IF(chcom(i)(ll:ll).EQ.chalp(2)(la:la)) chcom(i)(ll:ll)=
3158 IF(chidnt(i)(ll:ll).EQ.
'~')
THEN
3160 chidnt(i)=chtemp(1:ll-1)//
'bar'//chtemp(ll+1:6)//
' '
3163 IF(chidnt(i)(7:7).EQ.
'~') chidnt(i)(7:8)=
'ba'
3164 IF(chidnt(i)(1:2).EQ.
'nu'.AND.chidnt(i)(3:3).NE.
'_')
THEN
3166 chidnt(i)=
'nu_'//chtemp(3:7)
3167 ELSEIF(chidnt(i)(1:2).EQ.
'n ')
THEN
3168 chidnt(i)(1:3)=
'n0 '
3169 ELSEIF(chidnt(i)(1:4).EQ.
'nbar')
THEN
3170 chidnt(i)(1:5)=
'nbar0'
3171 ELSEIF(chidnt(i)(1:2).EQ.
'p ')
THEN
3172 chidnt(i)(1:3)=
'p+ '
3173 ELSEIF(chidnt(i)(1:4).EQ.
'pbar'.OR.
3174 & chidnt(i)(1:2).EQ.
'p-')
THEN
3175 chidnt(i)(1:5)=
'pbar-'
3176 ELSEIF(chidnt(i)(1:6).EQ.
'lambda')
THEN
3178 ELSEIF(chidnt(i)(1:3).EQ.
'reg')
THEN
3179 chidnt(i)(1:7)=
'reggeon'
3180 ELSEIF(chidnt(i)(1:3).EQ.
'pom')
THEN
3181 chidnt(i)(1:7)=
'pomeron'
3186 IF(chcom(1)(1:2).EQ.
'no')
THEN
3194 IF(chidnt(i+1).EQ.chcde(j)) mint(10+i)=kcde(j)
3199 IF(mint(11).EQ.0)
WRITE(mstu(11),5000) chbeam(1:
len(2))
3200 IF(mint(12).EQ.0)
WRITE(mstu(11),5100) chtarg(1:
len(3))
3201 IF(mint(11).EQ.0.OR.mint(12).EQ.0) stop
3207 IF(chcom(1)(1:2).EQ.
'cm')
THEN
3210 IF(mstp(122).GE.1)
THEN
3211 IF(chcom(2)(1:1).NE.
'e')
THEN
3212 loffs=(31-(
len(2)+
len(3)))/2
3213 chinit(loffs+1:76)=
'PYTHIA will be initialized for a '//
3214 & chcom(2)(1:
len(2))//
' on '//chcom(3)(1:
len(3))//
3217 loffs=(30-(
len(2)+
len(3)))/2
3218 chinit(loffs+1:76)=
'PYTHIA will be initialized for an '//
3219 & chcom(2)(1:
len(2))//
' on '//chcom(3)(1:
len(3))//
3222 WRITE(mstu(11),5200) chinit
3223 WRITE(mstu(11),5300) win
3227 ELSEIF(chcom(1)(1:3).EQ.
'fix')
THEN
3229 s=pm(1)**2+pm(2)**2+2d0*pm(2)*
sqrt(pm(1)**2+win**2)
3230 IF(mstp(122).GE.1)
THEN
3231 loffs=(29-(
len(2)+
len(3)))/2
3232 chinit(loffs+1:76)=
'PYTHIA will be initialized for '//
3233 & chcom(2)(1:
len(2))//
' on '//chcom(3)(1:
len(3))//
3234 &
' fixed target'//
' '
3235 WRITE(mstu(11),5200) chinit
3236 WRITE(mstu(11),5400) win
3237 WRITE(mstu(11),5500)
sqrt(
s)
3241 ELSEIF(chcom(1)(1:3).EQ.
'use')
THEN
3245 p(1,4)=
sqrt(
p(1,1)**2+
p(1,2)**2+
p(1,3)**2+
p(1,5)**2)
3246 p(2,4)=
sqrt(
p(2,1)**2+
p(2,2)**2+
p(2,3)**2+
p(2,5)**2)
3247 s=(
p(1,4)+
p(2,4))**2-(
p(1,1)+
p(2,1))**2-(
p(1,2)+
p(2,2))**2-
3248 & (
p(1,3)+
p(2,3))**2
3249 IF(mstp(122).GE.1)
THEN
3250 loffs=(12-(
len(2)+
len(3)))/2
3251 chinit(loffs+1:76)=
'PYTHIA will be initialized for '//
3252 & chcom(2)(1:
len(2))//
' on '//chcom(3)(1:
len(3))//
3253 &
' user-specified configuration'//
' '
3254 WRITE(mstu(11),5200) chinit
3255 WRITE(mstu(11),5600)
3256 WRITE(mstu(11),5700) chcom(2),
p(1,1),
p(1,2),
p(1,3),
p(1,4)
3257 WRITE(mstu(11),5700) chcom(3),
p(2,1),
p(2,2),
p(2,3),
p(2,4)
3258 WRITE(mstu(11),5500)
sqrt(
max(0d0,
s))
3262 ELSEIF(chcom(1)(1:4).EQ.
'four')
THEN
3264 pms1=
p(1,4)**2-
p(1,1)**2-
p(1,2)**2-
p(1,3)**2
3265 p(1,5)=sign(
sqrt(abs(pms1)),pms1)
3266 pms2=
p(2,4)**2-
p(2,1)**2-
p(2,2)**2-
p(2,3)**2
3267 p(2,5)=sign(
sqrt(abs(pms2)),pms2)
3268 s=(
p(1,4)+
p(2,4))**2-(
p(1,1)+
p(2,1))**2-(
p(1,2)+
p(2,2))**2-
3269 & (
p(1,3)+
p(2,3))**2
3270 IF(mstp(122).GE.1)
THEN
3271 loffs=(12-(
len(2)+
len(3)))/2
3272 chinit(loffs+1:76)=
'PYTHIA will be initialized for '//
3273 & chcom(2)(1:
len(2))//
' on '//chcom(3)(1:
len(3))//
3274 &
' user-specified configuration'//
' '
3275 WRITE(mstu(11),5200) chinit
3276 WRITE(mstu(11),5600)
3277 WRITE(mstu(11),5700) chcom(2),
p(1,1),
p(1,2),
p(1,3),
p(1,4)
3278 WRITE(mstu(11),5700) chcom(3),
p(2,1),
p(2,2),
p(2,3),
p(2,4)
3279 WRITE(mstu(11),5500)
sqrt(
max(0d0,
s))
3283 ELSEIF(chcom(1)(1:4).EQ.
'five')
THEN
3285 s=(
p(1,4)+
p(2,4))**2-(
p(1,1)+
p(2,1))**2-(
p(1,2)+
p(2,2))**2-
3286 & (
p(1,3)+
p(2,3))**2
3287 IF(mstp(122).GE.1)
THEN
3288 loffs=(12-(
len(2)+
len(3)))/2
3289 chinit(loffs+1:76)=
'PYTHIA will be initialized for '//
3290 & chcom(2)(1:
len(2))//
' on '//chcom(3)(1:
len(3))//
3291 &
' user-specified configuration'//
' '
3292 WRITE(mstu(11),5200) chinit
3293 WRITE(mstu(11),5600)
3294 WRITE(mstu(11),5700) chcom(2),
p(1,1),
p(1,2),
p(1,3),
p(1,4)
3295 WRITE(mstu(11),5700) chcom(3),
p(2,1),
p(2,2),
p(2,3),
p(2,4)
3296 WRITE(mstu(11),5500)
sqrt(
max(0d0,
s))
3301 WRITE(mstu(11),5800) chfram(1:
len(1))
3304 IF(
s.LT.parp(2)**2)
THEN
3305 WRITE(mstu(11),5900)
sqrt(
s)
3310 5000
FORMAT(1
x,
'Error: unrecognized beam particle ''',
a,
'''D0'/
3311 &1
x,
'Execution stopped!')
3312 5100
FORMAT(1
x,
'Error: unrecognized target particle ''',
a,
'''D0'/
3313 &1
x,
'Execution stopped!')
3314 5200
FORMAT(/1
x,78(
'=')/1
x,
'I',76
x,
'I'/1
x,
'I',a76,
'I')
3315 5300
FORMAT(1
x,
'I',18
x,
'at',1
x,f10.3,1
x,
'GeV center-of-mass energy',
3316 &19
x,
'I'/1
x,
'I',76
x,
'I'/1
x,78(
'='))
3317 5400
FORMAT(1
x,
'I',22
x,
'at',1
x,f10.3,1
x,
'GeV/c lab-momentum',22
x,
'I')
3318 5500
FORMAT(1
x,
'I',76
x,
'I'/1
x,
'I',11
x,
'corresponding to',1
x,f10.3,1
x,
3319 &
'GeV center-of-mass energy',12
x,
'I'/1
x,
'I',76
x,
'I'/1
x,78(
'='))
3320 5600
FORMAT(1
x,
'I',76
x,
'I'/1
x,
'I',18
x,
'px (GeV/c)',3
x,
'py (GeV/c)',3
x,
3321 &
'pz (GeV/c)',6
x,
'E (GeV)',9
x,
'I')
3322 5700
FORMAT(1
x,
'I',8
x,a8,4(2
x,f10.3,1
x),8
x,
'I')
3323 5800
FORMAT(1
x,
'Error: unrecognized coordinate frame ''',
a,
'''D0'/
3324 &1
x,
'Execution stopped!')
3325 5900
FORMAT(1
x,
'Error: too low CM energy,',f8.3,
' GeV for event ',
3326 &
'generation.'/1
x,
'Execution stopped!')
3339 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
3342 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
3343 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
3344 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
3345 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
3346 common/pypars/mstp(200),parp(200),msti(200),pari(200)
3347 common/pyint1/mint(400),vint(400)
3348 SAVE /
pyjets/,/
pydat1/,/pydat2/,/pysubs/,/pypars/,/pyint1/
3363 IF(mint(111).EQ.1)
THEN
3365 IF(modki.EQ.1) win=parp(171)*vint(290)
3373 p(1,3)=
sqrt(((
s-
p(1,5)**2-
p(2,5)**2)**2-(2d0*
p(1,5)*
p(2,5))**2)/
3376 p(1,4)=
sqrt(
p(1,3)**2+
p(1,5)**2)
3377 p(2,4)=
sqrt(
p(2,3)**2+
p(2,5)**2)
3380 ELSEIF(mint(111).EQ.2)
THEN
3382 IF(modki.EQ.1) win=parp(171)*vint(290)
3390 p(1,4)=
sqrt(
p(1,3)**2+
p(1,5)**2)
3393 s=
p(1,5)**2+
p(2,5)**2+2d0*
p(2,4)*
p(1,4)
3394 vint(10)=
p(1,3)/(
p(1,4)+
p(2,4))
3395 CALL
pyrobo(0,0,0d0,0d0,0d0,0d0,-vint(10))
3398 ELSEIF(mint(111).EQ.3)
THEN
3401 p(1,4)=
sqrt(
p(1,1)**2+
p(1,2)**2+
p(1,3)**2+
p(1,5)**2)
3402 p(2,4)=
sqrt(
p(2,1)**2+
p(2,2)**2+
p(2,3)**2+
p(2,5)**2)
3404 vint(7+j)=(
p(1,j)+
p(2,j))/(
p(1,4)+
p(2,4))
3406 CALL
pyrobo(0,0,0d0,0d0,-vint(8),-vint(9),-vint(10))
3408 CALL
pyrobo(0,0,0d0,-vint(7),0d0,0d0,0d0)
3410 CALL
pyrobo(0,0,-vint(6),0d0,0d0,0d0,0d0)
3411 s=
p(1,5)**2+
p(2,5)**2+2d0*(
p(1,4)*
p(2,4)-
p(1,3)*
p(2,3))
3414 ELSEIF(mint(111).EQ.4)
THEN
3415 pms1=
p(1,4)**2-
p(1,1)**2-
p(1,2)**2-
p(1,3)**2
3416 p(1,5)=sign(
sqrt(abs(pms1)),pms1)
3417 pms2=
p(2,4)**2-
p(2,1)**2-
p(2,2)**2-
p(2,3)**2
3418 p(2,5)=sign(
sqrt(abs(pms2)),pms2)
3420 vint(7+j)=(
p(1,j)+
p(2,j))/(
p(1,4)+
p(2,4))
3422 CALL
pyrobo(0,0,0d0,0d0,-vint(8),-vint(9),-vint(10))
3424 CALL
pyrobo(0,0,0d0,-vint(7),0d0,0d0,0d0)
3426 CALL
pyrobo(0,0,-vint(6),0d0,0d0,0d0,0d0)
3427 s=(
p(1,4)+
p(2,4))**2
3430 ELSEIF(mint(111).EQ.5)
THEN
3432 vint(7+j)=(
p(1,j)+
p(2,j))/(
p(1,4)+
p(2,4))
3434 CALL
pyrobo(0,0,0d0,0d0,-vint(8),-vint(9),-vint(10))
3436 CALL
pyrobo(0,0,0d0,-vint(7),0d0,0d0,0d0)
3438 CALL
pyrobo(0,0,-vint(6),0d0,0d0,0d0,0d0)
3439 s=(
p(1,4)+
p(2,4))**2
3443 IF(modki.EQ.1.AND.
s.LT.parp(2)**2)
THEN
3444 IF(mstp(172).LE.1)
THEN
3446 &
'(PYINKI:) too low invariant mass in this event')
3456 IF(mint(111).GE.4) vint(3)=
p(1,5)
3457 IF(mint(111).GE.4) vint(4)=
p(2,5)
3459 IF(modki.EQ.0) vint(289)=
s
3468 IF(modki.EQ.0) vint(285)=ckin(3)
3469 IF(mstp(82).LE.1)
THEN
3470 IF(mint(121).GT.1) parp(81)=1.30d0+0.15d0*
log(vint(1)/200d0)/
3474 IF(mint(121).GT.1) parp(82)=1.25d0+0.15d0*
log(vint(1)/200d0)/
3478 vint(149)=4d0*ptmn**2/
s
3491 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
3494 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
3495 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
3496 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
3497 common/pypars/mstp(200),parp(200),msti(200),pari(200)
3498 common/pyint1/mint(400),vint(400)
3499 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
3500 SAVE /
pydat1/,/
pydat3/,/pysubs/,/pypars/,/pyint1/,/pyint2/
3510 IF(mint(121).EQ.2)
THEN
3512 mint(123)=mint(122)+1
3516 ELSEIF(mint(121).GT.1)
THEN
3528 IF(mstp(82).LE.1)
THEN
3529 ptmvmd=1.30d0+0.15d0*
log(vint(1)/200d0)/
log(900d0/200d0)
3531 ptmvmd=1.25d0+0.15d0*
log(vint(1)/200d0)/
log(900d0/200d0)
3535 IF(mstp(15).EQ.5) ptmano=0.60d0+
3536 & 0.125d0*
log(1d0+0.10d0*vint(1))**2
3538 IF(vint(285).GT.
max(ptmvmd,ptmdir,ptmano)) iptl=0
3539 IF(msel.EQ.2) iptl=1
3542 IF(mint(122).EQ.1)
THEN
3550 IF(iptl.EQ.1) msub(95)=1
3559 IF(iptl.EQ.1) ckin(3)=0d0
3562 ELSEIF(mint(122).EQ.2)
THEN
3564 IF(mint(121).EQ.6) mint(123)=5
3567 IF(iptl.EQ.1) ckin(3)=ptmdir
3570 ELSEIF(mint(122).EQ.3)
THEN
3572 IF(mint(121).EQ.6) mint(123)=7
3579 IF(mstp(82).GE.2) mstp(85)=1
3580 IF(iptl.EQ.1) ckin(3)=ptmano
3583 ELSEIF(mint(122).EQ.4)
THEN
3586 DO 110 ii=mdcy(22,2),mdcy(22,2)+mdcy(22,3)-1
3587 IF(iabs(kfdp(ii,1)).GE.10) mdme(ii,1)=
min(0,mdme(ii,1))
3589 IF(iptl.EQ.1) ckin(3)=ptmdir
3592 ELSEIF(mint(122).EQ.5)
THEN
3596 IF(iptl.EQ.1) ckin(3)=ptmano
3599 ELSEIF(mint(122).EQ.6)
THEN
3607 IF(mstp(82).GE.2) mstp(85)=1
3608 IF(iptl.EQ.1) ckin(3)=ptmano
3618 IF(mint(123).GE.1.AND.mint(10+i).EQ.22) mint(40+i)=2
3619 IF(iabs(mint(10+i)).GT.100) mint(40+i)=2
3620 IF(mint(10+i).EQ.28.OR.mint(10+i).EQ.29) mint(40+i)=2
3621 mint(44+i)=mint(40+i)
3622 IF(mstp(11).GE.1.AND.iabs(mint(10+i)).EQ.11) mint(44+i)=3
3626 IF(mint(11).EQ.22.AND.mint(12).EQ.22)
THEN
3627 IF(mint(123).GE.4.AND.mint(123).LE.6)
THEN
3631 ELSEIF(mint(11).EQ.22.OR.mint(12).EQ.22)
THEN
3632 IF(mint(123).GE.4) CALL
pyerrm(26,
3633 &
'(PYINPR:) unallowed MSTP(14) code for single photon')
3637 mint(43)=2*mint(41)+mint(42)-2
3639 IF(mint(123).LE.0)
THEN
3640 IF(mint(11).EQ.22) mint(43)=mint(43)+2
3641 IF(mint(12).EQ.22) mint(43)=mint(43)+1
3642 ELSEIF(mint(123).LE.3)
THEN
3643 IF(mint(11).EQ.22) mint(44)=mint(44)-2
3644 IF(mint(12).EQ.22) mint(44)=mint(44)-1
3645 ELSEIF(mint(11).EQ.22.AND.mint(12).EQ.22)
THEN
3649 mint(47)=2*
min(2,mint(45))+
min(2,mint(46))-2
3650 IF(
min(mint(45),mint(46)).EQ.3) mint(47)=5
3652 IF(mint(41).EQ.2.AND.mint(42).EQ.2) mint(50)=1
3653 IF((mint(11).EQ.22.OR.mint(12).EQ.22).AND.mint(123).GE.3)
3656 IF(mint(11).EQ.22)
THEN
3658 IF(mint(123).GE.4) mint(107)=0
3659 IF(mint(123).EQ.7) mint(107)=2
3662 IF(mint(12).EQ.22)
THEN
3664 IF(mint(123).GE.4) mint(108)=mint(123)-3
3665 IF(mint(123).EQ.7) mint(108)=3
3670 IF(mint(121).GT.1)
THEN
3671 ELSEIF(msel.EQ.1.OR.msel.EQ.2)
THEN
3673 IF(mint(43).EQ.1)
THEN
3675 IF(mint(11)+mint(12).EQ.0) msub(1)=1
3676 IF(mint(11)+mint(12).NE.0) msub(2)=1
3678 ELSEIF(mint(43).LE.3.AND.mint(123).EQ.0.AND.
3679 & (mint(11).EQ.22.OR.mint(12).EQ.22))
THEN
3683 ELSEIF(mint(43).LE.3)
THEN
3687 ELSEIF(mint(123).EQ.0.AND.mint(11).EQ.22.AND.
3688 & mint(12).EQ.22)
THEN
3692 ELSEIF((mint(123).EQ.0.AND.(mint(11).EQ.22.OR.mint(12).EQ.22))
3693 & .OR.(mint(123).GE.4.AND.mint(123).LE.6.AND.mint(11).EQ.22.AND.
3694 & mint(12).EQ.22))
THEN
3700 ELSEIF(msel.EQ.1)
THEN
3708 IF(mstp(82).LE.1.AND.ckin(3).LT.parp(81)) msub(95)=1
3709 IF(mstp(82).GE.2.AND.ckin(3).LT.parp(82)) msub(95)=1
3710 IF(msub(95).EQ.1.AND.mint(50).EQ.0) msub(95)=0
3727 ELSEIF(msel.GE.4.AND.msel.LE.8)
THEN
3732 DO 130 j=1,
min(8,mdcy(21,3))
3733 mdme(mdcy(21,2)+j-1,1)=0
3735 mdme(mdcy(21,2)+msel-1,1)=1
3737 DO 140 j=1,
min(12,mdcy(22,3))
3738 mdme(mdcy(22,2)+j-1,1)=0
3740 mdme(mdcy(22,2)+msel-1,1)=1
3742 ELSEIF(msel.EQ.10)
THEN
3748 ELSEIF(msel.EQ.11)
THEN
3752 ELSEIF(msel.EQ.12)
THEN
3756 ELSEIF(msel.EQ.13)
THEN
3761 ELSEIF(msel.EQ.14)
THEN
3766 ELSEIF(msel.EQ.15)
THEN
3774 ELSEIF(msel.EQ.16)
THEN
3782 ELSEIF(msel.EQ.17)
THEN
3787 ELSEIF(msel.EQ.18)
THEN
3794 ELSEIF(msel.EQ.19)
THEN
3809 ELSEIF(msel.EQ.21)
THEN
3813 ELSEIF(msel.EQ.22)
THEN
3817 ELSEIF(msel.EQ.23)
THEN
3821 ELSEIF(msel.EQ.24)
THEN
3825 ELSEIF(msel.EQ.25)
THEN
3832 ELSEIF(msel.GE.35.AND.msel.LE.38)
THEN
3835 DO 150 j=1,
min(8,mdcy(21,3))
3836 mdme(mdcy(21,2)+j-1,1)=0
3838 mdme(mdcy(21,2)+msel-31,1)=1
3841 ELSEIF(msel.EQ.39)
THEN
3843 IF(mint(43).EQ.4)
THEN
3846 IF(iset(i).GE.0) msub(i)=1
3848 ELSEIF(mint(43).EQ.1)
THEN
3866 ELSEIF(msel.EQ.40)
THEN
3868 IF(mint(43).EQ.4)
THEN
3880 ELSEIF(mint(43).EQ.1)
THEN
3885 ELSEIF(msel.EQ.41)
THEN
3890 IF(mint(43).EQ.4)
THEN
3895 ELSEIF(msel.EQ.42)
THEN
3900 IF(mint(43).NE.4)
THEN
3906 ELSEIF(msel.EQ.43)
THEN
3908 IF(mint(43).EQ.4)
THEN
3917 ELSEIF(msel.EQ.44)
THEN
3919 IF(mint(43).EQ.4)
THEN
3923 ELSEIF(mint(43).EQ.1)
THEN
3932 DO 260 i=1,
min(8,mdcy(21,3))
3934 IF(mdme(idc,1).LE.0) goto 260
3937 IF(mstp(7).GE.1.AND.mstp(7).LE.8.AND.(msel.LE.3.OR.msel.GE.9))
3950 DO 270 i=1,
min(12,mdcy(22,3))
3952 IF(mdme(idc,1).LE.0) goto 270
3955 IF(((mstp(7).GE.1.AND.mstp(7).LE.8).OR.(mstp(7).GE.11.AND.
3956 &mstp(7).LE.18)).AND.(msel.LE.3.OR.msel.GE.9)) kflfm=mstp(7)
3994 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
3997 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
3998 common/pypars/mstp(200),parp(200),msti(200),pari(200)
3999 common/pyint1/mint(400),vint(400)
4000 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
4001 common/pyint7/sigt(0:6,0:6,0:5)
4002 SAVE /
pydat1/,/pypars/,/pyint1/,/pyint5/,/pyint7/
4004 dimension nproc(30),xpar(30),ypar(30),ihada(20),ihadb(20),
4005 &pmhad(4),bhad(4),betp(4),ifitsd(20),ifitdd(20),ceffs(10,8),
4006 &ceffd(10,9),sigtmp(6,0:5)
4009 DATA eps/0.0808d0/,
eta/-0.4525d0/, alp/0.25d0/, cres/2d0/,
4010 &pmrc/1.062d0/, smp/0.880d0/, facel/0.0511d0/, facsd/0.0336d0/,
4014 DATA nproc/7*1,3*0,6*1,4*0,4*3,2*6,4*0/
4016 DATA xpar/2*21.70d0,3*13.63d0,10.01d0,0.970d0,3*0d0,
4017 &8.56d0,6.29d0,0.609d0,4.62d0,0.447d0,0.0434d0,4*0d0,
4018 &0.0677d0,0.0534d0,0.0425d0,0.0335d0,2.11
d-4,1.31
d-4,4*0d0/
4020 &56.08d0,98.39d0,27.56d0,36.02d0,31.79d0,-1.51d0,-0.146d0,3*0d0,
4021 &13.08d0,-0.62d0,-0.060d0,0.030d0,-0.0028d0,0.00028d0,4*0d0,
4022 &0.129d0,0.115d0,0.081d0,0.072d0,2.15
d-4,1.70
d-4,4*0d0/
4026 DATA ihada/2*1,3*2,3,4,3*0,3*2,2*3,4,4*0/
4027 DATA ihadb/7*1,3*0,2,3,4,3,2*4,4*0/
4029 DATA pmhad/0.938d0,0.770d0,1.020d0,3.097d0/
4030 DATA bhad/2.3d0,1.4d0,1.4d0,0.23d0/
4031 DATA betp/4.658d0,2.926d0,2.149d0,0.208d0/
4034 DATA ifitsd/2*1,3*2,3,4,3*0,5,6,7,8,9,10,4*0/
4035 DATA ifitdd/2*1,3*2,3,4,3*0,5,6,7,8,9,10,4*0/
4036 DATA ((ceffs(j1,j2),j2=1,8),j1=1,10)/
4037 &0.213d0, 0.0d0, -0.47d0, 150d0, 0.213d0, 0.0d0, -0.47d0, 150d0,
4038 &0.213d0, 0.0d0, -0.47d0, 150d0, 0.267d0, 0.0d0, -0.47d0, 100d0,
4039 &0.213d0, 0.0d0, -0.47d0, 150d0, 0.232d0, 0.0d0, -0.47d0, 110d0,
4040 &0.213d0, 7.0d0, -0.55d0, 800d0, 0.115d0, 0.0d0, -0.47d0, 110d0,
4041 &0.267d0, 0.0d0, -0.46d0, 75d0, 0.267d0, 0.0d0, -0.46d0, 75d0,
4042 &0.232d0, 0.0d0, -0.46d0, 85d0, 0.267d0, 0.0d0, -0.48d0, 100d0,
4043 &0.115d0, 0.0d0, -0.50d0, 90d0, 0.267d0, 6.0d0, -0.56d0, 420d0,
4044 &0.232d0, 0.0d0, -0.48d0, 110d0, 0.232d0, 0.0d0, -0.48d0, 110d0,
4045 &0.115d0, 0.0d0, -0.52d0, 120d0, 0.232d0, 6.0d0, -0.56d0, 470d0,
4046 &0.115d0, 5.5d0, -0.58d0, 570d0, 0.115d0, 5.5d0, -0.58d0, 570d0/
4047 DATA ((ceffd(j1,j2),j2=1,9),j1=1,10)/
4048 &3.11d0, -7.34d0, 9.71d0, 0.068d0, -0.42d0, 1.31d0,
4049 &-1.37d0, 35.0d0, 118d0, 3.11d0, -7.10d0, 10.6d0,
4050 &0.073d0, -0.41d0, 1.17d0, -1.41d0, 31.6d0, 95d0,
4051 &3.12d0, -7.43d0, 9.21d0, 0.067d0, -0.44d0, 1.41d0,
4052 &-1.35d0, 36.5d0, 132d0, 3.13d0, -8.18d0, -4.20d0,
4053 &0.056d0, -0.71d0, 3.12d0, -1.12d0, 55.2d0, 1298d0,
4054 &3.11d0, -6.90d0, 11.4d0, 0.078d0, -0.40d0, 1.05d0,
4055 &-1.40d0, 28.4d0, 78d0, 3.11d0, -7.13d0, 10.0d0,
4056 &0.071d0, -0.41d0, 1.23d0, -1.34d0, 33.1d0, 105d0,
4057 &3.12d0, -7.90d0, -1.49d0, 0.054d0, -0.64d0, 2.72d0,
4058 &-1.13d0, 53.1d0, 995d0, 3.11d0, -7.39d0, 8.22d0,
4059 &0.065d0, -0.44d0, 1.45d0, -1.36d0, 38.1d0, 148d0,
4060 &3.18d0, -8.95d0, -3.37d0, 0.057d0, -0.76d0, 3.32d0,
4061 &-1.12d0, 55.6d0, 1472d0, 4.18d0, -29.2d0, 56.2d0,
4062 &0.074d0, -1.36d0, 6.67d0, -1.14d0, 116.2d0, 6532d0/
4074 vint(281)=(xpar(22)*seps+ypar(22)*seta)/
4075 &(xpar(5)*seps+ypar(5)*seta)
4076 IF(mint(50).NE.1)
RETURN
4079 IF(iabs(mint(11)).LE.iabs(mint(12)))
THEN
4088 isgn12=isign(1,mint(11)*mint(12))
4091 IF(kf1.GT.1000)
THEN
4093 IF(isgn12.LT.0) iproc=2
4094 ELSEIF(kf1.GT.100.AND.kf2.GT.1000)
THEN
4096 IF(isgn12.LT.0) iproc=4
4097 IF(kf1.EQ.111) iproc=5
4098 ELSEIF(kf1.GT.100)
THEN
4100 ELSEIF(kf2.GT.1000)
THEN
4102 IF(mint(123).EQ.2) iproc=22
4103 ELSEIF(kf2.GT.100)
THEN
4105 IF(mint(123).EQ.2) iproc=24
4108 IF(mint(123).EQ.2) iproc=26
4117 ELSEIF(npr.EQ.6)
THEN
4122 IF(mint(101).EQ.4) n1=4
4124 IF(mint(102).EQ.4) n2=4
4127 IF(mstp(31).LE.0)
RETURN
4128 IF(npr.EQ.0) CALL
pyerrm(26,
4129 &
'(PYXTOT:) cross section for this process not yet implemented')
4144 ELSEIF(npr.EQ.3)
THEN
4146 IF(kf2.LT.1000) ipr=i+10
4147 ELSEIF(npr.EQ.6)
THEN
4165 IF(srt.LT.pma+pmb+parp(104)) goto 110
4168 sigtmp(i,0)=xpar(ipr)*seps+ypar(ipr)*seta
4169 bel=2d0*bha+2d0*bhb+4d0*seps-4.2d0
4170 sigtmp(i,1)=facel*sigtmp(i,0)**2/bel
4175 sqmu=
s*ceffs(isd,1)+ceffs(isd,2)
4176 sum1=
log((bsd+2d0*alp*
log(
s/sqml))/
4177 & (bsd+2d0*alp*
log(
s/sqmu)))/(2d0*alp)
4178 bxb=ceffs(isd,3)+ceffs(isd,4)/
s
4179 sum2=cres*
log(1d0+((pma+pmrc)/(pma+pmth))**2)/
4180 & (bsd+2d0*alp*
log(
s/((pma+pmth)*(pma+pmrc)))+bxb)
4181 sigtmp(i,2)=facsd*xpar(ipr)*betp(ihb)*
max(0d0,sum1+sum2)
4186 sqmu=
s*ceffs(isd,5)+ceffs(isd,6)
4187 sum1=
log((bsd+2d0*alp*
log(
s/sqml))/
4188 & (bsd+2d0*alp*
log(
s/sqmu)))/(2d0*alp)
4189 bax=ceffs(isd,7)+ceffs(isd,8)/
s
4190 sum2=cres*
log(1d0+((pmb+pmrc)/(pmb+pmth))**2)/
4191 & (bsd+2d0*alp*
log(
s/((pmb+pmth)*(pmb+pmrc)))+bax)
4192 sigtmp(i,3)=facsd*xpar(ipr)*betp(iha)*
max(0d0,sum1+sum2)
4197 sigtmp(i,2)=sigtmp(i,3)
4202 yeff=
log(
s*smp/((pma+pmth)*(pmb+pmth))**2)
4203 deff=ceffd(idd,1)+ceffd(idd,2)/slog+ceffd(idd,3)/slog**2
4204 sum1=deff+yeff*(
log(
max(1
d-10,yeff/deff))-1d0)/(2d0*alp)
4205 IF(yeff.LE.0) sum1=0d0
4206 sqmu=
s*(ceffd(idd,4)+ceffd(idd,5)/slog+ceffd(idd,6)/slog**2)
4207 slup=
log(
max(1.1d0,
s/(alp*(pma+pmth)**2*(pmb+pmth)*(pmb+pmrc))))
4208 sldn=
log(
max(1.1d0,
s/(alp*sqmu*(pmb+pmth)*(pmb+pmrc))))
4209 sum2=cres*
log(1d0+((pmb+pmrc)/(pmb+pmth))**2)*
log(slup/sldn)/
4211 slup=
log(
max(1.1d0,
s/(alp*(pmb+pmth)**2*(pma+pmth)*(pma+pmrc))))
4212 sldn=
log(
max(1.1d0,
s/(alp*sqmu*(pma+pmth)*(pma+pmrc))))
4213 sum3=cres*
log(1d0+((pma+pmrc)/(pma+pmth))**2)*
log(slup/sldn)/
4215 bxx=ceffd(idd,7)+ceffd(idd,8)/srt+ceffd(idd,9)/
s
4216 slrr=
log(
s/(alp*(pma+pmth)*(pma+pmrc)*(pmb+pmth)*(pmb*pmrc)))
4217 sum4=cres**2*
log(1d0+((pma+pmrc)/(pma+pmth))**2)*
4218 &
log(1d0+((pmb+pmrc)/(pmb+pmth))**2)/
max(0.1d0,2d0*alp*slrr+bxx)
4219 sigtmp(i,4)=facdd*xpar(ipr)*
max(0d0,sum1+sum2+sum3+sum4)
4222 sigtmp(i,5)=sigtmp(i,0)-sigtmp(i,1)-sigtmp(i,2)-sigtmp(i,3)-
4227 IF(mint(101).EQ.1.AND.mint(102).EQ.1)
THEN
4229 sigt(0,0,j)=sigtmp(1,j)
4233 ELSEIF(mint(101).EQ.4.AND.mint(102).EQ.1)
THEN
4235 conv=aem/parp(160+i)
4238 sigt(i,0,j)=conv*sigtmp(i1,j)
4242 sigt(0,0,j)=sigt(1,0,j)+sigt(2,0,j)+sigt(3,0,j)+sigt(4,0,j)
4246 ELSEIF(mint(101).EQ.1.AND.mint(102).EQ.4)
THEN
4248 conv=aem/parp(160+i)
4251 sigt(0,i,j)=conv*sigtmp(iv,j)
4255 sigt(0,0,j)=sigt(0,1,j)+sigt(0,2,j)+sigt(0,3,j)+sigt(0,4,j)
4262 conv=aem**2/(parp(160+i1)*parp(160+i2))
4265 ELSEIF(i2.LE.2)
THEN
4267 ELSEIF(i1.EQ.i2)
THEN
4274 IF(i2.GT.i1.AND.(j.EQ.2.OR.j.EQ.3)) jv=5-j
4275 sigt(i1,i2,j)=conv*sigtmp(iv,jv)
4281 sigt(i,0,j)=sigt(i,1,j)+sigt(i,2,j)+sigt(i,3,j)+sigt(i,4,j)
4282 sigt(0,i,j)=sigt(1,i,j)+sigt(2,i,j)+sigt(3,i,j)+sigt(4,i,j)
4284 sigt(0,0,j)=sigt(1,0,j)+sigt(2,0,j)+sigt(3,0,j)+sigt(4,0,j)
4289 IF(iproc.EQ.21.OR.iproc.EQ.23.OR.iproc.EQ.25)
THEN
4290 rfac=(xpar(iproc)*seps+ypar(iproc)*seta)/sigt(0,0,0)
4294 sigt(i1,i2,j)=rfac*sigt(i1,i2,j)
4313 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
4316 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
4318 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
4319 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
4320 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
4321 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
4322 common/pypars/mstp(200),parp(200),msti(200),pari(200)
4323 common/pyint1/mint(400),vint(400)
4324 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
4325 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
4326 common/pyint4/mwid(500),wids(500,5)
4327 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
4328 common/pyint6/proc(0:500)
4330 common/pyint7/sigt(0:6,0:6,0:5)
4331 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pysubs/,/pypars/,/pyint1/,
4332 &/pyint2/,/pyint3/,/pyint4/,/pyint5/,/pyint6/,/pyint7/
4335 dimension npts(4),mvarpt(500,4),vintpt(500,30),sigspt(500),
4336 &narel(7),wtrel(7),wtmat(7,7),wtreln(7),coefu(7),coefo(7),
4337 &iaccmx(4),sigsmx(4),sigssm(3),pmmn(2)
4338 DATA cvar/
'tau ',
'tau''',
'y* ',
'cth '/
4348 IF(iset(isub).EQ.11)
THEN
4349 xsec(isub,1)=1.00001d0*coef(isub,1)
4352 ELSEIF(isub.GE.91.AND.isub.LE.95)
THEN
4353 xsec(isub,1)=sigt(0,0,isub-90)
4354 IF(msub(isub).NE.1) goto 460
4357 ELSEIF(isub.EQ.96)
THEN
4358 IF(mint(50).EQ.0) goto 460
4359 IF(msub(95).NE.1.AND.mstp(81).LE.0.AND.mstp(131).LE.0)
4361 IF(mint(49).EQ.0.AND.mstp(131).EQ.0) goto 460
4362 ELSEIF(isub.EQ.11.OR.isub.EQ.12.OR.isub.EQ.13.OR.isub.EQ.28.OR.
4363 & isub.EQ.53.OR.isub.EQ.68)
THEN
4364 IF(msub(isub).NE.1.OR.msub(95).EQ.1) goto 460
4366 IF(msub(isub).NE.1) goto 460
4370 IF(isub.EQ.96) istsb=2
4371 IF(mstp(122).GE.2)
WRITE(mstu(11),5000) isub
4373 IF(mstp(142).GE.1.AND.isub.NE.96.AND.msub(91)+msub(92)+msub(93)+
4374 & msub(94)+msub(95).EQ.0) mwtxs=1
4379 IF(istsb.EQ.1.OR.istsb.EQ.3.OR.istsb.EQ.5)
THEN
4381 ELSEIF(isub.EQ.24.OR.isub.EQ.25.OR.isub.EQ.110.OR.isub.EQ.165
4382 & .OR.isub.EQ.171.OR.isub.EQ.176)
THEN
4384 ELSEIF(isub.EQ.23.OR.isub.EQ.26.OR.isub.EQ.166.OR.isub.EQ.172
4385 & .OR.isub.EQ.177)
THEN
4387 ELSEIF(isub.GE.71.AND.isub.LE.77)
THEN
4389 IF(mstp(46).EQ.5)
THEN
4392 pmas(30,2)=parp(45)**3/(96d0*paru(1)*parp(47)**2)
4394 ELSEIF(isub.EQ.194)
THEN
4398 IF(ckmx.LE.0d0) ckmx=vint(1)
4401 IF(ckin(1).GT.pmas(kcr1,1)+20d0*pmas(kcr1,2).OR.
4402 & ckmx.LT.pmas(kcr1,1)-20d0*pmas(kcr1,2)) kfr1=0
4405 taur1=pmas(kcr1,1)**2/vint(2)
4406 gamr1=pmas(kcr1,1)*pmas(kcr1,2)/vint(2)
4413 IF(isub.EQ.141.OR.isub.EQ.194)
THEN
4415 IF(isub.EQ.194) kfr2=56
4417 taur2=pmas(kcr2,1)**2/vint(2)
4418 gamr2=pmas(kcr2,1)*pmas(kcr2,2)/vint(2)
4419 IF(ckin(1).GT.pmas(kcr2,1)+20d0*pmas(kcr2,2).OR.
4420 & ckmx.LT.pmas(kcr2,1)-20d0*pmas(kcr2,2)) kfr2=0
4421 IF(kfr2.NE.0.AND.kfr1.NE.0)
THEN
4426 ELSEIF(kfr2.NE.0)
THEN
4444 IF(istsb.EQ.2.OR.istsb.EQ.4)
THEN
4448 IF(kfpr(isub,i).EQ.0)
THEN
4449 ELSEIF(mstp(42).LE.0.OR.pmas(
pycomp(kfpr(isub,i)),2).LT.
4451 IF(i.EQ.1) sqm3=pmas(
pycomp(kfpr(isub,i)),1)**2
4452 IF(i.EQ.2) sqm4=pmas(
pycomp(kfpr(isub,i)),1)**2
4457 IF(kflw/ksusy1.EQ.1.OR.kflw/ksusy1.EQ.2)
THEN
4460 DO 100 idc=mdcy(kcw,2),mdcy(kcw,2)+mdcy(kcw,3)-1
4461 IF(mdme(idc,1).GT.0.AND.brat(idc).GT.1
e-4)
THEN
4462 pmsum=pmas(
pycomp(kfdp(idc,1)),1)+
4463 & pmas(
pycomp(kfdp(idc,2)),1)
4464 IF(kfdp(idc,3).NE.0) pmsum=pmsum+
4465 & pmas(
pycomp(kfdp(idc,3)),1)
4466 pmmn(i)=
min(pmmn(i),pmsum)
4469 ELSEIF(kflw.EQ.6)
THEN
4470 pmmn(i)=pmas(24,1)+pmas(5,1)
4477 ckin(41)=
max(pmmn(1),ckin(41))
4478 ckin(43)=
max(pmmn(2),ckin(43))
4479 CALL
pyofsh(3,0,kfpr(isub,1),kfpr(isub,2),0d0,pqm3,pqm4)
4482 IF(mint(51).EQ.1)
THEN
4483 WRITE(mstu(11),5100) isub
4490 IF(
min(sqm3,sqm4).LT.ckin(6)**2) mint(71)=1
4491 IF(mint(71).EQ.1) vint(71)=
max(ckin(3),ckin(5))
4492 IF(isub.EQ.96.AND.mstp(82).LE.1) vint(71)=parp(81)
4493 IF(isub.EQ.96.AND.mstp(82).GE.2) vint(71)=0.08d0*parp(82)
4501 IF(kfpr(isub,2).GT.0) vint(201)=pmas(
pycomp(kfpr(isub,2)),1)
4503 vint(204)=pmas(23,1)
4504 IF(isub.EQ.124) vint(204)=pmas(24,1)
4505 IF(isub.EQ.121.OR.isub.EQ.122.OR.isub.EQ.181.OR.isub.EQ.182
4506 & .OR.isub.EQ.186.OR.isub.EQ.187) vint(204)=vint(201)
4511 npts(1)=2+2*mint(72)
4512 IF(mint(47).EQ.1)
THEN
4513 IF(istsb.EQ.1.OR.istsb.EQ.2) npts(1)=1
4514 ELSEIF(mint(47).EQ.5)
THEN
4515 IF(istsb.LE.2.OR.istsb.GT.5) npts(1)=npts(1)+1
4518 IF(istsb.GE.3.AND.istsb.LE.5)
THEN
4519 IF(mint(47).GE.2) npts(2)=2
4520 IF(mint(47).EQ.5) npts(2)=3
4523 IF(mint(47).GE.4) npts(3)=3
4524 IF(mint(45).EQ.3) npts(3)=npts(3)+1
4525 IF(mint(46).EQ.3) npts(3)=npts(3)+1
4527 IF(istsb.EQ.2.OR.istsb.EQ.4) npts(4)=5
4528 ntry=npts(1)*npts(2)*npts(3)*npts(4)
4553 IF(metau.EQ.1) goto 150
4554 IF(
mod(itry-1,npts(2)*npts(3)*npts(4)).EQ.0)
THEN
4555 mtau=1+(itry-1)/(npts(2)*npts(3)*npts(4))
4556 IF(mtau.GT.2+2*mint(72)) mtau=7
4560 IF(mint(72).EQ.2)
THEN
4561 IF(abs(pmas(kcr2,1)-pmas(kcr1,1)).LT.
4562 & 0.01d0*(pmas(kcr2,1)+pmas(kcr1,1)))
THEN
4563 IF(mtau.EQ.3.OR.mtau.EQ.4)
THEN
4565 ELSEIF(mtau.EQ.5.OR.mtau.EQ.6)
THEN
4571 IF(istsb.GE.3.AND.istsb.LE.5) CALL
pyklim(4)
4574 IF(metaup.EQ.1) goto 150
4575 IF(istsb.GE.3.AND.istsb.LE.5.AND.
mod(itry-1,npts(3)*npts(4))
4577 mtaup=1+
mod((itry-1)/(npts(3)*npts(4)),npts(2))
4578 CALL
pykmap(4,mtaup,0.5d0)
4580 IF(
mod(itry-1,npts(3)*npts(4)).EQ.0)
THEN
4584 IF(meyst.EQ.1) goto 150
4585 IF(
mod(itry-1,npts(4)).EQ.0)
THEN
4586 myst=1+
mod((itry-1)/npts(4),npts(3))
4587 IF(myst.EQ.4.AND.mint(45).NE.3) myst=5
4588 CALL
pykmap(2,myst,0.5d0)
4592 IF(mecth.EQ.1) goto 150
4593 IF(istsb.EQ.2.OR.istsb.EQ.4)
THEN
4594 mcth=1+
mod(itry-1,npts(4))
4595 CALL
pykmap(3,mcth,0.5d0)
4597 IF(isub.EQ.96) vint(25)=vint(21)*(1d0-vint(23)**2)
4602 IF(mint(51).EQ.1) goto 150
4605 mvarpt(nacc,2)=mtaup
4609 vintpt(nacc,j)=vint(10+j)
4623 DO 140 ikin3=1,mstp(129)
4625 IF(mint(51).EQ.1) goto 140
4631 IF(sigtmp.GT.sigs) sigs=sigtmp
4637 IF(sigs.GT.sigsam) sigsam=sigs
4638 IF(mstp(122).GE.2)
WRITE(mstu(11),5200) mtau,myst,mcth,mtaup,
4639 & vint(21),vint(22),vint(23),vint(26),sigs
4642 WRITE(mstu(11),5100) isub
4645 ELSEIF(sigsam.EQ.0d0)
THEN
4646 WRITE(mstu(11),5300) isub
4650 IF(isub.NE.96) nposi=nposi+1
4655 atau1=
log(taumax/taumin)
4656 IF(npts(1).GE.2)
THEN
4657 atau2=(taumax-taumin)/(taumax*taumin)
4659 IF(npts(1).GE.4)
THEN
4660 atau3=
log(taumax/taumin*(taumin+taur1)/(taumax+taur1))/taur1
4661 atau4=(atan((taumax-taur1)/gamr1)-atan((taumin-taur1)/gamr1))/
4664 IF(npts(1).GE.6)
THEN
4665 atau5=
log(taumax/taumin*(taumin+taur2)/(taumax+taur2))/taur2
4666 atau6=(atan((taumax-taur2)/gamr2)-atan((taumin-taur2)/gamr2))/
4669 IF(npts(1).GT.2+2*mint(72))
THEN
4670 atau7=
log(
max(2
d-6,1d0-taumin)/
max(2
d-6,1d0-taumax))
4675 IF(npts(ivar).EQ.1) goto 320
4676 IF(isub.EQ.96.AND.ivar.EQ.4) goto 320
4687 ibin=mvarpt(iacc,ivar)
4688 IF(ivar.EQ.1.AND.ibin.EQ.7) ibin=3+2*mint(72)
4689 IF(ivar.EQ.3.AND.ibin.EQ.5.AND.mint(45).NE.3) ibin=4
4690 narel(ibin)=narel(ibin)+1
4691 wtrel(ibin)=wtrel(ibin)+sigspt(iacc)
4696 wtmat(ibin,1)=wtmat(ibin,1)+1d0
4697 wtmat(ibin,2)=wtmat(ibin,2)+(atau1/atau2)/
tau
4699 wtmat(ibin,3)=wtmat(ibin,3)+(atau1/atau3)/(
tau+taur1)
4700 wtmat(ibin,4)=wtmat(ibin,4)+(atau1/atau4)*
tau/
4701 & ((
tau-taur1)**2+gamr1**2)
4704 wtmat(ibin,5)=wtmat(ibin,5)+(atau1/atau5)/(
tau+taur2)
4705 wtmat(ibin,6)=wtmat(ibin,6)+(atau1/atau6)*
tau/
4706 & ((
tau-taur2)**2+gamr2**2)
4708 IF(nbin.GT.2+2*mint(72))
THEN
4709 wtmat(ibin,nbin)=wtmat(ibin,nbin)+(atau1/atau7)*
4714 ELSEIF(ivar.EQ.2)
THEN
4716 taup=vintpt(iacc,16)
4717 taupmn=vintpt(iacc,6)
4718 taupmx=vintpt(iacc,26)
4719 ataup1=
log(taupmx/taupmn)
4720 ataup2=((1d0-
tau/taupmx)**4-(1d0-
tau/taupmn)**4)/(4d0*
tau)
4721 wtmat(ibin,1)=wtmat(ibin,1)+1d0
4722 wtmat(ibin,2)=wtmat(ibin,2)+(ataup1/ataup2)*
4723 & (1d0-
tau/taup)**3/taup
4725 ataup3=
log(
max(2
d-6,1d0-taupmn)/
max(2
d-6,1d0-taupmx))
4726 wtmat(ibin,3)=wtmat(ibin,3)+(ataup1/ataup3)*
4727 & taup/
max(2
d-6,1d0-taup)
4731 ELSEIF(ivar.EQ.3)
THEN
4733 ystmin=vintpt(iacc,2)
4734 ystmax=vintpt(iacc,22)
4736 ayst1=0.5d0*(ystmax-ystmin)**2
4738 ayst3=2d0*(atan(
exp(ystmax))-atan(
exp(ystmin)))
4739 wtmat(ibin,1)=wtmat(ibin,1)+(ayst0/ayst1)*(yst-ystmin)
4740 wtmat(ibin,2)=wtmat(ibin,2)+(ayst0/ayst2)*(ystmax-yst)
4741 wtmat(ibin,3)=wtmat(ibin,3)+(ayst0/ayst3)/cosh(yst)
4742 IF(mint(45).EQ.3)
THEN
4743 taue=vintpt(iacc,11)
4744 IF(istsb.GE.3.AND.istsb.LE.5) taue=vintpt(iacc,16)
4745 yst0=-0.5d0*
log(taue)
4747 &
max(1
d-6,
exp(yst0-ystmax)-1d0))
4748 wtmat(ibin,4)=wtmat(ibin,4)+(ayst0/ayst4)/
4751 IF(mint(46).EQ.3)
THEN
4752 taue=vintpt(iacc,11)
4753 IF(istsb.GE.3.AND.istsb.LE.5) taue=vintpt(iacc,16)
4754 yst0=-0.5d0*
log(taue)
4756 &
max(1
d-6,
exp(yst0+ystmin)-1d0))
4757 wtmat(ibin,nbin)=wtmat(ibin,nbin)+(ayst0/ayst5)/
4758 &
max(1
d-6,1d0-
exp(-yst-yst0))
4763 rm34=
max(1
d-20,2d0*sqm3*sqm4/(vintpt(iacc,11)*vint(2))**2)
4765 cthmax=
sqrt(1d0-4d0*vint(71)**2/(taumax*vint(2)))
4767 IF(cthmax.GT.0.9999d0) rm34=
max(rm34,2d0*vint(71)**2/
4770 acth2=
log(
max(rm34,rsqm-cthmin)/
max(rm34,rsqm-cthmax))
4771 acth3=
log(
max(rm34,rsqm+cthmax)/
max(rm34,rsqm+cthmin))
4772 acth4=1d0/
max(rm34,rsqm-cthmax)-1d0/
max(rm34,rsqm-cthmin)
4773 acth5=1d0/
max(rm34,rsqm+cthmin)-1d0/
max(rm34,rsqm+cthmax)
4775 wtmat(ibin,1)=wtmat(ibin,1)+1d0
4776 wtmat(ibin,2)=wtmat(ibin,2)+(acth1/acth2)/
4777 &
max(rm34,rsqm-cth)
4778 wtmat(ibin,3)=wtmat(ibin,3)+(acth1/acth3)/
4779 &
max(rm34,rsqm+cth)
4780 wtmat(ibin,4)=wtmat(ibin,4)+(acth1/acth4)/
4781 &
max(rm34,rsqm-cth)**2
4782 wtmat(ibin,5)=wtmat(ibin,5)+(acth1/acth5)/
4783 &
max(rm34,rsqm+cth)**2
4788 IF(mstp(122).GE.2)
WRITE(mstu(11),5400) cvar(ivar)
4792 IF(mstp(122).GE.2)
WRITE(mstu(11),5500) (wtmat(ibin,ired),
4793 & ired=1,nbin),wtrel(ibin)
4794 IF(narel(ibin).EQ.0) msolv=0
4795 wtrels=wtrels+wtrel(ibin)
4797 IF(abs(wtrels).LT.1
d-20) msolv=0
4802 wtreln(ibin)=
max(0.1d0,wtrel(ibin)/wtrels)
4804 DO 230 ired=1,nbin-1
4805 DO 220 ibin=ired+1,nbin
4806 IF(abs(wtmat(ired,ired)).LT.1
d-20)
THEN
4810 rqt=wtmat(ibin,ired)/wtmat(ired,ired)
4811 wtrel(ibin)=wtrel(ibin)-rqt*wtrel(ired)
4812 DO 210 icoe=ired,nbin
4813 wtmat(ibin,icoe)=wtmat(ibin,icoe)-rqt*wtmat(ired,icoe)
4817 DO 250 ired=nbin,1,-1
4818 DO 240 icoe=ired+1,nbin
4819 wtrel(ired)=wtrel(ired)-wtmat(ired,icoe)*coefu(icoe)
4821 coefu(ired)=wtrel(ired)/wtmat(ired,ired)
4826 260
IF(msolv.EQ.0)
THEN
4830 IF(wtrels.GT.0d0) wtreln(ibin)=
max(0.1d0,
4831 & wtrel(ibin)/wtrels)
4839 coefu(ibin)=
max(0d0,coefu(ibin))
4840 coefsu=coefsu+coefu(ibin)
4841 wtrels=wtrels+wtreln(ibin)
4843 IF(coefsu.GT.0d0)
THEN
4845 coefo(ibin)=parp(122)/nbin+(1d0-parp(122))*0.5d0*
4846 & (coefu(ibin)/coefsu+wtreln(ibin)/wtrels)
4850 coefo(ibin)=1d0/nbin
4853 IF(ivar.EQ.1) ioff=0
4854 IF(ivar.EQ.2) ioff=17
4855 IF(ivar.EQ.3) ioff=7
4856 IF(ivar.EQ.4) ioff=12
4859 IF(ivar.EQ.1.AND.ibin.GT.2+2*mint(72)) icof=7
4860 IF(ivar.EQ.3.AND.ibin.EQ.4.AND.mint(45).NE.3) icof=icof+1
4861 coef(isub,icof)=coefo(ibin)
4863 IF(mstp(122).GE.2)
WRITE(mstu(11),5600) cvar(ivar),
4864 & (coefo(ibin),ibin=1,nbin)
4875 vint(10+j)=vintpt(iacc,j)
4885 DO 350 ikin3=1,mstp(129)
4887 IF(mint(51).EQ.1) goto 350
4893 IF(sigtmp.GT.sigs) sigs=sigtmp
4898 IF(abs(sigs-sigsmx(imv)).LT.1
d-4*(sigs+sigsmx(imv))) ieq=imv
4901 DO 370 imv=
nmax,1,-1
4903 IF(sigs.LE.sigsmx(imv)) goto 380
4904 iaccmx(imv+1)=iaccmx(imv)
4905 sigsmx(imv+1)=sigsmx(imv)
4908 380 iaccmx(iin)=iacc
4915 IF(mstp(122).GE.2)
WRITE(mstu(11),5700)
4920 mtaup=mvarpt(iacc,2)
4931 IF(npts(ivar).EQ.1) goto 420
4932 IF(ivar.EQ.1) vvar=vtau
4933 IF(ivar.EQ.2) vvar=vtaup
4934 IF(ivar.EQ.3) vvar=vyst
4935 IF(ivar.EQ.4) vvar=vcth
4936 IF(ivar.EQ.1) mvar=mtau
4937 IF(ivar.EQ.2) mvar=mtaup
4938 IF(ivar.EQ.3) mvar=myst
4939 IF(ivar.EQ.4) mvar=mcth
4940 IF(irpt.EQ.1) vdel=0.1d0
4941 IF(irpt.EQ.2) vdel=
max(0.01d0,
min(0.05d0,vvar-0.02d0,
4943 IF(irpt.EQ.1) vmar=0.02d0
4944 IF(irpt.EQ.2) vmar=0.002d0
4946 IF(irpt.EQ.1.AND.ivar.EQ.1) imov0=0
4953 ELSEIF(imov.EQ.1)
THEN
4956 ELSEIF(imov.EQ.2)
THEN
4959 ELSEIF(sigssm(3).GE.
max(sigssm(1),sigssm(2)).AND.
4960 & vvar+2d0*vdel.LT.1d0-vmar)
THEN
4966 ELSEIF(sigssm(1).GE.
max(sigssm(2),sigssm(3)).AND.
4967 & vvar-2d0*vdel.GT.vmar)
THEN
4973 ELSEIF(sigssm(3).GE.sigssm(1))
THEN
4991 IF(istsb.GE.3.AND.istsb.LE.5) CALL
pyklim(4)
4993 IF(ivar.LE.2.AND.istsb.GE.3.AND.istsb.LE.5)
THEN
4994 IF(ivar.EQ.2) vtaup=vnew
4995 CALL
pykmap(4,mtaup,vtaup)
4997 IF(ivar.LE.2) CALL
pyklim(2)
4999 IF(ivar.EQ.3) vyst=vnew
5003 IF(istsb.EQ.2.OR.istsb.EQ.4)
THEN
5004 IF(ivar.EQ.4) vcth=vnew
5007 IF(isub.EQ.96) vint(25)=vint(21)*(1d0-vint(23)**2)
5018 DO 400 ikin3=1,mstp(129)
5020 IF(mint(51).EQ.1) goto 400
5026 IF(sigtmp.GT.sigs) sigs=sigtmp
5030 IF(sigs.GT.sigsam) sigsam=sigs
5031 IF(mstp(122).GE.2)
WRITE(mstu(11),5800) imax,ivar,mvar,
5032 & imov,vnew,vint(21),vint(22),vint(23),vint(26),sigs
5037 IF(mstp(121).EQ.1) sigsam=parp(121)*sigsam
5038 xsec(isub,1)=1.05d0*sigsam
5040 IF(mstp(173).EQ.1.AND.isub.NE.96) xsec(isub,1)=
5041 & parp(174)*xsec(isub,1)
5042 IF(isub.NE.96) xsec(0,1)=xsec(0,1)+xsec(isub,1)
5048 WRITE(mstu(11),5900)
5051 IF(mstp(122).GE.1)
THEN
5052 WRITE(mstu(11),6000)
5053 WRITE(mstu(11),6100)
5055 IF(msub(isub).NE.1.AND.isub.NE.96) goto 470
5056 IF(isub.EQ.96.AND.mint(50).EQ.0) goto 470
5057 IF(isub.EQ.96.AND.msub(95).NE.1.AND.mstp(81).LE.0) goto 470
5058 IF(isub.EQ.96.AND.mint(49).EQ.0.AND.mstp(131).EQ.0) goto 470
5059 IF(msub(95).EQ.1.AND.(isub.EQ.11.OR.isub.EQ.12.OR.isub.EQ.13
5060 & .OR.isub.EQ.28.OR.isub.EQ.53.OR.isub.EQ.68)) goto 470
5061 WRITE(mstu(11),6200) isub,proc(isub),xsec(isub,1)
5063 WRITE(mstu(11),6300)
5067 5000
FORMAT(/1
x,
'Coefficient optimization and maximum search for ',
5068 &
'subprocess no',i4/1
x,
'Coefficient modes tau',10
x,
'y*',9
x,
5069 &
'cth',9
x,
'tau''',7
x,
'sigma')
5070 5100
FORMAT(1
x,
'Warning: requested subprocess ',i3,
' has no allowed ',
5071 &
'phase space.'/1
x,
'Process switched off!')
5072 5200
FORMAT(1
x,4i4,f12.8,f12.6,f12.7,f12.8,1
p,d12.4)
5073 5300
FORMAT(1
x,
'Warning: requested subprocess ',i3,
' has vanishing ',
5074 &
'cross-section.'/1
x,
'Process switched off!')
5075 5400
FORMAT(1
x,
'Coefficients of equation system to be solved for ',a4)
5076 5500
FORMAT(1
x,1
p,8d11.3)
5077 5600
FORMAT(1
x,
'Result for ',a4,
':',7f9.4)
5078 5700
FORMAT(1
x,
'Maximum search for given coefficients'/2
x,
'MAX VAR ',
5079 &
'MOD MOV VNEW',7
x,
'tau',7
x,
'y*',8
x,
'cth',7
x,
'tau''',7
x,
'sigma')
5080 5800
FORMAT(1
x,4i4,f8.4,f11.7,f9.3,f11.6,f11.7,1
p,d12.4)
5081 5900
FORMAT(1
x,
'Error: no requested process has non-vanishing ',
5082 &
'cross-section.'/1
x,
'Execution stopped!')
5083 6000
FORMAT(/1
x,8(
'*'),1
x,
'PYMAXI: summary of differential ',
5084 &
'cross-section maximum search',1
x,8(
'*'))
5085 6100
FORMAT(/11
x,58(
'=')/11
x,
'I',38
x,
'I',17
x,
'I'/11
x,
'I ISUB ',
5086 &
'Subprocess name',15
x,
'I Maximum value I'/11
x,
'I',38
x,
'I',
5087 &17
x,
'I'/11
x,58(
'=')/11
x,
'I',38
x,
'I',17
x,
'I')
5088 6200
FORMAT(11
x,
'I',2
x,i3,3
x,a28,2
x,
'I',2
x,1
p,d12.4,3
x,
'I')
5089 6300
FORMAT(11
x,
'I',38
x,
'I',17
x,
'I'/11
x,58(
'='))
5104 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
5107 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
5108 common/pypars/mstp(200),parp(200),msti(200),pari(200)
5109 common/pyint1/mint(400),vint(400)
5110 common/pyint7/sigt(0:6,0:6,0:5)
5111 SAVE /
pydat1/,/pypars/,/pyint1/,/pyint7/
5113 dimension wti(0:200)
5114 SAVE imin,imax,wti,wts
5118 vint(131)=sigt(0,0,5)
5119 IF(mstp(132).GE.2) vint(131)=vint(131)+sigt(0,0,4)
5120 IF(mstp(132).GE.3) vint(131)=vint(131)+sigt(0,0,2)+sigt(0,0,3)
5121 IF(mstp(132).GE.4) vint(131)=vint(131)+sigt(0,0,1)
5122 IF(mstp(133).LE.0)
RETURN
5125 xnave=vint(131)*parp(131)
5126 IF(xnave.GT.120d0)
WRITE(mstu(11),5000) xnave
5130 wtn=wti(inave)*inave
5134 DO 100 i=inave-1,1,-1
5135 IF(mstp(133).EQ.1) wti(i)=wti(i+1)*(i+1)/xnave
5136 IF(mstp(133).GE.2) wti(i)=wti(i+1)*i/xnave
5137 IF(wti(i).LT.1
d-6) goto 110
5145 DO 120 i=inave+1,200
5146 IF(mstp(133).EQ.1) wti(i)=wti(i-1)*xnave/i
5147 IF(mstp(133).GE.2) wti(i)=wti(i-1)*xnave/(i-1)
5148 IF(wti(i).LT.1
d-6) goto 130
5155 IF(mstp(133).EQ.1.AND.imin.EQ.1) vint(134)=
5156 & wts/(wts+wti(1)/xnave)
5157 IF(mstp(133).EQ.1.AND.imin.GT.1) vint(134)=1d0
5158 IF(mstp(133).GE.2) vint(134)=xnave
5162 IF(mstp(133).LE.0)
THEN
5163 mint(81)=
max(1,mstp(134))
5169 IF(wtr.LE.0d0) goto 150
5176 5000
FORMAT(1
x,
'Warning: requested average number of events per bunch',
5177 &
'crossing too large, ',1
p,d12.4)
5192 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
5195 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
5196 common/pypars/mstp(200),parp(200),msti(200),pari(200)
5197 common/pyint1/mint(400),vint(400)
5198 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
5199 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
5200 SAVE /pysubs/,/pypars/,/pyint1/,/pyint2/,/pyint5/
5202 dimension ncp(10),nsubcp(10,20),msubcp(10,20),coefcp(10,20,20),
5203 &ngencp(10,0:20,3),xseccp(10,0:20,3),intcp(10,20),recp(10,20)
5204 SAVE ncp,nsubcp,msubcp,coefcp,ngencp,xseccp,intcp,recp
5210 IF(msub(i).EQ.0.AND.i.NE.96.AND.i.NE.97) goto 120
5213 msubcp(iga,icp)=msub(i)
5215 coefcp(iga,icp,j)=coef(i,j)
5218 ngencp(iga,icp,j)=ngen(i,j)
5219 xseccp(iga,icp,j)=xsec(i,j)
5224 ngencp(iga,0,j)=ngen(0,j)
5225 xseccp(iga,0,j)=xsec(0,j)
5229 intcp(iga,j)=mint(40+j)
5231 intcp(iga,11)=mint(101)
5232 intcp(iga,12)=mint(102)
5233 intcp(iga,13)=mint(107)
5234 intcp(iga,14)=mint(108)
5235 intcp(iga,15)=mint(123)
5239 ELSEIF(isave.EQ.2)
THEN
5240 DO 160 icp=1,ncp(iga)
5243 ngencp(iga,icp,j)=ngen(i,j)
5244 xseccp(iga,icp,j)=xsec(i,j)
5248 ngencp(iga,0,j)=ngen(0,j)
5249 xseccp(iga,0,j)=xsec(0,j)
5253 ELSEIF(isave.EQ.3.OR.isave.EQ.4)
THEN
5256 DO 180 ig=1,mint(121)
5257 xsumcp=xsumcp+xseccp(ig,0,1)
5259 xsumcp=xsumcp*
pyr(0)
5260 DO 190 ig=1,mint(121)
5262 xsumcp=xsumcp-xseccp(ig,0,1)
5263 IF(xsumcp.LE.0d0) goto 200
5272 DO 240 icp=1,ncp(iga)
5274 msub(i)=msubcp(iga,icp)
5276 coef(i,j)=coefcp(iga,icp,j)
5279 ngen(i,j)=ngencp(iga,icp,j)
5280 xsec(i,j)=xseccp(iga,icp,j)
5284 ngen(0,j)=ngencp(iga,0,j)
5285 xsec(0,j)=xseccp(iga,0,j)
5290 mint(40+j)=intcp(iga,j)
5292 mint(101)=intcp(iga,11)
5293 mint(102)=intcp(iga,12)
5294 mint(107)=intcp(iga,13)
5295 mint(108)=intcp(iga,14)
5296 mint(123)=intcp(iga,15)
5301 ELSEIF(isave.EQ.5)
THEN
5312 DO 290 ig=1,mint(121)
5313 DO 280 icp=1,ncp(ig)
5315 IF(msubcp(ig,icp).EQ.1) msub(i)=1
5316 ngen(i,1)=ngen(i,1)+ngencp(ig,icp,1)
5317 ngen(i,3)=ngen(i,3)+ngencp(ig,icp,3)
5318 xsec(i,3)=xsec(i,3)+xseccp(ig,icp,3)
5320 ngen(0,1)=ngen(0,1)+ngencp(ig,0,1)
5321 ngen(0,2)=ngen(0,2)+ngencp(ig,0,2)
5322 ngen(0,3)=ngen(0,3)+ngencp(ig,0,3)
5323 xsec(0,3)=xsec(0,3)+xseccp(ig,0,3)
5341 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
5344 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
5346 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
5347 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
5348 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
5349 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
5350 common/pypars/mstp(200),parp(200),msti(200),pari(200)
5351 common/pyint1/mint(400),vint(400)
5352 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
5353 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
5354 common/pyint4/mwid(500),wids(500,5)
5355 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
5356 common/pyint7/sigt(0:6,0:6,0:5)
5357 common/pyuppr/nup,kup(20,7),nfup,ifup(10,2),pup(20,5),q2up(0:10)
5358 common/pymssm/imss(0:99),rmss(0:99)
5359 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pysubs/,/pypars/,/pyint1/,
5360 &/pyint2/,/pyint3/,/pyint4/,/pyint5/,/pyint7/,/pyuppr/,/pymssm/
5362 dimension xpq(-25:25),pmm(2),pdif(4),bhad(4),pmmn(2)
5365 DATA eps/0.0808d0/, alp/0.25d0/, cres/2d0/, pmrc/1.062d0/,
5366 &smp/0.880d0/, bhad/2.3d0,1.4d0,1.4d0,0.23d0/
5375 IF(mstp(171).EQ.1.AND.mstp(172).EQ.2) mfail=1
5382 IF(mint(82).EQ.1.AND.(isub.LE.90.OR.isub.GT.96))
THEN
5385 IF(mint(121).GT.1) CALL
pysave(4,iga)
5389 IF(mint(11).EQ.22.AND.mint(12).EQ.22.AND.mint(123).GE.4.AND.
5390 &
pyr(0).GT.0.5d0)
THEN
5400 IF(mint(47).EQ.2.OR.mint(47).EQ.3) mint(47)=5-mint(47)
5404 rsub=xsec(0,1)*
pyr(0)
5406 IF(msub(i).NE.1) goto 110
5409 IF(rsub.LE.0d0) goto 120
5411 120
IF(isub.EQ.95) isub=96
5412 IF(isub.EQ.96) CALL
pymult(2)
5415 ELSEIF(mint(82).GE.2.AND.isub.EQ.0)
THEN
5416 rsub=vint(131)*
pyr(0)
5418 IF(rsub.GT.sigt(0,0,5)) isub=94
5419 IF(rsub.GT.sigt(0,0,5)+sigt(0,0,4)) isub=93
5420 IF(rsub.GT.sigt(0,0,5)+sigt(0,0,4)+sigt(0,0,3)) isub=92
5421 IF(rsub.GT.sigt(0,0,5)+sigt(0,0,4)+sigt(0,0,3)+sigt(0,0,2))
5423 IF(isub.EQ.96) CALL
pymult(2)
5425 IF(mint(82).EQ.1) ngen(0,1)=ngen(0,1)+1
5426 IF(mint(82).EQ.1) ngen(isub,1)=ngen(isub,1)+1
5427 IF(isub.EQ.96.AND.loop.EQ.1.AND.mint(82).EQ.1)
5428 &ngen(97,1)=ngen(97,1)+1
5433 IF(isub.GE.201.AND.isub.LE.280)
THEN
5435 IF(isub.EQ.210)
THEN
5436 kfpr(isub,1)=ksusy1+11+2*
int(0.5d0+
pyr(0))
5437 kfpr(isub,2)=kfpr(isub,1)+1
5439 ELSEIF(isub.EQ.213)
THEN
5440 kfpr(isub,1)=ksusy1+12+2*
int(0.5d0+
pyr(0))
5441 kfpr(isub,2)=kfpr(isub,1)
5443 ELSEIF(isub.GE.246.AND.isub.LE.259)
THEN
5444 IF(
mod(isub,2).EQ.0)
THEN
5445 kfpr(isub,1)=ksusy1+1+
int(5d0*
pyr(0))
5447 kfpr(isub,1)=ksusy2+1+
int(5d0*
pyr(0))
5450 ELSEIF(isub.GE.271.AND.isub.LE.276)
THEN
5451 IF(isub.EQ.271.OR.isub.EQ.274)
THEN
5454 ELSEIF(isub.EQ.272.OR.isub.EQ.275)
THEN
5457 ELSEIF(
pyr(0).LT.0.5d0)
THEN
5464 kfpr(isub,1)=ksu1+1+
int(5d0*
pyr(0))
5465 kfpr(isub,2)=ksu2+1+
int(5d0*
pyr(0))
5467 ELSEIF(isub.EQ.277.OR.isub.EQ.279)
THEN
5468 kfpr(isub,1)=ksusy1+1+
int(5d0*
pyr(0))
5469 kfpr(isub,2)=kfpr(isub,1)
5470 ELSEIF(isub.EQ.278.OR.isub.EQ.280)
THEN
5471 kfpr(isub,1)=ksusy2+1+
int(5d0*
pyr(0))
5472 kfpr(isub,2)=kfpr(isub,1)
5479 IF(istsb.EQ.1.OR.istsb.EQ.3.OR.istsb.EQ.5)
THEN
5481 ELSEIF(isub.EQ.24.OR.isub.EQ.25.OR.isub.EQ.110.OR.isub.EQ.165.OR.
5482 & isub.EQ.171.OR.isub.EQ.176)
THEN
5484 ELSEIF(isub.EQ.23.OR.isub.EQ.26.OR.isub.EQ.166.OR.isub.EQ.172.OR.
5487 ELSEIF(isub.GE.71.AND.isub.LE.77)
THEN
5489 IF(mstp(46).EQ.5)
THEN
5492 pmas(30,2)=parp(45)**3/(96d0*paru(1)*parp(47)**2)
5494 ELSEIF(isub.EQ.194)
THEN
5498 IF(ckmx.LE.0d0) ckmx=vint(1)
5501 IF(ckin(1).GT.pmas(kcr1,1)+20d0*pmas(kcr1,2).OR.
5502 & ckmx.LT.pmas(kcr1,1)-20d0*pmas(kcr1,2)) kfr1=0
5505 taur1=pmas(kcr1,1)**2/vint(2)
5506 gamr1=pmas(kcr1,1)*pmas(kcr1,2)/vint(2)
5512 IF(isub.EQ.141.OR.isub.EQ.194)
THEN
5514 IF(isub.EQ.194) kfr2=56
5516 taur2=pmas(kcr2,1)**2/vint(2)
5517 gamr2=pmas(kcr2,1)*pmas(kcr2,2)/vint(2)
5518 IF(ckin(1).GT.pmas(kcr2,1)+20d0*pmas(kcr2,2).OR.
5519 & ckmx.LT.pmas(kcr2,1)-20d0*pmas(kcr2,2)) kfr2=0
5520 IF(kfr2.NE.0.AND.kfr1.NE.0)
THEN
5525 ELSEIF(kfr2.NE.0)
THEN
5542 IF(mint(82).GE.2) vint(71)=0d0
5544 IF(istsb.EQ.2.OR.istsb.EQ.4)
THEN
5548 IF(kfpr(isub,i).EQ.0)
THEN
5549 ELSEIF(mstp(42).LE.0.OR.pmas(
pycomp(kfpr(isub,i)),2).LT.
5551 vint(62+i)=pmas(
pycomp(kfpr(isub,i)),1)**2
5556 IF(kflw/ksusy1.EQ.1.OR.kflw/ksusy1.EQ.2)
THEN
5559 DO 130 idc=mdcy(kcw,2),mdcy(kcw,2)+mdcy(kcw,3)-1
5560 IF(mdme(idc,1).GT.0.AND.brat(idc).GT.1
e-4)
THEN
5561 pmsum=pmas(
pycomp(kfdp(idc,1)),1)+
5562 & pmas(
pycomp(kfdp(idc,2)),1)
5563 IF(kfdp(idc,3).NE.0) pmsum=pmsum+
5564 & pmas(
pycomp(kfdp(idc,3)),1)
5565 pmmn(i)=
min(pmmn(i),pmsum)
5568 ELSEIF(kflw.EQ.6)
THEN
5569 pmmn(i)=pmas(24,1)+pmas(5,1)
5576 ckin(41)=
max(pmmn(1),ckin(41))
5577 ckin(43)=
max(pmmn(2),ckin(43))
5578 CALL
pyofsh(4,0,kfpr(isub,1),kfpr(isub,2),0d0,pqm3,pqm4)
5581 IF(mint(51).EQ.1)
THEN
5582 IF(mint(121).GT.1) CALL
pysave(2,iga)
5592 IF(
min(vint(63),vint(64)).LT.ckin(6)**2) mint(71)=1
5593 IF(mint(71).EQ.1) vint(71)=
max(ckin(3),ckin(5))
5599 IF(kfpr(isub,2).GT.0) vint(201)=pmas(
pycomp(kfpr(isub,2)),1)
5601 vint(204)=pmas(23,1)
5602 IF(isub.EQ.124) vint(204)=pmas(24,1)
5603 IF(isub.EQ.121.OR.isub.EQ.122.OR.isub.EQ.181.OR.isub.EQ.182.OR.
5604 & isub.EQ.186.OR.isub.EQ.187) vint(204)=vint(201)
5609 IF(istsb.NE.0.AND.(mint(101).GE.2.OR.mint(102).GE.2).AND.
5610 &(mint(123).EQ.2.OR.mint(123).EQ.5.OR.mint(123).EQ.7))
THEN
5611 vrn=
pyr(0)*sigt(0,0,5)
5612 IF(mint(101).LE.1)
THEN
5619 IF(mint(102).LE.1)
THEN
5630 vrn=vrn-sigt(i1,i2,5)
5631 IF(vrn.LE.0d0) goto 170
5634 170
IF(mint(101).GE.2) mint(103)=kfv1
5635 IF(mint(102).GE.2) mint(104)=kfv2
5646 IF(mint(101).GE.2.OR.mint(102).GE.2)
THEN
5648 vrn=
pyr(0)*sigt(0,0,jj)
5649 IF(mint(101).LE.1)
THEN
5656 IF(mint(102).LE.1)
THEN
5667 vrn=vrn-sigt(i1,i2,jj)
5668 IF(vrn.LE.0d0) goto 200
5671 200
IF(mint(101).GE.2)
THEN
5675 IF(mint(102).GE.2)
THEN
5684 IF(isub.EQ.92.OR.isub.EQ.94) mint(17)=1
5685 IF(isub.EQ.93.OR.isub.EQ.94) mint(18)=1
5690 vint(66+jt)=pdif(jt)
5691 IF(mint(16+jt).EQ.1) pdif(jt)=pdif(jt)+parp(102)
5698 smres1=(pmm(1)+pmrc)**2
5699 smres2=(pmm(2)+pmrc)**2
5702 iha=
max(2,iabs(mint(103))/110)
5704 ihb=
max(2,iabs(mint(104))/110)
5707 bmn=2d0*bhad(iha)+2d0*bhad(ihb)+4d0*sh**eps-4.2d0
5708 ELSEIF(isub.EQ.92)
THEN
5709 bmn=
max(2d0,2d0*bhad(ihb))
5710 ELSEIF(isub.EQ.93)
THEN
5711 bmn=
max(2d0,2d0*bhad(iha))
5712 ELSEIF(isub.EQ.94)
THEN
5717 sqla12=(sh-sqm1-
sqm2)**2-4d0*sqm1*
sqm2
5718 sqla34=(sh-sqm3-sqm4)**2-4d0*sqm3*sqm4
5719 tha=sh-(sqm1+
sqm2+sqm3+sqm4)+(sqm1-
sqm2)*(sqm3-sqm4)/sh
5721 thc=(sqm3-sqm1)*(sqm4-
sqm2)+(sqm1+sqm4-
sqm2-sqm3)*
5722 & (sqm1*sqm4-
sqm2*sqm3)/sh
5723 thl=-0.5d0*(tha+
thb)
5725 thrnd=
exp(
max(-50d0,bmn*(thl-thu)))-1d0
5729 IF(mint(16+jt).EQ.0)
THEN
5733 pmmax=
max(vint(2+jt),vint(1)-pdif(3-jt))
5734 pdif(2+jt)=pmmin*(pmmax/pmmin)**
pyr(0)
5741 IF(pdif(3)+pdif(4).GE.vint(1)) goto 220
5743 fsd=(1d0-sqm3/sh)*(1d0+cres*smres1/(smres1+sqm3))
5744 IF(fsd.LT.
pyr(0)*(1d0+cres)) goto 220
5745 ELSEIF(isub.EQ.93)
THEN
5746 fsd=(1d0-sqm4/sh)*(1d0+cres*smres2/(smres2+sqm4))
5747 IF(fsd.LT.
pyr(0)*(1d0+cres)) goto 220
5748 ELSEIF(isub.EQ.94)
THEN
5749 fdd=(1d0-(pdif(3)+pdif(4))**2/sh)*(sh*smp/
5750 & (sh*smp+sqm3*sqm4))*(1d0+cres*smres1/(smres1+sqm3))*
5751 & (1d0+cres*smres2/(smres2+sqm4))
5752 IF(fdd.LT.
pyr(0)*(1d0+cres)**2) goto 220
5756 th=thu+
log(1d0+thrnd*
pyr(0))/bmn
5759 badd=2d0*alp*
log(sh/sqm3)
5760 IF(bhad(ihb).LT.1d0) badd=
max(0d0,badd+2d0*bhad(ihb)-2d0)
5761 ELSEIF(isub.EQ.93)
THEN
5762 badd=2d0*alp*
log(sh/sqm4)
5763 IF(bhad(iha).LT.1d0) badd=
max(0d0,badd+2d0*bhad(iha)-2d0)
5764 ELSEIF(isub.EQ.94)
THEN
5765 badd=2d0*alp*(
log(
exp(4d0)+sh/(alp*sqm3*sqm4))-4d0)
5767 IF(
exp(
max(-50d0,badd*(th-thu))).LT.
pyr(0)) goto 220
5771 sqla34=(sh-sqm3-sqm4)**2-4d0*sqm3*sqm4
5772 tha=sh-(sqm1+
sqm2+sqm3+sqm4)+(sqm1-
sqm2)*(sqm3-sqm4)/sh
5774 IF(
thb.LE.1
d-8) goto 220
5775 thc=(sqm3-sqm1)*(sqm4-
sqm2)+(sqm1+sqm4-
sqm2-sqm3)*
5776 & (sqm1*sqm4-
sqm2*sqm3)/sh
5777 thlm=-0.5d0*(tha+
thb)
5779 IF(th.LT.thlm.OR.th.GT.thum) goto 220
5784 vint(23)=
min(1d0,
max(-1d0,(tha+2d0*th)/
thb))
5786 vint(59)=2d0*
sqrt(
max(0d0,-(thc+tha*th+th**2)))/
thb
5799 ELSEIF(istsb.GE.1.AND.istsb.LE.5)
THEN
5801 IF(mint(51).NE.0)
THEN
5802 IF(mint(121).GT.1) CALL
pysave(2,iga)
5811 IF(rtau.GT.coef(isub,1)) mtau=2
5812 IF(rtau.GT.coef(isub,1)+coef(isub,2)) mtau=3
5813 IF(rtau.GT.coef(isub,1)+coef(isub,2)+coef(isub,3)) mtau=4
5814 IF(rtau.GT.coef(isub,1)+coef(isub,2)+coef(isub,3)+coef(isub,4))
5816 IF(rtau.GT.coef(isub,1)+coef(isub,2)+coef(isub,3)+coef(isub,4)+
5817 & coef(isub,5)) mtau=6
5818 IF(rtau.GT.coef(isub,1)+coef(isub,2)+coef(isub,3)+coef(isub,4)+
5819 & coef(isub,5)+coef(isub,6)) mtau=7
5826 IF(istsb.GE.3.AND.istsb.LE.5)
THEN
5828 IF(mint(51).NE.0)
THEN
5829 IF(mint(121).GT.1) CALL
pysave(2,iga)
5838 IF(rtaup.GT.coef(isub,18)) mtaup=2
5839 IF(rtaup.GT.coef(isub,18)+coef(isub,19)) mtaup=3
5849 IF(mint(51).NE.0)
THEN
5850 IF(mint(121).GT.1) CALL
pysave(2,iga)
5859 IF(ryst.GT.coef(isub,8)) myst=2
5860 IF(ryst.GT.coef(isub,8)+coef(isub,9)) myst=3
5861 IF(ryst.GT.coef(isub,8)+coef(isub,9)+coef(isub,10)) myst=4
5862 IF(ryst.GT.coef(isub,8)+coef(isub,9)+coef(isub,10)+
5863 & coef(isub,11)) myst=5
5873 IF(mint(51).NE.0)
THEN
5874 IF(mint(121).GT.1) CALL
pysave(2,iga)
5881 IF(istsb.EQ.2.OR.istsb.EQ.4)
THEN
5884 IF(rcth.GT.coef(isub,13)) mcth=2
5885 IF(rcth.GT.coef(isub,13)+coef(isub,14)) mcth=3
5886 IF(rcth.GT.coef(isub,13)+coef(isub,14)+coef(isub,15)) mcth=4
5887 IF(rcth.GT.coef(isub,13)+coef(isub,14)+coef(isub,15)+
5888 & coef(isub,16)) mcth=5
5895 IF(mint(51).NE.0)
THEN
5896 IF(mint(121).GT.1) CALL
pysave(2,iga)
5906 ELSEIF(istsb.EQ.9)
THEN
5911 ELSEIF(istsb.EQ.11)
THEN
5917 IF(mint(82).EQ.1)
THEN
5918 ngen(0,1)=ngen(0,1)-1
5919 ngen(0,2)=ngen(0,2)-1
5920 ngen(isub,1)=ngen(isub,1)-1
5922 IF(mint(121).GT.1) CALL
pysave(2,iga)
5929 vint(41)=2d0*pup(1,4)/vint(1)
5930 vint(42)=2d0*pup(2,4)/vint(1)
5931 vint(21)=vint(41)*vint(42)
5932 vint(22)=0.5d0*
log(vint(41)/vint(42))
5933 vint(44)=vint(21)*vint(2)
5934 vint(43)=
sqrt(
max(0d0,vint(44)))
5936 vint(55)=
sqrt(
max(0d0,vint(56)))
5941 vint(45)=-0.5d0*vint(44)
5942 vint(46)=-0.5d0*vint(44)
5952 IF(kup(iup,1).EQ.1) vint(25)=vint(25)+2d0*(pup(iup,5)**2+
5953 & pup(iup,1)**2+pup(iup,2)**2)/vint(1)
5954 IF(kup(iup,1).EQ.1) vint(48)=vint(48)+0.5d0*(pup(iup,1)**2+
5957 vint(47)=
sqrt(vint(48))
5960 IF(mint(47).GE.2)
THEN
5961 DO 260 i=3-
min(2,mint(45)),
min(2,mint(46))
5962 mint(105)=mint(102+i)
5963 mint(109)=mint(106+i)
5964 IF(mstp(57).LE.1)
THEN
5965 CALL
pypdfu(mint(10+i),vint(40+i),q2up(0),xpq)
5967 CALL
pypdfl(mint(10+i),vint(40+i),q2up(0),xpq)
5970 xsfx(i,kfl)=xpq(kfl)
5977 vint(24)=paru(2)*
pyr(0)
5981 IF((isub.LE.90.OR.isub.GT.100).AND.istsb.LE.10) CALL
pyklim(0)
5982 IF(mint(51).NE.0)
THEN
5983 IF(mint(121).GT.1) CALL
pysave(2,iga)
5990 IF(mint(82).EQ.1.AND.mstp(141).GE.1.AND.istsb.LE.10)
THEN
5992 IF(msub(91)+msub(92)+msub(93)+msub(94)+msub(95).EQ.0)
5995 IF(mint(121).GT.1) CALL
pysave(2,iga)
6005 IF(istsb.LE.10) CALL
pysigh(nchn,sigs)
6010 IF(mstp(173).EQ.1)
THEN
6013 sigh(ichn)=parp(173)*sigh(ichn)
6015 siglpt=parp(173)*siglpt
6021 IF(mint(82).EQ.1.AND.mstp(142).GE.1)
THEN
6022 IF(isub.NE.96.AND.msub(91)+msub(92)+msub(93)+msub(94)+
6023 & msub(95).EQ.0) CALL
pyevwt(wtxs)
6026 IF(mstp(142).EQ.1) vint(100)=1d0/wtxs
6030 IF(mint(82).EQ.1.AND.isub.LE.90.OR.isub.GE.96)
THEN
6031 IF(mstp(142).LE.1)
THEN
6032 xsec(isub,2)=xsec(isub,2)+sigs
6034 xsec(isub,2)=xsec(isub,2)+sigswt
6036 ELSEIF(mint(82).EQ.1)
THEN
6037 xsec(isub,2)=xsec(isub,2)+sigs
6039 IF((isub.EQ.95.OR.isub.EQ.96).AND.loop.EQ.1.AND.mint(82).EQ.1)
6040 &xsec(97,2)=xsec(97,2)+siglpt
6043 IF(mint(50).EQ.1.AND.mstp(82).GE.3)
THEN
6049 viol=sigswt/xsec(isub,1)
6050 IF(isub.EQ.96.AND.mstp(173).EQ.1) viol=viol/parp(174)
6051 IF(mstp(123).LE.0)
THEN
6052 IF(viol.LT.-1
d-3)
THEN
6053 WRITE(mstu(11),5000) viol,ngen(0,3)+1
6054 IF(mstp(122).GE.1)
WRITE(mstu(11),5100) isub,vint(21),
6055 & vint(22),vint(23),vint(26)
6059 IF(viol.LT.
min(-1
d-3,vint(109)))
THEN
6061 WRITE(mstu(11),5200) viol,ngen(0,3)+1
6062 IF(mstp(122).GE.1)
WRITE(mstu(11),5100) isub,vint(21),
6063 & vint(22),vint(23),vint(26)
6069 IF(viol.LT.
pyr(0))
THEN
6070 IF(mint(121).GT.1) CALL
pysave(2,iga)
6073 ELSEIF(isub.NE.95.AND.isub.NE.96)
THEN
6074 IF(viol.LT.
pyr(0))
THEN
6076 IF(mint(121).GT.1) CALL
pysave(2,iga)
6080 ratnd=siglpt/xsec(95,1)
6081 IF(loop.EQ.1.AND.ratnd.LT.
pyr(0))
THEN
6083 IF(mint(121).GT.1) CALL
pysave(2,iga)
6087 IF(viol.LT.
pyr(0))
THEN
6088 IF(mint(121).GT.1) CALL
pysave(2,iga)
6095 IF(mstp(123).LE.0)
THEN
6096 IF(viol.GT.1d0)
THEN
6097 WRITE(mstu(11),5300) viol,ngen(0,3)+1
6098 IF(mstp(122).GE.2)
WRITE(mstu(11),5100) isub,vint(21),
6099 & vint(22),vint(23),vint(26)
6102 ELSEIF(mstp(123).EQ.1)
THEN
6103 IF(viol.GT.vint(108))
THEN
6105 IF(viol.GT.1d0)
THEN
6107 WRITE(mstu(11),5400) viol,ngen(0,3)+1
6108 IF(mstp(122).GE.2)
WRITE(mstu(11),5100) isub,vint(21),
6109 & vint(22),vint(23),vint(26)
6112 ELSEIF(viol.GT.vint(108))
THEN
6114 IF(viol.GT.1d0)
THEN
6116 xdif=xsec(isub,1)*(viol-1d0)
6117 xsec(isub,1)=xsec(isub,1)+xdif
6118 IF(msub(isub).EQ.1.AND.(isub.LE.90.OR.isub.GT.96))
6119 & xsec(0,1)=xsec(0,1)+xdif
6120 WRITE(mstu(11),5400) viol,ngen(0,3)+1
6121 IF(mstp(122).GE.2)
WRITE(mstu(11),5100) isub,vint(21),
6122 & vint(22),vint(23),vint(26)
6124 WRITE(mstu(11),5500) isub,xsec(isub,1)
6125 ELSEIF(isub.LE.99)
THEN
6126 WRITE(mstu(11),5600) isub,xsec(isub,1)
6128 WRITE(mstu(11),5700) isub,xsec(isub,1)
6136 IF(mint(50).EQ.1.AND.(isub.LE.90.OR.isub.GE.96).AND.
6137 &mstp(82).GE.3)
THEN
6139 IF(vint(150).LT.
pyr(0))
THEN
6140 IF(mint(121).GT.1) CALL
pysave(2,iga)
6148 IF(mint(82).EQ.1) ngen(0,2)=ngen(0,2)+1
6149 IF(mint(82).EQ.1.AND.msub(95).EQ.1)
THEN
6150 IF(isub.LE.90.OR.isub.GE.95) ngen(95,1)=ngen(95,1)+1
6151 IF(isub.LE.90.OR.isub.GE.96) ngen(96,2)=ngen(96,2)+1
6153 IF(isub.LE.90.OR.isub.GE.96) mint(31)=mint(31)+1
6156 IF(istsb.GE.11) goto 290
6159 rqqbar=parp(87)*(1d0-(qt2/(qt2+(parp(88)*parp(82))**2))**2)
6160 IF(isub.NE.95.AND.(isub.NE.96.OR.mstp(82).LE.1.OR.
6161 &
pyr(0).GT.rqqbar))
THEN
6165 mint(2)=isig(ichn,3)
6166 rsigs=rsigs-sigh(ichn)
6167 IF(rsigs.LE.0d0) goto 290
6171 ELSEIF(isub.EQ.96)
THEN
6174 CALL
pyspli(mint(11),21,kfl1,kfldum)
6177 CALL
pyspli(mint(12),21,kfl2,kfldum)
6180 IF(kfl1.EQ.kfl2.AND.
pyr(0).LT.0.5d0) mint(2)=2
6188 IF(rsigs.GT.1d0) mint(2)=2
6189 IF(rsigs.GT.2d0) mint(2)=3
6193 290
IF(mint(2).GT.10)
THEN
6195 mint(2)=
mod(mint(2),10)
6197 IF(mint(82).EQ.1.AND.mstp(111).GE.0) ngen(mint(1),2)=
6213 IF(jt.EQ.1.AND.mint(43).LE.2) mspli=1
6214 IF(jt.EQ.2.AND.
mod(mint(43),2).EQ.1) mspli=1
6215 IF(iabs(mint(14+jt)).LE.8.OR.mint(14+jt).EQ.21) mspli=mspli+1
6220 mint(105)=mint(102+jt)
6221 mint(109)=mint(106+jt)
6222 IF(mstp(57).LE.1)
THEN
6223 CALL
pypdfu(22,xhrd,q2hrd,xpq)
6225 CALL
pypdfl(22,xhrd,q2hrd,xpq)
6228 IF(mstp(13).EQ.2)
THEN
6229 q2pms=q2hrd/pmas(11,1)**2
6230 wtmx=wtmx*
log(
max(2d0,q2pms*(1d0-xhrd)/xhrd**2))
6233 xg=
min(0.999999d0,xhrd/xe)
6234 IF(mstp(57).LE.1)
THEN
6235 CALL
pypdfu(22,xg,q2hrd,xpq)
6237 CALL
pypdfl(22,xg,q2hrd,xpq)
6239 wt=(1d0+(1d0-xe)**2)*xpq(kflh)
6240 IF(mstp(13).EQ.2) wt=wt*
log(
max(2d0,q2pms*(1d0-xe)/xe**2))
6241 IF(wt.LT.
pyr(0)*wtmx) goto 300
6245 xsfx(jt,kfls)=xpq(kfls)
6251 IF(mint(107).EQ.3) vint(283)=parp(15)**2*
6252 &(vint(54)/parp(15)**2)**
pyr(0)
6253 IF(mint(108).EQ.3) vint(284)=parp(15)**2*
6254 &(vint(54)/parp(15)**2)**
pyr(0)
6255 IF(mint(121).GT.1) CALL
pysave(2,iga)
6258 5000
FORMAT(/1
x,
'Error: negative cross-section fraction',1
p,d11.3,1
x,
6259 &
'in event',1
x,i7,
'D0'/1
x,
'Execution stopped!')
6260 5100
FORMAT(1
x,
'ISUB = ',i3,
'; Point of violation:'/1
x,
'tau =',1
p,
6261 &d11.3,
', y* =',d11.3,
', cthe = ',0
p,f11.7,
', tau'' =',1
p,d11.3)
6262 5200
FORMAT(/1
x,
'Warning: negative cross-section fraction',1
p,d11.3,1
x,
6264 5300
FORMAT(/1
x,
'Error: maximum violated by',1
p,d11.3,1
x,
6265 &
'in event',1
x,i7,
'D0'/1
x,
'Execution stopped!')
6266 5400
FORMAT(/1
x,
'Advisory warning: maximum violated by',1
p,d11.3,1
x,
6268 5500
FORMAT(1
x,
'XSEC(',i1,
',1) increased to',1
p,d11.3)
6269 5600
FORMAT(1
x,
'XSEC(',i2,
',1) increased to',1
p,d11.3)
6270 5700
FORMAT(1
x,
'XSEC(',i3,
',1) increased to',1
p,d11.3)
6284 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
6287 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
6289 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
6290 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
6291 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
6292 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
6293 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
6294 common/pypars/mstp(200),parp(200),msti(200),pari(200)
6295 common/pyint1/mint(400),vint(400)
6296 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
6297 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
6298 common/pyint4/mwid(500),wids(500,5)
6299 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
6300 common/pyuppr/nup,kup(20,7),nfup,ifup(10,2),pup(20,5),q2up(0:10)
6301 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
6304 &/pyint1/,/pyint2/,/pyint3/,/pyint4/,/pyint5/,/pyuppr/,/pyssmt/
6306 dimension wdtp(0:200),wdte(0:200,0:5),pmq(2),
z(2),cthe(2),
6307 &
phi(2),kuppo(20),vintsv(41:66)
6315 IF(isub.EQ.95.AND.mint(57).GE.1)
THEN
6317 100 vint(j)=vintsv(j)
6323 IF((isub.GE.151.AND.isub.LE.160).OR.(isub.GE.171.AND.
6326 IF(
mod(isub-1,10).GE.5) ihigg=3
6328 IF(isub.EQ.151.OR.isub.EQ.156) isub=3
6329 IF(isub.EQ.152.OR.isub.EQ.157) isub=102
6330 IF(isub.EQ.153.OR.isub.EQ.158) isub=103
6331 IF(isub.EQ.171.OR.isub.EQ.176) isub=24
6332 IF(isub.EQ.172.OR.isub.EQ.177) isub=26
6333 IF(isub.EQ.173.OR.isub.EQ.178) isub=123
6334 IF(isub.EQ.174.OR.isub.EQ.179) isub=124
6335 IF(isub.EQ.181.OR.isub.EQ.186) isub=121
6336 IF(isub.EQ.182.OR.isub.EQ.187) isub=122
6341 IF(isub.EQ.95) idoc=8
6342 IF(iset(isub).EQ.5) idoc=9
6343 IF(iset(isub).EQ.11) idoc=4+nup
6345 IF(idoc.GE.9.AND.iset(isub).LE.4) idoc=idoc+2
6355 DO 120 jt=1,mstp(126)+20
6368 p(i,j)=vint(285+5*jt+j)
6377 shp=vint(26)*vint(2)
6380 IF(iset(isub).GE.3.AND.iset(isub).LE.5) shuser=shpr
6385 k(i,3)=mint(83)+2+jt
6386 p(i,3)=0.5d0*shuser*(-1d0)**(jt-1)
6403 IF(isub.EQ.12.OR.isub.EQ.53.OR.isub.EQ.54.OR.isub.EQ.58)
THEN
6405 IF(isub.EQ.58) iglga=22
6406 CALL
pywidt(iglga,sh,wdtp,wdte)
6407 180 rkfl=(wdte(0,1)+wdte(0,2)+wdte(0,4))*
pyr(0)
6408 DO 190 i=1,mdcy(iglga,3)
6409 kflf=kfdp(i+mdcy(iglga,2)-1,1)
6410 rkfl=rkfl-(wdte(i,1)+wdte(i,2)+wdte(i,4))
6411 IF(rkfl.LE.0d0) goto 200
6414 IF(isub.EQ.12.AND.mstp(5).EQ.1.AND.iabs(mint(15)).LE.2.AND.
6415 & iabs(kflf).GE.3)
THEN
6416 facqqb=vint(58)**2*4d0/9d0*(vint(45)**2+vint(46)**2)/
6418 faccib=vint(46)**2/paru(155)**4
6419 IF(facqqb/(facqqb+faccib).LT.
pyr(0)) goto 180
6420 ELSEIF(isub.EQ.54)
THEN
6421 IF((kchg(
pycomp(kflf),1)/2d0)**2.LT.
pyr(0)) goto 180
6422 ELSEIF(isub.EQ.58)
THEN
6423 IF((kchg(
pycomp(kflf),1)/3d0)**2.LT.
pyr(0)) goto 180
6434 kcs=isign(1,mint(15))
6436 IF(iset(isub).EQ.11)
THEN
6440 IF(kup(iup,1).NE.1)
THEN
6441 ELSEIF(irup.LE.5)
THEN
6443 mint(20+irup)=kup(iup,2)
6447 ELSEIF(isub.LE.10)
THEN
6452 ELSEIF(isub.EQ.2)
THEN
6454 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
6455 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
6456 kfres=isign(24,kch1+kch2)
6458 ELSEIF(isub.EQ.3)
THEN
6462 ELSEIF(isub.EQ.4)
THEN
6465 ELSEIF(isub.EQ.5)
THEN
6473 zmin=2d0*pmq(jt)/shpr
6474 zmax=1d0-pmq(3-jt)/shpr-(sh-pmq(jt)**2)/
6475 & (shpr*(shpr-pmq(3-jt)))
6476 zmax=
min(1d0-xh,zmax)
6477 z(jt)=zmin+(zmax-zmin)*
pyr(0)
6478 IF(-1d0+(1d0+xh)/(1d0-
z(jt))-xh/(1d0-
z(jt))**2.LT.
6479 & (1d0-xh)**2/(4d0*xh)*
pyr(0)) goto 220
6480 sqc1=1d0-4d0*pmq(jt)**2/(
z(jt)**2*shp)
6481 IF(sqc1.LT.1.
d-8) goto 220
6483 c2=1d0+2d0*(pmas(23,1)**2-pmq(jt)**2)/(
z(jt)*shp)
6484 cthe(jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
6485 cthe(jt)=
min(1d0,
max(-1d0,cthe(jt)))
6486 z(3-jt)=1d0-xh/(1d0-
z(jt))
6487 sqc1=1d0-4d0*pmq(3-jt)**2/(
z(3-jt)**2*shp)
6488 IF(sqc1.LT.1.
d-8) goto 220
6490 c2=1d0+2d0*(pmas(23,1)**2-pmq(3-jt)**2)/(
z(3-jt)*shp)
6491 cthe(3-jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
6492 cthe(3-jt)=
min(1d0,
max(-1d0,cthe(3-jt)))
6495 ang=cthe(1)*cthe(2)-
sqrt(1d0-cthe(1)**2)*
6496 &
sqrt(1d0-cthe(2)**2)*cphi
6498 z2=ang*
sqrt(
z(jt)**2-4d0*pmq(jt)**2/shp)
6499 z3=1d0-
z(jt)-xh+(pmq(1)**2+pmq(2)**2)/shp
6500 z(3-jt)=2d0/(z1**2-z2**2)*(z1*z3+z2*
sqrt(z3**2-(z1**2-z2**2)*
6501 & pmq(3-jt)**2/shp))
6502 zmin=2d0*pmq(3-jt)/shpr
6503 zmax=1d0-pmq(jt)/shpr-(sh-pmq(3-jt)**2)/(shpr*(shpr-pmq(jt)))
6504 zmax=
min(1d0-xh,zmax)
6505 IF(
z(3-jt).LT.zmin.OR.
z(3-jt).GT.zmax) goto 220
6509 ELSEIF(isub.EQ.6)
THEN
6512 ELSEIF(isub.EQ.7)
THEN
6515 ELSEIF(isub.EQ.8)
THEN
6522 rvckm=vint(180+i)*
pyr(0)
6525 ipm=(5-isign(1,i))/2
6527 IF(mdme(idc,1).NE.1.AND.mdme(idc,1).NE.ipm) goto 240
6528 mint(20+jt)=isign(ib,i)
6529 rvckm=rvckm-vckm((ia+1)/2,(ib+1)/2)
6530 IF(rvckm.LE.0d0) goto 250
6533 ib=2*((ia+1)/2)-1+
mod(ia,2)
6534 mint(20+jt)=isign(ib,i)
6536 250 pmq(jt)=
pymass(mint(20+jt))
6539 zmin=2d0*pmq(jt)/shpr
6540 zmax=1d0-pmq(3-jt)/shpr-(sh-pmq(jt)**2)/
6541 & (shpr*(shpr-pmq(3-jt)))
6542 zmax=
min(1d0-xh,zmax)
6543 IF(zmin.GE.zmax) goto 230
6544 z(jt)=zmin+(zmax-zmin)*
pyr(0)
6545 IF(-1d0+(1d0+xh)/(1d0-
z(jt))-xh/(1d0-
z(jt))**2.LT.
6546 & (1d0-xh)**2/(4d0*xh)*
pyr(0)) goto 230
6547 sqc1=1d0-4d0*pmq(jt)**2/(
z(jt)**2*shp)
6548 IF(sqc1.LT.1.
d-8) goto 230
6550 c2=1d0+2d0*(pmas(24,1)**2-pmq(jt)**2)/(
z(jt)*shp)
6551 cthe(jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
6552 cthe(jt)=
min(1d0,
max(-1d0,cthe(jt)))
6553 z(3-jt)=1d0-xh/(1d0-
z(jt))
6554 sqc1=1d0-4d0*pmq(3-jt)**2/(
z(3-jt)**2*shp)
6555 IF(sqc1.LT.1.
d-8) goto 230
6557 c2=1d0+2d0*(pmas(24,1)**2-pmq(3-jt)**2)/(
z(3-jt)*shp)
6558 cthe(3-jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
6559 cthe(3-jt)=
min(1d0,
max(-1d0,cthe(3-jt)))
6562 ang=cthe(1)*cthe(2)-
sqrt(1d0-cthe(1)**2)*
6563 &
sqrt(1d0-cthe(2)**2)*cphi
6565 z2=ang*
sqrt(
z(jt)**2-4d0*pmq(jt)**2/shp)
6566 z3=1d0-
z(jt)-xh+(pmq(1)**2+pmq(2)**2)/shp
6567 z(3-jt)=2d0/(z1**2-z2**2)*(z1*z3+z2*
sqrt(z3**2-(z1**2-z2**2)*
6568 & pmq(3-jt)**2/shp))
6569 zmin=2d0*pmq(3-jt)/shpr
6570 zmax=1d0-pmq(jt)/shpr-(sh-pmq(3-jt)**2)/(shpr*(shpr-pmq(jt)))
6571 zmax=
min(1d0-xh,zmax)
6572 IF(
z(3-jt).LT.zmin.OR.
z(3-jt).GT.zmax) goto 230
6576 ELSEIF(isub.EQ.10)
THEN
6578 IF(mint(2).EQ.1)
THEN
6586 rvckm=vint(180+i)*
pyr(0)
6589 ipm=(5-isign(1,i))/2
6591 IF(mdme(idc,1).NE.1.AND.mdme(idc,1).NE.ipm) goto 270
6592 mint(20+jt)=isign(ib,i)
6593 rvckm=rvckm-vckm((ia+1)/2,(ib+1)/2)
6594 IF(rvckm.LE.0d0) goto 280
6597 ib=2*((ia+1)/2)-1+
mod(ia,2)
6598 mint(20+jt)=isign(ib,i)
6605 ELSEIF(isub.LE.20)
THEN
6609 IF(mint(15)*mint(16).LT.0) kcc=kcc+2
6611 ELSEIF(isub.EQ.12)
THEN
6613 mint(21)=isign(kflf,mint(15))
6617 ELSEIF(isub.EQ.13)
THEN
6623 ELSEIF(isub.EQ.14)
THEN
6625 IF(
pyr(0).GT.0.5d0) js=2
6630 ELSEIF(isub.EQ.15)
THEN
6632 IF(
pyr(0).GT.0.5d0) js=2
6637 ELSEIF(isub.EQ.16)
THEN
6639 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
6640 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
6641 IF(mint(15)*(kch1+kch2).LT.0) js=2
6643 mint(23-js)=isign(24,kch1+kch2)
6646 ELSEIF(isub.EQ.17)
THEN
6648 IF(
pyr(0).GT.0.5d0) js=2
6653 ELSEIF(isub.EQ.18)
THEN
6658 ELSEIF(isub.EQ.19)
THEN
6660 IF(
pyr(0).GT.0.5d0) js=2
6664 ELSEIF(isub.EQ.20)
THEN
6667 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
6668 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
6669 IF(mint(15)*(kch1+kch2).LT.0) js=2
6671 mint(23-js)=isign(24,kch1+kch2)
6674 ELSEIF(isub.LE.30)
THEN
6677 IF(
pyr(0).GT.0.5d0) js=2
6681 ELSEIF(isub.EQ.22)
THEN
6686 ELSEIF(isub.EQ.23)
THEN
6688 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
6689 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
6690 IF(mint(15)*(kch1+kch2).LT.0) js=2
6692 mint(23-js)=isign(24,kch1+kch2)
6694 ELSEIF(isub.EQ.24)
THEN
6696 IF(
pyr(0).GT.0.5d0) js=2
6700 ELSEIF(isub.EQ.25)
THEN
6702 mint(21)=-isign(24,mint(15))
6705 ELSEIF(isub.EQ.26)
THEN
6708 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
6709 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
6710 IF(mint(15)*(kch1+kch2).GT.0) js=2
6711 mint(20+js)=isign(24,kch1+kch2)
6714 ELSEIF(isub.EQ.27)
THEN
6717 ELSEIF(isub.EQ.28)
THEN
6720 IF(mint(15).EQ.21) kcc=kcc+2
6721 IF(mint(15).NE.21) kcs=isign(1,mint(15))
6722 IF(mint(16).NE.21) kcs=isign(1,mint(16))
6724 ELSEIF(isub.EQ.29)
THEN
6726 IF(mint(15).EQ.21) js=2
6729 kcs=isign(1,mint(14+js))
6731 ELSEIF(isub.EQ.30)
THEN
6733 IF(mint(15).EQ.21) js=2
6736 kcs=isign(1,mint(14+js))
6739 ELSEIF(isub.LE.40)
THEN
6742 IF(mint(15).EQ.21) js=2
6745 mint(23-js)=isign(24,kchg(ia,1)*i)
6746 rvckm=vint(180+i)*
pyr(0)
6749 ipm=(5-isign(1,i))/2
6751 IF(mdme(idc,1).NE.1.AND.mdme(idc,1).NE.ipm) goto 290
6752 mint(20+js)=isign(ib,i)
6753 rvckm=rvckm-vckm((ia+1)/2,(ib+1)/2)
6754 IF(rvckm.LE.0d0) goto 300
6757 kcs=isign(1,mint(14+js))
6759 ELSEIF(isub.EQ.32)
THEN
6761 IF(mint(15).EQ.21) js=2
6764 kcs=isign(1,mint(14+js))
6766 ELSEIF(isub.EQ.33)
THEN
6768 IF(mint(15).EQ.22) js=2
6771 kcs=isign(1,mint(14+js))
6773 ELSEIF(isub.EQ.34)
THEN
6775 IF(mint(15).EQ.22) js=2
6777 kcs=isign(1,mint(14+js))
6779 ELSEIF(isub.EQ.35)
THEN
6781 IF(mint(15).EQ.22) js=2
6785 ELSEIF(isub.EQ.36)
THEN
6787 IF(mint(15).EQ.22) js=2
6790 mint(23-js)=isign(24,kchg(ia,1)*i)
6792 rvckm=vint(180+i)*
pyr(0)
6795 ipm=(5-isign(1,i))/2
6797 IF(mdme(idc,1).NE.1.AND.mdme(idc,1).NE.ipm) goto 310
6798 mint(20+js)=isign(ib,i)
6799 rvckm=rvckm-vckm((ia+1)/2,(ib+1)/2)
6800 IF(rvckm.LE.0d0) goto 320
6803 ib=2*((ia+1)/2)-1+
mod(ia,2)
6804 mint(20+js)=isign(ib,i)
6808 ELSEIF(isub.EQ.37)
THEN
6811 ELSEIF(isub.EQ.38)
THEN
6814 ELSEIF(isub.EQ.39)
THEN
6817 ELSEIF(isub.EQ.40)
THEN
6821 ELSEIF(isub.LE.50)
THEN
6825 ELSEIF(isub.EQ.42)
THEN
6828 ELSEIF(isub.EQ.43)
THEN
6831 ELSEIF(isub.EQ.44)
THEN
6834 ELSEIF(isub.EQ.45)
THEN
6837 ELSEIF(isub.EQ.46)
THEN
6840 ELSEIF(isub.EQ.47)
THEN
6843 ELSEIF(isub.EQ.48)
THEN
6846 ELSEIF(isub.EQ.49)
THEN
6849 ELSEIF(isub.EQ.50)
THEN
6853 ELSEIF(isub.LE.60)
THEN
6857 ELSEIF(isub.EQ.52)
THEN
6860 ELSEIF(isub.EQ.53)
THEN
6862 kcs=(-1)**
int(1.5d0+
pyr(0))
6863 mint(21)=isign(kflf,kcs)
6867 ELSEIF(isub.EQ.54)
THEN
6869 kcs=(-1)**
int(1.5d0+
pyr(0))
6870 mint(21)=isign(kflf,kcs)
6873 IF(mint(16).EQ.21) kcc=28
6875 ELSEIF(isub.EQ.55)
THEN
6878 ELSEIF(isub.EQ.56)
THEN
6881 ELSEIF(isub.EQ.57)
THEN
6884 ELSEIF(isub.EQ.58)
THEN
6886 kcs=(-1)**
int(1.5d0+
pyr(0))
6887 mint(21)=isign(kflf,kcs)
6891 ELSEIF(isub.EQ.59)
THEN
6894 ELSEIF(isub.EQ.60)
THEN
6898 ELSEIF(isub.LE.70)
THEN
6902 ELSEIF(isub.EQ.62)
THEN
6905 ELSEIF(isub.EQ.63)
THEN
6908 ELSEIF(isub.EQ.64)
THEN
6911 ELSEIF(isub.EQ.65)
THEN
6914 ELSEIF(isub.EQ.66)
THEN
6917 ELSEIF(isub.EQ.67)
THEN
6920 ELSEIF(isub.EQ.68)
THEN
6923 kcs=(-1)**
int(1.5d0+
pyr(0))
6925 ELSEIF(isub.EQ.69)
THEN
6931 ELSEIF(isub.EQ.70)
THEN
6933 IF(mint(15).EQ.22) mint(21)=23
6934 IF(mint(16).EQ.22) mint(22)=23
6938 ELSEIF(isub.LE.80)
THEN
6939 IF(isub.EQ.71.OR.isub.EQ.72)
THEN
6947 zmin=2d0*pmq(jt)/shpr
6948 zmax=1d0-pmq(3-jt)/shpr-(sh-pmq(jt)**2)/
6949 & (shpr*(shpr-pmq(3-jt)))
6950 zmax=
min(1d0-xh,zmax)
6951 z(jt)=zmin+(zmax-zmin)*
pyr(0)
6952 IF(-1d0+(1d0+xh)/(1d0-
z(jt))-xh/(1d0-
z(jt))**2.LT.
6953 & (1d0-xh)**2/(4d0*xh)*
pyr(0)) goto 330
6954 sqc1=1d0-4d0*pmq(jt)**2/(
z(jt)**2*shp)
6955 IF(sqc1.LT.1.
d-8) goto 330
6957 c2=1d0+2d0*(pmas(23,1)**2-pmq(jt)**2)/(
z(jt)*shp)
6958 cthe(jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
6959 cthe(jt)=
min(1d0,
max(-1d0,cthe(jt)))
6960 z(3-jt)=1d0-xh/(1d0-
z(jt))
6961 sqc1=1d0-4d0*pmq(3-jt)**2/(
z(3-jt)**2*shp)
6962 IF(sqc1.LT.1.
d-8) goto 330
6964 c2=1d0+2d0*(pmas(23,1)**2-pmq(3-jt)**2)/(
z(3-jt)*shp)
6965 cthe(3-jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
6966 cthe(3-jt)=
min(1d0,
max(-1d0,cthe(3-jt)))
6969 ang=cthe(1)*cthe(2)-
sqrt(1d0-cthe(1)**2)*
6970 &
sqrt(1d0-cthe(2)**2)*cphi
6972 z2=ang*
sqrt(
z(jt)**2-4d0*pmq(jt)**2/shp)
6973 z3=1d0-
z(jt)-xh+(pmq(1)**2+pmq(2)**2)/shp
6974 z(3-jt)=2d0/(z1**2-z2**2)*(z1*z3+z2*
sqrt(z3**2-(z1**2-z2**2)*
6975 & pmq(3-jt)**2/shp))
6976 zmin=2d0*pmq(3-jt)/shpr
6977 zmax=1d0-pmq(jt)/shpr-(sh-pmq(3-jt)**2)/(shpr*(shpr-pmq(jt)))
6978 zmax=
min(1d0-xh,zmax)
6979 IF(
z(3-jt).LT.zmin.OR.
z(3-jt).GT.zmax) goto 330
6982 ELSEIF(isub.EQ.73)
THEN
6990 rvckm=vint(180+i)*
pyr(0)
6993 ipm=(5-isign(1,i))/2
6995 IF(mdme(idc,1).NE.1.AND.mdme(idc,1).NE.ipm) goto 350
6996 mint(20+jt)=isign(ib,i)
6997 rvckm=rvckm-vckm((ia+1)/2,(ib+1)/2)
6998 IF(rvckm.LE.0d0) goto 360
7001 ib=2*((ia+1)/2)-1+
mod(ia,2)
7002 mint(20+jt)=isign(ib,i)
7004 360 pmq(jt)=
pymass(mint(20+jt))
7005 mint(23-jt)=mint(17-jt)
7006 pmq(3-jt)=
pymass(mint(23-jt))
7008 zmin=2d0*pmq(jt)/shpr
7009 zmax=1d0-pmq(3-jt)/shpr-(sh-pmq(jt)**2)/
7010 & (shpr*(shpr-pmq(3-jt)))
7011 zmax=
min(1d0-xh,zmax)
7012 IF(zmin.GE.zmax) goto 340
7013 z(jt)=zmin+(zmax-zmin)*
pyr(0)
7014 IF(-1d0+(1d0+xh)/(1d0-
z(jt))-xh/(1d0-
z(jt))**2.LT.
7015 & (1d0-xh)**2/(4d0*xh)*
pyr(0)) goto 340
7016 sqc1=1d0-4d0*pmq(jt)**2/(
z(jt)**2*shp)
7017 IF(sqc1.LT.1.
d-8) goto 340
7019 c2=1d0+2d0*(pmas(23,1)**2-pmq(jt)**2)/(
z(jt)*shp)
7020 cthe(jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
7021 cthe(jt)=
min(1d0,
max(-1d0,cthe(jt)))
7022 z(3-jt)=1d0-xh/(1d0-
z(jt))
7023 sqc1=1d0-4d0*pmq(3-jt)**2/(
z(3-jt)**2*shp)
7024 IF(sqc1.LT.1.
d-8) goto 340
7026 c2=1d0+2d0*(pmas(23,1)**2-pmq(3-jt)**2)/(
z(3-jt)*shp)
7027 cthe(3-jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
7028 cthe(3-jt)=
min(1d0,
max(-1d0,cthe(3-jt)))
7031 ang=cthe(1)*cthe(2)-
sqrt(1d0-cthe(1)**2)*
7032 &
sqrt(1d0-cthe(2)**2)*cphi
7034 z2=ang*
sqrt(
z(jt)**2-4d0*pmq(jt)**2/shp)
7035 z3=1d0-
z(jt)-xh+(pmq(1)**2+pmq(2)**2)/shp
7036 z(3-jt)=2d0/(z1**2-z2**2)*(z1*z3+z2*
sqrt(z3**2-(z1**2-z2**2)*
7037 & pmq(3-jt)**2/shp))
7038 zmin=2d0*pmq(3-jt)/shpr
7039 zmax=1d0-pmq(jt)/shpr-(sh-pmq(3-jt)**2)/(shpr*(shpr-pmq(jt)))
7040 zmax=
min(1d0-xh,zmax)
7041 IF(
z(3-jt).LT.zmin.OR.
z(3-jt).GT.zmax) goto 340
7044 ELSEIF(isub.EQ.74)
THEN
7047 ELSEIF(isub.EQ.75)
THEN
7050 ELSEIF(isub.EQ.76.OR.isub.EQ.77)
THEN
7057 rvckm=vint(180+i)*
pyr(0)
7060 ipm=(5-isign(1,i))/2
7062 IF(mdme(idc,1).NE.1.AND.mdme(idc,1).NE.ipm) goto 380
7063 mint(20+jt)=isign(ib,i)
7064 rvckm=rvckm-vckm((ia+1)/2,(ib+1)/2)
7065 IF(rvckm.LE.0d0) goto 390
7068 ib=2*((ia+1)/2)-1+
mod(ia,2)
7069 mint(20+jt)=isign(ib,i)
7071 390 pmq(jt)=
pymass(mint(20+jt))
7074 zmin=2d0*pmq(jt)/shpr
7075 zmax=1d0-pmq(3-jt)/shpr-(sh-pmq(jt)**2)/
7076 & (shpr*(shpr-pmq(3-jt)))
7077 zmax=
min(1d0-xh,zmax)
7078 IF(zmin.GE.zmax) goto 370
7079 z(jt)=zmin+(zmax-zmin)*
pyr(0)
7080 IF(-1d0+(1d0+xh)/(1d0-
z(jt))-xh/(1d0-
z(jt))**2.LT.
7081 & (1d0-xh)**2/(4d0*xh)*
pyr(0)) goto 370
7082 sqc1=1d0-4d0*pmq(jt)**2/(
z(jt)**2*shp)
7083 IF(sqc1.LT.1.
d-8) goto 370
7085 c2=1d0+2d0*(pmas(24,1)**2-pmq(jt)**2)/(
z(jt)*shp)
7086 cthe(jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
7087 cthe(jt)=
min(1d0,
max(-1d0,cthe(jt)))
7088 z(3-jt)=1d0-xh/(1d0-
z(jt))
7089 sqc1=1d0-4d0*pmq(3-jt)**2/(
z(3-jt)**2*shp)
7090 IF(sqc1.LT.1.
d-8) goto 370
7092 c2=1d0+2d0*(pmas(24,1)**2-pmq(3-jt)**2)/(
z(3-jt)*shp)
7093 cthe(3-jt)=(c2-(c2**2-
c1**2)/(c2+(2d0*
pyr(0)-1d0)*
c1))/
c1
7094 cthe(3-jt)=
min(1d0,
max(-1d0,cthe(3-jt)))
7097 ang=cthe(1)*cthe(2)-
sqrt(1d0-cthe(1)**2)*
7098 &
sqrt(1d0-cthe(2)**2)*cphi
7100 z2=ang*
sqrt(
z(jt)**2-4d0*pmq(jt)**2/shp)
7101 z3=1d0-
z(jt)-xh+(pmq(1)**2+pmq(2)**2)/shp
7102 z(3-jt)=2d0/(z1**2-z2**2)*(z1*z3+z2*
sqrt(z3**2-(z1**2-z2**2)*
7103 & pmq(3-jt)**2/shp))
7104 zmin=2d0*pmq(3-jt)/shpr
7105 zmax=1d0-pmq(jt)/shpr-(sh-pmq(3-jt)**2)/(shpr*(shpr-pmq(jt)))
7106 zmax=
min(1d0-xh,zmax)
7107 IF(
z(3-jt).LT.zmin.OR.
z(3-jt).GT.zmax) goto 370
7110 ELSEIF(isub.EQ.78)
THEN
7113 ELSEIF(isub.EQ.79)
THEN
7116 ELSEIF(isub.EQ.80)
THEN
7118 IF(mint(15).EQ.22) js=2
7121 mint(23-js)=isign(211,kchg(ia,1)*i)
7123 mint(20+js)=isign(ib,i)
7127 ELSEIF(isub.LE.90)
THEN
7130 mint(21)=isign(mint(55),mint(15))
7134 ELSEIF(isub.EQ.82)
THEN
7136 kcs=(-1)**
int(1.5d0+
pyr(0))
7137 mint(21)=isign(mint(55),kcs)
7141 ELSEIF(isub.EQ.83)
THEN
7144 IF(mint(2).EQ.2) kfold=mint(15)
7146 IF(kfaold.GT.10)
THEN
7147 kfanew=kfaold+2*
mod(kfaold,2)-1
7149 rckm=vint(180+kfold)*
pyr(0)
7150 ipm=(5-isign(1,kfold))/2
7151 kfanew=-
mod(kfaold+1,2)
7153 idc=mdcy(kfaold,2)+(kfanew+1)/2+2
7154 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.ipm)
THEN
7155 IF(
mod(kfaold,2).EQ.0) rckm=rckm-
7156 & vckm(kfaold/2,(kfanew+1)/2)
7157 IF(
mod(kfaold,2).EQ.1) rckm=rckm-
7158 & vckm(kfanew/2,(kfaold+1)/2)
7160 IF(kfanew.LE.6.AND.rckm.GT.0d0) goto 410
7162 IF(mint(2).EQ.1)
THEN
7163 mint(21)=isign(mint(55),mint(15))
7164 mint(22)=isign(kfanew,mint(16))
7166 mint(21)=isign(kfanew,mint(15))
7167 mint(22)=isign(mint(55),mint(16))
7172 ELSEIF(isub.EQ.84)
THEN
7174 kcs=(-1)**
int(1.5d0+
pyr(0))
7175 mint(21)=isign(mint(55),kcs)
7178 IF(mint(16).EQ.21) kcc=28
7180 ELSEIF(isub.EQ.85)
THEN
7182 kcs=(-1)**
int(1.5d0+
pyr(0))
7183 mint(21)=isign(mint(56),kcs)
7187 ELSEIF(isub.GE.86.AND.isub.LE.89)
THEN
7189 mint(21)=kfpr(isub,1)
7190 mint(22)=kfpr(isub,2)
7192 kcs=(-1)**
int(1.5d0+
pyr(0))
7195 ELSEIF(isub.LE.100)
THEN
7199 kcs=(-1)**
int(1.5d0+
pyr(0))
7201 ELSEIF(isub.EQ.96)
THEN
7205 ELSEIF(isub.LE.110)
THEN
7206 IF(isub.EQ.101)
THEN
7211 ELSEIF(isub.EQ.102)
THEN
7216 ELSEIF(isub.EQ.103)
THEN
7221 ELSEIF(isub.EQ.110)
THEN
7223 IF(
pyr(0).GT.0.5d0) js=2
7228 ELSEIF(isub.LE.120)
THEN
7229 IF(isub.EQ.111)
THEN
7231 IF(
pyr(0).GT.0.5d0) js=2
7236 ELSEIF(isub.EQ.112)
THEN
7238 IF(mint(15).EQ.21) js=2
7241 kcs=isign(1,mint(14+js))
7243 ELSEIF(isub.EQ.113)
THEN
7245 IF(
pyr(0).GT.0.5d0) js=2
7248 kcs=(-1)**
int(1.5d0+
pyr(0))
7250 ELSEIF(isub.EQ.114)
THEN
7252 IF(
pyr(0).GT.0.5d0) js=2
7257 ELSEIF(isub.EQ.115)
THEN
7259 IF(
pyr(0).GT.0.5d0) js=2
7262 kcs=(-1)**
int(1.5d0+
pyr(0))
7264 ELSEIF(isub.EQ.116)
THEN
7267 ELSEIF(isub.EQ.117)
THEN
7270 ELSEIF(isub.EQ.118)
THEN
7274 ELSEIF(isub.LE.140)
THEN
7275 IF(isub.EQ.121)
THEN
7277 kcs=(-1)**
int(1.5d0+
pyr(0))
7278 mint(21)=isign(kfpr(isubsv,2),kcs)
7283 ELSEIF(isub.EQ.122)
THEN
7285 mint(21)=isign(kfpr(isubsv,2),mint(15))
7290 ELSEIF(isub.EQ.123)
THEN
7296 ELSEIF(isub.EQ.124)
THEN
7303 rvckm=vint(180+i)*
pyr(0)
7306 ipm=(5-isign(1,i))/2
7308 IF(mdme(idc,1).NE.1.AND.mdme(idc,1).NE.ipm) goto 420
7309 mint(20+jt)=isign(ib,i)
7310 rvckm=rvckm-vckm((ia+1)/2,(ib+1)/2)
7311 IF(rvckm.LE.0d0) goto 430
7314 ib=2*((ia+1)/2)-1+
mod(ia,2)
7315 mint(20+jt)=isign(ib,i)
7321 ELSEIF(isub.EQ.131)
THEN
7325 ELSEIF(isub.LE.160)
THEN
7326 IF(isub.EQ.141)
THEN
7330 ELSEIF(isub.EQ.142)
THEN
7332 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7333 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7334 kfres=isign(34,kch1+kch2)
7336 ELSEIF(isub.EQ.143)
THEN
7338 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7339 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7340 kfres=isign(37,kch1+kch2)
7342 ELSEIF(isub.EQ.144)
THEN
7344 kfres=isign(40,mint(15)+mint(16))
7346 ELSEIF(isub.EQ.145)
THEN
7348 IF(iabs(mint(16)).LE.8) js=2
7349 kfres=isign(39,mint(14+js))
7351 kcs=isign(1,mint(14+js))
7353 ELSEIF(isub.EQ.147.OR.isub.EQ.148)
THEN
7355 IF(mint(15).EQ.21) js=2
7356 kfres=isign(kfpr(isub,1),mint(14+js))
7358 kcs=isign(1,mint(14+js))
7360 ELSEIF(isub.EQ.149)
THEN
7364 kcs=(-1)**
int(1.5d0+
pyr(0))
7367 ELSEIF(isub.LE.200)
THEN
7368 IF(isub.EQ.161)
THEN
7370 IF(mint(15).EQ.21) js=2
7373 mint(23-js)=isign(37,kchg(ia,1)*i)
7374 ib=ia+
mod(ia,2)-
mod(ia+1,2)
7375 mint(20+js)=isign(ib,i)
7377 kcs=isign(1,mint(14+js))
7379 ELSEIF(isub.EQ.162)
THEN
7381 IF(mint(15).EQ.21) js=2
7382 mint(20+js)=isign(39,mint(14+js))
7383 kflql=kfdp(mdcy(39,2),2)
7384 mint(23-js)=-isign(kflql,mint(14+js))
7386 kcs=isign(1,mint(14+js))
7388 ELSEIF(isub.EQ.163)
THEN
7390 kcs=(-1)**
int(1.5d0+
pyr(0))
7391 mint(21)=isign(39,kcs)
7395 ELSEIF(isub.EQ.164)
THEN
7397 mint(21)=isign(39,mint(15))
7401 ELSEIF(isub.EQ.165)
THEN
7403 mint(21)=isign(kfpr(isub,1),mint(15))
7406 ELSEIF(isub.EQ.166)
THEN
7408 IF(
mod(mint(15),2).EQ.0)
THEN
7409 mint(21)=isign(kfpr(isub,1)+1,mint(15))
7410 mint(22)=isign(kfpr(isub,1),mint(16))
7412 mint(21)=isign(kfpr(isub,1),mint(15))
7413 mint(22)=isign(kfpr(isub,1)+1,mint(16))
7416 ELSEIF(isub.EQ.167.OR.isub.EQ.168)
THEN
7419 kfqexc=
mod(kfqstr,kexcit)
7421 mint(20+js)=isign(kfqstr,mint(14+js))
7422 IF(iabs(mint(15)).NE.kfqexc.AND.iabs(mint(16)).NE.kfqexc)
7423 & mint(23-js)=isign(kfqexc,mint(17-js))
7426 ELSEIF(isub.EQ.191)
THEN
7430 ELSEIF(isub.EQ.192)
THEN
7432 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7433 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7434 kfres=isign(55,kch1+kch2)
7436 ELSEIF(isub.EQ.193)
THEN
7440 ELSEIF(isub.EQ.194)
THEN
7443 mint(21)=isign(kfpr(isub,1),mint(15))
7448 ELSEIF(isub.LE.215)
THEN
7449 IF(isub.EQ.201)
THEN
7451 mint(21)=isign(ksusy1+11,kcs)
7454 ELSEIF(isub.EQ.202)
THEN
7456 mint(21)=isign(ksusy2+11,kcs)
7459 ELSEIF(isub.EQ.203)
THEN
7462 IF(mint(2).EQ.2) kcs=-1
7463 mint(21)=isign(ksusy1+11,kcs)
7464 mint(22)=-isign(ksusy2+11,kcs)
7466 ELSEIF(isub.EQ.204)
THEN
7468 mint(21)=isign(ksusy1+13,kcs)
7471 ELSEIF(isub.EQ.205)
THEN
7473 mint(21)=isign(ksusy2+13,kcs)
7476 ELSEIF(isub.EQ.206)
THEN
7479 IF(mint(2).EQ.2) kcs=-1
7480 mint(21)=isign(ksusy1+13,kcs)
7481 mint(22)=-isign(ksusy2+13,kcs)
7483 ELSEIF(isub.EQ.207)
THEN
7485 mint(21)=isign(ksusy1+15,kcs)
7488 ELSEIF(isub.EQ.208)
THEN
7490 mint(21)=isign(ksusy2+15,kcs)
7493 ELSEIF(isub.EQ.209)
THEN
7496 IF(mint(2).EQ.2) kcs=-1
7497 mint(21)=isign(ksusy1+15,kcs)
7498 mint(22)=-isign(ksusy2+15,kcs)
7500 ELSEIF(isub.EQ.210)
THEN
7502 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7503 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7504 mint(21)=-isign(kfpr(isub,1),kch1+kch2)
7505 mint(22)=isign(kfpr(isub,2),kch1+kch2)
7507 ELSEIF(isub.EQ.211)
THEN
7509 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7510 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7511 mint(21)=-isign(ksusy1+15,kch1+kch2)
7512 mint(22)=isign(ksusy1+16,kch1+kch2)
7514 ELSEIF(isub.EQ.212)
THEN
7516 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7517 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7518 mint(21)=-isign(ksusy2+15,kch1+kch2)
7519 mint(22)=isign(ksusy1+16,kch1+kch2)
7521 ELSEIF(isub.EQ.213)
THEN
7523 mint(21)=isign(kfpr(isub,1),kcs)
7526 ELSEIF(isub.EQ.214)
THEN
7528 mint(21)=isign(ksusy1+16,kcs)
7532 ELSEIF(isub.LE.225)
THEN
7533 IF(isub.EQ.216)
THEN
7538 ELSEIF(isub.EQ.217)
THEN
7543 ELSEIF(isub.EQ.218 )
THEN
7548 ELSEIF(isub.EQ.219 )
THEN
7553 ELSEIF(isub.EQ.220 )
THEN
7555 IF(
pyr(0).GT.0.5d0) js=2
7556 mint(20+js)=ksusy1+22
7557 mint(23-js)=ksusy1+23
7559 ELSEIF(isub.EQ.221 )
THEN
7561 IF(
pyr(0).GT.0.5d0) js=2
7562 mint(20+js)=ksusy1+22
7563 mint(23-js)=ksusy1+25
7565 ELSEIF(isub.EQ.222)
THEN
7567 IF(
pyr(0).GT.0.5d0) js=2
7568 mint(20+js)=ksusy1+22
7569 mint(23-js)=ksusy1+35
7571 ELSEIF(isub.EQ.223)
THEN
7573 IF(
pyr(0).GT.0.5d0) js=2
7574 mint(20+js)=ksusy1+23
7575 mint(23-js)=ksusy1+25
7577 ELSEIF(isub.EQ.224)
THEN
7579 IF(
pyr(0).GT.0.5d0) js=2
7580 mint(20+js)=ksusy1+23
7581 mint(23-js)=ksusy1+35
7583 ELSEIF(isub.EQ.225)
THEN
7585 IF(
pyr(0).GT.0.5d0) js=2
7586 mint(20+js)=ksusy1+25
7587 mint(23-js)=ksusy1+35
7590 ELSEIF(isub.LE.236)
THEN
7591 IF(isub.EQ.226)
THEN
7594 mint(21)=isign(ksusy1+24,mint(15))
7597 ELSEIF(isub.EQ.227)
THEN
7599 mint(21)=isign(ksusy1+37,mint(15))
7602 ELSEIF(isub.EQ.228)
THEN
7610 kch1=isign(1,mint(15))
7612 IF(mint(2).EQ.1)
THEN
7613 mint(22-kch2)= -(ksusy1+24)
7614 mint(21+kch2)= ksusy1+37
7617 mint(21+kch2)= ksusy1+24
7618 mint(22-kch2)= -(ksusy1+37)
7622 ELSEIF(isub.EQ.229)
THEN
7625 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7626 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7628 IF(
mod(mint(15),2).NE.0) js=2
7629 mint(20+js)=ksusy1+22
7630 mint(23-js)=isign(ksusy1+24,kch1+kch2)
7632 ELSEIF(isub.EQ.230)
THEN
7634 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7635 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7636 IF(
mod(mint(15),2).NE.0) js=2
7637 mint(20+js)=ksusy1+23
7638 mint(23-js)=isign(ksusy1+24,kch1+kch2)
7640 ELSEIF(isub.EQ.231)
THEN
7642 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7643 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7644 IF(
mod(mint(15),2).NE.0) js=2
7645 mint(20+js)=ksusy1+25
7646 mint(23-js)=isign(ksusy1+24,kch1+kch2)
7648 ELSEIF(isub.EQ.232)
THEN
7650 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7651 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7652 IF(
mod(mint(15),2).NE.0) js=2
7653 mint(20+js)=ksusy1+35
7654 mint(23-js)=isign(ksusy1+24,kch1+kch2)
7656 ELSEIF(isub.EQ.233)
THEN
7658 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7659 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7660 IF(
mod(mint(15),2).NE.0) js=2
7661 mint(20+js)=ksusy1+22
7662 mint(23-js)=isign(ksusy1+37,kch1+kch2)
7664 ELSEIF(isub.EQ.234)
THEN
7666 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7667 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7668 IF(
mod(mint(15),2).NE.0) js=2
7669 mint(20+js)=ksusy1+23
7670 mint(23-js)=isign(ksusy1+37,kch1+kch2)
7672 ELSEIF(isub.EQ.235)
THEN
7674 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7675 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7676 IF(
mod(mint(15),2).NE.0) js=2
7677 mint(20+js)=ksusy1+25
7678 mint(23-js)=isign(ksusy1+37,kch1+kch2)
7680 ELSEIF(isub.EQ.236)
THEN
7682 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7683 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7684 IF(
mod(mint(15),2).NE.0) js=2
7685 mint(20+js)=ksusy1+35
7686 mint(23-js)=isign(ksusy1+37,kch1+kch2)
7689 ELSEIF(isub.LE.245)
THEN
7690 IF(isub.EQ.237)
THEN
7693 IF(
pyr(0).GT.0.5d0) js=2
7694 mint(20+js)=ksusy1+21
7695 mint(23-js)=ksusy1+22
7698 ELSEIF(isub.EQ.238)
THEN
7701 IF(
pyr(0).GT.0.5d0) js=2
7702 mint(20+js)=ksusy1+21
7703 mint(23-js)=ksusy1+23
7706 ELSEIF(isub.EQ.239)
THEN
7709 IF(
pyr(0).GT.0.5d0) js=2
7710 mint(20+js)=ksusy1+21
7711 mint(23-js)=ksusy1+25
7714 ELSEIF(isub.EQ.240)
THEN
7717 IF(
pyr(0).GT.0.5d0) js=2
7718 mint(20+js)=ksusy1+21
7719 mint(23-js)=ksusy1+35
7722 ELSEIF(isub.EQ.241)
THEN
7729 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7730 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7732 IF(mint(15)*(kch1+kch2).GT.0) js=2
7733 mint(20+js)=ksusy1+21
7734 mint(23-js)=isign(ksusy1+24,kch1+kch2)
7737 ELSEIF(isub.EQ.242)
THEN
7744 kch1=kchg(iabs(mint(15)),1)*isign(1,mint(15))
7745 kch2=kchg(iabs(mint(16)),1)*isign(1,mint(16))
7747 IF(mint(15)*(kch1+kch2).GT.0) js=2
7748 mint(20+js)=ksusy1+21
7749 mint(23-js)=isign(ksusy1+37,kch1+kch2)
7752 ELSEIF(isub.EQ.243)
THEN
7758 ELSEIF(isub.EQ.244)
THEN
7761 kcs=(-1)**
int(1.5d0+
pyr(0))
7766 ELSEIF(isub.LE.260)
THEN
7767 IF(isub.EQ.246)
THEN
7769 IF(mint(15).EQ.21) js=2
7772 mint(20+js)=isign(ksusy1+ia,i)
7773 mint(23-js)=ksusy1+22
7775 kcs=isign(1,mint(14+js))
7777 ELSEIF(isub.EQ.247)
THEN
7779 IF(mint(15).EQ.21) js=2
7782 mint(20+js)=isign(ksusy2+ia,i)
7783 mint(23-js)=ksusy1+22
7785 kcs=isign(1,mint(14+js))
7787 ELSEIF(isub.EQ.248)
THEN
7789 IF(mint(15).EQ.21) js=2
7792 mint(20+js)=isign(ksusy1+ia,i)
7793 mint(23-js)=ksusy1+23
7795 kcs=isign(1,mint(14+js))
7797 ELSEIF(isub.EQ.249)
THEN
7799 IF(mint(15).EQ.21) js=2
7802 mint(20+js)=isign(ksusy2+ia,i)
7803 mint(23-js)=ksusy1+23
7805 kcs=isign(1,mint(14+js))
7807 ELSEIF(isub.EQ.250)
THEN
7809 IF(mint(15).EQ.21) js=2
7812 mint(20+js)=isign(ksusy1+ia,i)
7813 mint(23-js)=ksusy1+25
7815 kcs=isign(1,mint(14+js))
7817 ELSEIF(isub.EQ.251)
THEN
7819 IF(mint(15).EQ.21) js=2
7822 mint(20+js)=isign(ksusy2+ia,i)
7823 mint(23-js)=ksusy1+25
7825 kcs=isign(1,mint(14+js))
7827 ELSEIF(isub.EQ.252)
THEN
7829 IF(mint(15).EQ.21) js=2
7832 mint(20+js)=isign(ksusy1+ia,i)
7833 mint(23-js)=ksusy1+35
7835 kcs=isign(1,mint(14+js))
7837 ELSEIF(isub.EQ.253)
THEN
7839 IF(mint(15).EQ.21) js=2
7842 mint(20+js)=isign(ksusy2+ia,i)
7843 mint(23-js)=ksusy1+35
7845 kcs=isign(1,mint(14+js))
7847 ELSEIF(isub.EQ.254)
THEN
7849 IF(mint(15).EQ.21) js=2
7852 mint(23-js)=isign(ksusy1+24,kchg(ia,1)*i)
7853 ib=-ia+
int((ia+1)/2)*4-1
7854 mint(20+js)=isign(ksusy1+ib,i)
7856 kcs=isign(1,mint(14+js))
7858 ELSEIF(isub.EQ.255)
THEN
7860 IF(mint(15).EQ.21) js=2
7863 mint(23-js)=isign(ksusy1+24,kchg(ia,1)*i)
7864 ib=-ia+
int((ia+1)/2)*4-1
7865 mint(20+js)=isign(ksusy2+ib,i)
7867 kcs=isign(1,mint(14+js))
7869 ELSEIF(isub.EQ.256)
THEN
7871 IF(mint(15).EQ.21) js=2
7874 ib=-ia+
int((ia+1)/2)*4-1
7875 mint(20+js)=isign(ksusy1+ib,i)
7876 mint(23-js)=isign(ksusy1+37,kchg(ia,1)*i)
7878 kcs=isign(1,mint(14+js))
7880 ELSEIF(isub.EQ.257)
THEN
7882 IF(mint(15).EQ.21) js=2
7885 ib=-ia+
int((ia+1)/2)*4-1
7886 mint(20+js)=isign(ksusy2+ib,i)
7887 mint(23-js)=isign(ksusy1+37,kchg(ia,1)*i)
7889 kcs=isign(1,mint(14+js))
7891 ELSEIF(isub.EQ.258)
THEN
7893 IF(mint(15).EQ.21) js=2
7896 mint(20+js)=isign(ksusy1+ia,i)
7897 mint(23-js)=ksusy1+21
7899 IF(js.EQ.2) kcc=kcc+2
7902 ELSEIF(isub.EQ.259)
THEN
7904 IF(mint(15).EQ.21) js=2
7907 mint(20+js)=isign(ksusy2+ia,i)
7908 mint(23-js)=ksusy1+21
7910 IF(js.EQ.2) kcc=kcc+2
7914 ELSEIF(isub.LE.270)
THEN
7915 IF(isub.EQ.261)
THEN
7917 mint(21)=isign(kfpr(isub,1),kcs)
7920 IF(mint(43).EQ.4) kcc=4
7922 ELSEIF(isub.EQ.262)
THEN
7924 mint(21)=isign(kfpr(isub,1),kcs)
7927 IF(mint(43).EQ.4) kcc=4
7929 ELSEIF(isub.EQ.263)
THEN
7931 IF((kcs.GT.0.AND.mint(2).EQ.1).OR.
7932 & (kcs.LT.0.AND.mint(2).EQ.2))
THEN
7933 mint(21)=isign(kfpr(isub,1),kcs)
7934 mint(22)=-isign(kfpr(isub,2),kcs)
7937 mint(21)=isign(kfpr(isub,2),kcs)
7938 mint(22)=-isign(kfpr(isub,1),kcs)
7941 IF(mint(43).EQ.4) kcc=4
7943 ELSEIF(isub.EQ.264)
THEN
7945 kcs=(-1)**
int(1.5d0+
pyr(0))
7946 mint(21)=isign(kfpr(isub,1),kcs)
7950 ELSEIF(isub.EQ.265)
THEN
7952 kcs=(-1)**
int(1.5d0+
pyr(0))
7953 mint(21)=isign(kfpr(isub,1),kcs)
7958 ELSEIF(isub.LE.280)
THEN
7959 IF(isub.EQ.271)
THEN
7962 IF(mint(15)*mint(16).LT.0) kcc=kcc+2
7963 mint(21)=isign(ksusy1+iabs(mint(15)),mint(15))
7964 mint(22)=isign(ksusy1+iabs(mint(16)),mint(16))
7966 ELSEIF(isub.EQ.272)
THEN
7969 IF(mint(15)*mint(16).LT.0) kcc=kcc+2
7970 mint(21)=isign(ksusy2+iabs(mint(15)),mint(15))
7971 mint(22)=isign(ksusy2+iabs(mint(16)),mint(16))
7973 ELSEIF(isub.EQ.273)
THEN
7975 mint(21)=isign(kfpr(isub,1),mint(15))
7976 mint(22)=isign(kfpr(isub,2),mint(16))
7978 IF(mint(15)*mint(16).LT.0) kcc=kcc+2
7980 ELSEIF(isub.EQ.274)
THEN
7982 mint(21)=isign(ksusy1+iabs(mint(15)),mint(15))
7983 mint(22)=isign(ksusy1+iabs(mint(16)),mint(16))
7985 IF(mint(15)*mint(16).LT.0) kcc=kcc+2
7987 ELSEIF(isub.EQ.275)
THEN
7989 mint(21)=isign(ksusy2+iabs(mint(15)),mint(15))
7990 mint(22)=isign(ksusy2+iabs(mint(16)),mint(16))
7992 IF(mint(15)*mint(16).LT.0) kcc=kcc+2
7994 ELSEIF(isub.EQ.276)
THEN
7996 mint(21)=isign(kfpr(isub,1),mint(15))
7997 mint(22)=isign(kfpr(isub,2),mint(16))
7999 IF(mint(15)*mint(16).LT.0) kcc=kcc+2
8001 ELSEIF(isub.EQ.277)
THEN
8004 IF(mint(43).EQ.1.AND.
pyr(0).GT.0.5d0) isgn=-1
8005 mint(21)=isgn*isign(kfpr(isub,1),kcs)
8007 IF(mint(43).EQ.4) kcc=4
8009 ELSEIF(isub.EQ.278)
THEN
8012 IF(mint(43).EQ.1.AND.
pyr(0).GT.0.5d0) isgn=-1
8013 mint(21)=isgn*isign(kfpr(isub,1),kcs)
8015 IF(mint(43).EQ.4) kcc=4
8017 ELSEIF(isub.EQ.279)
THEN
8020 kcs=(-1)**
int(1.5d0+
pyr(0))
8021 mint(21)=isign(kfpr(isub,1),kcs)
8025 ELSEIF(isub.EQ.280)
THEN
8027 kcs=(-1)**
int(1.5d0+
pyr(0))
8028 mint(21)=isign(kfpr(isub,1),kcs)
8036 IF(iset(isub).EQ.11)
THEN
8038 bezup=(pup(1,4)-pup(2,4))/(pup(1,4)+pup(2,4))
8044 IF(mstp(128).GE.2.AND.kup(iup,3).NE.0)
THEN
8054 IF(kup(iup,3).NE.0) k(i,3)=kuppo(kup(iup,3))
8061 CALL
pyrobo(mint(83)+7,mint(83)+4+nup,0d0,vint(24),0d0,0d0,
8069 IF(kup(iup,1).NE.1) k(
n,1)=11
8071 IF(mstp(128).LE.0.OR.kup(iup,3).EQ.0)
THEN
8074 k(
n,3)=mint(84)+kup(iup,3)
8082 CALL
pyrobo(ipu3,
n,0d0,vint(24),0d0,0d0,-bezup)
8088 IF(kchg(
pycomp(k(
n,2)),2).EQ.0) goto 480
8089 IF(k(
n,1).EQ.1) k(
n,1)=3
8090 IF(k(
n,1).EQ.11) k(
n,1)=14
8091 IF(kup(iup,4).NE.0) k(
n,4)=k(
n,4)+mstu(5)*(kup(iup,4)+
8093 IF(kup(iup,5).NE.0) k(
n,5)=k(
n,5)+mstu(5)*(kup(iup,5)+
8095 IF(kup(iup,6).NE.0) k(
n,4)=k(
n,4)+kup(iup,6)+mint(84)
8096 IF(kup(iup,7).NE.0) k(
n,5)=k(
n,5)+kup(iup,7)+mint(84)
8099 ELSEIF(idoc.EQ.7)
THEN
8117 IF(kchg(kcres,2).NE.0)
THEN
8121 IF(kcs.EQ.-1) jc=3-j
8122 IF(icol(kcc,1,jc).NE.0.AND.k(ipu1,1).EQ.14) k(ipu1,j+3)=
8123 & mint(84)+icol(kcc,1,jc)
8124 IF(icol(kcc,2,jc).NE.0.AND.k(ipu2,1).EQ.14) k(ipu2,j+3)=
8125 & mint(84)+icol(kcc,2,jc)
8126 IF(icol(kcc,3,jc).NE.0.AND.k(ipu3,1).EQ.3) k(ipu3,j+3)=
8127 & mstu(5)*(mint(84)+icol(kcc,3,jc))
8136 ELSEIF(idoc.EQ.8)
THEN
8142 IF(kchg(kca,2).NE.0) k(i,1)=3
8144 k(i,3)=mint(83)+idoc+jt-2
8146 IF(mwid(kca).NE.0.AND.kfpr(isubsv,1).NE.0)
THEN
8148 ELSEIF(mwid(kca).NE.0.AND.kfpr(isubsv,2).NE.0)
THEN
8149 p(i,5)=
sqrt(vint(64))
8153 IF((kfaa.EQ.6.OR.kfaa.EQ.7.OR.kfaa.EQ.8).AND.
8154 &
p(i,5).LT.parp(42))
p(i,5)=
pymass(k(i,2))
8156 IF(
p(ipu3,5)+
p(ipu4,5).GE.shr)
THEN
8159 IF((kfa1.GT.3.AND.kfa1.NE.21).OR.(kfa2.GT.3.AND.kfa2.NE.21))
8167 p(ipu3,4)=0.5d0*(shr+(
p(ipu3,5)**2-
p(ipu4,5)**2)/shr)
8168 p(ipu3,3)=
sqrt(
max(0d0,
p(ipu3,4)**2-
p(ipu3,5)**2))
8169 p(ipu4,4)=shr-
p(ipu3,4)
8170 p(ipu4,3)=-
p(ipu3,3)
8176 CALL
pyrobo(ipu3,ipu4,acos(vint(23)),vint(24),0d0,0d0,0d0)
8178 ELSEIF(idoc.EQ.9)
THEN
8184 IF(kchg(kca,2).NE.0) k(i,1)=3
8186 k(i,3)=mint(83)+idoc+jt-3
8187 IF(iabs(k(i,2)).LE.22)
THEN
8192 pt=
sqrt(
max(0d0,vint(197+5*jt)-
p(i,5)**2+vint(196+5*jt)**2))
8193 p(i,1)=
pt*
cos(vint(198+5*jt))
8194 p(i,2)=
pt*
sin(vint(198+5*jt))
8198 k(ipu5,3)=mint(83)+idoc
8200 p(ipu5,1)=-
p(ipu3,1)-
p(ipu4,1)
8201 p(ipu5,2)=-
p(ipu3,2)-
p(ipu4,2)
8202 pms1=
p(ipu3,5)**2+
p(ipu3,1)**2+
p(ipu3,2)**2
8203 pms2=
p(ipu4,5)**2+
p(ipu4,1)**2+
p(ipu4,2)**2
8204 pms3=
p(ipu5,5)**2+
p(ipu5,1)**2+
p(ipu5,2)**2
8206 p(ipu5,3)=pmt3*sinh(vint(211))
8207 p(ipu5,4)=pmt3*cosh(vint(211))
8208 pms12=(shpr-
p(ipu5,4))**2-
p(ipu5,3)**2
8209 sql12=(pms12-pms1-pms2)**2-4d0*pms1*pms2
8210 IF(sql12.LE.0d0)
THEN
8214 p(ipu3,3)=(-
p(ipu5,3)*(pms12+pms1-pms2)+
8215 & vint(213)*(shpr-
p(ipu5,4))*
sqrt(sql12))/(2d0*pms12)
8216 p(ipu4,3)=-
p(ipu3,3)-
p(ipu5,3)
8217 p(ipu3,4)=
sqrt(pms1+
p(ipu3,3)**2)
8218 p(ipu4,4)=
sqrt(pms2+
p(ipu4,3)**2)
8224 ELSEIF(idoc.EQ.11)
THEN
8231 IF(kchg(
pycomp(mint(20+jt)),2).NE.0) k(i,1)=3
8233 k(i,3)=mint(83)+idoc+jt-2
8235 IF(0.5d0*shpr*
z(jt).LE.
p(i,5))
THEN
8239 pabs=
sqrt(
max(0d0,(0.5d0*shpr*
z(jt))**2-
p(i,5)**2))
8240 ptabs=pabs*
sqrt(
max(0d0,1d0-cthe(jt)**2))
8243 p(i,3)=pabs*cthe(jt)*(-1)**(jt+1)
8244 p(i,4)=0.5d0*shpr*
z(jt)
8248 IF(isub.EQ.8) k(izw,2)=isign(24,
pychge(mint(14+jt)))
8252 p(izw,3)=(0.5d0*shpr-pabs*cthe(jt))*(-1)**(jt+1)
8253 p(izw,4)=0.5d0*shpr*(1d0-
z(jt))
8254 p(izw,5)=-
sqrt(
max(0d0,
p(izw,3)**2+ptabs**2-
p(izw,4)**2))
8261 p(ipu5,1)=-
p(ipu3,1)-
p(ipu4,1)
8262 p(ipu5,2)=-
p(ipu3,2)-
p(ipu4,2)
8263 p(ipu5,3)=-
p(ipu3,3)-
p(ipu4,3)
8264 p(ipu5,4)=shpr-
p(ipu3,4)-
p(ipu4,4)
8273 ELSEIF(idoc.EQ.12)
THEN
8281 IF(kchg(
pycomp(mint(20+jt)),2).NE.0) k(i,1)=3
8283 k(i,3)=mint(83)+idoc+jt-2
8285 IF(0.5d0*shpr*
z(jt).LE.
p(i,5))
p(i,5)=0d0
8286 pabs=
sqrt(
max(0d0,(0.5d0*shpr*
z(jt))**2-
p(i,5)**2))
8287 ptabs=pabs*
sqrt(
max(0d0,1d0-cthe(jt)**2))
8290 p(i,3)=pabs*cthe(jt)*(-1)**(jt+1)
8291 p(i,4)=0.5d0*shpr*
z(jt)
8294 IF(mint(14+jt).EQ.mint(20+jt))
THEN
8297 k(izw,2)=isign(24,
pychge(mint(14+jt))-
pychge(mint(20+jt)))
8302 p(izw,3)=(0.5d0*shpr-pabs*cthe(jt))*(-1)**(jt+1)
8303 p(izw,4)=0.5d0*shpr*(1d0-
z(jt))
8304 p(izw,5)=-
sqrt(
max(0d0,
p(izw,3)**2+ptabs**2-
p(izw,4)**2))
8307 k(ipu,2)=kfpr(isub,jt)
8308 IF(isub.EQ.72.AND.jt.EQ.jtran) k(ipu,2)=-k(ipu,2)
8309 IF(isub.EQ.73.OR.isub.EQ.77) k(ipu,2)=k(izw,2)
8310 k(ipu,3)=mint(83)+8+jt
8311 IF(iabs(k(ipu,2)).LE.10.OR.k(ipu,2).EQ.21)
THEN
8314 p(ipu,5)=
sqrt(vint(63+
mod(js+jt,2)))
8316 mint(22+jt)=k(ipu,2)
8321 bexcm=(
p(i1,1)+
p(i2,1))/(
p(i1,4)+
p(i2,4))
8322 beycm=(
p(i1,2)+
p(i2,2))/(
p(i1,4)+
p(i2,4))
8323 bezcm=(
p(i1,3)+
p(i2,3))/(
p(i1,4)+
p(i2,4))
8324 gamcm=(
p(i1,4)+
p(i2,4))/shr
8325 bepcm=bexcm*
p(i1,1)+beycm*
p(i1,2)+bezcm*
p(i1,3)
8326 px=
p(i1,1)+gamcm*(gamcm/(1d0+gamcm)*bepcm-
p(i1,4))*bexcm
8327 py=
p(i1,2)+gamcm*(gamcm/(1d0+gamcm)*bepcm-
p(i1,4))*beycm
8328 pz=
p(i1,3)+gamcm*(gamcm/(1d0+gamcm)*bepcm-
p(i1,4))*bezcm
8332 sqlam=(sh-
p(ipu5,5)**2-
p(ipu6,5)**2)**2-4d0*
p(ipu5,5)**2*
8334 pabs=
sqrt(
max(0d0,sqlam/(4d0*sh)))
8336 sthwz=
sqrt(
max(0d0,1d0-cthwz**2))
8337 phiwz=vint(24)-phicm
8338 p(ipu5,1)=pabs*sthwz*
cos(phiwz)
8339 p(ipu5,2)=pabs*sthwz*
sin(phiwz)
8340 p(ipu5,3)=pabs*cthwz
8341 p(ipu5,4)=
sqrt(pabs**2+
p(ipu5,5)**2)
8342 p(ipu6,1)=-
p(ipu5,1)
8343 p(ipu6,2)=-
p(ipu5,2)
8344 p(ipu6,3)=-
p(ipu5,3)
8345 p(ipu6,4)=
sqrt(pabs**2+
p(ipu6,5)**2)
8346 CALL
pyrobo(ipu5,ipu6,thecm,phicm,bexcm,beycm,bezcm)
8361 IF(iset(isub).EQ.11)
THEN
8362 ELSEIF(idoc.GE.8)
THEN
8366 IF(kcs.EQ.-1) jc=3-j
8367 IF(icol(kcc,1,jc).NE.0.AND.k(ipu1,1).EQ.14) k(ipu1,j+3)=
8368 & k(ipu1,j+3)+mint(84)+icol(kcc,1,jc)
8369 IF(icol(kcc,2,jc).NE.0.AND.k(ipu2,1).EQ.14) k(ipu2,j+3)=
8370 & k(ipu2,j+3)+mint(84)+icol(kcc,2,jc)
8371 IF(icol(kcc,3,jc).NE.0.AND.k(ipu3,1).EQ.3) k(ipu3,j+3)=
8372 & mstu(5)*(mint(84)+icol(kcc,3,jc))
8373 IF(icol(kcc,4,jc).NE.0.AND.k(ipu4,1).EQ.3) k(ipu4,j+3)=
8374 & mstu(5)*(mint(84)+icol(kcc,4,jc))
8379 IF(idoc.EQ.9) imax=3
8381 i1=mint(83)+idoc-imax+i
8385 IF(idoc.LE.9) k(i1,3)=0
8386 IF(idoc.GE.11) k(i1,3)=mint(83)+2+i
8392 ELSEIF(idoc.EQ.9)
THEN
8396 IF(kcs.EQ.-1) jc=3-j
8397 IF(icol(kcc,1,jc).NE.0.AND.k(ipu1,1).EQ.14) k(ipu1,j+3)=
8398 & k(ipu1,j+3)+mint(84)+icol(kcc,1,jc)+
8399 &
max(0,
min(1,icol(kcc,1,jc)-2))
8400 IF(icol(kcc,2,jc).NE.0.AND.k(ipu2,1).EQ.14) k(ipu2,j+3)=
8401 & k(ipu2,j+3)+mint(84)+icol(kcc,2,jc)+
8402 &
max(0,
min(1,icol(kcc,2,jc)-2))
8403 IF(icol(kcc,3,jc).NE.0.AND.k(ipu4,1).EQ.3) k(ipu4,j+3)=
8404 & mstu(5)*(mint(84)+icol(kcc,3,jc))
8405 IF(icol(kcc,4,jc).NE.0.AND.k(ipu5,1).EQ.3) k(ipu5,j+3)=
8406 & mstu(5)*(mint(84)+icol(kcc,4,jc))
8411 i1=mint(83)+idoc-3+i
8424 k(ipu3,1)=k(ipu3,1)+10
8425 k(ipu4,1)=k(ipu4,1)+10
8430 DO 650 i=mint(83)+5,mint(83)+8
8448 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
8451 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
8452 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
8453 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
8454 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
8455 common/pypars/mstp(200),parp(200),msti(200),pari(200)
8456 common/pyint1/mint(400),vint(400)
8457 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
8458 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
8459 SAVE /
pyjets/,/
pydat1/,/pydat2/,/pysubs/,/pypars/,/pyint1/,
8462 dimension kfls(4),is(2),xs(2),zs(2),q2s(2),tevcsv(2),tevesv(2),
8463 &xfs(2,-25:25),xfa(-25:25),xfb(-25:25),xfn(-25:25),wtapc(-25:25),
8464 &wtape(-25:25),wtsf(-25:25),the2(2),alam(2),dq2(3),dpc(3),dpd(4),
8465 &dpb(4),robo(5),more(2),kfbeam(2),q2mncs(2),kcfi(2),nfis(2),
8466 &thefis(2,2),isfi(2)
8474 IF(iset(isub).EQ.2) q2mx=parp(67)*vint(56)
8479 IF(mstp(66).EQ.1.AND.mint(107).EQ.3)
8480 &q2mncs(1)=
max(q2mnc,vint(283))
8482 IF(mstp(66).EQ.1.AND.mint(108).EQ.3)
8483 &q2mncs(2)=
max(q2mnc,vint(284))
8485 xec0=2d0*parp(65)/vint(1)
8490 IF(mint(47).GE.2.AND.(mint(47).NE.5.OR.mstp(12).GE.1))
THEN
8492 IF(mstp(64).EQ.1) fq2c=parp(63)
8493 IF(mstp(64).EQ.2) fq2c=parp(64)
8494 tcmx=
log(fq2c*q2mx/parp(61)**2)
8495 IF(q2mx.LT.
max(q2mnc,2d0*parp(61)**2).OR.tcmx.LT.0.2d0)
8506 IF(mint(45).EQ.3.OR.mint(46).EQ.3)
THEN
8509 IF(q2mx.LE.q2mne.OR.temx.LT.0.2d0) meev=0
8511 IF(mcev.EQ.0.AND.meev.EQ.0)
RETURN
8518 kfbeam(jt)=mint(10+jt)
8519 IF(mint(18+jt).EQ.1)kfbeam(jt)=22
8520 kfls(jt)=mint(14+jt)
8523 IF(mint(18+jt).EQ.1) xs(jt)=vint(40+jt)/vint(154+jt)
8531 xfs(jt,kfl)=xsfx(jt,kfl)
8535 IF(iset(isub).GE.3.AND.iset(isub).LE.5) dsh=vint(26)*vint(2)
8539 IF(mstp(67).GE.1.AND.mstp(67).LE.3) mfis=mstp(67)
8543 kca=
pycomp(iabs(kfls(i)))
8544 IF(kca.NE.0) kcfi(i)=kchg(kca,2)*isign(1,kfls(i))
8546 IF(kcfi(i).NE.0)
THEN
8547 IF(i.EQ.1) ipfs=ipus1
8548 IF(i.EQ.2) ipfs=ipus2
8550 icsi=
mod(k(ipfs,3+j),mstu(5))
8551 IF(icsi.GT.0.AND.icsi.NE.ipus1.AND.icsi.NE.ipus2.AND.
8552 & (kcfi(i).EQ.(-1)**(j+1).OR.kcfi(i).EQ.2))
THEN
8556 IF(i.EQ.2) thefis(i,nfis(i))=paru(1)-thefis(i,nfis(i))
8561 IF(nfis(1)+nfis(2).EQ.0) mfis=0
8567 IF(
n.GT.
ns+1.AND.q2s(2).GT.q2s(1)) jt=2
8568 IF(more(jt).EQ.0) jt=3-jt
8572 xfb(kfl)=xfs(jt,kfl)
8579 IF(iabs(kflb).LE.10.OR.kflb.EQ.21)
THEN
8581 xec=
max(xec0,xb*(1d0/(1d0-parp(66))-1d0))
8582 IF(xb.GE.1d0-2d0*xec) mcev=0
8585 IF(mint(44+jt).EQ.3)
THEN
8587 IF(xb.GE.1d0-2d0*xee) meev=0
8588 IF((iabs(kflb).LE.10.OR.kflb.EQ.21).AND.xb.GE.1d0-2d0*xec)
8591 IF(mint(18+jt).EQ.1) meev=0
8593 IF(iabs(kflb).EQ.24)
THEN
8598 IF(mcev.EQ.0.AND.meev.EQ.0)
THEN
8607 IF(mstp(62).LE.1)
THEN
8608 IF(zs(jt).GT.0.99999d0)
THEN
8611 q2b=0.5d0*(1d0/zs(jt)+1d0)*q2s(jt)+0.5d0*(1d0/zs(jt)-1d0)*
8612 & (q2s(3-jt)-dsh+
sqrt((dsh+q2s(1)+q2s(2))**2+
8613 & 8d0*q2s(1)*q2s(2)*zs(jt)/(1d0-zs(jt))))
8615 IF(mcev.EQ.1) tevcb=
log(fq2c*q2b/alam(jt)**2)
8616 IF(meev.EQ.1) teveb=
log(q2b/spme)
8620 tevcb=tevcb+2d0*
log(alam(jt)/paru(117))
8622 b0=(33d0-2d0*mstu(118))/6d0
8628 IF(mfis.GE.1.AND.
n.LE.
ns+2)
THEN
8631 IF(iabs(kcfi(ifi)).EQ.1.AND.nfis(ifi).EQ.1)
THEN
8633 ELSEIF(kcfi(ifi).EQ.2.AND.nfis(ifi).EQ.1)
THEN
8634 IF(
pyr(0).GT.0.5d0) isfi(ifi)=1
8635 ELSEIF(kcfi(ifi).EQ.2.AND.nfis(ifi).EQ.2)
THEN
8637 IF(
pyr(0).GT.0.5d0) isfi(ifi)=2
8648 IF(iabs(kflb).LE.10)
THEN
8649 wtapc(kflb)=(8d0/3d0)*
log((1d0-xec-xb)*(xb+xec)/(xec*(1d0-xec)))
8650 wtapc(21)=0.5d0*(xb/(xb+xec)-xb/(1d0-xec))
8652 ELSEIF(iabs(kflb).LE.20)
THEN
8653 wtapf1=
log((1d0-xee-xb)*(xb+xee)/(xee*(1d0-xee)))
8654 wtapf2=
log((1d0-xee-xb)*(1d0-xee)/(xee*(xb+xee)))
8655 wtape(kflb)=2d0*(wtapf1+wtapf2)
8656 IF(mstp(12).GE.1) wtape(22)=xb/(xb+xee)-xb/(1d0-xee)
8658 ELSEIF(kflb.EQ.21)
THEN
8659 wtapq=(16d0/3d0)*(
sqrt((1d0-xec)/xb)-
sqrt((xb+xec)/xb))
8660 DO 180 kfl=1,mstp(58)
8664 wtapc(21)=6d0*
log((1d0-xec-xb)/xec)
8666 ELSEIF(kflb.EQ.22)
THEN
8667 wtapf=
log((1d0-xee-xb)*(1d0-xee)/(xee*(xb+xee)))/xb
8670 ELSEIF(kflb.EQ.24)
THEN
8671 wtape(-11)=1d0/(4d0*paru(102))*
log((1d0-xee-xb)*(1d0-xee)/
8672 & (xee*(xb+xee)))/xb
8673 ELSEIF(kflb.EQ.-24)
THEN
8674 wtape(11)=1d0/(4d0*paru(102))*
log((1d0-xee-xb)*(1d0-xee)/
8675 & (xee*(xb+xee)))/xb
8681 IF(ntry.GT.500)
THEN
8687 xfbo=
max(1
d-10,xfb(kflb))
8689 wtsf(kfl)=xfb(kfl)/xfbo
8690 wtsumc=wtsumc+wtapc(kfl)*wtsf(kfl)
8691 wtsume=wtsume+wtape(kfl)*wtsf(kfl)
8693 wtsumc=
max(0.0001d0,wtsumc)
8694 wtsume=
max(0.0001d0/fwte,wtsume)
8699 IF(ntry2.GT.500)
THEN
8704 IF(mstp(64).LE.0)
THEN
8705 tevcb=tevcb+
log(
pyr(0))*paru(2)/(paru(111)*wtsumc)
8706 ELSEIF(mstp(64).EQ.1)
THEN
8709 tevcb=tevcb*
exp(
max(-50d0,
log(
pyr(0))*b0/(5d0*wtsumc)))
8714 & (paru(101)*fwte*wtsume*temx)))
8718 220
IF(mcev.EQ.1) q2cb=alam(jt)**2*
exp(
max(-50d0,tevcb))/fq2c
8719 IF(meev.EQ.1) q2eb=spme*
exp(
max(-50d0,teveb))
8721 IF(mcev.EQ.0.AND.meev.EQ.0)
THEN
8722 ELSEIF(mcev.EQ.1.AND.meev.EQ.0)
THEN
8723 IF(q2cb.GT.q2mncs(jt)) mce=1
8724 ELSEIF(mcev.EQ.0.AND.meev.EQ.1)
THEN
8725 IF(q2eb.GT.q2mne) mce=2
8726 ELSEIF(q2mncs(jt).GT.q2mne)
THEN
8728 IF(q2eb.GT.q2cb.OR.q2cb.LE.q2mncs(jt)) mce=2
8729 IF(mce.EQ.2.AND.q2eb.LE.q2mne) mce=0
8732 IF(q2cb.GT.q2eb.OR.q2eb.LE.q2mne) mce=1
8733 IF(mce.EQ.1.AND.q2cb.LE.q2mncs(jt)) mce=0
8740 ELSEIF(mce.EQ.1)
THEN
8743 IF(meev.EQ.1) teveb=
log(q2b/spme)
8747 IF(mcev.EQ.1) tevcb=
log(fq2c*q2b/alam(jt)**2)
8751 IF(mce.EQ.1) wtran=
pyr(0)*wtsumc
8752 IF(mce.EQ.2) wtran=
pyr(0)*wtsume
8755 IF(mce.EQ.1) wtran=wtran-wtapc(kfla)*wtsf(kfla)
8756 IF(mce.EQ.2) wtran=wtran-wtape(kfla)*wtsf(kfla)
8757 IF(kfla.LE.24.AND.wtran.GT.0d0) goto 230
8766 IF(iabs(kfla).LE.10.AND.iabs(kflb).LE.10)
THEN
8767 z=1d0-((1d0-xb-xec)/(1d0-xec))*
8768 & (xec*(1d0-xec)/((xb+xec)*(1d0-xb-xec)))**
pyr(0)
8769 wtz=0.5d0*(1d0+
z**2)
8771 ELSEIF(iabs(kfla).LE.10.AND.kflb.EQ.21)
THEN
8773 wtz=0.5d0*(1d0+(1d0-
z)**2)*
sqrt(
z)
8775 ELSEIF(iabs(kfla).LE.20.AND.iabs(kflb).LE.20)
THEN
8776 IF(wtapf1.GT.
pyr(0)*(wtapf1+wtapf2))
THEN
8777 z=1d0-((1d0-xb-xee)/(1d0-xee))*
8778 & (xee*(1d0-xee)/((xb+xee)*(1d0-xb-xee)))**
pyr(0)
8780 z=xb+xb*(xee/(1d0-xee))*
8781 & ((1d0-xb-xee)*(1d0-xee)/(xee*(xb+xee)))**
pyr(0)
8783 wtz=0.5d0*(1d0+
z**2)*(
z-xb)/(1d0-xb)
8785 ELSEIF(iabs(kfla).LE.20.AND.kflb.EQ.22)
THEN
8786 z=xb+xb*(xee/(1d0-xee))*
8787 & ((1d0-xb-xee)*(1d0-xee)/(xee*(xb+xee)))**
pyr(0)
8788 wtz=0.5d0*(1d0+(1d0-
z)**2)*xb*(
z-xb)/
z
8790 ELSEIF(iabs(kfla).LE.20.AND.iabs(kflb).EQ.24)
THEN
8791 z=xb+xb*(xee/(1d0-xee))*
8792 & ((1d0-xb-xee)*(1d0-xee)/(xee*(xb+xee)))**
pyr(0)
8793 wtz=0.5d0*(1d0+(1d0-
z)**2)*(xb*(
z-xb)/
z)*
8794 & (q2b/(q2b+pmas(24,1)**2))
8796 ELSEIF(kfla.EQ.21.AND.iabs(kflb).LE.10)
THEN
8797 z=xb/(1d0-xec)+
pyr(0)*(xb/(xb+xec)-xb/(1d0-xec))
8798 wtz=1d0-2d0*
z*(1d0-
z)
8800 ELSEIF(kfla.EQ.21.AND.kflb.EQ.21)
THEN
8801 z=1d0/(1d0+((1d0-xec-xb)/xb)*(xec/(1d0-xec-xb))**
pyr(0))
8802 wtz=(1d0-
z*(1d0-
z))**2
8804 ELSEIF(kfla.EQ.22.AND.iabs(kflb).LE.20)
THEN
8805 z=xb/(1d0-xee)+
pyr(0)*(xb/(xb+xee)-xb/(1d0-xee))
8806 wtz=1d0-2d0*
z*(1d0-
z)
8808 IF(mce.EQ.2) wtz=(wtz/fwte)*(teveb/temx)
8812 IF(mstp(65).GE.1)
THEN
8814 IF(kflb.NE.21) rsoft=8d0/3d0
8815 z=
z*(tevcb/tevcsv(jt))**(rsoft*xec/((xb+xec)*b0))
8816 IF(
z.LE.xb) goto 210
8820 IF(mstp(64).GE.2)
THEN
8821 IF((1d0-
z)*q2b.LT.q2mncs(jt)) goto 210
8822 alprat=tevcb/(tevcb+
log(1d0-
z))
8823 IF(alprat.LT.5d0*
pyr(0)) goto 210
8824 IF(alprat.GT.5d0) wtz=wtz*alprat/5d0
8829 IF(mfis.GE.1.AND.
n.LE.
ns+2.AND.ntry2.LT.200)
THEN
8830 the2d=(4d0*q2b)/(dsh*(1d0-
z))
8831 IF(
n.EQ.
ns+1.AND.isfi(1).GE.1)
THEN
8832 IF(the2d.GT.thefis(1,isfi(1))**2) goto 210
8833 ELSEIF(
n.EQ.
ns+2.AND.isfi(2).GE.1)
THEN
8834 IF(the2d.GT.thefis(2,isfi(2))**2) goto 210
8839 IF(mstp(62).GE.3.AND.ntry2.LT.200)
THEN
8840 the2t=(4d0*
z**2*q2b)/(vint(2)*(1d0-
z)*xb**2)
8841 IF(the2t.GT.the2(jt)) goto 210
8846 mint(105)=mint(102+jt)
8847 mint(109)=mint(106+jt)
8848 IF(mstp(57).LE.1)
THEN
8849 CALL
pypdfu(kfbeam(jt),xb,q2ref,xfn)
8851 CALL
pypdfl(kfbeam(jt),xb,q2ref,xfn)
8854 IF(xfbn.LT.1
d-20)
THEN
8855 IF(kfla.EQ.kflb)
THEN
8861 ELSEIF(mce.EQ.1.AND.tevcbs-tevcb.GT.0.2d0)
THEN
8862 tevcb=0.5d0*(tevcbs+tevcb)
8864 ELSEIF(mce.EQ.2.AND.tevebs-teveb.GT.0.2d0)
THEN
8865 teveb=0.5d0*(tevebs+teveb)
8876 IF(mstp(57).LE.1)
THEN
8877 CALL
pypdfu(kfbeam(jt),xa,q2ref,xfa)
8879 CALL
pypdfl(kfbeam(jt),xa,q2ref,xfa)
8882 IF(xfan.LT.1
d-20) goto 190
8884 IF(wtz*xfan/xfbn.LT.
pyr(0)*wtsfa) goto 190
8887 250
IF(
n.EQ.
ns+2)
THEN
8889 dplcm=
sqrt((dsh+dq2(1)+dq2(2))**2-4d0*dq2(1)*dq2(2))/dshr
8892 IF(jr.EQ.1) ipo=ipus1
8893 IF(jr.EQ.2) ipo=ipus2
8903 p(i,3)=dplcm*(-1)**(jr+1)
8904 p(i,4)=(dsh+dq2(3-jr)-dq2(jr))/dshr
8905 p(i,5)=-
sqrt(dq2(jr))
8908 k(ipo,4)=
mod(k(ipo,4),mstu(5))+mstu(5)*i
8909 k(ipo,5)=
mod(k(ipo,5),mstu(5))+mstu(5)*i
8913 ELSEIF(
n.GT.
ns+2)
THEN
8918 dpc(3)=0.5d0*(abs(
p(is(1),3))+abs(
p(is(2),3)))
8919 dpd(1)=dsh+dq2(jr)+dq2(jt)
8920 dpd(2)=dshz+dq2(jr)+dq2(3)
8921 dpd(3)=
sqrt(dpd(1)**2-4d0*dq2(jr)*dq2(jt))
8922 dpd(4)=
sqrt(dpd(2)**2-4d0*dq2(jr)*dq2(3))
8924 IF(q2s(jr).GE.0.25d0*q2mnc.AND.dpd(1)-dpd(3).GE.
8925 & 1
d-10*dpd(1)) ikin=1
8926 IF(ikin.EQ.0) dmsma=(dq2(jt)/zs(jt)-dq2(3))*
8927 & (dsh/(dsh+dq2(jt))-dsh/(dshz+dq2(3)))
8928 IF(ikin.EQ.1) dmsma=(dpd(1)*dpd(2)-dpd(3)*dpd(4))/
8929 & (2d0*dq2(jr))-dq2(jt)-dq2(3)
8940 IF(iabs(kflb).LE.20.AND.iabs(kfls(jt+2)).LE.20)
THEN
8942 IF(iabs(kflb).GE.11) k(it,2)=22
8944 ELSEIF(iabs(kflb).LE.20.AND.iabs(kfls(jt+2)).GT.20)
THEN
8946 IF(kfls(jt+2).EQ.24)
THEN
8948 ELSEIF(kfls(jt+2).EQ.-24)
THEN
8954 IF(kfls(jt+2).GT.20) k(it,2)=kfls(jt+2)
8957 IF(dmsma.LE.
p(it,5)**2) goto 100
8958 IF(mstp(63).GE.1.AND.mce.EQ.1)
THEN
8961 p(it,4)=(dshz-dsh-
p(it,5)**2)/dshr
8962 p(it,3)=
sqrt(
p(it,4)**2-
p(it,5)**2)
8963 IF(mstp(63).EQ.1)
THEN
8965 ELSEIF(mstp(63).EQ.2)
THEN
8966 q2tim=
min(dmsma,parp(71)*q2s(jt))
8970 IF(ikin.EQ.0) dpt2=dmsma*(dshz+dq2(3))/(dsh+dq2(jt))
8971 IF(ikin.EQ.1) dpt2=dmsma*(0.5d0*dpd(1)*dpd(2)+0.5d0*dpd(3)*
8972 & dpd(4)-dq2(jr)*(dq2(jt)+dq2(3)))/(4d0*dsh*dpc(3)**2)
8974 & (1d0/
p(it,4)+1d0/
p(is(jt),4))
8979 IF(
n.GE.it+1)
p(it,5)=
p(it+1,5)
8984 IF(ikin.EQ.0) dpt2=(dmsma-dms)*(dshz+dq2(3))/(dsh+dq2(jt))
8985 IF(ikin.EQ.1) dpt2=(dmsma-dms)*(0.5d0*dpd(1)*dpd(2)+
8986 & 0.5d0*dpd(3)*dpd(4)-dq2(jr)*(dq2(jt)+dq2(3)+dms))/
8987 & (4d0*dsh*dpc(3)**2)
8988 IF(dpt2.LT.0d0) goto 100
8989 dpb(1)=(0.5d0*dpd(2)-dpc(jr)*(dshz+dq2(jr)-dq2(jt)-dms)/
8990 & dshr)/dpc(3)-dpc(3)
8992 p(it,3)=dpb(1)*(-1)**(jt+1)
8993 p(it,4)=
sqrt(dpt2+dpb(1)**2+dms)
8995 dpb(1)=
sqrt(dpb(1)**2+dpt2)
8996 dpb(2)=
sqrt(dpb(1)**2+dms)
8998 dpb(4)=
sqrt(dpb(3)**2+dms)
8999 dbez=(dpb(4)*dpb(1)-dpb(3)*dpb(2))/(dpb(4)*dpb(2)-dpb(3)*
9001 CALL
pyrobo(it+1,
n,0d0,0d0,0d0,0d0,dbez)
9003 CALL
pyrobo(it+1,
n,the,0d0,0d0,0d0,0d0)
9015 p(
n+1,3)=
p(it,3)+
p(is(jt),3)
9016 p(
n+1,4)=
p(it,4)+
p(is(jt),4)
9025 IF(iabs(k(it,2)).GE.22)
THEN
9030 ELSEIF(iabs(k(is(jt),2)).GE.22)
THEN
9034 ELSEIF(k(
n+1,2).EQ.22)
THEN
9040 ELSEIF(k(
n+1,2).GT.0.AND.k(
n+1,2).NE.21.AND.k(it,2).EQ.21)
THEN
9044 ELSEIF(k(
n+1,2).GT.0.AND.k(
n+1,2).NE.21)
THEN
9048 ELSEIF(k(
n+1,2).LT.0.AND.k(it,2).EQ.21)
THEN
9052 ELSEIF(k(
n+1,2).LT.0)
THEN
9056 ELSEIF((k(it,2).EQ.21.AND.
pyr(0).GT.0.5d0).OR.k(it,2).LT.0)
THEN
9063 IF(im1.EQ.
n+1) k(im1,4)=k(im1,4)+id1
9064 IF(im2.EQ.
n+1) k(im2,5)=k(im2,5)+id2
9065 k(id1,4)=k(id1,4)+mstu(5)*im1
9066 k(id2,5)=k(id2,5)+mstu(5)*im2
9068 k(id1,5)=k(id1,5)+mstu(5)*id2
9069 k(id2,4)=k(id2,4)+mstu(5)*id1
9074 dbsvx=(
p(
n,1)+
p(is(jr),1))/(
p(
n,4)+
p(is(jr),4))
9075 dbsvz=(
p(
n,3)+
p(is(jr),3))/(
p(
n,4)+
p(is(jr),4))
9076 IF(dbsvx**2+dbsvz**2.GE.1d0) goto 100
9077 CALL
pyrobo(
ns+1,
n,0d0,0d0,-dbsvx,0d0,-dbsvz)
9078 ir=
n+(jt-1)*(is(1)-
n)
9086 IF(mstp(62).GE.3) the2(jt)=the2t
9091 IF((mcev.EQ.1.AND.q2b.GE.0.25d0*q2mnc).OR.
9092 &(meev.EQ.1.AND.q2b.GE.q2mne))
THEN
9098 xfs(jt,kfl)=xfa(kfl)
9107 IF(
n.GT.mstu(4)-mstu(32)-10)
THEN
9108 CALL
pyerrm(11,
'(PYSSPA:) no more memory left in PYJETS')
9109 IF(mstu(21).GE.1)
n=
ns
9110 IF(mstu(21).GE.1)
RETURN
9112 IF(more(1).EQ.1.OR.more(2).EQ.1) goto 150
9122 robot=robo(3)**2+robo(4)**2+robo(5)**2
9123 IF(robot.GE.0.999999d0)
THEN
9124 robot=1.00001d0*
sqrt(robot)
9125 robo(3)=robo(3)/robot
9126 robo(4)=robo(4)/robot
9127 robo(5)=robo(5)/robot
9129 CALL
pyrobo(
n+2,
n+2,0d0,0d0,-robo(3),-robo(4),-robo(5))
9132 CALL
pyrobo(mint(83)+5,
ns,robo(1),robo(2),robo(3),robo(4),
9136 k(ipu1,3)=mint(83)+3
9137 k(ipu2,3)=mint(83)+4
9139 mint(12+jt)=kfls(jt)
9141 IF(mint(18+jt).EQ.1) vint(140+jt)=vint(154+jt)*xs(jt)
9157 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
9160 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
9162 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
9163 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
9164 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
9165 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
9166 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
9167 common/pypars/mstp(200),parp(200),msti(200),pari(200)
9168 common/pyint1/mint(400),vint(400)
9169 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
9170 common/pyint4/mwid(500),wids(500,5)
9172 &/pyint1/,/pyint2/,/pyint4/
9174 dimension iref(50,8),kdcy(3),kfl1(3),kfl2(3),kfl3(3),keql(3),
9175 &kcqm(3),kcq1(3),kcq2(3),kcq3(3),nsd(3),pmmn(3),ilin(6),
9176 &hgz(3,3),coup(6,4),corl(2,2,2),pk(6,4),pkk(6,6),cthe(3),
9177 &
phi(3),wdtp(0:200),wdte(0:200,0:5),dbezqq(3),dpmo(5),xm(5)
9178 COMPLEX fgk,ha(6,6),hc(6,6)
9180 CHARACTER code*9,mass*9
9184 fgk(i1,i2,i3,i4,i5,i6)=4.*ha(i1,i3)*hc(i2,i6)*(ha(i1,i5)*
9185 &hc(i1,i4)+ha(i3,i5)*hc(i3,i4))
9186 digk(dt,du)=-4d0*d34*d56+dt*(3d0*dt+4d0*du)+dt**2*(dt*du/
9187 &(d34*d56)-2d0*(1d0/d34+1d0/d56)*(dt+du)+2d0*(d34/d56+d56/d34))
9188 djgk(dt,du)=8d0*(d34+d56)**2-8d0*(d34+d56)*(dt+du)-6d0*dt*du-
9189 &2d0*dt*du*(dt*du/(d34*d56)-2d0*(1d0/d34+1d0/d56)*(dt+du)+
9190 &2d0*(d34/d56+d56/d34))
9195 IF(mstp(8).GE.2) xw=1d0-(pmas(24,1)/pmas(23,1))**2
9198 gmmz=pmas(23,1)*pmas(23,2)
9200 gmmw=pmas(24,1)*pmas(24,2)
9211 IF(iset(isub).EQ.1.OR.iset(isub).EQ.3)
THEN
9212 iref(1,1)=mint(84)+2+iset(isub)
9213 iref(1,4)=mint(83)+6+iset(isub)
9214 ELSEIF(iset(isub).EQ.2.OR.iset(isub).EQ.4)
THEN
9215 iref(1,1)=mint(84)+1+iset(isub)
9216 iref(1,2)=mint(84)+2+iset(isub)
9217 iref(1,4)=mint(83)+5+iset(isub)
9218 iref(1,5)=mint(83)+6+iset(isub)
9219 ELSEIF(iset(isub).EQ.5)
THEN
9220 iref(1,1)=mint(84)+3
9221 iref(1,2)=mint(84)+4
9222 iref(1,3)=mint(84)+5
9223 iref(1,4)=mint(83)+7
9224 iref(1,5)=mint(83)+8
9225 iref(1,6)=mint(83)+9
9236 IF(iref(1,jt).GT.0)
THEN
9237 IF(k(iref(1,jt),1).GT.10)
THEN
9238 kfa=iabs(k(iref(1,jt),2))
9239 IF(kfa.GE.6.AND.kchg(
pycomp(kfa),2).NE.0)
THEN
9240 DO 110 i=iref(1,jt)+1,
n
9241 IF(k(i,1).LE.10.AND.k(i,2).EQ.k(iref(1,jt),2))
9245 kda=
mod(k(iref(1,jt),4),mstu(4))
9246 IF(mwid(
pycomp(kfa)).NE.0.AND.kda.GT.1) iref(1,jt)=kda
9258 IF(iref(ip,2).EQ.0) jtmax=1
9259 IF(iref(ip,3).NE.0) jtmax=3
9275 IF(id.EQ.0) goto 210
9278 IF(mwid(kca).EQ.0) goto 210
9279 IF(k(id,1).GT.10.OR.mdcy(kca,1).EQ.0) goto 210
9280 IF(kfa.EQ.6.OR.kfa.EQ.7.OR.kfa.EQ.8.OR.kfa.EQ.17.OR.
9281 & kfa.EQ.18) it4=it4+1
9282 k(id,4)=mstu(5)*(k(id,4)/mstu(5))
9283 k(id,5)=mstu(5)*(k(id,5)/mstu(5))
9286 IF(kchg(kca,3).EQ.0)
THEN
9289 ipm=(5-isign(1,k(id,2)))/2
9293 kfb=iabs(k(iref(ip,3-jt),2))
9294 ELSEIF(jtmax.EQ.3)
THEN
9296 kfb=iabs(k(iref(ip,jt2),2))
9298 jt2=jt+2-3*((jt+1)/3)
9299 kfb=iabs(k(iref(ip,jt2),2))
9304 IF(isub.EQ.1.OR.isub.EQ.15.OR.isub.EQ.19.OR.isub.EQ.22.OR.
9305 & isub.EQ.30.OR.isub.EQ.35.OR.isub.EQ.141) mint(61)=1
9306 CALL
pywidt(kfa,
p(id,5)**2,wdtp,wdte)
9307 wdte0s=wdte(0,1)+wdte(0,ipm)+wdte(0,4)
9308 IF(kfb.EQ.kfa) wdte0s=wdte0s+wdte(0,5)
9309 IF(wdte0s.LE.0d0) goto 210
9313 idc=idl+mdcy(kca,2)-1
9314 rkfl=rkfl-(wdte(idl,1)+wdte(idl,ipm)+wdte(idl,4))
9315 IF(kfb.EQ.kfa) rkfl=rkfl-wdte(idl,5)
9316 IF(idl.LT.mdcy(kca,3).AND.rkfl.GT.0d0) goto 150
9319 kcqm(jt)=kchg(kca,2)*isign(1,k(id,2))
9320 IF(kcqm(jt).EQ.-2) kcqm(jt)=2
9321 kfl1(jt)=kfdp(idc,1)*isign(1,k(id,2))
9322 kfc1a=
pycomp(iabs(kfl1(jt)))
9323 IF(kchg(kfc1a,3).EQ.0) kfl1(jt)=iabs(kfl1(jt))
9324 kcq1(jt)=kchg(kfc1a,2)*isign(1,kfl1(jt))
9325 IF(kcq1(jt).EQ.-2) kcq1(jt)=2
9326 kfl2(jt)=kfdp(idc,2)*isign(1,k(id,2))
9327 kfc2a=
pycomp(iabs(kfl2(jt)))
9328 IF(kchg(kfc2a,3).EQ.0) kfl2(jt)=iabs(kfl2(jt))
9329 kcq2(jt)=kchg(kfc2a,2)*isign(1,kfl2(jt))
9330 IF(kcq2(jt).EQ.-2) kcq2(jt)=2
9331 kfl3(jt)=kfdp(idc,3)*isign(1,k(id,2))
9332 IF(kfl3(jt).NE.0)
THEN
9333 kfc3a=
pycomp(iabs(kfl3(jt)))
9334 IF(kchg(kfc3a,3).EQ.0) kfl3(jt)=iabs(kfl3(jt))
9335 kcq3(jt)=kchg(kfc3a,2)*isign(1,kfl3(jt))
9336 IF(kcq3(jt).EQ.-2) kcq3(jt)=2
9341 IF(kfb.EQ.kfa) keql(jt)=mdme(idc,1)
9358 IF(kfl3(jt).EQ.0) goto 170
9362 p(
n+i,5)=pmas(kcw,1)
9365 IF(kflw/ksusy1.EQ.1.OR.kflw/ksusy1.EQ.2)
THEN
9367 DO 160 idc=mdcy(kcw,2),mdcy(kcw,2)+mdcy(kcw,3)-1
9368 IF(mdme(idc,1).GT.0.AND.brat(idc).GT.1
e-4)
THEN
9369 pmsum=pmas(
pycomp(kfdp(idc,1)),1)+
9370 & pmas(
pycomp(kfdp(idc,2)),1)
9371 IF(kfdp(idc,3).NE.0) pmsum=pmsum+
9372 & pmas(
pycomp(kfdp(idc,3)),1)
9373 pmmn(i)=
min(pmmn(i),pmsum)
9377 ELSEIF(kflw.EQ.6)
THEN
9378 pmmn(i)=pmas(24,1)+pmas(5,1)
9387 kflw1=iabs(kfl1(jt))
9388 kflw2=iabs(kfl2(jt))
9389 IF(kfl3(jt).NE.0)
THEN
9391 IF(pwid3.GT.pwid1.AND.pwid2.GE.pwid1)
THEN
9394 kflw1=iabs(kfl3(jt))
9395 ELSEIF(pwid3.GT.pwid2)
THEN
9398 kflw2=iabs(kfl3(jt))
9403 IF(mstp(42).LE.0.OR.(pwid1.LT.parp(41).AND.
9404 & pwid2.LT.parp(41)))
THEN
9407 IF(kfa/ksusy1.EQ.1.OR.kfa/ksusy1.EQ.2)
THEN
9408 IF(
p(
n+1,5)+
p(
n+2,5)+
p(
n+3,5).GT.
p(id,5))
THEN
9409 p(
n+1,5)=
p(id,5)-
p(
n+2,5)-0.5d0
9410 IF(
p(
n+1,5).LT.0d0)
p(
n+1,5)=0d0
9414 IF(
p(
n+1,5)+
p(
n+2,5)+
p(
n+3,5)+parj(64).GT.
p(id,5))
THEN
9415 CALL
pyerrm(13,
'(PYRESD:) daughter masses too large')
9424 IF(kfl3(jt).NE.0)
THEN
9426 kflw3=iabs(kfl1(jt))+iabs(kfl2(jt))+iabs(kfl3(jt))-
9431 IF(loop.LE.10.AND.
p(
n+iwid3,5).LE.pmmn(iwid3)) goto 180
9432 pmtot=pmtot-
p(
n+iwid3,5)
9438 ckin(45)=
max(pmmn(iwid1),ckin(45))
9439 ckin(47)=
max(pmmn(iwid2),ckin(47))
9440 CALL
pyofsh(2,kfa,kflw1,kflw2,pmtot,
p(
n+iwid1,5),
9445 ckin(49)=pmmn(iwid1)
9446 ckin(50)=pmmn(iwid2)
9447 CALL
pyofsh(5,kfa,kflw1,kflw2,pmtot,
p(
n+iwid1,5),
9452 IF(mint(51).EQ.1)
RETURN
9462 IF(kfl3(jt).NE.0)
THEN
9485 IF(kfl2(jt).LT.0) isid=5
9486 k(
n+2,isid)=mstu(5)*(
n+3)
9487 k(
n+3,9-isid)=mstu(5)*(
n+2)
9489 IF(kfl1(jt).EQ.ksusy1+21)
THEN
9494 IF(kfl2(jt).LT.0) isid=5
9495 k(
n+1,isid)=mstu(5)*(
n+2)
9496 k(
n+1,9-isid)=mstu(5)*(
n+3)
9497 k(
n+2,isid)=mstu(5)*(
n+1)
9498 k(
n+3,9-isid)=mstu(5)*(
n+1)
9500 IF(kfa.EQ.ksusy1+21)
THEN
9504 IF(kfl2(jt).LT.0) isid=5
9505 k(id,isid)=k(id,isid)+(
n+2)
9506 k(id,9-isid)=k(id,9-isid)+(
n+3)
9507 k(
n+2,isid)=mstu(5)*id
9508 k(
n+3,9-isid)=mstu(5)*id
9515 CALL
py2ent(
n+1,kfl1(jt),kfl2(jt),
p(id,5))
9517 IF(kcq1(jt).NE.0)
THEN
9519 IF(kcq1(jt).NE.-1) k(
n-1,4)=mstu(5)*
n
9520 IF(kcq1(jt).NE.1) k(
n-1,5)=mstu(5)*
n
9522 IF(kcq2(jt).NE.0)
THEN
9524 IF(kcq2(jt).NE.-1) k(
n,4)=mstu(5)*(
n-1)
9525 IF(kcq2(jt).NE.1) k(
n,5)=mstu(5)*(
n-1)
9528 IF(kcqm(jt).EQ.0)
THEN
9529 ELSEIF(kcqm(jt).NE.2)
THEN
9531 IF(kcqm(jt).EQ.-1) isid=5
9533 IF(kcq1(jt).EQ.0.OR.kcq2(jt).EQ.2) idau=
n
9534 k(id,isid)=k(id,isid)+idau
9535 k(idau,isid)=mstu(5)*id
9537 ELSEIF(kcq1(jt).EQ.0.OR.kcq2(jt).EQ.0)
THEN
9539 IF(kcq1(jt).EQ.0) idau=
n
9540 k(id,4)=k(id,4)+idau
9541 k(id,5)=k(id,5)+idau
9542 k(idau,4)=mstu(5)*id
9543 k(idau,5)=mstu(5)*id
9546 IF(kcq1(jt).EQ.-1) isid=5
9547 IF(kcq1(jt).EQ.2) isid=
int(4.5d0+
pyr(0))
9548 k(id,isid)=k(id,isid)+(
n-1)
9549 k(id,9-isid)=k(id,9-isid)+
n
9550 k(
n-1,isid)=mstu(5)*id
9551 k(
n,9-isid)=mstu(5)*id
9557 210
IF(mwid(kca).NE.0.AND.(kfl1(jt).EQ.0.OR.kfl3(jt).NE.0))
9559 IF(ires.GT.0.AND.mwid(kca).NE.0.AND.kfl1(jt).EQ.0)
THEN
9560 WRITE(
code,
'(I9)') k(id,2)
9561 WRITE(mass,
'(F9.3)')
p(id,5)
9562 CALL
pyerrm(3,
'(PYRESD:) Failed to decay particle'//
9563 &
code//
' with mass'//mass)
9571 IF(kdcy(1).EQ.0) goto 560
9572 ELSEIF(jtmax.EQ.2)
THEN
9573 IF(kdcy(1).EQ.0.AND.kdcy(2).EQ.0) goto 560
9574 IF(keql(1).EQ.4.AND.keql(2).EQ.4) goto 140
9575 IF(keql(1).EQ.5.AND.keql(2).EQ.5) goto 140
9576 ELSEIF(jtmax.EQ.3)
THEN
9577 IF(kdcy(1).EQ.0.AND.kdcy(2).EQ.0.AND.kdcy(3).EQ.0) goto 560
9578 IF(keql(1).EQ.4.AND.keql(2).EQ.4) goto 140
9579 IF(keql(1).EQ.4.AND.keql(3).EQ.4) goto 140
9580 IF(keql(2).EQ.4.AND.keql(3).EQ.4) goto 140
9581 IF(keql(1).EQ.5.AND.keql(2).EQ.5) goto 140
9582 IF(keql(1).EQ.5.AND.keql(3).EQ.5) goto 140
9583 IF(keql(2).EQ.5.AND.keql(3).EQ.5) goto 140
9587 IF(mstp(48).EQ.1.AND.isub.EQ.1.AND.jtmax.EQ.1.AND.
9588 &iabs(mint(11)).EQ.11.AND.iabs(kfl1(1)).LE.5)
THEN
9591 IF(mstj(109).EQ.2.AND.mstj(110).NE.1)
THEN
9593 &
'(PYRESD:) MSTJ(109) value requires MSTJ(110) = 1')
9596 IF(mstj(109).EQ.2.AND.mstj(111).NE.0)
THEN
9598 &
'(PYRESD) MSTJ(109) value requires MSTJ(111) = 0')
9606 IF(mstj(108).EQ.2.AND.(mstj(101).EQ.0.OR.mstj(101).EQ.1))
9609 IF(mstu(111).EQ.2) paru(112)=parj(122)
9613 IF((iabs(mstj(101)).EQ.1.AND.mstj(109).EQ.1).OR.
9614 & (mstj(101).EQ.5.AND.mstj(49).EQ.1))
THEN
9615 poll=1d0-parj(131)*parj(132)
9616 sff=1d0/(16d0*xw*xw1)
9617 sfw=
p(id,5)**4/((
p(id,5)**2-parj(123)**2)**2+
9618 & (parj(123)*parj(124))**2)
9619 sfi=sfw*(1d0-(parj(123)/
p(id,5))**2)
9621 hf1i=sfi*sff*(ve*poll+parj(132)-parj(131))
9622 hf1w=sfw*sff**2*((ve**2+1d0)*poll+2d0*ve*
9623 & (parj(132)-parj(131)))
9629 & 1d0-(2d0*pmq/
p(id,5))**2))
9630 vf=sign(1d0,qf)-4d0*qf*xw
9631 rfv=0.5d0*vq*(3d0-vq**2)*(qf**2*poll-2d0*qf*vf*hf1i+
9632 & vf**2*hf1w)+vq**3*hf1w
9633 IF(rfv.GT.0d0) parj(171)=
min(1d0,vq**3*hf1w/rfv)
9641 CALL
pyx4jt(njet,cut,kflc,
p(id,5),kfln,
x1,
x2,x4,x12,x14)
9642 ELSEIF(njet.EQ.3)
THEN
9643 CALL
pyx3jt(njet,cut,kflc,
p(id,5),
x1,x3)
9650 IF(njet.EQ.2.AND.mstj(101).NE.5)
THEN
9651 CALL
py2ent(nc+1,kflc,-kflc,
p(id,5))
9652 ELSEIF(njet.EQ.2)
THEN
9653 CALL
py2ent(-(nc+1),kflc,-kflc,
p(id,5))
9654 ELSEIF(njet.EQ.3)
THEN
9655 CALL
py3ent(nc+1,kflc,21,-kflc,
p(id,5),
x1,x3)
9656 ELSEIF(kfln.EQ.21)
THEN
9657 CALL
py4ent(nc+1,kflc,kfln,kfln,-kflc,
p(id,5),
x1,
x2,x4,
9660 CALL
py4ent(nc+1,kflc,-kfln,kfln,-kflc,
p(id,5),
x1,
x2,x4,
9663 IF(mstu(24).NE.0)
THEN
9671 IF(mstj(106).EQ.1)
THEN
9672 CALL
pyxdif(nc,njet,kflc,
p(id,5),chi,the,
phi)
9673 IF(mint(11).LT.0) the=paru(1)-the
9675 CALL
pyrobo(nc+1,
n,0d0,chi,0d0,0d0,0d0)
9680 CALL
pyrobo(nc+1,
n,0d0,0d0,
p(id,1)/
p(id,4),
9681 &
p(id,2)/
p(id,4),
p(id,3)/
p(id,4))
9685 idoc=mint(83)+mint(4)
9687 i1=mint(83)+mint(4)+1
9689 IF(mstp(128).GE.1) k(i,3)=id
9690 IF(mstp(128).LE.1.AND.mint(4).LT.mstp(126))
THEN
9702 IF(mstj(101).EQ.5) CALL
pyshow(
n-1,
n,
p(id,5))
9711 IF(jtmax.EQ.2.AND.mstp(47).GE.1.AND.ninh.EQ.0)
THEN
9713 IF(k(mint(84)+1,2).GT.0) ilin(1)=mint(84)+2
9714 IF(k(ilin(1),2).EQ.21) ilin(1)=2*mint(84)+3-ilin(1)
9715 ilin(2)=2*mint(84)+3-ilin(1)
9717 IF(iref(ip,7).EQ.25.OR.iref(ip,7).EQ.35.OR.iref(ip,7)
9721 IF(k(iref(ip,1),2).EQ.23) iord=2
9722 IF(k(iref(ip,1),2).EQ.24.AND.k(iref(ip,2),2).EQ.-24) iord=2
9723 iakipd=iabs(k(iref(ip,iord),2))
9724 IF(iakipd.EQ.25.OR.iakipd.EQ.35.OR.iakipd.EQ.36) iord=3-iord
9725 IF(kdcy(iord).EQ.0) iord=3-iord
9728 DO 250 jt=iord,3-iord,3-2*iord
9729 IF(kdcy(jt).EQ.0)
THEN
9730 ilin(imax+1)=nsd(jt)
9732 ELSEIF(k(nsd(jt)+1,2).GT.0)
THEN
9733 ilin(imax+1)=
n+2*jt-1
9736 k(
n+2*jt-1,2)=k(nsd(jt)+1,2)
9737 k(
n+2*jt,2)=k(nsd(jt)+2,2)
9740 ilin(imax+2)=
n+2*jt-1
9742 k(
n+2*jt-1,2)=k(nsd(jt)+1,2)
9743 k(
n+2*jt,2)=k(nsd(jt)+2,2)
9752 kfa=iabs(k(ilin(i),2))
9753 IF(kfa.EQ.0.OR.kfa.GT.20) goto 270
9754 coup(i,1)=kchg(kfa,1)/3d0
9755 coup(i,2)=(-1)**
mod(kfa,2)
9756 coup(i,4)=-2d0*coup(i,1)*xwv
9757 coup(i,3)=coup(i,2)+coup(i,4)
9764 IF(i.EQ.5) i1=3-iord
9767 corl(i/2,j1,j2)=coup(1,1)**2*hgz(i1,1)*coup(i,1)**2/
9768 & 16d0+coup(1,1)*coup(1,j1+2)*hgz(i1,2)*coup(i,1)*
9769 & coup(i,j2+2)/4d0+coup(1,j1+2)**2*hgz(i1,3)*
9774 cowt12=(corl(1,1,1)+corl(1,1,2))*(corl(2,1,1)+corl(2,1,2))+
9775 & (corl(1,2,1)+corl(1,2,2))*(corl(2,2,1)+corl(2,2,2))
9776 comx12=(corl(1,1,1)+corl(1,1,2)+corl(1,2,1)+corl(1,2,2))*
9777 & (corl(2,1,1)+corl(2,1,2)+corl(2,2,1)+corl(2,2,2))
9778 IF(cowt12.LT.
pyr(0)*comx12) goto 140
9784 IF(isub.EQ.141)
THEN
9785 IF(
pyr(0).LT.paru(130)) mzpwp=1
9787 IF(iabs(k(iref(2,1),2)).EQ.37) mzpwp=2
9788 iakir=iabs(k(iref(2,2),2))
9789 IF(iakir.EQ.25.OR.iakir.EQ.35.OR.iakir.EQ.36) mzpwp=2
9792 ELSEIF(isub.EQ.142)
THEN
9793 IF(
pyr(0).LT.paru(136)) mzpwp=1
9795 iakir=iabs(k(iref(2,2),2))
9796 IF(iakir.EQ.25.OR.iakir.EQ.35.OR.iakir.EQ.36) mzpwp=2
9802 310
DO 320 jt=1,jtmax
9803 IF(kdcy(jt).EQ.0) goto 320
9805 cthe(jt)=vint(13)+(vint(33)-vint(13)+vint(34)-vint(14))*
pyr(0)
9806 IF(cthe(jt).GT.vint(33)) cthe(jt)=cthe(jt)+vint(14)-vint(33)
9809 cthe(jt)=2d0*
pyr(0)-1d0
9814 IF(jtmax.EQ.2.AND.mstp(47).GE.1.AND.ninh.EQ.0)
THEN
9824 IF(kdcy(jt).EQ.0) goto 350
9826 p(
n+2*jt-1,3)=0.5d0*
p(id,5)
9827 p(
n+2*jt-1,4)=0.5d0*
p(id,5)
9828 p(
n+2*jt,3)=-0.5d0*
p(id,5)
9829 p(
n+2*jt,4)=0.5d0*
p(id,5)
9830 CALL
pyrobo(
n+2*jt-1,
n+2*jt,acos(cthe(jt)),
phi(jt),
9831 &
p(id,1)/
p(id,4),
p(id,2)/
p(id,4),
p(id,3)/
p(id,4))
9838 p(
n+4+i,4)=
sqrt(
p(ilin(i),1)**2+
p(ilin(i),2)**2+
9839 &
p(ilin(i),3)**2+
p(ilin(i),5)**2)
9840 p(
n+4+i,5)=
p(ilin(i),5)
9842 p(
n+4+i,j)=
p(ilin(i),j)
9845 380 therr=acos(2d0*
pyr(0)-1d0)
9846 phirr=paru(2)*
pyr(0)
9847 CALL
pyrobo(
n+5,
n+4+imax,therr,phirr,0d0,0d0,0d0)
9849 IF(
p(
n+4+i,1)**2+
p(
n+4+i,2)**2.LT.1
d-4*
p(
n+4+i,4)**2) goto 380
9856 IF(isub.EQ.22.OR.isub.EQ.23.OR.isub.EQ.25.OR.isub.EQ.141.OR.
9858 DO 420 i1=imin,imax-1
9860 ha(i1,i2)=sngl(
sqrt((pk(i1,4)-pk(i1,3))*(pk(i2,4)+
9861 & pk(i2,3))/(1
d-20+pk(i1,1)**2+pk(i1,2)**2)))*
9862 & cmplx(sngl(pk(i1,1)),sngl(pk(i1,2)))-
9863 & sngl(
sqrt((pk(i1,4)+pk(i1,3))*(pk(i2,4)-pk(i2,3))/
9864 & (1
d-20+pk(i2,1)**2+pk(i2,2)**2)))*
9865 & cmplx(sngl(pk(i2,1)),sngl(pk(i2,2)))
9866 hc(i1,i2)=conjg(ha(i1,i2))
9867 IF(i1.LE.2) ha(i1,i2)=cmplx(0.,1.)*ha(i1,i2)
9868 IF(i1.LE.2) hc(i1,i2)=cmplx(0.,1.)*hc(i1,i2)
9869 ha(i2,i1)=-ha(i1,i2)
9870 hc(i2,i1)=-hc(i1,i2)
9879 DO 460 i1=imin,imax-1
9881 pkk(i1,i2)=2d0*(pk(i1,4)*pk(i2,4)-pk(i1,1)*pk(i2,1)-
9882 & pk(i1,2)*pk(i2,2)-pk(i1,3)*pk(i2,3))
9883 pkk(i2,i1)=pkk(i1,i2)
9888 kfagm=iabs(iref(ip,7))
9889 IF(mstp(47).LE.0.OR.ninh.NE.0)
THEN
9894 ELSEIF(it4.GE.1)
THEN
9899 ELSEIF(iref(ip,7).EQ.25.OR.iref(ip,7).EQ.35.OR.
9900 & iref(ip,7).EQ.36)
THEN
9902 IF(ip.EQ.1) wtmax=sh**2
9903 IF(ip.GE.2) wtmax=
p(iref(ip,8),5)**4
9904 kfa=iabs(k(iref(ip,1),2))
9906 kflf1a=iabs(kfl1(1))
9907 ef1=kchg(kflf1a,1)/3d0
9908 af1=sign(1d0,ef1+0.1d0)
9910 kflf2a=iabs(kfl1(2))
9911 ef2=kchg(kflf2a,1)/3d0
9912 af2=sign(1d0,ef2+0.1d0)
9914 va12as=4d0*vf1*af1*vf2*af2/((vf1**2+af1**2)*(vf2**2+af2**2))
9915 wt=8d0*(1d0+va12as)*pkk(3,5)*pkk(4,6)+
9916 & 8d0*(1d0-va12as)*pkk(3,6)*pkk(4,5)
9917 ELSEIF(kfa.EQ.24)
THEN
9918 wt=16d0*pkk(3,5)*pkk(4,6)
9923 ELSEIF((kfagm.EQ.6.OR.kfagm.EQ.7.OR.kfagm.EQ.8.OR.
9924 & kfagm.EQ.17.OR.kfagm.EQ.18).AND.iabs(k(iref(ip,1),2)).EQ.24)
9928 IF(
mod(kfagm,2).EQ.0)
THEN
9936 wt=(
p(i1,4)*
p(i2,4)-
p(i1,1)*
p(i2,1)-
p(i1,2)*
p(i2,2)-
9937 &
p(i1,3)*
p(i2,3))*(
p(i3,4)*
p(i4,4)-
p(i3,1)*
p(i4,1)-
9938 &
p(i3,2)*
p(i4,2)-
p(i3,3)*
p(i4,3))
9939 wtmax=(
p(i1,5)**4-
p(iref(ip,1),5)**4)/8d0
9941 ELSEIF(isub.EQ.1)
THEN
9943 ei=kchg(iabs(mint(15)),1)/3d0
9944 ai=sign(1d0,ei+0.1d0)
9946 ef=kchg(iabs(kfl1(1)),1)/3d0
9947 af=sign(1d0,ef+0.1d0)
9949 rmf=
min(1d0,4d0*pmas(iabs(kfl1(1)),1)**2/sh)
9950 wt1=ei**2*vint(111)*ef**2+ei*vi*vint(112)*ef*vf+
9951 & (vi**2+ai**2)*vint(114)*(vf**2+(1d0-rmf)*af**2)
9952 wt2=rmf*(ei**2*vint(111)*ef**2+ei*vi*vint(112)*ef*vf+
9953 & (vi**2+ai**2)*vint(114)*vf**2)
9954 wt3=
sqrt(1d0-rmf)*(ei*ai*vint(112)*ef*af+
9955 & 4d0*vi*ai*vint(114)*vf*af)
9956 wt=wt1*(1d0+cthe(1)**2)+wt2*(1d0-cthe(1)**2)+
9957 & 2d0*wt3*cthe(1)*isign(1,mint(15)*kfl1(1))
9960 ELSEIF(isub.EQ.2)
THEN
9962 wt=(1d0+cthe(1)*isign(1,mint(15)*kfl1(1)))**2
9965 ELSEIF(isub.EQ.15.OR.isub.EQ.19)
THEN
9968 clilf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
9969 & coup(1,1)*coup(1,3)*hgz(2,2)*coup(3,1)*coup(3,3)/4d0+
9970 & coup(1,3)**2*hgz(2,3)*coup(3,3)**2
9971 clirf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
9972 & coup(1,1)*coup(1,3)*hgz(2,2)*coup(3,1)*coup(3,4)/4d0+
9973 & coup(1,3)**2*hgz(2,3)*coup(3,4)**2
9974 crilf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
9975 & coup(1,1)*coup(1,4)*hgz(2,2)*coup(3,1)*coup(3,3)/4d0+
9976 & coup(1,4)**2*hgz(2,3)*coup(3,3)**2
9977 crirf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
9978 & coup(1,1)*coup(1,4)*hgz(2,2)*coup(3,1)*coup(3,4)/4d0+
9979 & coup(1,4)**2*hgz(2,3)*coup(3,4)**2
9980 wt=(clilf+crirf)*(pkk(1,3)**2+pkk(2,4)**2)+
9981 & (clirf+crilf)*(pkk(1,4)**2+pkk(2,3)**2)
9982 wtmax=(clilf+clirf+crilf+crirf)*
9983 & ((pkk(1,3)+pkk(1,4))**2+(pkk(2,3)+pkk(2,4))**2)
9985 ELSEIF(isub.EQ.16.OR.isub.EQ.20)
THEN
9988 wt=pkk(1,3)**2+pkk(2,4)**2
9989 wtmax=(pkk(1,3)+pkk(1,4))**2+(pkk(2,3)+pkk(2,4))**2
9991 ELSEIF(isub.EQ.22)
THEN
9993 s34=
p(iref(ip,iord),5)**2
9994 s56=
p(iref(ip,3-iord),5)**2
9995 ti=pkk(1,3)+pkk(1,4)+s34
9996 ui=pkk(1,5)+pkk(1,6)+s56
9999 fgk135=abs(fgk(1,2,3,4,5,6)/tir+fgk(1,2,5,6,3,4)/uir)**2
10000 fgk145=abs(fgk(1,2,4,3,5,6)/tir+fgk(1,2,5,6,4,3)/uir)**2
10001 fgk136=abs(fgk(1,2,3,4,6,5)/tir+fgk(1,2,6,5,3,4)/uir)**2
10002 fgk146=abs(fgk(1,2,4,3,6,5)/tir+fgk(1,2,6,5,4,3)/uir)**2
10003 fgk253=abs(fgk(2,1,5,6,3,4)/tir+fgk(2,1,3,4,5,6)/uir)**2
10004 fgk263=abs(fgk(2,1,6,5,3,4)/tir+fgk(2,1,3,4,6,5)/uir)**2
10005 fgk254=abs(fgk(2,1,5,6,4,3)/tir+fgk(2,1,4,3,5,6)/uir)**2
10006 fgk264=abs(fgk(2,1,6,5,4,3)/tir+fgk(2,1,4,3,6,5)/uir)**2
10008 & corl(1,1,1)*corl(2,1,1)*fgk135+corl(1,1,2)*corl(2,1,1)*fgk145+
10009 & corl(1,1,1)*corl(2,1,2)*fgk136+corl(1,1,2)*corl(2,1,2)*fgk146+
10010 & corl(1,2,1)*corl(2,2,1)*fgk253+corl(1,2,2)*corl(2,2,1)*fgk263+
10011 & corl(1,2,1)*corl(2,2,2)*fgk254+corl(1,2,2)*corl(2,2,2)*fgk264
10012 wtmax=16d0*((corl(1,1,1)+corl(1,1,2))*(corl(2,1,1)+corl(2,1,2))+
10013 & (corl(1,2,1)+corl(1,2,2))*(corl(2,2,1)+corl(2,2,2)))*s34*s56*
10014 & ((ti**2+ui**2+2d0*sh*(s34+s56))/(ti*ui)-s34*s56*(1d0/ti**2+
10017 ELSEIF(isub.EQ.23)
THEN
10019 d34=
p(iref(ip,iord),5)**2
10020 d56=
p(iref(ip,3-iord),5)**2
10021 dt=pkk(1,3)+pkk(1,4)+d34
10022 du=pkk(1,5)+pkk(1,6)+d56
10023 facbw=1d0/((sh-sqmw)**2+sqmw*pmas(24,2)**2)
10024 cawz=coup(2,3)/dt-2d0*xw1*coup(1,2)*(sh-sqmw)*facbw
10025 cbwz=coup(1,3)/du+2d0*xw1*coup(1,2)*(sh-sqmw)*facbw
10026 fgk135=abs(
REAL(cawz)*fgk(1,2,3,4,5,6)+
10027 &
REAL(cbwz)*fgk(1,2,5,6,3,4))
10028 fgk136=abs(
REAL(cawz)*fgk(1,2,3,4,6,5)+
10029 &
REAL(cbwz)*fgk(1,2,6,5,3,4))
10030 wt=(coup(5,3)*fgk135)**2+(coup(5,4)*fgk136)**2
10031 wtmax=4d0*d34*d56*(coup(5,3)**2+coup(5,4)**2)*(cawz**2*
10032 & digk(dt,du)+cbwz**2*digk(du,dt)+cawz*cbwz*djgk(dt,du))
10034 ELSEIF(isub.EQ.24.OR.isub.EQ.171.OR.isub.EQ.176)
THEN
10037 wt=((coup(1,3)*coup(3,3))**2+(coup(1,4)*coup(3,4))**2)*
10038 & pkk(1,3)*pkk(2,4)+((coup(1,3)*coup(3,4))**2+(coup(1,4)*
10039 & coup(3,3))**2)*pkk(1,4)*pkk(2,3)
10040 wtmax=(coup(1,3)**2+coup(1,4)**2)*(coup(3,3)**2+coup(3,4)**2)*
10041 & (pkk(1,3)+pkk(1,4))*(pkk(2,3)+pkk(2,4))
10043 ELSEIF(isub.EQ.25)
THEN
10045 d34=
p(iref(ip,iord),5)**2
10046 d56=
p(iref(ip,3-iord),5)**2
10047 dt=pkk(1,3)+pkk(1,4)+d34
10048 du=pkk(1,5)+pkk(1,6)+d56
10049 facbw=1d0/((sh-sqmz)**2+sqmz*pmas(23,2)**2)
10050 cdww=(coup(1,3)*sqmz*(sh-sqmz)*facbw+coup(1,2))/sh
10051 caww=cdww+0.5d0*(coup(1,2)+1d0)/dt
10052 cbww=cdww+0.5d0*(coup(1,2)-1d0)/du
10053 ccww=coup(1,4)*sqmz*(sh-sqmz)*facbw/sh
10054 fgk135=abs(
REAL(caww)*fgk(1,2,3,4,5,6)-
10055 &
REAL(cbww)*fgk(1,2,5,6,3,4))
10056 fgk253=abs(fgk(2,1,5,6,3,4)-fgk(2,1,3,4,5,6))
10057 wt=fgk135**2+(ccww*fgk253)**2
10058 wtmax=4d0*d34*d56*(caww**2*digk(dt,du)+cbww**2*digk(du,dt)-caww*
10059 & cbww*djgk(dt,du)+ccww**2*(digk(dt,du)+digk(du,dt)-djgk(dt,du)))
10061 ELSEIF(isub.EQ.26.OR.isub.EQ.172.OR.isub.EQ.177)
THEN
10064 wt=pkk(1,3)*pkk(2,4)
10065 wtmax=(pkk(1,3)+pkk(1,4))*(pkk(2,3)+pkk(2,4))
10067 ELSEIF(isub.EQ.30.OR.isub.EQ.35)
THEN
10070 clilf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
10071 & coup(1,1)*coup(1,3)*hgz(2,2)*coup(3,1)*coup(3,3)/4d0+
10072 & coup(1,3)**2*hgz(2,3)*coup(3,3)**2
10073 clirf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
10074 & coup(1,1)*coup(1,3)*hgz(2,2)*coup(3,1)*coup(3,4)/4d0+
10075 & coup(1,3)**2*hgz(2,3)*coup(3,4)**2
10076 crilf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
10077 & coup(1,1)*coup(1,4)*hgz(2,2)*coup(3,1)*coup(3,3)/4d0+
10078 & coup(1,4)**2*hgz(2,3)*coup(3,3)**2
10079 crirf=coup(1,1)**2*hgz(2,1)*coup(3,1)**2/16d0+
10080 & coup(1,1)*coup(1,4)*hgz(2,2)*coup(3,1)*coup(3,4)/4d0+
10081 & coup(1,4)**2*hgz(2,3)*coup(3,4)**2
10082 IF(k(ilin(1),2).GT.0) wt=(clilf+crirf)*(pkk(1,4)**2+
10083 & pkk(3,5)**2)+(clirf+crilf)*(pkk(1,3)**2+pkk(4,5)**2)
10084 IF(k(ilin(1),2).LT.0) wt=(clilf+crirf)*(pkk(1,3)**2+
10085 & pkk(4,5)**2)+(clirf+crilf)*(pkk(1,4)**2+pkk(3,5)**2)
10086 wtmax=(clilf+clirf+crilf+crirf)*
10087 & ((pkk(1,3)+pkk(1,4))**2+(pkk(3,5)+pkk(4,5))**2)
10089 ELSEIF(isub.EQ.31)
THEN
10091 IF(k(ilin(1),2).GT.0) wt=pkk(1,4)**2+pkk(3,5)**2
10092 IF(k(ilin(1),2).LT.0) wt=pkk(1,3)**2+pkk(4,5)**2
10093 wtmax=(pkk(1,3)+pkk(1,4))**2+(pkk(3,5)+pkk(4,5))**2
10095 ELSEIF(isub.EQ.71.OR.isub.EQ.72.OR.isub.EQ.73.OR.isub.EQ.76.OR.
10098 wt=16d0*pkk(3,5)*pkk(4,6)
10101 ELSEIF(isub.EQ.110)
THEN
10106 ELSEIF(isub.EQ.141)
THEN
10107 IF(ip.EQ.1.AND.iabs(kfl1(1)).LT.20)
THEN
10110 kfai=iabs(mint(15))
10111 ei=kchg(kfai,1)/3d0
10112 ai=sign(1d0,ei+0.1d0)
10115 IF(kfai.LE.10.AND.
mod(kfai,2).EQ.0) kfaic=2
10116 IF(kfai.GT.10.AND.
mod(kfai,2).NE.0) kfaic=3
10117 IF(kfai.GT.10.AND.
mod(kfai,2).EQ.0) kfaic=4
10118 vpi=paru(119+2*kfaic)
10119 api=paru(120+2*kfaic)
10122 ef=kchg(kfaf,1)/3d0
10123 af=sign(1d0,ef+0.1d0)
10126 IF(kfaf.LE.10.AND.
mod(kfaf,2).EQ.0) kfafc=2
10127 IF(kfaf.GT.10.AND.
mod(kfaf,2).NE.0) kfafc=3
10128 IF(kfaf.GT.10.AND.
mod(kfaf,2).EQ.0) kfafc=4
10129 vpf=paru(119+2*kfafc)
10130 apf=paru(120+2*kfafc)
10132 asym=2d0*(ei*ai*vint(112)*ef*af+ei*api*vint(113)*ef*apf+
10133 & 4d0*vi*ai*vint(114)*vf*af+(vi*api+vpi*ai)*vint(115)*
10134 & (vf*apf+vpf*af)+4d0*vpi*api*vint(116)*vpf*apf)/
10135 & (ei**2*vint(111)*ef**2+ei*vi*vint(112)*ef*vf+
10136 & ei*vpi*vint(113)*ef*vpf+(vi**2+ai**2)*vint(114)*
10137 & (vf**2+af**2)+(vi*vpi+ai*api)*vint(115)*(vf*vpf+af*apf)+
10138 & (vpi**2+api**2)*vint(116)*(vpf**2+apf**2))
10139 wt=1d0+asym*cthe(1)*isign(1,mint(15)*kfl1(1))+cthe(1)**2
10140 wtmax=2d0+abs(asym)
10141 ELSEIF(ip.EQ.1.AND.iabs(kfl1(1)).EQ.24)
THEN
10143 rm1=
p(nsd(1)+1,5)**2/sh
10144 rm2=
p(nsd(1)+2,5)**2/sh
10145 ccos2=-(1d0/16d0)*((1d0-rm1-rm2)**2-4d0*rm1*rm2)*
10146 & (1d0-2d0*rm1-2d0*rm2+rm1**2+rm2**2+10d0*rm1*rm2)
10147 cflat=-ccos2+0.5d0*(rm1+rm2)*(1d0-2d0*rm1-2d0*rm2+
10149 wt=cflat+ccos2*cthe(1)**2
10150 wtmax=cflat+
max(0d0,ccos2)
10151 ELSEIF(ip.EQ.1.AND.(kfl1(1).EQ.25.OR.kfl1(1).EQ.35.OR.
10152 & iabs(kfl1(1)).EQ.37))
THEN
10156 ELSEIF(ip.EQ.1.AND.kfl2(1).EQ.25)
THEN
10158 rm1=
p(nsd(1)+1,5)**2/sh
10159 rm2=
p(nsd(1)+2,5)**2/sh
10160 flam2=
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2)
10161 wt=1d0+flam2*(1d0-cthe(1)**2)/(8d0*rm1)
10162 wtmax=1d0+flam2/(8d0*rm1)
10163 ELSEIF(mzpwp.EQ.0)
THEN
10166 d34=
p(iref(ip,iord),5)**2
10167 d56=
p(iref(ip,3-iord),5)**2
10168 dt=pkk(1,3)+pkk(1,4)+d34
10169 du=pkk(1,5)+pkk(1,6)+d56
10170 fgk135=abs(fgk(1,2,3,4,5,6)-fgk(1,2,5,6,3,4))
10171 fgk253=abs(fgk(2,1,5,6,3,4)-fgk(2,1,3,4,5,6))
10172 wt=(coup(1,3)*fgk135)**2+(coup(1,4)*fgk253)**2
10173 wtmax=4d0*d34*d56*(coup(1,3)**2+coup(1,4)**2)*
10174 & (digk(dt,du)+digk(du,dt)-djgk(dt,du))
10175 ELSEIF(mzpwp.EQ.1)
THEN
10178 wt=16d0*pkk(3,5)*pkk(4,6)
10187 ELSEIF(isub.EQ.142)
THEN
10188 IF(ip.EQ.1.AND.iabs(kfl1(1)).LT.20)
THEN
10190 kfai=iabs(mint(15))
10192 IF(kfai.GT.10) kfaic=2
10193 vi=paru(129+2*kfaic)
10194 ai=paru(130+2*kfaic)
10197 IF(kfaf.GT.10) kfafc=2
10198 vf=paru(129+2*kfafc)
10199 af=paru(130+2*kfafc)
10200 asym=8d0*vi*ai*vf*af/((vi**2+ai**2)*(vf**2+af**2))
10201 wt=1d0+asym*cthe(1)*isign(1,mint(15)*kfl1(1))+cthe(1)**2
10202 wtmax=2d0+abs(asym)
10203 ELSEIF(ip.EQ.1.AND.iabs(kfl2(1)).EQ.23)
THEN
10205 rm1=
p(nsd(1)+1,5)**2/sh
10206 rm2=
p(nsd(1)+2,5)**2/sh
10207 ccos2=-(1d0/16d0)*((1d0-rm1-rm2)**2-4d0*rm1*rm2)*
10208 & (1d0-2d0*rm1-2d0*rm2+rm1**2+rm2**2+10d0*rm1*rm2)
10209 cflat=-ccos2+0.5d0*(rm1+rm2)*(1d0-2d0*rm1-2d0*rm2+
10211 wt=cflat+ccos2*cthe(1)**2
10212 wtmax=cflat+
max(0d0,ccos2)
10213 ELSEIF(ip.EQ.1.AND.kfl2(1).EQ.25)
THEN
10215 rm1=
p(nsd(1)+1,5)**2/sh
10216 rm2=
p(nsd(1)+2,5)**2/sh
10217 flam2=
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2)
10218 wt=1d0+flam2*(1d0-cthe(1)**2)/(8d0*rm1)
10219 wtmax=1d0+flam2/(8d0*rm1)
10220 ELSEIF(mzpwp.EQ.0)
THEN
10223 d34=
p(iref(ip,iord),5)**2
10224 d56=
p(iref(ip,3-iord),5)**2
10225 dt=pkk(1,3)+pkk(1,4)+d34
10226 du=pkk(1,5)+pkk(1,6)+d56
10227 fgk135=abs(fgk(1,2,3,4,5,6)-fgk(1,2,5,6,3,4))
10228 fgk136=abs(fgk(1,2,3,4,6,5)-fgk(1,2,6,5,3,4))
10229 wt=(coup(5,3)*fgk135)**2+(coup(5,4)*fgk136)**2
10230 wtmax=4d0*d34*d56*(coup(5,3)**2+coup(5,4)**2)*
10231 & (digk(dt,du)+digk(du,dt)-djgk(dt,du))
10232 ELSEIF(mzpwp.EQ.1)
THEN
10235 wt=16d0*pkk(3,5)*pkk(4,6)
10243 ELSEIF(isub.EQ.145.OR.isub.EQ.162.OR.isub.EQ.163.OR.isub.EQ.164)
10249 ELSEIF(isub.EQ.147.OR.isub.EQ.148)
THEN
10252 IF(mint(16).EQ.21)
side=-1d0
10253 IF(ip.EQ.1.AND.(kfl1(1).EQ.21.OR.kfl1(1).EQ.22))
THEN
10254 wt=1d0+
side*cthe(1)
10256 ELSEIF(ip.EQ.1)
THEN
10257 rm1=
p(nsd(1)+1,5)**2/sh
10258 wt=1d0+
side*cthe(1)*(1d0-0.5d0*rm1)/(1d0+0.5d0*rm1)
10259 wtmax=1d0+(1d0-0.5d0*rm1)/(1d0+0.5d0*rm1)
10266 ELSEIF(isub.EQ.149)
THEN
10271 ELSEIF(isub.EQ.191)
THEN
10272 IF(ip.EQ.1.AND.iabs(kfl1(1)).GT.21)
THEN
10277 ELSEIF(ip.EQ.1)
THEN
10279 cthesg=cthe(1)*isign(1,mint(15))
10280 xwrht=(1d0-2d0*xw)/(4d0*xw*(1d0-xw))
10281 bwzr=xwrht*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
10282 bwzi=xwrht*sh*gmmz/((sh-sqmz)**2+gmmz**2)
10283 kfai=iabs(mint(15))
10284 ei=kchg(kfai,1)/3d0
10285 ai=sign(1d0,ei+0.1d0)
10289 alefti=(ei+vali*bwzr)**2+(vali*bwzi)**2
10290 arighi=(ei+vari*bwzr)**2+(vari*bwzi)**2
10292 ef=kchg(kfaf,1)/3d0
10293 af=sign(1d0,ef+0.1d0)
10297 aleftf=(ef+valf*bwzr)**2+(valf*bwzi)**2
10298 arighf=(ef+varf*bwzr)**2+(varf*bwzi)**2
10299 asame=alefti*aleftf+arighi*arighf
10300 aflip=alefti*arighf+arighi*aleftf
10301 wt=asame*(1d0+cthesg)**2+aflip*(1d0-cthesg)**2
10302 wtmax=4d0*
max(asame,aflip)
10309 ELSEIF(isub.EQ.192)
THEN
10310 IF(ip.EQ.1.AND.iabs(kfl1(1)).GT.21)
THEN
10315 ELSEIF(ip.EQ.1)
THEN
10317 cthesg=cthe(1)*isign(1,mint(15))
10326 ELSEIF(isub.EQ.193)
THEN
10327 IF(ip.EQ.1.AND.iabs(kfl1(1)).GT.21)
THEN
10332 ELSEIF(ip.EQ.1)
THEN
10334 cthesg=cthe(1)*isign(1,mint(15))
10335 bwzr=(0.5d0/(1d0-xw))*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
10336 bwzi=(0.5d0/(1d0-xw))*sh*gmmz/((sh-sqmz)**2+gmmz**2)
10337 kfai=iabs(mint(15))
10338 ei=kchg(kfai,1)/3d0
10339 ai=sign(1d0,ei+0.1d0)
10343 blefti=(ei-vali*bwzr)**2+(vali*bwzi)**2
10344 brighi=(ei-vari*bwzr)**2+(vari*bwzi)**2
10346 ef=kchg(kfaf,1)/3d0
10347 af=sign(1d0,ef+0.1d0)
10351 bleftf=(ef-valf*bwzr)**2+(valf*bwzi)**2
10352 brighf=(ef-varf*bwzr)**2+(varf*bwzi)**2
10353 bsame=blefti*bleftf+brighi*brighf
10354 bflip=blefti*brighf+brighi*bleftf
10355 wt=bsame*(1d0+cthesg)**2+bflip*(1d0-cthesg)**2
10356 wtmax=4d0*
max(bsame,bflip)
10368 IF(wt.LT.
pyr(0)*wtmax) goto 310
10371 470
DO 540 jt=1,jtmax
10372 IF(kdcy(jt).EQ.0) goto 540
10377 dpmo(4)=
sqrt(dpmo(1)**2+dpmo(2)**2+dpmo(3)**2+dpmo(5)**2)
10379 IF(kfl3(jt).EQ.0)
THEN
10380 CALL
pyrobo(nsd(jt)+1,nsd(jt)+2,acos(cthe(jt)),
phi(jt),
10381 & dpmo(1)/dpmo(4),dpmo(2)/dpmo(4),dpmo(3)/dpmo(4))
10383 CALL
pyrobo(nsd(jt)+1,nsd(jt)+3,acos(cthe(jt)),
phi(jt),
10384 & dpmo(1)/dpmo(4),dpmo(2)/dpmo(4),dpmo(3)/dpmo(4))
10392 IF(kcqm(jt).NE.0)
THEN
10397 IF(kfl3(jt).NE.0) k(id,5)=nsd(jt)+3
10402 idoc=mint(83)+mint(4)
10405 IF(kfl3(jt).NE.0) ihi=ihi+1
10406 DO 500 i=nsd(jt)+1,ihi
10408 i1=mint(83)+mint(4)+1
10410 IF(mstp(128).GE.1) k(i,3)=id
10411 IF(mstp(128).LE.1.AND.mint(4).LT.mstp(126))
THEN
10415 k(i1,3)=iref(ip,jt+3)
10427 IF(mstp(71).GE.1)
THEN
10429 kfl1a=iabs(kfl1(jt))
10430 IF(kfl1a.LE.22) ishow1=1
10432 kfl2a=iabs(kfl2(jt))
10433 IF(kfl2a.LE.22) ishow2=1
10435 IF(kfl3(jt).NE.0)
THEN
10436 kfl3a=iabs(kfl3(jt))
10437 IF(kfl3a.LE.22) ishow3=1
10439 IF(ishow1.EQ.0.AND.ishow2.EQ.0.AND.ishow3.EQ.0)
THEN
10440 ELSEIF(kfl3(jt).EQ.0)
THEN
10441 CALL
pyshow(nsd(jt)+1,nsd(jt)+2,
p(id,5))
10445 IF(ishow1.EQ.0.AND.ishow3.NE.0)
THEN
10447 ELSEIF(ishow2.EQ.0.AND.ishow3.NE.0)
THEN
10450 pmshow=
sqrt(
max(0d0,(
p(nsd1,4)+
p(nsd2,4))**2-
10451 & (
p(nsd1,1)+
p(nsd2,1))**2-(
p(nsd1,2)+
p(nsd2,2))**2-
10452 & (
p(nsd1,3)+
p(nsd2,3))**2))
10453 CALL
pyshow(nsd1,nsd2,pmshow)
10457 IF(jt.EQ.1) naft1=
n
10463 IF(nshaft.GT.nshbef)
THEN
10464 IF(k(nsd1,1).GT.10)
THEN
10465 DO 510 i=nshbef+1,nshaft
10466 IF(k(i,1).LT.10.AND.k(i,2).EQ.k(nsd1,2)) nsd1=i
10469 IF(k(nsd2,1).GT.10)
THEN
10470 DO 520 i=nshbef+1,nshaft
10471 IF(k(i,1).LT.10.AND.k(i,2).EQ.k(nsd2,2).AND.
10472 & i.NE.nsd1) nsd2=i
10475 IF(kfl3(jt).NE.0.AND.k(nsd3,1).GT.10)
THEN
10476 DO 530 i=nshbef+1,nshaft
10477 IF(k(i,1).LT.10.AND.k(i,2).EQ.k(nsd3,2).AND.
10478 & i.NE.nsd1.AND.i.NE.nsd2) nsd3=i
10488 IF(kfl3(jt).NE.0) iref(np,3)=nsd3
10492 IF(kfl3(jt).NE.0) iref(np,6)=idoc+3
10493 iref(np,7)=k(iref(ip,jt),2)
10494 iref(np,8)=iref(ip,jt)
10498 550
IF(jtmax.EQ.1.AND.kdcy(1).NE.0.AND.isub.NE.0)
THEN
10499 mint(7)=mint(83)+6+2*iset(isub)
10500 mint(8)=mint(83)+7+2*iset(isub)
10507 vint(45)=-0.5d0*sh*(1d0-
rm3-rm4-be34*cthe(1))
10508 vint(46)=-0.5d0*sh*(1d0-
rm3-rm4+be34*cthe(1))
10509 vint(48)=0.25d0*sh*be34**2*
max(0d0,1d0-cthe(1)**2)
10510 vint(47)=
sqrt(vint(48))
10514 IF(isub.EQ.25.AND.mstp(115).GE.1)
THEN
10515 iakf1=iabs(kfl1(1))
10516 iakf2=iabs(kfl1(2))
10517 iakf3=iabs(kfl2(1))
10518 iakf4=iabs(kfl2(2))
10519 IF(
min(iakf1,iakf2,iakf3,iakf4).GE.1.AND.
10520 &
max(iakf1,iakf2,iakf3,iakf4).LE.5) CALL
10521 &
pyreco(iref(1,1),iref(1,2),nsd(1),naft1)
10525 560
IF(ip.LT.np) goto 130
10540 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
10543 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
10544 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
10545 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
10546 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
10547 common/pypars/mstp(200),parp(200),msti(200),pari(200)
10548 common/pyint1/mint(400),vint(400)
10549 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
10550 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
10551 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
10552 common/pyint7/sigt(0:6,0:6,0:5)
10553 SAVE /
pyjets/,/
pydat1/,/pydat2/,/pysubs/,/pypars/,/pyint1/,
10554 &/pyint2/,/pyint3/,/pyint5/,/pyint7/
10556 dimension nmul(20),sigm(20),kstr(500,2),vintsv(80)
10557 SAVE xt2,xt2fac,xc2,xts,irbin,rbin,nmul,sigm
10561 IF(mstp(122).GE.1)
WRITE(mstu(11),5000) mstp(82)
10572 nmul(ixt2)=mstp(83)
10574 DO 110 itry=1,mstp(83)
10575 rsca=0.05d0*((21-ixt2)-
pyr(0))
10576 xt2=vint(149)*(1d0+vint(149))/(vint(149)+rsca)-vint(149)
10577 xt2=
max(0.01d0*vint(149),xt2)
10581 IF(
pyr(0).LE.coef(isub,1))
THEN
10582 taut=(2d0*(1d0+
sqrt(1d0-xt2))/xt2-1d0)**
pyr(0)
10583 tau=xt2*(1d0+taut)**2/(4d0*taut)
10591 IF(ryst.GT.coef(isub,8)) myst=2
10592 IF(ryst.GT.coef(isub,8)+coef(isub,9)) myst=3
10597 vint(71)=0.5d0*vint(1)*
sqrt(xt2)
10599 sigm(ixt2)=sigm(ixt2)+sigs
10601 sigsum=sigsum+sigm(ixt2)
10603 sigsum=sigsum/(20d0*mstp(83))
10606 IF(sigsum.LT.1.1d0*sigt(0,0,5))
THEN
10607 IF(mstp(122).GE.1)
WRITE(mstu(11),5100) parp(82),sigsum
10608 parp(82)=0.9d0*parp(82)
10609 vint(149)=4d0*parp(82)**2/vint(2)
10612 IF(mstp(122).GE.1)
WRITE(mstu(11),5200) parp(82), sigsum
10615 yke=sigsum/sigt(0,0,5)
10623 130
IF(iit.EQ.0)
THEN
10625 ELSEIF(iit.EQ.1)
THEN
10628 xk=xi+(yke-yi)*(xf-xi)/(yf-yi)
10632 IF(mstp(82).EQ.2)
THEN
10633 sp=0.5d0*paru(1)*(1d0-
exp(-xk))
10636 IF(mstp(82).EQ.3) deltab=0.02d0
10637 IF(mstp(82).EQ.4) deltab=
min(0.01d0,0.05d0*parp(84))
10642 IF(mstp(82).EQ.3)
THEN
10643 ov=
exp(-
b**2)/paru(2)
10646 ov=((1d0-parp(83))**2*
exp(-
min(50d0,
b**2))+
10647 & 2d0*parp(83)*(1d0-parp(83))*2d0/(1d0+cq2)*
10648 &
exp(-
min(50d0,
b**2*2d0/(1d0+cq2)))+
10649 & parp(83)**2/cq2*
exp(-
min(50d0,
b**2/cq2)))/paru(2)
10651 pacc=1d0-
exp(-
min(50d0,paru(1)*xk*ov))
10652 sp=sp+paru(2)*
b*deltab*pacc
10653 sop=sop+paru(2)*
b*deltab*ov*pacc
10654 IF(
b.LT.1d0.OR.
b*pacc.GT.1
d-6) goto 140
10656 yk=paru(1)*xk*so/sp
10668 IF(abs(yk-yke).GE.1
d-5*yke) goto 130
10676 ELSEIF(mmul.EQ.2)
THEN
10677 IF(mstp(82).LE.0)
THEN
10678 ELSEIF(mstp(82).EQ.1)
THEN
10680 xt2fac=xsec(96,1)/sigt(0,0,5)*vint(149)/(1d0-vint(149))
10681 ELSEIF(mstp(82).EQ.2)
THEN
10683 xt2fac=vint(146)*xsec(96,1)/sigt(0,0,5)*vint(149)*
10686 xc2=4d0*ckin(3)**2/vint(2)
10687 IF(ckin(3).LE.ckin(5).OR.mint(82).GE.2) xc2=0d0
10690 ELSEIF(mmul.EQ.3)
THEN
10695 IF(mstp(82).LE.0)
THEN
10697 ELSEIF(mstp(82).EQ.1)
THEN
10698 xt2=xt2fac*xt2/(xt2fac-xt2*
log(
pyr(0)))
10699 ELSEIF(mstp(82).EQ.2)
THEN
10700 IF(xt2.LT.1d0.AND.
exp(-xt2fac*xt2/(vint(149)*(xt2+
10701 & vint(149)))).GT.
pyr(0)) xt2=1d0
10702 IF(xt2.GE.1d0)
THEN
10703 xt2=(1d0+vint(149))*xt2fac/(xt2fac-(1d0+vint(149))*
log(1d0-
10704 &
pyr(0)*(1d0-
exp(-xt2fac/(vint(149)*(1d0+vint(149)))))))-
10707 xt2=-xt2fac/
log(
exp(-xt2fac/(xt2+vint(149)))+
pyr(0)*
10708 & (
exp(-xt2fac/vint(149))-
exp(-xt2fac/(xt2+vint(149)))))-
10711 xt2=
max(0.01d0*vint(149),xt2)
10713 xt2=(xc2+vint(149))*(1d0+vint(149))/(1d0+vint(149)-
10714 &
pyr(0)*(1d0-xc2))-vint(149)
10715 xt2=
max(0.01d0*vint(149),xt2)
10720 IF(mstp(82).LE.1.AND.xt2.LT.vint(149))
THEN
10721 IF(mint(82).EQ.1) ngen(0,1)=ngen(0,1)-1
10722 IF(mint(82).EQ.1) ngen(isub,1)=ngen(isub,1)-1
10725 vint(21)=0.01d0*vint(149)
10728 vint(25)=0.01d0*vint(149)
10733 IF(
pyr(0).LE.coef(isub,1))
THEN
10734 taut=(2d0*(1d0+
sqrt(1d0-xt2))/xt2-1d0)**
pyr(0)
10735 tau=xt2*(1d0+taut)**2/(4d0*taut)
10743 IF(ryst.GT.coef(isub,8)) myst=2
10744 IF(ryst.GT.coef(isub,8)+coef(isub,9)) myst=3
10748 vint(71)=0.5d0*vint(1)*
sqrt(vint(25))
10751 ELSEIF(mmul.EQ.4)
THEN
10754 IF(iset(isub).EQ.1) xts=vint(21)
10755 IF(iset(isub).EQ.2)
10756 & xts=(4d0*vint(48)+2d0*vint(63)+2d0*vint(64))/vint(2)
10757 IF(iset(isub).GE.3.AND.iset(isub).LE.5) xts=vint(26)
10758 rbin=
max(0.000001d0,
min(0.999999d0,xts*(1d0+vint(149))/
10759 & (xts+vint(149))))
10760 irbin=
int(1d0+20d0*rbin)
10761 IF(isub.EQ.96.AND.mstp(171).EQ.0)
THEN
10762 nmul(irbin)=nmul(irbin)+1
10763 sigm(irbin)=sigm(irbin)+vint(153)
10767 ELSEIF(mmul.EQ.5)
THEN
10768 IF(mstp(82).EQ.3)
THEN
10769 vint(148)=
pyr(0)/(paru(2)*vint(147))
10773 IF(rtype.LT.(1d0-parp(83))**2)
THEN
10775 ELSEIF(rtype.LT.1d0-parp(83)**2)
THEN
10776 b2=-0.5d0*(1d0+cq2)*
log(
pyr(0))
10780 vint(148)=((1d0-parp(83))**2*
exp(-
min(50d0,b2))+2d0*parp(83)*
10781 & (1d0-parp(83))*2d0/(1d0+cq2)*
exp(-
min(50d0,b2*2d0/(1d0+cq2)))+
10782 & parp(83)**2/cq2*
exp(-
min(50d0,b2/cq2)))/(paru(2)*vint(147))
10787 rncor=(irbin-20d0*rbin)*nmul(irbin)
10788 sigcor=(irbin-20d0*rbin)*sigm(irbin)
10789 DO 150 ibin=irbin+1,20
10790 rncor=rncor+nmul(ibin)
10791 sigcor=sigcor+sigm(ibin)
10793 sigabv=(sigcor/rncor)*vint(149)*(1d0-xts)/(xts+vint(149))
10794 IF(mstp(171).EQ.1) sigabv=sigabv*vint(2)/vint(289)
10795 vint(150)=
exp(-
min(50d0,vint(146)*vint(148)*
10796 & sigabv/sigt(0,0,5)))
10799 ELSEIF(mmul.EQ.6)
THEN
10809 IF(iset(isubsv).EQ.1)
nmax=mint(84)+2
10810 IF(iset(isubsv).EQ.11)
nmax=mint(84)+2+mint(3)
10812 DO 180 i=mint(84)+1,
nmax
10813 kcs=kchg(
pycomp(k(i,2)),2)*isign(1,k(i,2))
10814 IF(kcs.EQ.0) goto 180
10817 IF(kcs.EQ.1.AND.(j.EQ.2.OR.j.EQ.4)) goto 170
10818 IF(kcs.EQ.-1.AND.(j.EQ.1.OR.j.EQ.3)) goto 170
10820 ist=
mod(k(i,j+3)/mstu(5),mstu(5))
10822 ist=
mod(k(i,j+1),mstu(5))
10824 IF(ist.LT.mint(84).OR.ist.GT.i) goto 170
10825 IF(kchg(
pycomp(k(ist,2)),2).EQ.0) goto 170
10827 IF(j.EQ.1.OR.j.EQ.4)
THEN
10839 IF(iset(isubsv).EQ.1) xt2=vint(21)
10840 IF(iset(isubsv).EQ.2)
10841 & xt2=(4d0*vint(48)+2d0*vint(63)+2d0*vint(64))/vint(2)
10842 IF(iset(isubsv).GE.3.AND.iset(isubsv).LE.5) xt2=vint(26)
10843 IF(mstp(82).LE.1)
THEN
10844 xt2fac=xsec(isub,1)*vint(149)/((1d0-vint(149))*sigt(0,0,5))
10846 xt2fac=vint(146)*vint(148)*xsec(isub,1)/sigt(0,0,5)*
10847 & vint(149)*(1d0+vint(149))
10851 vint(143)=1d0-vint(141)
10852 vint(144)=1d0-vint(142)
10855 190
IF(mstp(82).LE.1)
THEN
10856 xt2=xt2fac*xt2/(xt2fac-xt2*
log(
pyr(0)))
10857 IF(xt2.LT.vint(149)) goto 240
10859 IF(xt2.LE.0.01001d0*vint(149)) goto 240
10860 xt2=xt2fac*(xt2+vint(149))/(xt2fac-(xt2+vint(149))*
10861 &
log(
pyr(0)))-vint(149)
10862 IF(xt2.LE.0d0) goto 240
10863 xt2=
max(0.01d0*vint(149),xt2)
10868 IF(
pyr(0).LE.coef(isub,1))
THEN
10869 taut=(2d0*(1d0+
sqrt(1d0-xt2))/xt2-1d0)**
pyr(0)
10870 tau=xt2*(1d0+taut)**2/(4d0*taut)
10878 IF(ryst.GT.coef(isub,8)) myst=2
10879 IF(ryst.GT.coef(isub,8)+coef(isub,9)) myst=3
10886 IF(vint(143)-x1m.LT.0.01d0.OR.vint(144)-x2m.LT.0.01d0) goto 190
10887 vint(71)=0.5d0*vint(1)*
sqrt(xt2)
10889 IF(sigs.LT.xsec(isub,1)*
pyr(0)) goto 190
10900 pt=0.5d0*vint(1)*
sqrt(xt2)
10907 IF(rflav.GE.
max(parp(85),parp(86))) k(
n+1,2)=
10908 & 1+
int((2d0+parj(2))*
pyr(0))
10911 p(
n+1,3)=0.25d0*vint(1)*(vint(41)*(1d0+cth)-vint(42)*(1d0-cth))
10912 p(
n+1,4)=0.25d0*vint(1)*(vint(41)*(1d0+cth)+vint(42)*(1d0-cth))
10918 IF(k(
n+1,2).NE.21) k(
n+2,2)=-k(
n+1,2)
10921 p(
n+2,3)=0.25d0*vint(1)*(vint(41)*(1d0-cth)-vint(42)*(1d0+cth))
10922 p(
n+2,4)=0.25d0*vint(1)*(vint(41)*(1d0-cth)+vint(42)*(1d0+cth))
10925 IF(rflav.LT.parp(85).AND.nstr.GE.1)
THEN
10932 dist=(
p(i,4)*
p(i1,4)-
p(i,1)*
p(i1,1)-
p(i,2)*
p(i1,2)-
10933 &
p(i,3)*
p(i1,3))*(
p(i,4)*
p(i2,4)-
p(i,1)*
p(i2,1)-
10934 &
p(i,2)*
p(i2,2)-
p(i,3)*
p(i2,3))/
max(1d0,
p(i1,4)*
p(i2,4)-
10935 &
p(i1,1)*
p(i2,1)-
p(i1,2)*
p(i2,2)-
p(i1,3)*
p(i2,3))
10936 IF(istr.EQ.1.OR.dist.LT.dmin)
THEN
10945 IF(k(ist1,4)/mstu(5).EQ.ist2) k(ist1,4)=mstu(5)*i+
10946 &
mod(k(ist1,4),mstu(5))
10947 IF(
mod(k(ist1,5),mstu(5)).EQ.ist2) k(ist1,5)=
10948 & mstu(5)*(k(ist1,5)/mstu(5))+i
10949 k(i,5)=mstu(5)*ist1
10950 k(i,4)=mstu(5)*ist2
10951 IF(k(ist2,5)/mstu(5).EQ.ist1) k(ist2,5)=mstu(5)*i+
10952 &
mod(k(ist2,5),mstu(5))
10953 IF(
mod(k(ist2,4),mstu(5)).EQ.ist1) k(ist2,4)=
10954 & mstu(5)*(k(ist2,4)/mstu(5))+i
10957 kstr(nstr+1,2)=ist2
10962 ELSEIF(k(
n+1,2).EQ.21)
THEN
10963 k(
n+1,4)=mstu(5)*(
n+2)
10964 k(
n+1,5)=mstu(5)*(
n+2)
10965 k(
n+2,4)=mstu(5)*(
n+1)
10966 k(
n+2,5)=mstu(5)*(
n+1)
10975 k(
n+1,4)=mstu(5)*(
n+2)
10976 k(
n+2,5)=mstu(5)*(
n+1)
10984 IF(
n.GT.mstu(4)-mstu(32)-10)
THEN
10985 CALL
pyerrm(11,
'(PYMULT:) no more memory left in PYJETS')
10986 IF(mstu(21).GE.1)
RETURN
10988 mint(31)=mint(31)+1
10989 vint(151)=vint(151)+vint(41)
10990 vint(152)=vint(152)+vint(42)
10991 vint(143)=vint(143)-vint(41)
10992 vint(144)=vint(144)-vint(42)
10993 IF(mint(31).LT.240) goto 190
11002 5000
FORMAT(/1
x,
'****** PYMULT: initialization of multiple inter',
11003 &
'actions for MSTP(82) =',i2,
' ******')
11004 5100
FORMAT(8
x,
'pT0 =',f5.2,
' GeV gives sigma(parton-parton) =',1
p,
11005 &d9.2,
' mb: rejected')
11006 5200
FORMAT(8
x,
'pT0 =',f5.2,
' GeV gives sigma(parton-parton) =',1
p,
11007 &d9.2,
' mb: accepted')
11021 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
11024 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
11025 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
11026 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
11027 common/pypars/mstp(200),parp(200),msti(200),pari(200)
11028 common/pyint1/mint(400),vint(400)
11031 dimension kflch(2),kflsp(2),chi(2),pms(0:6),is(2),isn(2),robo(5),
11032 &psys(0:2,5),pmin(0:2),qold(4),qnew(4),dbe(3),psum(4)
11037 IF(mint(50).EQ.0.OR.mstp(81).LE.0)
THEN
11038 vint(143)=1d0-vint(141)
11039 vint(144)=1d0-vint(142)
11047 IF(jt.EQ.1) ipu=ipu1
11048 IF(jt.EQ.2) ipu=ipu2
11055 IF(mint(47).EQ.1)
THEN
11059 ELSEIF(isub.EQ.95)
THEN
11066 120
IF(mint(40+jt).EQ.2.AND.mint(10+jt).NE.22)
THEN
11067 IF(mstp(91).LE.0)
THEN
11069 ELSEIF(mstp(91).EQ.1)
THEN
11074 pt=-parp(92)*
log(rpt1*rpt2)
11076 IF(
pt.GT.parp(93)) goto 120
11077 ELSEIF(mint(106+jt).EQ.3)
THEN
11079 pt=
pt*0.8d0**mint(57)
11080 IF(ntry.GT.10)
pt=
pt*0.8d0**(ntry-10)
11081 ELSEIF(iabs(mint(14+jt)).LE.8.OR.mint(14+jt).EQ.21)
THEN
11082 IF(mstp(93).LE.0)
THEN
11084 ELSEIF(mstp(93).EQ.1)
THEN
11086 ELSEIF(mstp(93).EQ.2)
THEN
11089 pt=-parp(99)*
log(rpt1*rpt2)
11090 ELSEIF(mstp(93).EQ.3)
THEN
11097 IF(mstp(93).EQ.5) hb=
min(vint(48),parp(100)**2)
11100 IF(
pt.GT.parp(100)) goto 120
11108 pms(jt)=
p(i,5)**2+
p(i,1)**2+
p(i,2)**2
11111 IF(mint(47).EQ.1)
RETURN
11116 IF(isub.EQ.95)
THEN
11120 shs=vint(141)*vint(142)*vint(2)+(
p(i1,1)+
p(i2,1))**2+
11121 & (
p(i1,2)+
p(i2,2))**2
11123 IF((shs-pms(1)-pms(2))**2-4d0*pms(1)*pms(2).LE.0d0) goto 100
11124 p(i1,4)=0.5d0*(shr+(pms(1)-pms(2))/shr)
11125 p(i1,3)=
sqrt(
max(0d0,
p(i1,4)**2-pms(1)))
11126 p(i2,4)=shr-
p(i1,4)
11130 robo(3)=(
p(i1,1)+
p(i2,1))/shr
11131 robo(4)=(
p(i1,2)+
p(i2,2))/shr
11132 CALL
pyrobo(i1,i2,0d0,0d0,-robo(3),-robo(4),0d0)
11134 CALL
pyrobo(i1,i2,0d0,-robo(2),0d0,0d0,0d0)
11136 CALL
pyrobo(i1,i2,-robo(1),0d0,0d0,0d0,0d0)
11137 CALL
pyrobo(i1,mint(52),robo(1),robo(2),robo(3),robo(4),0d0)
11138 robo(5)=
max(-0.999999d0,
min(0.999999d0,(vint(141)-vint(142))/
11139 & (vint(141)+vint(142))))
11140 CALL
pyrobo(i1,mint(52),0d0,0d0,0d0,0d0,robo(5))
11145 IF((mint(43).EQ.2.OR.mint(43).EQ.3).AND.((isub.EQ.10.AND.
11146 &mstp(23).GE.1).OR.(isub.EQ.83.AND.mstp(23).GE.2))) idisxq=1
11147 IF(idisxq.EQ.1)
THEN
11151 IF(mint(42).EQ.1) lesd=2
11152 lpin=mint(83)+3-lesd
11154 lqin=mint(84)+3-lesd
11155 leout=mint(84)+2+lesd
11156 lqout=mint(84)+5-lesd
11157 IF(k(lein,3).GT.lein) lein=k(lein,3)
11158 IF(k(lqin,3).GT.lqin) lqin=k(lqin,3)
11160 DO 140 i=mint(84)+5,
n
11161 IF(k(i,2).EQ.94)
THEN
11168 IF(lesd.EQ.1) lqbg=ipu2
11173 hpk=2d0*(
p(lpin,4)*
p(lein,4)-
p(lpin,1)*
p(lein,1)-
11174 &
p(lpin,2)*
p(lein,2)-
p(lpin,3)*
p(lein,3))*
11175 & (
p(mint(83)+lesd,4)*vint(40+lesd)/
p(lein,4))
11176 hpt2=
max(0d0,q2nom*(1d0-q2nom/(xnom*hpk)))
11177 fac=
sqrt(hpt2/(
p(leout,1)**2+
p(leout,2)**2))
11178 p(
n+1,1)=fac*
p(leout,1)
11179 p(
n+1,2)=fac*
p(leout,2)
11180 p(
n+1,3)=0.25d0*((hpk-q2nom/xnom)/
p(lpin,4)-
11181 & q2nom/(
p(mint(83)+lesd,4)*vint(40+lesd)))*(-1)**(lesd+1)
11182 p(
n+1,4)=
sqrt(
p(leout,5)**2+
p(
n+1,1)**2+
p(
n+1,2)**2+
11185 qold(j)=
p(lein,j)-
p(leout,j)
11186 qnew(j)=
p(lein,j)-
p(
n+1,j)
11190 IF(lscms.EQ.0)
THEN
11192 p(leout,j)=
p(
n+1,j)
11196 p(
n+2,j)=(
p(
n+1,j)-
p(leout,j))/(
p(
n+1,4)+
p(leout,4))
11198 pinv=2d0/(1d0+
p(
n+2,1)**2+
p(
n+2,2)**2+
p(
n+2,3)**2)
11200 dbe(j)=pinv*
p(
n+2,j)
11204 190 iorig=k(iorig,3)
11205 IF(iorig.GT.leout) goto 190
11206 IF(i.EQ.leout.OR.iorig.EQ.leout)
11207 & CALL
pyrobo(i,i,0d0,0d0,dbe(1),dbe(2),dbe(3))
11215 p(ncop,j)=
p(lqbg,j)
11217 DO 240 i=mint(84)+1,
n
11219 IF(k(i,1).GT.10) goto 240
11220 IF(i.EQ.lqbg.OR.i.EQ.lqout)
THEN
11224 220 iorig=k(iorig,3)
11225 IF(iorig.EQ.lqbg.OR.iorig.EQ.lqout)
THEN
11227 ELSEIF(iorig.GT.mint(84).AND.iorig.LE.
n)
THEN
11244 plcsum=plcsum+(
p(i,4)+slc*
p(i,3))
11247 v(i,1)=(
p(i,4)+slc*
p(i,3))/plcsum
11253 p(i,j)=
p(i,j)+v(i,1)*(qnew(j)-qold(j))
11255 p(i,4)=
sqrt(
p(i,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
11261 peex=-
p(
n+1,4)-qnew(4)
11262 pemv=-
p(
n+1,3)/
p(
n+1,4)
11265 pemv=pemv+v(i,1)*
p(i,3)/
p(i,4)
11267 IF(abs(pemv).LT.1
d-10)
THEN
11269 mint(57)=mint(57)+1
11273 p(
n+1,3)=
p(
n+1,3)+pzch
11276 p(i,3)=
p(i,3)+v(i,1)*pzch
11277 p(i,4)=
sqrt(
p(i,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
11279 IF(iter.LT.10.AND.abs(peex).GT.1
d-6*
p(
n+1,4)) goto 290
11282 hbe=2d0*(
p(
n+1,4)+
p(lqbg,4))*(
p(
n+1,3)-
p(lqbg,3))/
11283 & ((
p(
n+1,4)+
p(lqbg,4))**2+(
p(
n+1,3)-
p(lqbg,3))**2)
11284 IF(abs(hbe).GT.0.999999d0)
THEN
11286 mint(57)=mint(57)+1
11290 CALL
pyrobo(i,i,0d0,0d0,0d0,0d0,hbe)
11300 psys(0,4)=
p(i1,4)+
p(i2,4)+0.5d0*vint(1)*(vint(151)+vint(152))
11301 psys(0,3)=
p(i1,3)+
p(i2,3)+0.5d0*vint(1)*(vint(151)-vint(152))
11302 pms(0)=
max(0d0,psys(0,4)**2-psys(0,3)**2)
11303 pmin(0)=
sqrt(pms(0))
11305 psys(jt,4)=0.5d0*vint(1)*vint(142+jt)
11306 psys(jt,3)=psys(jt,4)*(-1)**(jt-1)
11308 IF(mint(44+jt).EQ.1) goto 340
11309 mint(105)=mint(102+jt)
11310 mint(109)=mint(106+jt)
11311 CALL
pyspli(mint(10+jt),mint(12+jt),kflch(jt),kflsp(jt))
11312 IF(kflch(jt).NE.0) pmin(jt)=pmin(jt)+
pymass(kflch(jt))
11313 IF(kflsp(jt).NE.0) pmin(jt)=pmin(jt)+
pymass(kflsp(jt))
11314 IF(kflch(jt)*kflsp(jt).NE.0) pmin(jt)=pmin(jt)+0.5d0*parp(111)
11315 pmin(jt)=
sqrt(pmin(jt)**2+
p(mint(83)+jt+2,1)**2+
11316 &
p(mint(83)+jt+2,2)**2)
11318 IF(pmin(0)+pmin(1)+pmin(2).GT.vint(1).OR.(mint(45).GE.2.AND.
11319 &pmin(1).GT.psys(1,4)).OR.(mint(46).GE.2.AND.pmin(2).GT.
11322 mint(57)=mint(57)+1
11330 IF(mint(44+jt).EQ.1) goto 410
11331 IF(jt.EQ.1) ipu=ipu1
11332 IF(jt.EQ.2) ipu=ipu2
11349 kcol=kchg(
pycomp(kflsp(jt)),2)
11352 k(i,4)=mstu(5)*ipu+ipu
11353 k(i,5)=mstu(5)*ipu+ipu
11354 k(ipu,4)=
mod(k(ipu,4),mstu(5))+mstu(5)*i
11355 k(ipu,5)=
mod(k(ipu,5),mstu(5))+mstu(5)*i
11356 ELSEIF(kcol.NE.0)
THEN
11358 kfls=(3-kcol*isign(1,kflsp(jt)))/2
11360 k(ipu,6-kfls)=
mod(k(ipu,6-kfls),mstu(5))+mstu(5)*i
11362 IF(kflch(jt).EQ.0)
THEN
11363 p(i,1)=-
p(mint(83)+jt+2,1)
11364 p(i,2)=-
p(mint(83)+jt+2,2)
11365 pms(jt)=
p(i,5)**2+
p(i,1)**2+
p(i,2)**2
11366 psys(jt,3)=
sqrt(
max(0d0,psys(jt,4)**2-pms(jt)))*(-1)**(jt-1)
11385 kcol=kchg(
pycomp(kflch(jt)),2)
11388 k(i,4)=mstu(5)*ipu+ipu
11389 k(i,5)=mstu(5)*ipu+ipu
11390 k(ipu,4)=
mod(k(ipu,4),mstu(5))+mstu(5)*i
11391 k(ipu,5)=
mod(k(ipu,5),mstu(5))+mstu(5)*i
11392 ELSEIF(kcol.NE.0)
THEN
11394 kfls=(3-kcol*isign(1,kflch(jt)))/2
11396 k(ipu,6-kfls)=
mod(k(ipu,6-kfls),mstu(5))+mstu(5)*i
11403 IF(iabs(mint(10+jt)).LT.20)
THEN
11407 pms(jt+2)=
p(i-1,5)**2+
p(i-1,1)**2+
p(i-1,2)**2
11408 p(i,1)=-
p(mint(83)+jt+2,1)-
p(i-1,1)
11409 p(i,2)=-
p(mint(83)+jt+2,2)-
p(i-1,2)
11410 pms(jt+4)=
p(i,5)**2+
p(i,1)**2+
p(i,2)**2
11414 IF(
mod(mint(10+jt)/1000,10).NE.0) imb=2
11417 IF(iabs(mint(10+jt)).LT.20.AND.mint(14+jt).EQ.-mint(10+jt))
11422 ELSEIF(iabs(mint(10+jt)).LT.20)
THEN
11425 chi(jt)=(xe-xhrd)/(1d0-xhrd)
11428 ELSEIF(iabs(kflch(jt)).LE.10.OR.kflch(jt).EQ.21)
THEN
11429 chik=parp(92+2*imb)
11430 IF(mstp(92).LE.1)
THEN
11431 IF(imb.EQ.1) chi(jt)=
pyr(0)
11432 IF(imb.EQ.2) chi(jt)=1d0-
sqrt(
pyr(0))
11433 ELSEIF(mstp(92).EQ.2)
THEN
11434 chi(jt)=1d0-
pyr(0)**(1d0/(1d0+chik))
11435 ELSEIF(mstp(92).EQ.3)
THEN
11436 cut=2d0*0.3d0/vint(1)
11437 380 chi(jt)=
pyr(0)**2
11438 IF((chi(jt)**2/(chi(jt)**2+cut**2))**0.25d0*
11439 & (1d0-chi(jt))**chik.LT.
pyr(0)) goto 380
11440 ELSEIF(mstp(92).EQ.4)
THEN
11441 cut=2d0*0.3d0/vint(1)
11442 cutr=(1d0+
sqrt(1d0+cut**2))/cut
11443 390 chir=cut*cutr**
pyr(0)
11444 chi(jt)=(chir**2-cut**2)/(2d0*chir)
11445 IF((1d0-chi(jt))**chik.LT.
pyr(0)) goto 390
11447 cut=2d0*0.3d0/vint(1)
11448 cuta=cut**(1d0-parp(98))
11449 cutb=(1d0+cut)**(1d0-parp(98))
11450 400 chi(jt)=(cuta+
pyr(0)*(cutb-cuta))**(1d0/(1d0-parp(98)))
11451 IF(((chi(jt)+cut)**2/(2d0*(chi(jt)**2+cut**2)))**
11452 & (0.5d0*parp(98))*(1d0-chi(jt))**chik.LT.
pyr(0)) goto 400
11457 IF(mstp(94).LE.1)
THEN
11458 IF(imb.EQ.1) chi(jt)=
pyr(0)
11459 IF(imb.EQ.2) chi(jt)=1d0-
sqrt(
pyr(0))
11460 IF(
mod(kflch(jt)/1000,10).NE.0) chi(jt)=1d0-chi(jt)
11461 ELSEIF(mstp(94).EQ.2)
THEN
11462 chi(jt)=1d0-
pyr(0)**(1d0/(1d0+parp(93+2*imb)))
11463 IF(
mod(kflch(jt)/1000,10).NE.0) chi(jt)=1d0-chi(jt)
11464 ELSEIF(mstp(94).EQ.3)
THEN
11474 pms(jt)=pms(jt+4)/chi(jt)+pms(jt+2)/(1d0-chi(jt))
11475 IF(pms(jt).GT.psys(jt,4)**2)
THEN
11476 IF(loop.LT.10)
THEN
11480 mint(57)=mint(57)+1
11484 psys(jt,3)=
sqrt(
max(0d0,psys(jt,4)**2-pms(jt)))*(-1)**(jt-1)
11485 vint(158+jt)=chi(jt)
11488 pw1=chi(jt)*(psys(jt,4)+abs(psys(jt,3)))
11489 p(is(jt)+1,4)=0.5d0*(pw1+pms(jt+4)/pw1)
11490 p(is(jt)+1,3)=0.5d0*(pw1-pms(jt+4)/pw1)*(-1)**(jt-1)
11491 p(is(jt),4)=psys(jt,4)-
p(is(jt)+1,4)
11492 p(is(jt),3)=psys(jt,3)-
p(is(jt)+1,3)
11498 pdev=abs(psys(0,4)+psys(1,4)+psys(2,4)-vint(1))+
11499 &abs(psys(0,3)+psys(1,3)+psys(2,3))
11500 IF(pdev.LE.1
d-6*vint(1))
RETURN
11501 IF(isn(1).EQ.0)
THEN
11504 ELSEIF(isn(2).EQ.0)
THEN
11507 ELSEIF(vint(143).GT.0.2d0.AND.vint(144).GT.0.2d0)
THEN
11510 ELSEIF(vint(143).GT.0.2d0)
THEN
11513 ELSEIF(vint(144).GT.0.2d0)
THEN
11516 ELSEIF(pms(1)/psys(1,4)**2.GT.pms(2)/psys(2,4)**2)
THEN
11526 IF((ig.EQ.1.AND.isn(1).EQ.0).OR.(ig.EQ.2.AND.isn(2).EQ.0))
THEN
11530 ppb=vint(1)-(psys(ig,4)+psys(ig,3))
11531 pnb=vint(1)-(psys(ig,4)-psys(ig,3))
11535 IF(idisxq.EQ.1.AND.ig.NE.0)
THEN
11539 sqlam=
sqrt(
max(0d0,(pmtb-pmtr-pmtl)**2-4d0*pmtr*pmtl))
11540 sqsgn=sign(1d0,psys(ir,3)*psys(il,4)-psys(il,3)*psys(ir,4))
11541 rkr=(pmtb+pmtr-pmtl+sqlam*sqsgn)/(2d0*(psys(ir,4)+psys(ir,3))
11543 rkl=(pmtb+pmtl-pmtr+sqlam*sqsgn)/(2d0*(psys(il,4)-psys(il,3))
11545 ber=(rkr**2-1d0)/(rkr**2+1d0)
11546 bel=-(rkl**2-1d0)/(rkl**2+1d0)
11547 ppb=ppb-(psys(0,4)+psys(0,3))
11548 pnb=pnb-(psys(0,4)-psys(0,3))
11552 DO 450 i=mint(84)+1,
ns
11553 IF(k(i,1).GT.10) goto 450
11556 430
IF(iorig.EQ.lqout.OR.iorig.EQ.lpin+2) incl=1
11558 IF(iorig.GT.lpin) goto 430
11559 IF(incl.EQ.0) goto 450
11561 psys(0,j)=psys(0,j)+
p(i,j)
11564 pms(0)=
max(0d0,psys(0,4)**2-psys(0,3)**2)
11565 ppb=ppb+(psys(0,4)+psys(0,3))
11566 pnb=pnb+(psys(0,4)-psys(0,3))
11573 dsqlam=
sqrt(
max(0d0,(dpmtb-dpmtr-dpmtl)**2-4d0*dpmtr*dpmtl))
11574 IF(dsqlam.LE.1
d-6*dpmtb)
THEN
11576 mint(57)=mint(57)+1
11579 dsqsgn=sign(1d0,psys(ir,3)*psys(il,4)-psys(il,3)*psys(ir,4))
11580 drkr=(dpmtb+dpmtr-dpmtl+dsqlam*dsqsgn)/
11581 &(2d0*(psys(ir,4)+psys(ir,3))*pnb)
11582 drkl=(dpmtb+dpmtl-dpmtr+dsqlam*dsqsgn)/
11583 &(2d0*(psys(il,4)-psys(il,3))*ppb)
11584 dber=(drkr**2-1d0)/(drkr**2+1d0)
11585 dbel=-(drkl**2-1d0)/(drkl**2+1d0)
11588 IF(ir.EQ.1.AND.isn(1).EQ.1.AND.dber.LE.-0.99999999d0)
THEN
11590 p(is(1),4)=
sqrt(
p(is(1),5)**2+
p(is(1),1)**2+
p(is(1),2)**2)
11591 ELSEIF(ir.EQ.1)
THEN
11592 CALL
pyrobo(is(1),is(1)+isn(1)-1,0d0,0d0,0d0,0d0,dber)
11593 ELSEIF(idisxq.EQ.1)
THEN
11597 460
IF(iorig.EQ.lqout.OR.iorig.EQ.lpin+2) incl=1
11599 IF(iorig.GT.lpin) goto 460
11600 IF(incl.EQ.1) CALL
pyrobo(i,i,0d0,0d0,0d0,0d0,dber)
11603 CALL
pyrobo(i1,
ns,0d0,0d0,0d0,0d0,dber)
11605 IF(il.EQ.2.AND.isn(2).EQ.1.AND.dbel.GE.0.99999999d0)
THEN
11607 p(is(2),4)=
sqrt(
p(is(2),5)**2+
p(is(2),1)**2+
p(is(2),2)**2)
11608 ELSEIF(il.EQ.2)
THEN
11609 CALL
pyrobo(is(2),is(2)+isn(2)-1,0d0,0d0,0d0,0d0,dbel)
11610 ELSEIF(idisxq.EQ.1)
THEN
11614 480
IF(iorig.EQ.lqout.OR.iorig.EQ.lpin+2) incl=1
11616 IF(iorig.GT.lpin) goto 480
11617 IF(incl.EQ.1) CALL
pyrobo(i,i,0d0,0d0,0d0,0d0,dbel)
11620 CALL
pyrobo(i1,
ns,0d0,0d0,0d0,0d0,dbel)
11626 DO 500 i=mint(84)+1,
n
11627 IF(k(i,1).GT.10) goto 500
11631 pdev=abs(pesum-vint(1))+abs(pzsum)
11632 IF(pdev.GT.1
d-4*vint(1))
THEN
11634 mint(57)=mint(57)+1
11641 IF(mint(82).EQ.1.AND.(mint(43).EQ.2.OR.mint(43).EQ.3))
THEN
11644 IF(mint(42).EQ.1) lesd=2
11645 lpin=mint(83)+3-lesd
11652 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 530
11653 IF(iabs(k(i,2)).GE.11.AND.iabs(k(i,2)).LE.20) goto 530
11654 IF(k(i,2).EQ.22) goto 530
11656 psum(j)=psum(j)+
p(i,j)
11659 vint(223)=-psum(1)/psum(4)
11660 vint(224)=-psum(2)/psum(4)
11661 vint(225)=-psum(3)/psum(4)
11669 CALL
pyrobo(
n+1,
n+1,0d0,0d0,vint(223),vint(224),vint(225))
11671 CALL
pyrobo(
n+1,
n+1,0d0,vint(222),0d0,0d0,0d0)
11690 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
11693 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
11694 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
11695 common/pypars/mstp(200),parp(200),msti(200),pari(200)
11696 common/pyint1/mint(400),vint(400)
11700 DO 110 jt=1,mstp(126)+10
11720 p(i,j)=vint(285+5*jt+j)
11726 sqlam=(vint(2)-vint(63)-vint(64))**2-4d0*vint(63)*vint(64)
11727 pz=
sqrt(sqlam)/(2d0*vint(1))
11730 pe=(vint(2)+vint(62+jt)-vint(65-jt))/(2d0*vint(1))
11734 IF(mint(16+jt).LE.0)
THEN
11739 p(
n,3)=
pz*(-1)**(jt+1)
11741 p(
n,5)=
sqrt(vint(62+jt))
11745 IF(kfh.EQ.113.AND.mint(10+jt).EQ.22.AND.mstp(102).EQ.1)
THEN
11751 IF(
n.EQ.nsav+2.AND.iabs(k(nsav+1,2)).EQ.211)
THEN
11753 CALL
pyrobo(nsav+1,nsav+2,0d0,-
phi,0d0,0d0,0d0)
11754 the=
pyangl(
p(nsav+1,3),
p(nsav+1,1))
11755 CALL
pyrobo(nsav+1,nsav+2,-the,0d0,0d0,0d0,0d0)
11756 140 cthe=2d0*
pyr(0)-1d0
11757 IF(1d0-cthe**2.LT.
pyr(0)) goto 140
11758 CALL
pyrobo(nsav+1,nsav+2,acos(cthe),
phi,0d0,0d0,0d0)
11760 CALL
pyrobo(nsav,nsav+2,0d0,0d0,0d0,0d0,dbetaz)
11764 ELSEIF(vint(62+jt).LT.(vint(66+jt)+parp(103))**2)
THEN
11770 pmmas=
sqrt(vint(62+jt))
11773 IF(ntry.LT.20)
THEN
11774 mint(105)=mint(102+jt)
11775 mint(109)=mint(106+jt)
11776 CALL
pyspli(kfh,21,kfl1,kfl2)
11777 CALL
pykfdi(kfl1,0,kfl3,kf1)
11778 IF(kf1.EQ.0) goto 150
11779 CALL
pykfdi(kfl2,-kfl3,kfldum,kf2)
11780 IF(kf2.EQ.0) goto 150
11787 IF(pm1+pm2+parj(64).GT.pmmas) goto 150
11792 pzp=
sqrt(
max(0d0,(pmmas**2-pm1**2-pm2**2)**2-
11793 & 4d0*pm1**2*pm2**2))/(2d0*pmmas)
11796 p(
n-1,4)=
sqrt(pm1**2+pzp**2)
11797 p(
n,4)=
sqrt(pm2**2+pzp**2)
11800 dbetaz=
pz*(-1)**(jt+1)/
sqrt(
pz**2+pmmas**2)
11801 CALL
pyrobo(
n-1,
n,0d0,0d0,0d0,0d0,dbetaz)
11804 ELSEIF(mstp(101).EQ.1.OR.(mstp(101).EQ.3.AND.
pyr(0).LT.
11811 mint(105)=mint(102+jt)
11812 mint(109)=mint(106+jt)
11813 CALL
pyspli(kfh,21,k(
n,2),k(
n-1,2))
11816 sqlam=(vint(62+jt)-
p(
n-1,5)**2-
p(
n,5)**2)**2-
11817 & 4d0*
p(
n-1,5)**2*
p(
n,5)**2
11818 p(
n-1,3)=(pe*
sqrt(sqlam)+
pz*(vint(62+jt)+
p(
n-1,5)**2-
11819 &
p(
n,5)**2))/(2d0*vint(62+jt))*(-1)**(jt+1)
11821 p(
n,3)=
pz*(-1)**(jt+1)-
p(
n-1,3)
11833 mint(105)=mint(102+jt)
11834 mint(109)=mint(106+jt)
11835 CALL
pyspli(kfh,21,k(
n,2),k(
n-2,2))
11842 IF(
mod(kfh/1000,10).NE.0) imb=2
11843 chik=parp(92+2*imb)
11844 IF(mstp(92).LE.1)
THEN
11845 IF(imb.EQ.1) chi=
pyr(0)
11846 IF(imb.EQ.2) chi=1d0-
sqrt(
pyr(0))
11847 ELSEIF(mstp(92).EQ.2)
THEN
11848 chi=1d0-
pyr(0)**(1d0/(1d0+chik))
11849 ELSEIF(mstp(92).EQ.3)
THEN
11850 cut=2d0*0.3d0/vint(1)
11852 IF((chi**2/(chi**2+cut**2))**0.25d0*(1d0-chi)**chik.LT.
11854 ELSEIF(mstp(92).EQ.4)
THEN
11855 cut=2d0*0.3d0/vint(1)
11856 cutr=(1d0+
sqrt(1d0+cut**2))/cut
11857 180 chir=cut*cutr**
pyr(0)
11858 chi=(chir**2-cut**2)/(2d0*chir)
11859 IF((1d0-chi)**chik.LT.
pyr(0)) goto 180
11861 cut=2d0*0.3d0/vint(1)
11862 cuta=cut**(1d0-parp(98))
11863 cutb=(1d0+cut)**(1d0-parp(98))
11864 190 chi=(cuta+
pyr(0)*(cutb-cuta))**(1d0/(1d0-parp(98)))
11865 IF(((chi+cut)**2/(2d0*(chi**2+cut**2)))**
11866 & (0.5d0*parp(98))*(1d0-chi)**chik.LT.
pyr(0)) goto 190
11868 IF(chi.LT.
p(
n,5)**2/vint(62+jt).OR.chi.GT.1d0-
p(
n-2,5)**2/
11869 & vint(62+jt)) goto 160
11870 sqm=
p(
n-2,5)**2/(1d0-chi)+
p(
n,5)**2/chi
11871 IF((
sqrt(sqm)+parj(32))**2.GE.vint(62+jt)) goto 160
11872 pzi=(pe*(vint(62+jt)-sqm)+
pz*(vint(62+jt)+sqm))/
11873 & (2d0*vint(62+jt))
11874 pei=
sqrt(pzi**2+sqm)
11875 pqqp=(1d0-chi)*(pei+pzi)
11876 p(
n-2,3)=0.5d0*(pqqp-
p(
n-2,5)**2/pqqp)*(-1)**(jt+1)
11878 p(
n-1,4)=0.5d0*(vint(62+jt)-sqm)/(pei+pzi)
11879 p(
n-1,3)=
p(
n-1,4)*(-1)**jt
11880 p(
n,3)=pzi*(-1)**(jt+1)-
p(
n-2,3)
11886 IF(mint(16+jt).EQ.0) k(i+2,2)=kfh
11887 IF(mint(16+jt).NE.0) k(i+2,2)=10*(kfh/10)
11889 p(i+2,3)=
pz*(-1)**(jt+1)
11891 p(i+2,5)=
sqrt(vint(62+jt))
11895 IF(vint(23).LT.0.9d0)
THEN
11896 CALL
pyrobo(mint(83)+3,
n,acos(vint(23)),vint(24),0d0,0d0,0d0)
11898 CALL
pyrobo(mint(83)+3,
n,asin(vint(59)),vint(24),0d0,0d0,0d0)
11913 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
11916 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
11917 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
11918 common/pypars/mstp(200),parp(200),msti(200),pari(200)
11919 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
11920 common/pyint1/mint(400),vint(400)
11921 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
11922 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
11923 SAVE /
pyjets/,/
pydat1/,/pysubs/,/pypars/,/pyint1/,/pyint2/,
11928 IF(mstp(111).NE.-1) ngen(isub,3)=ngen(isub,3)+1
11929 ngen(0,3)=ngen(0,3)+1
11932 IF(i.EQ.96.OR.i.EQ.97)
THEN
11934 ELSEIF(msub(95).EQ.1.AND.(i.EQ.11.OR.i.EQ.12.OR.i.EQ.13.OR.
11935 & i.EQ.28.OR.i.EQ.53.OR.i.EQ.68))
THEN
11936 xsec(i,3)=xsec(96,2)*ngen(i,3)/
max(1d0,dble(ngen(96,1))*
11937 & dble(ngen(96,2)))
11938 ELSEIF(msub(i).EQ.0.OR.ngen(i,1).EQ.0)
THEN
11940 ELSEIF(ngen(i,2).EQ.0)
THEN
11941 xsec(i,3)=xsec(i,2)*ngen(0,3)/(dble(ngen(i,1))*
11944 xsec(i,3)=xsec(i,2)*ngen(i,3)/(dble(ngen(i,1))*
11947 xsec(0,3)=xsec(0,3)+xsec(i,3)
11951 IF(msub(95).EQ.1)
THEN
11952 xsech=xsec(11,3)+xsec(12,3)+xsec(13,3)+xsec(28,3)+xsec(53,3)+
11953 & xsec(68,3)+xsec(95,3)
11954 xsecw=xsec(97,2)/
max(1d0,dble(ngen(97,1)))
11955 IF(xsech.GT.1
d-10.AND.xsecw.GT.1
d-10)
THEN
11957 xsec(11,3)=fac*xsec(11,3)
11958 xsec(12,3)=fac*xsec(12,3)
11959 xsec(13,3)=fac*xsec(13,3)
11960 xsec(28,3)=fac*xsec(28,3)
11961 xsec(53,3)=fac*xsec(53,3)
11962 xsec(68,3)=fac*xsec(68,3)
11963 xsec(95,3)=fac*xsec(95,3)
11964 xsec(0,3)=xsec(0,3)-xsech+xsecw
11969 IF(mint(121).GT.1)
THEN
11985 IF(mint(121).GT.1) msti(9)=mint(122)
11989 pari(2)=xsec(0,3)/mint(5)
11992 vint(98)=vint(98)+vint(100)
11993 IF(mstp(142).EQ.1) pari(2)=xsec(0,3)/vint(98)
11998 IF(isub.NE.95)
THEN
12006 pari(35)=pari(33)-pari(34)
12013 pari(42)=2d0*vint(47)/vint(1)
12017 IF(isub.NE.95.AND.mint(7)*mint(8).NE.0)
THEN
12020 pari(36+is)=
p(i,3)/vint(1)
12021 pari(38+is)=
p(i,4)/vint(1)
12022 pr=
max(1
d-20,
p(i,5)**2+
p(i,1)**2+
p(i,2)**2)
12023 pari(40+is)=sign(
log(
min((
sqrt(pr+
p(i,3)**2)+abs(
p(i,3)))/
12024 &
sqrt(pr),1d20)),
p(i,3))
12025 pr=
max(1
d-20,
p(i,1)**2+
p(i,2)**2)
12026 pari(42+is)=sign(
log(
min((
sqrt(pr+
p(i,3)**2)+abs(
p(i,3)))/
12027 &
sqrt(pr),1d20)),
p(i,3))
12028 pari(44+is)=
p(i,3)/
sqrt(1
d-20+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
12035 pari(65)=2d0*pari(17)
12036 IF(isub.LE.90.OR.isub.GE.95)
THEN
12037 DO 150 i=mstp(126)+1,
n
12038 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 150
12040 pari(69)=pari(69)+
pt
12041 IF(i.LE.mint(52)) pari(66)=pari(66)+
pt
12042 IF(i.GT.mint(52).AND.i.LE.mint(53)) pari(68)=pari(68)+
pt
12063 IF(iset(isub).EQ.1.OR.iset(isub).EQ.3)
THEN
12066 ELSEIF(iset(isub).EQ.5)
THEN
12085 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
12088 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
12089 common/pypars/mstp(200),parp(200),msti(200),pari(200)
12090 common/pyint1/mint(400),vint(400)
12091 SAVE /
pydat1/,/pypars/,/pyint1/
12094 IF(iframe.EQ.1.OR.iframe.EQ.2.OR.(iframe.EQ.3.AND.
12095 &mint(91).EQ.1))
THEN
12096 IF(iframe.EQ.mint(6))
RETURN
12098 WRITE(mstu(11),5000) iframe,mint(6)
12102 IF(mint(6).EQ.1)
THEN
12105 CALL
pyrobo(0,0,0d0,0d0,-vint(8),-vint(9),-vint(10))
12106 CALL
pyrobo(0,0,0d0,-vint(7),0d0,0d0,0d0)
12107 CALL
pyrobo(0,0,-vint(6),0d0,0d0,0d0,0d0)
12108 ELSEIF(mint(6).EQ.3)
THEN
12110 CALL
pyrobo(0,0,-vint(221),-vint(222),-vint(223),-vint(224),
12114 IF(iframe.EQ.1)
THEN
12117 CALL
pyrobo(0,0,vint(6),vint(7),vint(8),vint(9),vint(10))
12118 ELSEIF(iframe.EQ.3)
THEN
12120 CALL
pyrobo(0,0,0d0,0d0,vint(223),vint(224),vint(225))
12121 CALL
pyrobo(0,0,0d0,vint(222),0d0,0d0,0d0)
12122 CALL
pyrobo(0,0,vint(221),0d0,0d0,0d0,0d0)
12129 5000
FORMAT(1
x,
'Error: illegal values in subroutine PYFRAM.',1
x,
12130 &
'No transformation performed.'/1
x,
'IFRAME =',1
x,i5,
'; MINT(6) =',
12144 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
12147 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
12149 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
12150 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
12151 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
12152 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
12153 common/pypars/mstp(200),parp(200),msti(200),pari(200)
12154 common/pyint1/mint(400),vint(400)
12155 common/pyint4/mwid(500),wids(500,5)
12156 common/pymssm/imss(0:99),rmss(0:99)
12157 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
12159 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pysubs/,/pypars/,/pyint1/,
12160 &/pyint4/,/pymssm/,/pyssmt/
12162 dimension wdtp(0:200),wdte(0:200,0:5),mofsv(3,2),widwsv(3,2),
12164 SAVE mofsv,widwsv,wid2sv
12165 DATA mofsv/6*0/,widwsv/6*0d0/,wid2sv/6*0d0/
12183 IF((mwid(kc).LE.0.OR.mwid(kc).GE.4).AND.kfla.NE.21.AND.
12193 ELSEIF(mwid(kc).EQ.2.OR.(mwid(kc).EQ.3.AND.mint(63).EQ.0))
THEN
12195 DO 120 i=1,mdcy(kc,3)
12197 IF(mdme(idc,1).LT.0) goto 120
12202 IF(kchg(kfc1,3).EQ.1) kfd1=kfls*kfd1
12206 IF(kchg(kfc2,3).EQ.1) kfd2=kfls*kfd2
12212 IF(kchg(kfc3,3).EQ.1) kfd3=kfls*kfd3
12217 wdtp(i)=pmas(kc,2)*brat(idc)*(shr/pmr)
12218 IF(mdme(idc,2).GE.51.AND.mdme(idc,2).LE.53.AND.
12219 & pm1+pm2+pm3.GE.shr)
THEN
12221 ELSEIF(mdme(idc,2).EQ.52.AND.kfd3.EQ.0)
THEN
12222 wdtp(i)=wdtp(i)*
sqrt(
max(0d0,(sh-pm1**2-pm2**2)**2-
12223 & 4d0*pm1**2*pm2**2))/sh
12224 ELSEIF(mdme(idc,2).EQ.52)
THEN
12225 pma=
max(pm1,pm2,pm3)
12226 pmc=
min(pm1,pm2,pm3)
12227 pmb=pm1+pm2+pm3-pma-pmc
12228 pmbc=pmb+pmc+0.5d0*(shr-pma-pmc-pmc)
12233 wdtp(i)=wdtp(i)*
sqrt(
max(0d0,
12234 & ((1d0-pman-pmbcn)**2-4d0*pman*pmbcn)*
12235 & ((pmbcn-pmbn-pmcn)**2-4d0*pmbn*pmcn)))*
12236 & ((shr-pma)**2-(pmb+pmc)**2)*
12237 & (1d0+0.25d0*(pma+pmb+pmc)/shr)/
12238 & ((1d0-pmbcn)*pmbcn*sh)
12239 ELSEIF(mdme(idc,2).EQ.53.AND.kfd3.EQ.0)
THEN
12240 wdtp(i)=wdtp(i)*
sqrt(
12241 &
max(0d0,(sh-pm1**2-pm2**2)**2-4d0*pm1**2*pm2**2)/
12242 &
max(1
d-4,(pmr**2-pm1**2-pm2**2)**2-4d0*pm1**2*pm2**2))
12243 ELSEIF(mdme(idc,2).EQ.53)
THEN
12244 pma=
max(pm1,pm2,pm3)
12245 pmc=
min(pm1,pm2,pm3)
12246 pmb=pm1+pm2+pm3-pma-pmc
12247 pmbc=pmb+pmc+0.5d0*(shr-pma-pmb-pmc)
12253 & ((1d0-pman-pmbcn)**2-4d0*pman*pmbcn)*
12254 & ((pmbcn-pmbn-pmcn)**2-4d0*pmbn*pmcn)))*
12255 & ((shr-pma)**2-(pmb+pmc)**2)*
12256 & (1d0+0.25d0*(pma+pmb+pmc)/shr)/
12257 & ((1d0-pmbcn)*pmbcn*sh)
12258 pmbc=pmb+pmc+0.5d0*(pmr-pma-pmb-pmc)
12262 pmbcn=pmbc**2/pmr**2
12264 & ((1d0-pman-pmbcn)**2-4d0*pman*pmbcn)*
12265 & ((pmbcn-pmbn-pmcn)**2-4d0*pmbn*pmcn)))*
12266 & ((pmr-pma)**2-(pmb+pmc)**2)*
12267 & (1d0+0.25d0*(pma+pmb+pmc)/pmr)/
12268 & ((1d0-pmbcn)*pmbcn*pmr**2)
12269 wdtp(i)=wdtp(i)*facact/
max(1
d-6,facnom)
12271 wdtp(0)=wdtp(0)+wdtp(i)
12274 IF(mdme(idc,1).GT.0)
THEN
12275 IF(kfd2.EQ.kfd1)
THEN
12276 IF(kchg(kfc1,3).EQ.0)
THEN
12278 ELSEIF(kfd1.GT.0)
THEN
12284 wid2=wid2*wids(kfc3,2)
12285 ELSEIF(kfd3.LT.0)
THEN
12286 wid2=wid2*wids(kfc3,3)
12288 ELSEIF(kfd2.EQ.-kfd1)
THEN
12291 wid2=wid2*wids(kfc3,2)
12292 ELSEIF(kfd3.LT.0)
THEN
12293 wid2=wid2*wids(kfc3,3)
12295 ELSEIF(kfd3.EQ.kfd1)
THEN
12296 IF(kchg(kfc1,3).EQ.0)
THEN
12298 ELSEIF(kfd1.GT.0)
THEN
12304 wid2=wid2*wids(kfc2,2)
12305 ELSEIF(kfd2.LT.0)
THEN
12306 wid2=wid2*wids(kfc2,3)
12308 ELSEIF(kfd3.EQ.-kfd1)
THEN
12311 wid2=wid2*wids(kfc2,2)
12312 ELSEIF(kfd2.LT.0)
THEN
12313 wid2=wid2*wids(kfc2,3)
12315 ELSEIF(kfd3.EQ.kfd2)
THEN
12316 IF(kchg(kfc2,3).EQ.0)
THEN
12318 ELSEIF(kfd2.GT.0)
THEN
12324 wid2=wid2*wids(kfc1,2)
12325 ELSEIF(kfd1.LT.0)
THEN
12326 wid2=wid2*wids(kfc1,3)
12328 ELSEIF(kfd3.EQ.-kfd2)
THEN
12331 wid2=wid2*wids(kfc1,2)
12332 ELSEIF(kfd1.LT.0)
THEN
12333 wid2=wid2*wids(kfc1,3)
12342 wid2=wid2*wids(kfc2,2)
12344 wid2=wid2*wids(kfc2,3)
12347 wid2=wid2*wids(kfc3,2)
12348 ELSEIF(kfd3.LT.0)
THEN
12349 wid2=wid2*wids(kfc3,3)
12354 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12355 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12356 wdte(i,0)=wdte(i,mdme(idc,1))
12357 wdte(0,0)=wdte(0,0)+wdte(i,0)
12371 IF(kfla.EQ.35.OR.kfla.EQ.36)
THEN
12379 IF(mstp(8).GE.2) xw=1d0-(pmas(24,1)/pmas(23,1))**2
12382 IF(mstp(8).GE.1) aem=
sqrt(2d0)*paru(105)*pmas(24,1)**2*xw/paru(1)
12384 radc=1d0+as/paru(1)
12388 fac=(aem/(16d0*xw))*(sh/pmas(24,1)**2)*shr
12389 radct=1d0-2.5d0*as/paru(1)
12390 DO 130 i=1,mdcy(kc,3)
12392 IF(mdme(idc,1).LT.0) goto 130
12393 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
12394 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
12395 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 130
12396 IF(i.GE.4.AND.i.LE.7)
THEN
12398 wdtp(i)=fac*vckm(3,i-3)*radct*
12399 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12400 & ((1d0-rm2)**2+(1d0+rm2)*rm1-2d0*rm1**2)
12403 IF(i.EQ.7) wid2=wid2*wids(7,2)
12406 IF(i.EQ.7) wid2=wid2*wids(7,3)
12408 ELSEIF(i.EQ.9)
THEN
12410 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12411 & ((1d0+rm2-rm1)*(rm2*paru(141)**2+1d0/paru(141)**2)+4d0*rm2)
12413 IF(kflr.LT.0) wid2=wids(37,3)
12415 ELSEIF(i.GE.10.AND.i.LE.13.AND.imss(1).NE.0)
THEN
12419 tanw=
sqrt(paru(102)/(1d0-paru(102)))
12422 kfc1=
pycomp(kfdp(idc,1))
12423 kfc2=
pycomp(kfdp(idc,2))
12424 pmnchi=pmas(kfc1,1)
12425 pmstop=pmas(kfc2,1)
12426 IF(shr.GT.pmnchi+pmstop)
THEN
12428 al=shr*zmix(
iz,4)/(2.0d0*pmas(24,1)*sinb)
12429 ar=-
et*zmix(
iz,1)*tanw
12430 bl=t3l*(zmix(
iz,2)-zmix(
iz,1)*tanw)-ar
12432 fl=sfmix(6,1)*al+sfmix(6,2)*ar
12433 fr=sfmix(6,1)*bl+sfmix(6,2)*br
12434 pcm=
sqrt((sh-(pmnchi+pmstop)**2)*
12435 & (sh-(pmnchi-pmstop)**2))/(2d0*shr)
12436 wdtp(i)=(0.5d0*
pyalem(sh)/paru(102))*pcm*((fl**2+fr**2)*
12437 & (sh+pmnchi**2-pmstop**2)+smz(
iz)*4d0*shr*fl*fr)
12439 wid2=wids(kfc1,2)*wids(kfc2,2)
12441 wid2=wids(kfc1,2)*wids(kfc2,3)
12446 wdtp(0)=wdtp(0)+wdtp(i)
12447 IF(mdme(idc,1).GT.0)
THEN
12448 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12449 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12450 wdte(i,0)=wdte(i,mdme(idc,1))
12451 wdte(0,0)=wdte(0,0)+wdte(i,0)
12455 ELSEIF(kfla.EQ.7)
THEN
12457 fac=(aem/(16d0*xw))*(sh/pmas(24,1)**2)*shr
12458 DO 140 i=1,mdcy(kc,3)
12460 IF(mdme(idc,1).LT.0) goto 140
12461 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
12462 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
12463 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 140
12464 IF(i.GE.4.AND.i.LE.7)
THEN
12466 wdtp(i)=fac*vckm(i-3,4)*
12467 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12468 & ((1d0-rm2)**2+(1d0+rm2)*rm1-2d0*rm1**2)
12471 IF(i.EQ.6) wid2=wid2*wids(6,2)
12472 IF(i.EQ.7) wid2=wid2*wids(8,2)
12475 IF(i.EQ.6) wid2=wid2*wids(6,3)
12476 IF(i.EQ.7) wid2=wid2*wids(8,3)
12479 IF(kflr.LT.0) wid2=wids(24,2)
12480 ELSEIF(i.EQ.9.OR.i.EQ.10)
THEN
12482 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12483 & ((1d0+rm2-rm1)*(paru(141)**2+rm2/paru(141)**2)+4d0*rm2)
12486 IF(i.EQ.10) wid2=wid2*wids(6,2)
12489 IF(i.EQ.10) wid2=wid2*wids(6,3)
12492 wdtp(0)=wdtp(0)+wdtp(i)
12493 IF(mdme(idc,1).GT.0)
THEN
12494 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12495 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12496 wdte(i,0)=wdte(i,mdme(idc,1))
12497 wdte(0,0)=wdte(0,0)+wdte(i,0)
12501 ELSEIF(kfla.EQ.8)
THEN
12503 fac=(aem/(16d0*xw))*(sh/pmas(24,1)**2)*shr
12504 DO 150 i=1,mdcy(kc,3)
12506 IF(mdme(idc,1).LT.0) goto 150
12507 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
12508 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
12509 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 150
12510 IF(i.GE.4.AND.i.LE.7)
THEN
12512 wdtp(i)=fac*vckm(4,i-3)*
12513 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12514 & ((1d0-rm2)**2+(1d0+rm2)*rm1-2d0*rm1**2)
12517 IF(i.EQ.7) wid2=wid2*wids(7,2)
12520 IF(i.EQ.7) wid2=wid2*wids(7,3)
12522 ELSEIF(i.EQ.9.OR.i.EQ.10)
THEN
12524 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12525 & ((1d0+rm2-rm1)*(rm2*paru(141)**2+1d0/paru(141)**2)+4d0*rm2)
12528 IF(i.EQ.10) wid2=wid2*wids(7,2)
12531 IF(i.EQ.10) wid2=wid2*wids(7,3)
12534 wdtp(0)=wdtp(0)+wdtp(i)
12535 IF(mdme(idc,1).GT.0)
THEN
12536 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12537 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12538 wdte(i,0)=wdte(i,mdme(idc,1))
12539 wdte(0,0)=wdte(0,0)+wdte(i,0)
12543 ELSEIF(kfla.EQ.17)
THEN
12545 fac=(aem/(16d0*xw))*(sh/pmas(24,1)**2)*shr
12546 DO 160 i=1,mdcy(kc,3)
12548 IF(mdme(idc,1).LT.0) goto 160
12549 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
12550 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
12551 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 160
12554 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12555 & ((1d0-rm2)**2+(1d0+rm2)*rm1-2d0*rm1**2)
12558 wid2=wid2*wids(18,2)
12561 wid2=wid2*wids(18,3)
12563 ELSEIF(i.EQ.5)
THEN
12565 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12566 & ((1d0+rm2-rm1)*(paru(141)**2+rm2/paru(141)**2)+4d0*rm2)
12569 wid2=wid2*wids(18,2)
12572 wid2=wid2*wids(18,3)
12575 wdtp(0)=wdtp(0)+wdtp(i)
12576 IF(mdme(idc,1).GT.0)
THEN
12577 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12578 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12579 wdte(i,0)=wdte(i,mdme(idc,1))
12580 wdte(0,0)=wdte(0,0)+wdte(i,0)
12584 ELSEIF(kfla.EQ.18)
THEN
12586 fac=(aem/(16d0*xw))*(sh/pmas(24,1)**2)*shr
12587 DO 170 i=1,mdcy(kc,3)
12589 IF(mdme(idc,1).LT.0) goto 170
12590 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
12591 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
12592 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 170
12595 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12596 & ((1d0-rm2)**2+(1d0+rm2)*rm1-2d0*rm1**2)
12599 wid2=wid2*wids(17,2)
12602 wid2=wid2*wids(17,3)
12604 ELSEIF(i.EQ.3)
THEN
12606 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))*
12607 & ((1d0+rm2-rm1)*(rm2*paru(141)**2+1d0/paru(141)**2)+4d0*rm2)
12610 wid2=wid2*wids(17,2)
12613 wid2=wid2*wids(17,3)
12616 wdtp(0)=wdtp(0)+wdtp(i)
12617 IF(mdme(idc,1).GT.0)
THEN
12618 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12619 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12620 wdte(i,0)=wdte(i,mdme(idc,1))
12621 wdte(0,0)=wdte(0,0)+wdte(i,0)
12625 ELSEIF(kfla.EQ.21)
THEN
12628 DO 180 i=1,mdcy(kc,3)
12630 IF(mdme(idc,1).LT.0) goto 180
12631 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sh
12632 rm2=pmas(iabs(kfdp(idc,2)),1)**2/sh
12633 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 180
12637 wdtp(i)=(1d0+2d0*rm1)*
sqrt(
max(0d0,1d0-4d0*rm1))
12638 IF(i.EQ.6) wid2=wids(6,1)
12639 IF((i.EQ.7.OR.i.EQ.8)) wid2=wids(i,1)
12641 wdtp(0)=wdtp(0)+wdtp(i)
12642 IF(mdme(idc,1).GT.0)
THEN
12643 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12644 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12645 wdte(i,0)=wdte(i,mdme(idc,1))
12646 wdte(0,0)=wdte(0,0)+wdte(i,0)
12650 ELSEIF(kfla.EQ.22)
THEN
12653 DO 190 i=1,mdcy(kc,3)
12655 IF(mdme(idc,1).LT.0) goto 190
12656 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sh
12657 rm2=pmas(iabs(kfdp(idc,2)),1)**2/sh
12658 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 190
12664 IF(i.GE.6.AND.mstp(35).GE.1) fcof=fcof*
pyhfth(sh,sh*rm1,1d0)
12665 wdtp(i)=fcof*ef**2*(1d0+2d0*rm1)*
sqrt(
max(0d0,1d0-4d0*rm1))
12666 IF(i.EQ.6) wid2=wids(6,1)
12667 IF((i.EQ.7.OR.i.EQ.8)) wid2=wids(i,1)
12668 ELSEIF(i.LE.12)
THEN
12670 ef=kchg(9+2*(i-8),1)/3d0
12671 wdtp(i)=ef**2*(1d0+2d0*rm1)*
sqrt(
max(0d0,1d0-4d0*rm1))
12672 IF(i.EQ.12) wid2=wids(17,1)
12674 wdtp(0)=wdtp(0)+wdtp(i)
12675 IF(mdme(idc,1).GT.0)
THEN
12676 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12677 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12678 wdte(i,0)=wdte(i,mdme(idc,1))
12679 wdte(0,0)=wdte(0,0)+wdte(i,0)
12683 ELSEIF(kfla.EQ.23)
THEN
12686 xwc=1d0/(16d0*xw*xw1)
12687 fac=(aem*xwc/3d0)*shr
12689 IF(mint(61).GE.1.AND.icase.EQ.2)
THEN
12694 IF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
12696 IF(kfi.GT.20) kfi=iabs(mint(16))
12702 IF(mstp(43).EQ.1.OR.mstp(43).EQ.3) vint(111)=1d0
12703 IF(mstp(43).EQ.3) vint(112)=
12704 & 2d0*xwc*sh*(sh-sqmz)/((sh-sqmz)**2+hz**2)
12705 IF(mstp(43).EQ.2.OR.mstp(43).EQ.3) vint(114)=
12706 & xwc**2*sh**2/((sh-sqmz)**2+hz**2)
12708 DO 210 i=1,mdcy(kc,3)
12710 IF(mdme(idc,1).LT.0) goto 210
12711 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sh
12712 rm2=pmas(iabs(kfdp(idc,2)),1)**2/sh
12713 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 210
12718 af=sign(1d0,ef+0.1d0)
12721 IF(i.GE.6.AND.mstp(35).GE.1) fcof=fcof*
pyhfth(sh,sh*rm1,1d0)
12722 IF(i.EQ.6) wid2=wids(6,1)
12723 IF((i.EQ.7.OR.i.EQ.8)) wid2=wids(i,1)
12724 ELSEIF(i.LE.16)
THEN
12727 af=sign(1d0,ef+0.1d0)
12730 IF((i.EQ.15.OR.i.EQ.16)) wid2=wids(2+i,1)
12732 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
12733 IF(icase.EQ.1)
THEN
12734 wdtp(i)=fac*fcof*(vf**2*(1d0+2d0*rm1)+af**2*(1d0-4d0*rm1))*
12736 ELSEIF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
12737 wdtp(i)=fac*fcof*((ei**2*vint(111)*ef**2+ei*vi*vint(112)*
12738 & ef*vf+(vi**2+ai**2)*vint(114)*vf**2)*(1d0+2d0*rm1)+
12739 & (vi**2+ai**2)*vint(114)*af**2*(1d0-4d0*rm1))*be34
12740 ELSEIF(mint(61).EQ.2.AND.icase.EQ.2)
THEN
12741 fggf=fcof*ef**2*(1d0+2d0*rm1)*be34
12742 fgzf=fcof*ef*vf*(1d0+2d0*rm1)*be34
12743 fzzf=fcof*(vf**2*(1d0+2d0*rm1)+af**2*(1d0-4d0*rm1))*be34
12745 IF(icase.EQ.1) wdtp(0)=wdtp(0)+wdtp(i)
12746 IF(mdme(idc,1).GT.0)
THEN
12747 IF((icase.EQ.1.AND.mint(61).NE.1).OR.
12748 & (icase.EQ.2.AND.mint(61).EQ.1))
THEN
12749 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12750 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+
12751 & wdte(i,mdme(idc,1))
12752 wdte(i,0)=wdte(i,mdme(idc,1))
12753 wdte(0,0)=wdte(0,0)+wdte(i,0)
12755 IF(mint(61).EQ.2.AND.icase.EQ.2)
THEN
12756 IF(mstp(43).EQ.1.OR.mstp(43).EQ.3) vint(111)=
12757 & vint(111)+fggf*wid2
12758 IF(mstp(43).EQ.3) vint(112)=vint(112)+fgzf*wid2
12759 IF(mstp(43).EQ.2.OR.mstp(43).EQ.3) vint(114)=
12760 & vint(114)+fzzf*wid2
12764 IF(mint(61).GE.1) icase=3-icase
12765 IF(icase.EQ.2) goto 200
12767 ELSEIF(kfla.EQ.24)
THEN
12769 fac=(aem/(24d0*xw))*shr
12770 DO 220 i=1,mdcy(kc,3)
12772 IF(mdme(idc,1).LT.0) goto 220
12773 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sh
12774 rm2=pmas(iabs(kfdp(idc,2)),1)**2/sh
12775 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 220
12779 fcof=3d0*radc*vckm((i-1)/4+1,
mod(i-1,4)+1)
12781 IF(
mod(i,4).EQ.3) wid2=wids(6,2)
12782 IF(
mod(i,4).EQ.0) wid2=wids(8,2)
12783 IF(i.GE.13) wid2=wid2*wids(7,3)
12785 IF(
mod(i,4).EQ.3) wid2=wids(6,3)
12786 IF(
mod(i,4).EQ.0) wid2=wids(8,3)
12787 IF(i.GE.13) wid2=wid2*wids(7,2)
12789 ELSEIF(i.LE.20)
THEN
12793 IF(i.EQ.20) wid2=wids(17,3)*wids(18,2)
12795 IF(i.EQ.20) wid2=wids(17,2)*wids(18,3)
12798 wdtp(i)=fac*fcof*(2d0-rm1-rm2-(rm1-rm2)**2)*
12799 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
12800 wdtp(0)=wdtp(0)+wdtp(i)
12801 IF(mdme(idc,1).GT.0)
THEN
12802 wdte(i,mdme(idc,1))=wdtp(i)*wid2
12803 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
12804 wdte(i,0)=wdte(i,mdme(idc,1))
12805 wdte(0,0)=wdte(0,0)+wdte(i,0)
12809 ELSEIF(kfla.EQ.25.OR.kfla.EQ.35.OR.kfla.EQ.36)
THEN
12811 IF(mstp(49).EQ.0)
THEN
12812 fac=(aem/(8d0*xw))*(sh/pmas(24,1)**2)*shr
12814 fac=(aem/(8d0*xw))*(pmas(kfhigg,1)/pmas(24,1))**2*shr
12816 DO 260 i=1,mdcy(kfhigg,3)
12817 idc=i+mdcy(kfhigg,2)-1
12818 IF(mdme(idc,1).LT.0) goto 260
12819 kfc1=
pycomp(kfdp(idc,1))
12820 kfc2=
pycomp(kfdp(idc,2))
12821 rm1=pmas(kfc1,1)**2/sh
12822 rm2=pmas(kfc2,1)**2/sh
12823 IF(i.NE.16.AND.i.NE.17.AND.
sqrt(rm1)+
sqrt(rm2).GT.1d0)
12829 wdtp(i)=fac*3d0*rm1*(1d0-4d0*rm1)*
sqrt(
max(0d0,
12830 & 1d0-4d0*rm1))*radc
12831 IF(mstp(37).EQ.1.AND.mstp(2).GE.1) wdtp(i)=wdtp(i)*
12832 & (
log(
max(4d0,parp(37)**2*rm1*sh/paru(117)**2))/
12833 &
log(
max(4d0,sh/paru(117)**2)))**(24d0/(33d0-2d0*mstu(118)))
12834 IF(mstp(4).GE.1.OR.ihigg.GE.2)
THEN
12835 IF(
mod(i,2).EQ.1) wdtp(i)=wdtp(i)*paru(151+10*ihigg)**2
12836 IF(
mod(i,2).EQ.0) wdtp(i)=wdtp(i)*paru(152+10*ihigg)**2
12838 IF(i.EQ.6) wid2=wids(6,1)
12839 IF((i.EQ.7.OR.i.EQ.8)) wid2=wids(i,1)
12841 ELSEIF(i.LE.12)
THEN
12843 wdtp(i)=fac*rm1*(1d0-4d0*rm1)*
sqrt(
max(0d0,1d0-4d0*rm1))
12844 IF(mstp(4).GE.1.OR.ihigg.GE.2) wdtp(i)=wdtp(i)*
12845 & paru(153+10*ihigg)**2
12846 IF(i.EQ.12) wid2=wids(17,1)
12848 ELSEIF(i.EQ.13)
THEN
12852 DO 230 j=1,2*mstp(1)
12853 eps=(2d0*pmas(j,1))**2/sh
12855 IF(eps.LE.1d0)
THEN
12856 IF(eps.GT.1.
d-4)
THEN
12860 rln=
log(4d0/eps-2d0)
12862 phire=-0.25d0*(rln**2-paru(1)**2)
12863 phiim=0.5d0*paru(1)*rln
12865 phire=(asin(1d0/
sqrt(eps)))**2
12868 IF(ihigg.LE.2)
THEN
12869 etarej=-0.5d0*eps*(1d0+(1d0-eps)*phire)
12870 etaimj=-0.5d0*eps*(1d0-eps)*phiim
12872 etarej=-0.5d0*eps*phire
12873 etaimj=-0.5d0*eps*phiim
12876 IF(mstp(4).GE.1.OR.ihigg.GE.2)
THEN
12877 IF(
mod(j,2).EQ.1)
THEN
12878 etarej=etarej*paru(151+10*ihigg)
12879 etaimj=etaimj*paru(151+10*ihigg)
12881 etarej=etarej*paru(152+10*ihigg)
12882 etaimj=etaimj*paru(152+10*ihigg)
12888 eta2=etare**2+etaim**2
12889 wdtp(i)=fac*(as/paru(1))**2*eta2
12891 ELSEIF(i.EQ.14)
THEN
12896 IF(mstp(4).GE.1.OR.ihigg.GE.2)
jmax=
jmax+1
12898 IF(j.LE.2*mstp(1))
THEN
12900 eps=(2d0*pmas(j,1))**2/sh
12901 ELSEIF(j.LE.3*mstp(1))
THEN
12902 jl=2*(j-2*mstp(1))-1
12903 ej=kchg(10+jl,1)/3d0
12904 eps=(2d0*pmas(10+jl,1))**2/sh
12905 ELSEIF(j.EQ.3*mstp(1)+1)
THEN
12906 eps=(2d0*pmas(24,1))**2/sh
12908 eps=(2d0*pmas(37,1))**2/sh
12911 IF(eps.LE.1d0)
THEN
12912 IF(eps.GT.1.
d-4)
THEN
12916 rln=
log(4d0/eps-2d0)
12918 phire=-0.25d0*(rln**2-paru(1)**2)
12919 phiim=0.5d0*paru(1)*rln
12921 phire=(asin(1d0/
sqrt(eps)))**2
12924 IF(j.LE.3*mstp(1))
THEN
12926 IF(ihigg.LE.2)
THEN
12927 phipre=-0.5d0*eps*(1d0+(1d0-eps)*phire)
12928 phipim=-0.5d0*eps*(1d0-eps)*phiim
12930 phipre=-0.5d0*eps*phire
12931 phipim=-0.5d0*eps*phiim
12933 IF(j.LE.2*mstp(1).AND.
mod(j,2).EQ.1)
THEN
12935 ejh=paru(151+10*ihigg)
12936 ELSEIF(j.LE.2*mstp(1))
THEN
12938 ejh=paru(152+10*ihigg)
12941 ejh=paru(153+10*ihigg)
12943 IF(mstp(4).EQ.0.AND.ihigg.EQ.1) ejh=1d0
12944 etarej=ejc*ejh*phipre
12945 etaimj=ejc*ejh*phipim
12946 ELSEIF(j.EQ.3*mstp(1)+1)
THEN
12948 etarej=0.5d0+0.75d0*eps*(1d0+(2d0-eps)*phire)
12949 etaimj=0.75d0*eps*(2d0-eps)*phiim
12950 IF(mstp(4).GE.1.OR.ihigg.GE.2)
THEN
12951 etarej=etarej*paru(155+10*ihigg)
12952 etaimj=etaimj*paru(155+10*ihigg)
12956 fachhh=(pmas(24,1)/pmas(37,1))**2*
12957 & paru(158+10*ihigg+2*(ihigg/3))
12958 etarej=eps*(1d0-eps*phire)*fachhh
12959 etaimj=-eps**2*phiim*fachhh
12964 eta2=etare**2+etaim**2
12965 wdtp(i)=fac*(aem/paru(1))**2*0.5d0*eta2
12967 ELSEIF(i.EQ.15)
THEN
12972 IF(mstp(4).GE.1.OR.ihigg.GE.2)
jmax=
jmax+1
12974 IF(j.LE.2*mstp(1))
THEN
12976 aj=sign(1d0,ej+0.1d0)
12978 eps=(2d0*pmas(j,1))**2/sh
12979 epsp=(2d0*pmas(j,1)/pmas(23,1))**2
12980 ELSEIF(j.LE.3*mstp(1))
THEN
12981 jl=2*(j-2*mstp(1))-1
12982 ej=kchg(10+jl,1)/3d0
12983 aj=sign(1d0,ej+0.1d0)
12985 eps=(2d0*pmas(10+jl,1))**2/sh
12986 epsp=(2d0*pmas(10+jl,1)/pmas(23,1))**2
12988 eps=(2d0*pmas(24,1))**2/sh
12989 epsp=(2d0*pmas(24,1)/pmas(23,1))**2
12992 IF(eps.LE.1d0)
THEN
12994 IF(eps.GT.1.
d-4)
THEN
12997 rln=
log(4d0/eps-2d0)
12999 phire=-0.25d0*(rln**2-paru(1)**2)
13000 phiim=0.5d0*paru(1)*rln
13001 psire=0.5d0*
root*rln
13002 psiim=-0.5d0*
root*paru(1)
13004 phire=(asin(1d0/
sqrt(eps)))**2
13006 psire=
sqrt(eps-1d0)*asin(1d0/
sqrt(eps))
13009 IF(epsp.LE.1d0)
THEN
13011 IF(epsp.GT.1.
d-4)
THEN
13014 rln=
log(4d0/epsp-2d0)
13016 phirep=-0.25d0*(rln**2-paru(1)**2)
13017 phiimp=0.5d0*paru(1)*rln
13018 psirep=0.5d0*
root*rln
13019 psiimp=-0.5d0*
root*paru(1)
13021 phirep=(asin(1d0/
sqrt(epsp)))**2
13023 psirep=
sqrt(epsp-1d0)*asin(1d0/
sqrt(epsp))
13026 fxyre=eps*epsp/(8d0*(eps-epsp))*(1d0+eps*epsp/(eps-epsp)*
13027 & (phire-phirep)+2d0*eps/(eps-epsp)*(psire-psirep))
13028 fxyim=eps**2*epsp/(8d0*(eps-epsp)**2)*
13029 & (epsp*(phiim-phiimp)+2d0*(psiim-psiimp))
13030 f1re=-eps*epsp/(2d0*(eps-epsp))*(phire-phirep)
13031 f1im=-eps*epsp/(2d0*(eps-epsp))*(phiim-phiimp)
13032 IF(j.LE.3*mstp(1))
THEN
13034 IF(ihigg.EQ.3) fxyre=0d0
13035 IF(ihigg.EQ.3) fxyim=0d0
13036 IF(j.LE.2*mstp(1).AND.
mod(j,2).EQ.1)
THEN
13038 ejh=paru(151+10*ihigg)
13039 ELSEIF(j.LE.2*mstp(1))
THEN
13041 ejh=paru(152+10*ihigg)
13044 ejh=paru(153+10*ihigg)
13046 IF(mstp(4).EQ.0.AND.ihigg.EQ.1) ejh=1d0
13047 etarej=ejc*ejh*(fxyre-0.25d0*f1re)
13048 etaimj=ejc*ejh*(fxyim-0.25d0*f1im)
13049 ELSEIF(j.EQ.3*mstp(1)+1)
THEN
13051 heps=(1d0+2d0/eps)*xw/xw1-(5d0+2d0/eps)
13052 etarej=-xw1*((3d0-xw/xw1)*f1re+heps*fxyre)
13053 etaimj=-xw1*((3d0-xw/xw1)*f1im+heps*fxyim)
13054 IF(mstp(4).GE.1.OR.ihigg.GE.2)
THEN
13055 etarej=etarej*paru(155+10*ihigg)
13056 etaimj=etaimj*paru(155+10*ihigg)
13060 fachhh=(pmas(24,1)/pmas(37,1))**2*(1d0-2d0*xw)*
13061 & paru(158+10*ihigg+2*(ihigg/3))
13062 etarej=fachhh*fxyre
13063 etaimj=fachhh*fxyim
13068 eta2=(etare**2+etaim**2)/(xw*xw1)
13069 wdtp(i)=fac*(aem/paru(1))**2*(1d0-pmas(23,1)**2/sh)**3*eta2
13072 ELSEIF(i.LE.17)
THEN
13074 pm1=pmas(iabs(kfdp(idc,1)),1)
13075 pg1=pmas(iabs(kfdp(idc,1)),2)
13076 IF(mint(62).GE.1)
THEN
13077 IF(mstp(42).EQ.0.OR.(4d0*(pm1+10d0*pg1)**2.LT.sh.AND.
13078 & ckin(46).LT.ckin(45).AND.ckin(48).LT.ckin(47).AND.
13079 &
max(ckin(45),ckin(47)).LT.pm1-10d0*pg1))
THEN
13080 mofsv(ihigg,i-15)=0
13081 widw=(1d0-4d0*rm1+12d0*rm1**2)*
sqrt(
max(0d0,
13085 mofsv(ihigg,i-15)=1
13087 CALL
pyofsh(1,kfla,kfdp(idc,1),kfdp(idc,2),rmas,widw,
13089 widwsv(ihigg,i-15)=widw
13090 wid2sv(ihigg,i-15)=wid2
13093 IF(mofsv(ihigg,i-15).EQ.0)
THEN
13094 widw=(1d0-4d0*rm1+12d0*rm1**2)*
sqrt(
max(0d0,
13098 widw=widwsv(ihigg,i-15)
13099 wid2=wid2sv(ihigg,i-15)
13102 wdtp(i)=fac*widw/(2d0*(18-i))
13103 IF(mstp(4).GE.1.OR.ihigg.GE.2) wdtp(i)=wdtp(i)*
13104 & paru(138+i+10*ihigg)**2
13105 wid2=wid2*wids(7+i,1)
13107 ELSEIF(i.EQ.18.AND.kfla.EQ.35)
THEN
13110 ELSEIF(i.EQ.19.AND.kfla.EQ.35)
THEN
13112 wdtp(i)=fac*paru(176)**2*0.25d0*pmas(23,1)**4/sh**2*
13116 ELSEIF(i.EQ.20.AND.kfla.EQ.35)
THEN
13118 wdtp(i)=fac*paru(177)**2*0.25d0*pmas(23,1)**4/sh**2*
13122 ELSEIF(i.EQ.18.AND.kfla.EQ.36)
THEN
13124 wdtp(i)=fac*paru(186)**2*0.5d0*
sqrt(
max(0d0,
13125 & (1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13126 wid2=wids(23,2)*wids(25,2)
13133 wfac0=1d0+rm10**2+rm20**2-2d0*(rm10+rm20+rm10*rm20)
13134 wfac=1d0+rm1**2+rm2**2-2d0*(rm1+rm2+rm1*rm2)
13135 IF(wfac.LE.0d0 .OR. wfac0.LE.0d0)
THEN
13140 wdtp(i)=pmas(kfla,2)*brat(idc)*(shr/pmr)*
sqrt(wfac)
13142 IF(kfc2.EQ.kfc1)
THEN
13146 IF(kfdp(idc,1).LT.0) ksgn1=3
13148 IF(kfdp(idc,2).LT.0) ksgn2=3
13149 wid2=wids(kfc1,ksgn1)*wids(kfc2,ksgn2)
13152 wdtp(0)=wdtp(0)+wdtp(i)
13153 IF(mdme(idc,1).GT.0)
THEN
13154 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13155 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13156 wdte(i,0)=wdte(i,mdme(idc,1))
13157 wdte(0,0)=wdte(0,0)+wdte(i,0)
13161 ELSEIF(kfla.EQ.32)
THEN
13164 xwc=1d0/(16d0*xw*xw1)
13165 fac=(aem*xwc/3d0)*shr
13168 IF(mint(61).GE.1.AND.icase.EQ.2)
THEN
13176 IF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
13177 kfai=iabs(mint(15))
13178 ei=kchg(kfai,1)/3d0
13179 ai=sign(1d0,ei+0.1d0)
13182 IF(kfai.LE.10.AND.
mod(kfai,2).EQ.0) kfaic=2
13183 IF(kfai.GT.10.AND.
mod(kfai,2).NE.0) kfaic=3
13184 IF(kfai.GT.10.AND.
mod(kfai,2).EQ.0) kfaic=4
13185 vpi=paru(119+2*kfaic)
13186 api=paru(120+2*kfaic)
13188 hz=shr*fac*vint(117)
13189 sqmzp=pmas(32,1)**2
13190 hzp=shr*fac*wdtp(0)
13191 IF(mstp(44).EQ.1.OR.mstp(44).EQ.4.OR.mstp(44).EQ.5.OR.
13192 & mstp(44).EQ.7) vint(111)=1d0
13193 IF(mstp(44).EQ.4.OR.mstp(44).EQ.7) vint(112)=
13194 & 2d0*xwc*sh*(sh-sqmz)/((sh-sqmz)**2+hz**2)
13195 IF(mstp(44).EQ.5.OR.mstp(44).EQ.7) vint(113)=
13196 & 2d0*xwc*sh*(sh-sqmzp)/((sh-sqmzp)**2+hzp**2)
13197 IF(mstp(44).EQ.2.OR.mstp(44).EQ.4.OR.mstp(44).EQ.6.OR.
13198 & mstp(44).EQ.7) vint(114)=xwc**2*sh**2/((sh-sqmz)**2+hz**2)
13199 IF(mstp(44).EQ.6.OR.mstp(44).EQ.7) vint(115)=
13200 & 2d0*xwc**2*sh**2*((sh-sqmz)*(sh-sqmzp)+hz*hzp)/
13201 & (((sh-sqmz)**2+hz**2)*((sh-sqmzp)**2+hzp**2))
13202 IF(mstp(44).EQ.3.OR.mstp(44).EQ.5.OR.mstp(44).EQ.6.OR.
13203 & mstp(44).EQ.7) vint(116)=xwc**2*sh**2/((sh-sqmzp)**2+hzp**2)
13205 DO 280 i=1,mdcy(kc,3)
13207 IF(mdme(idc,1).LT.0) goto 280
13208 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13209 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13210 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0.OR.mdme(idc,1).LT.0) goto 280
13216 af=sign(1d0,ef+0.1d0)
13218 vpf=paru(123-2*
mod(i,2))
13219 apf=paru(124-2*
mod(i,2))
13221 IF(i.GE.6.AND.mstp(35).GE.1) fcof=fcof*
13223 IF(i.EQ.6) wid2=wids(6,1)
13224 IF((i.EQ.7.OR.i.EQ.8)) wid2=wids(i,1)
13225 ELSEIF(i.LE.16)
THEN
13228 af=sign(1d0,ef+0.1d0)
13230 vpf=paru(127-2*
mod(i,2))
13231 apf=paru(128-2*
mod(i,2))
13233 IF((i.EQ.15.OR.i.EQ.16)) wid2=wids(2+i,1)
13235 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
13236 IF(icase.EQ.1)
THEN
13237 wdtpz=fcof*(vf**2*(1d0+2d0*rm1)+af**2*(1d0-4d0*rm1))*be34
13238 wdtp(i)=fac*fcof*(vpf**2*(1d0+2d0*rm1)+
13239 & apf**2*(1d0-4d0*rm1))*be34
13240 ELSEIF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
13241 wdtp(i)=fac*fcof*((ei**2*vint(111)*ef**2+ei*vi*vint(112)*
13242 & ef*vf+ei*vpi*vint(113)*ef*vpf+(vi**2+ai**2)*vint(114)*
13243 & vf**2+(vi*vpi+ai*api)*vint(115)*vf*vpf+(vpi**2+api**2)*
13244 & vint(116)*vpf**2)*(1d0+2d0*rm1)+((vi**2+ai**2)*vint(114)*
13245 & af**2+(vi*vpi+ai*api)*vint(115)*af*apf+(vpi**2+api**2)*
13246 & vint(116)*apf**2)*(1d0-4d0*rm1))*be34
13247 ELSEIF(mint(61).EQ.2)
THEN
13248 fggf=fcof*ef**2*(1d0+2d0*rm1)*be34
13249 fgzf=fcof*ef*vf*(1d0+2d0*rm1)*be34
13250 fgzpf=fcof*ef*vpf*(1d0+2d0*rm1)*be34
13251 fzzf=fcof*(vf**2*(1d0+2d0*rm1)+af**2*(1d0-4d0*rm1))*be34
13252 fzzpf=fcof*(vf*vpf*(1d0+2d0*rm1)+af*apf*(1d0-4d0*rm1))*
13254 fzpzpf=fcof*(vpf**2*(1d0+2d0*rm1)+apf**2*(1d0-4d0*rm1))*
13257 ELSEIF(i.EQ.17)
THEN
13259 wdtpzp=paru(129)**2*xw1**2*
13260 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3*
13261 & (1d0+10d0*rm1+10d0*rm2+rm1**2+rm2**2+10d0*rm1*rm2)
13262 IF(icase.EQ.1)
THEN
13265 ELSEIF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
13266 wdtp(i)=fac*(vpi**2+api**2)*vint(116)*wdtpzp
13267 ELSEIF(mint(61).EQ.2)
THEN
13276 ELSEIF(i.EQ.18)
THEN
13278 czc=2d0*(1d0-2d0*xw)
13279 be34c=(1d0-4d0*rm1)*
sqrt(
max(0d0,1d0-4d0*rm1))
13280 IF(icase.EQ.1)
THEN
13281 wdtpz=0.25d0*paru(142)**2*czc**2*be34c
13282 wdtp(i)=fac*0.25d0*paru(143)**2*czc**2*be34c
13283 ELSEIF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
13284 wdtp(i)=fac*0.25d0*(ei**2*vint(111)+paru(142)*ei*vi*
13285 & vint(112)*czc+paru(143)*ei*vpi*vint(113)*czc+paru(142)**2*
13286 & (vi**2+ai**2)*vint(114)*czc**2+paru(142)*paru(143)*
13287 & (vi*vpi+ai*api)*vint(115)*czc**2+paru(143)**2*
13288 & (vpi**2+api**2)*vint(116)*czc**2)*be34c
13289 ELSEIF(mint(61).EQ.2)
THEN
13291 fgzf=0.25d0*paru(142)*czc*be34c
13292 fgzpf=0.25d0*paru(143)*czc*be34c
13293 fzzf=0.25d0*paru(142)**2*czc**2*be34c
13294 fzzpf=0.25d0*paru(142)*paru(143)*czc**2*be34c
13295 fzpzpf=0.25d0*paru(143)**2*czc**2*be34c
13298 ELSEIF(i.EQ.19)
THEN
13300 ELSEIF(i.EQ.20)
THEN
13302 flam=
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
13303 wdtpzp=paru(145)**2*4d0*abs(1d0-2d0*xw)*
13304 & (3d0*rm1+0.25d0*flam**2)*flam
13305 IF(icase.EQ.1)
THEN
13308 ELSEIF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
13309 wdtp(i)=fac*(vpi**2+api**2)*vint(116)*wdtpzp
13310 ELSEIF(mint(61).EQ.2)
THEN
13318 wid2=wids(23,2)*wids(25,2)
13319 ELSEIF(i.EQ.21.OR.i.EQ.22)
THEN
13321 be34c=
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13329 IF(icase.EQ.1)
THEN
13330 wdtpz=czah**2*be34c
13331 wdtp(i)=fac*czpah**2*be34c
13332 ELSEIF(mint(61).EQ.1.AND.icase.EQ.2)
THEN
13333 wdtp(i)=fac*(czah**2*(vi**2+ai**2)*vint(114)+czah*czpah*
13334 & (vi*vpi+ai*api)*vint(115)+czpah**2*(vpi**2+api**2)*
13336 ELSEIF(mint(61).EQ.2)
THEN
13341 fzzpf=czah*czpah*be34c
13342 fzpzpf=czpah**2*be34c
13344 IF(i.EQ.21) wid2=wids(25,2)*wids(36,2)
13345 IF(i.EQ.22) wid2=wids(35,2)*wids(36,2)
13347 IF(icase.EQ.1)
THEN
13348 vint(117)=vint(117)+wdtpz
13349 wdtp(0)=wdtp(0)+wdtp(i)
13351 IF(mdme(idc,1).GT.0)
THEN
13352 IF((icase.EQ.1.AND.mint(61).NE.1).OR.
13353 & (icase.EQ.2.AND.mint(61).EQ.1))
THEN
13354 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13355 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+
13356 & wdte(i,mdme(idc,1))
13357 wdte(i,0)=wdte(i,mdme(idc,1))
13358 wdte(0,0)=wdte(0,0)+wdte(i,0)
13360 IF(mint(61).EQ.2.AND.icase.EQ.2)
THEN
13361 IF(mstp(44).EQ.1.OR.mstp(44).EQ.4.OR.mstp(44).EQ.5.OR.
13362 & mstp(44).EQ.7) vint(111)=vint(111)+fggf*wid2
13363 IF(mstp(44).EQ.4.OR.mstp(44).EQ.7) vint(112)=vint(112)+
13365 IF(mstp(44).EQ.5.OR.mstp(44).EQ.7) vint(113)=vint(113)+
13367 IF(mstp(44).EQ.2.OR.mstp(44).EQ.4.OR.mstp(44).EQ.6.OR.
13368 & mstp(44).EQ.7) vint(114)=vint(114)+fzzf*wid2
13369 IF(mstp(44).EQ.6.OR.mstp(44).EQ.7) vint(115)=vint(115)+
13371 IF(mstp(44).EQ.3.OR.mstp(44).EQ.5.OR.mstp(44).EQ.6.OR.
13372 & mstp(44).EQ.7) vint(116)=vint(116)+fzpzpf*wid2
13376 IF(mint(61).GE.1) icase=3-icase
13377 IF(icase.EQ.2) goto 270
13379 ELSEIF(kfla.EQ.34)
THEN
13381 fac=(aem/(24d0*xw))*shr
13382 DO 290 i=1,mdcy(kc,3)
13384 IF(mdme(idc,1).LT.0) goto 290
13385 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13386 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13387 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 290
13392 fcof=3d0*radc*(paru(131)**2+paru(132)**2)*
13393 & vckm((i-1)/4+1,
mod(i-1,4)+1)
13395 IF(
mod(i,4).EQ.3) wid2=wids(6,2)
13396 IF(
mod(i,4).EQ.0) wid2=wids(8,2)
13397 IF(i.GE.13) wid2=wid2*wids(7,3)
13399 IF(
mod(i,4).EQ.3) wid2=wids(6,3)
13400 IF(
mod(i,4).EQ.0) wid2=wids(8,3)
13401 IF(i.GE.13) wid2=wid2*wids(7,2)
13403 ELSEIF(i.LE.20)
THEN
13405 fcof=paru(133)**2+paru(134)**2
13407 IF(i.EQ.20) wid2=wids(17,3)*wids(18,2)
13409 IF(i.EQ.20) wid2=wids(17,2)*wids(18,3)
13412 wdtp(i)=fac*fcof*0.5d0*(2d0-rm1-rm2-(rm1-rm2)**2)*
13413 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
13414 ELSEIF(i.EQ.21)
THEN
13416 wdtp(i)=fac*paru(135)**2*0.5d0*xw1*(rm1/rm2)*
13417 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3*
13418 & (1d0+10d0*rm1+10d0*rm2+rm1**2+rm2**2+10d0*rm1*rm2)
13419 IF(kflr.GT.0) wid2=wids(24,2)*wids(23,2)
13420 IF(kflr.LT.0) wid2=wids(24,3)*wids(23,2)
13421 ELSEIF(i.EQ.23)
THEN
13423 flam=
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
13424 wdtp(i)=fac*paru(146)**2*2d0*(3d0*rm1+0.25d0*flam**2)*flam
13425 IF(kflr.GT.0) wid2=wids(24,2)*wids(25,2)
13426 IF(kflr.LT.0) wid2=wids(24,3)*wids(25,2)
13428 wdtp(0)=wdtp(0)+wdtp(i)
13429 IF(mdme(idc,1).GT.0)
THEN
13430 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13431 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13432 wdte(i,0)=wdte(i,mdme(idc,1))
13433 wdte(0,0)=wdte(0,0)+wdte(i,0)
13437 ELSEIF(kfla.EQ.37)
THEN
13439 fac=(aem/(8d0*xw))*(sh/pmas(24,1)**2)*shr
13440 DO 300 i=1,mdcy(kc,3)
13442 IF(mdme(idc,1).LT.0) goto 300
13443 kfc1=
pycomp(kfdp(idc,1))
13444 kfc2=
pycomp(kfdp(idc,2))
13445 rm1=pmas(kfc1,1)**2/sh
13446 rm2=pmas(kfc2,1)**2/sh
13447 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 300
13452 IF(mstp(37).EQ.1.AND.mstp(2).GE.1) rm1r=rm1*
13453 & (
log(
max(4d0,parp(37)**2*rm1*sh/paru(117)**2))/
13454 &
log(
max(4d0,sh/paru(117)**2)))**(24d0/(33d0-2d0*mstu(118)))
13455 wdtp(i)=fac*3d0*radc*((rm1r*paru(141)**2+rm2/paru(141)**2)*
13456 & (1d0-rm1r-rm2)-4d0*rm1r*rm2)*
13457 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
13459 IF(i.EQ.3) wid2=wids(6,2)
13460 IF(i.EQ.4) wid2=wids(7,3)*wids(8,2)
13462 IF(i.EQ.3) wid2=wids(6,3)
13463 IF(i.EQ.4) wid2=wids(7,2)*wids(8,3)
13465 ELSEIF(i.LE.8)
THEN
13467 wdtp(i)=fac*((rm1*paru(141)**2+rm2/paru(141)**2)*
13468 & (1d0-rm1-rm2)-4d0*rm1*rm2)*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-
13471 IF(i.EQ.8) wid2=wids(17,3)*wids(18,2)
13473 IF(i.EQ.8) wid2=wids(17,2)*wids(18,3)
13475 ELSEIF(i.EQ.9)
THEN
13477 wdtp(i)=fac*paru(195)**2*0.5d0*
sqrt(
max(0d0,
13478 & (1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13479 IF(kflr.GT.0) wid2=wids(24,2)*wids(25,2)
13480 IF(kflr.LT.0) wid2=wids(24,3)*wids(25,2)
13487 wfac0=1d0+rm10**2+rm20**2-2d0*(rm10+rm20+rm10*rm20)
13488 wfac=1d0+rm1**2+rm2**2-2d0*(rm1+rm2+rm1*rm2)
13489 IF(wfac.LE.0d0 .OR. wfac0.LE.0d0)
THEN
13494 wdtp(i)=pmas(kc,2)*brat(idc)*(shr/pmr)*
sqrt(wfac)
13497 IF(kfls*kfdp(idc,1).LT.0.AND.kchg(kfc1,3).EQ.1) ksgn1=3
13499 IF(kfls*kfdp(idc,2).LT.0.AND.kchg(kfc2,3).EQ.1) ksgn2=3
13500 wid2=wids(kfc1,ksgn1)*wids(kfc2,ksgn2)
13502 wdtp(0)=wdtp(0)+wdtp(i)
13503 IF(mdme(idc,1).GT.0)
THEN
13504 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13505 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13506 wdte(i,0)=wdte(i,mdme(idc,1))
13507 wdte(0,0)=wdte(0,0)+wdte(i,0)
13511 ELSEIF(kfla.EQ.38)
THEN
13513 fac=(sh/parp(46)**2)*shr
13514 DO 310 i=1,mdcy(kc,3)
13516 IF(mdme(idc,1).LT.0) goto 310
13517 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13518 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13519 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 310
13522 wdtp(i)=fac*rm1*
sqrt(
max(0d0,1d0-4d0*rm1))/(4d0*paru(1))
13523 IF(i.EQ.2) wid2=wids(6,1)
13525 wdtp(i)=fac*5d0*as**2/(96d0*paru(1)**3)
13527 wdtp(0)=wdtp(0)+wdtp(i)
13528 IF(mdme(idc,1).GT.0)
THEN
13529 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13530 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13531 wdte(i,0)=wdte(i,mdme(idc,1))
13532 wdte(0,0)=wdte(0,0)+wdte(i,0)
13536 ELSEIF(kfla.EQ.39)
THEN
13538 fac=(aem/4d0)*paru(151)*shr
13539 DO 320 i=1,mdcy(kc,3)
13541 IF(mdme(idc,1).LT.0) goto 320
13542 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13543 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13544 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 320
13545 wdtp(i)=fac*
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13547 wdtp(0)=wdtp(0)+wdtp(i)
13548 IF(mdme(idc,1).GT.0)
THEN
13549 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13550 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13551 wdte(i,0)=wdte(i,mdme(idc,1))
13552 wdte(0,0)=wdte(0,0)+wdte(i,0)
13556 ELSEIF(kfla.EQ.40)
THEN
13558 fac=(aem/(12d0*xw))*shr
13559 DO 330 i=1,mdcy(kc,3)
13561 IF(mdme(idc,1).LT.0) goto 330
13562 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13563 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13564 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 330
13569 ELSEIF(i.LE.9)
THEN
13573 wdtp(i)=fac*fcof*(2d0-rm1-rm2-(rm1-rm2)**2)*
13574 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
13576 IF(i.EQ.4) wid2=wids(6,3)
13577 IF(i.EQ.5) wid2=wids(7,3)
13578 IF(i.EQ.6) wid2=wids(6,2)*wids(8,3)
13579 IF(i.EQ.9) wid2=wids(17,3)
13581 IF(i.EQ.4) wid2=wids(6,2)
13582 IF(i.EQ.5) wid2=wids(7,2)
13583 IF(i.EQ.6) wid2=wids(6,3)*wids(8,2)
13584 IF(i.EQ.9) wid2=wids(17,2)
13586 wdtp(0)=wdtp(0)+wdtp(i)
13587 IF(mdme(idc,1).GT.0)
THEN
13588 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13589 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13590 wdte(i,0)=wdte(i,mdme(idc,1))
13591 wdte(0,0)=wdte(0,0)+wdte(i,0)
13595 ELSEIF(kfla.EQ.51.OR.kfla.EQ.52)
THEN
13597 fac=(3d0/(32d0*paru(1)*parp(142)**2))*shr
13598 DO 340 i=1,mdcy(kc,3)
13600 IF(mdme(idc,1).LT.0) goto 340
13601 pm1=pmas(
pycomp(kfdp(idc,1)),1)
13602 pm2=pmas(
pycomp(kfdp(idc,2)),1)
13605 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 340
13609 IF(iabs(kfdp(idc,1)).LT.10) fcof=3d0*radc
13610 wdtp(i)=fac*fcof*(pm1+pm2)**2*
13611 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
13612 wdtp(0)=wdtp(0)+wdtp(i)
13613 IF(mdme(idc,1).GT.0)
THEN
13614 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13615 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13616 wdte(i,0)=wdte(i,mdme(idc,1))
13617 wdte(0,0)=wdte(0,0)+wdte(i,0)
13621 ELSEIF(kfla.EQ.53)
THEN
13624 ELSEIF(kfla.EQ.54)
THEN
13626 alprht=2.91d0*(3d0/parp(144))
13627 fac=(alprht/12d0)*shr
13628 facf=(1d0/6d0)*(aem**2/alprht)*(pmas(kfla,1)**4/shr**3)
13630 gmmz=pmas(23,1)*pmas(23,2)
13631 xwrht=(1d0-2d0*xw)/(4d0*xw*(1d0-xw))
13632 bwzr=xwrht*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
13633 bwzi=xwrht*sh*gmmz/((sh-sqmz)**2+gmmz**2)
13634 DO 350 i=1,mdcy(kc,3)
13636 IF(mdme(idc,1).LT.0) goto 350
13637 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13638 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13639 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 350
13642 wdtp(i)=fac*parp(141)**4*
13643 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13645 ELSEIF(i.EQ.2)
THEN
13647 wdtp(i)=fac*parp(141)**2*(1d0-parp(141)**2)*
13648 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13649 wid2=wids(24,2)*wids(52,3)
13650 ELSEIF(i.EQ.3)
THEN
13652 wdtp(i)=fac*parp(141)**2*(1d0-parp(141)**2)*
13653 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13654 wid2=wids(52,2)*wids(24,3)
13655 ELSEIF(i.EQ.4)
THEN
13657 wdtp(i)=fac*(1d0-parp(141)**2)**2*
13658 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13666 IF(ia.GE.6.AND.ia.LE.8) wid2=wids(ia,1)
13670 IF(ia.GE.17) wid2=wids(ia,1)
13673 ai=sign(1d0,ei+0.1d0)
13677 wdtp(i)=facf*fcof*(1d0-rm1)*
sqrt(
max(0d0,1d0-4d0*rm1))*
13678 & ((ei+vali*bwzr)**2+(vali*bwzi)**2+
13679 & (ei+vari*bwzr)**2+(vari*bwzi)**2)
13681 wdtp(0)=wdtp(0)+wdtp(i)
13682 IF(mdme(idc,1).GT.0)
THEN
13683 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13684 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13685 wdte(i,0)=wdte(i,mdme(idc,1))
13686 wdte(0,0)=wdte(0,0)+wdte(i,0)
13690 ELSEIF(kfla.EQ.55)
THEN
13692 alprht=2.91d0*(3d0/parp(144))
13693 fac=(alprht/12d0)*shr
13695 gmmw=pmas(24,1)*pmas(24,2)
13696 facf=(1d0/6d0)*(aem**2/alprht)*(pmas(kfla,1)**4/shr**3)*
13697 & (0.25d0/xw**2)*sh**2/((sh-sqmw)**2+gmmw**2)
13698 DO 360 i=1,mdcy(kc,3)
13700 IF(mdme(idc,1).LT.0) goto 360
13701 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13702 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13703 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 360
13706 wdtp(i)=fac*parp(141)**4*
13707 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13709 wid2=wids(24,2)*wids(23,2)
13711 wid2=wids(24,3)*wids(23,2)
13713 ELSEIF(i.EQ.2)
THEN
13715 wdtp(i)=fac*parp(141)**2*(1d0-parp(141)**2)*
13716 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13718 wid2=wids(24,2)*wids(51,2)
13720 wid2=wids(24,3)*wids(51,2)
13722 ELSEIF(i.EQ.3)
THEN
13724 wdtp(i)=fac*parp(141)**2*(1d0-parp(141)**2)*
13725 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13727 wid2=wids(52,2)*wids(23,2)
13729 wid2=wids(52,3)*wids(23,2)
13731 ELSEIF(i.EQ.4)
THEN
13733 wdtp(i)=fac*(1d0-parp(141)**2)**2*
13734 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13736 wid2=wids(52,2)*wids(51,2)
13738 wid2=wids(52,3)*wids(51,2)
13745 fcof=3d0*radc*vckm((ia-1)/4+1,
mod(ia-1,4)+1)
13747 IF(
mod(ia,4).EQ.3) wid2=wids(6,2)
13748 IF(
mod(ia,4).EQ.0) wid2=wids(8,2)
13749 IF(ia.GE.13) wid2=wid2*wids(7,3)
13751 IF(
mod(ia,4).EQ.3) wid2=wids(6,3)
13752 IF(
mod(ia,4).EQ.0) wid2=wids(8,3)
13753 IF(ia.GE.13) wid2=wid2*wids(7,2)
13758 IF(ia.EQ.20) wid2=wids(17,3)*wids(18,2)
13760 IF(ia.EQ.20) wid2=wids(17,2)*wids(18,3)
13763 wdtp(i)=facf*fcof*0.5d0*(2d0-rm1-rm2-(rm1-rm2)**2)*
13764 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))
13766 wdtp(0)=wdtp(0)+wdtp(i)
13767 IF(mdme(idc,1).GT.0)
THEN
13768 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13769 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13770 wdte(i,0)=wdte(i,mdme(idc,1))
13771 wdte(0,0)=wdte(0,0)+wdte(i,0)
13775 ELSEIF(kfla.EQ.56)
THEN
13777 alprht=2.91d0*(3d0/parp(144))
13778 fac=(aem/24d0)*(shr**3/parp(145)**2)
13779 facf=(1d0/6d0)*(aem**2/alprht)*(pmas(kfla,1)**4/shr**3)*
13780 & (2d0*parp(143)-1d0)**2
13782 gmmz=pmas(23,1)*pmas(23,2)
13783 bwzr=(0.5d0/(1d0-xw))*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
13784 bwzi=(0.5d0/(1d0-xw))*sh*gmmz/((sh-sqmz)**2+gmmz**2)
13785 DO 370 i=1,mdcy(kc,3)
13787 IF(mdme(idc,1).LT.0) goto 370
13788 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13789 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13790 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 370
13794 &
sqrt(
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2))**3
13796 ELSEIF(i.EQ.2)
THEN
13799 wid2=wids(23,2)*wids(51,2)
13806 IF(ia.GE.6.AND.ia.LE.8) wid2=wids(ia,1)
13810 IF(ia.GE.17) wid2=wids(ia,1)
13813 ai=sign(1d0,ei+0.1d0)
13817 wdtp(i)=facf*fcof*(1d0-rm1)*
sqrt(
max(0d0,1d0-4d0*rm1))*
13818 & ((ei-vali*bwzr)**2+(vali*bwzi)**2+
13819 & (ei-vari*bwzr)**2+(vari*bwzi)**2)
13821 wdtp(0)=wdtp(0)+wdtp(i)
13822 IF(mdme(idc,1).GT.0)
THEN
13823 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13824 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13825 wdte(i,0)=wdte(i,mdme(idc,1))
13826 wdte(0,0)=wdte(0,0)+wdte(i,0)
13830 ELSEIF(kfla.EQ.kexcit+1)
THEN
13832 fac=(sh/paru(155)**2)*shr
13833 DO 380 i=1,mdcy(kc,3)
13835 IF(mdme(idc,1).LT.0) goto 380
13836 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13837 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13838 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 380
13841 wdtp(i)=fac*as*paru(159)**2/3d0
13843 ELSEIF(i.EQ.2)
THEN
13845 qf=-paru(157)/2d0+paru(158)/6d0
13846 wdtp(i)=fac*aem*qf**2/4d0
13848 ELSEIF(i.EQ.3)
THEN
13850 qf=-paru(157)*xw1/2d0-paru(158)*xw/6d0
13851 wdtp(i)=fac*aem*qf**2/(8d0*xw*xw1)*
13852 & (1d0-rm1)**2*(2d0+rm1)
13854 ELSEIF(i.EQ.4)
THEN
13856 wdtp(i)=fac*aem*paru(157)**2/(16d0*xw)*
13857 & (1d0-rm1)**2*(2d0+rm1)
13858 IF(kflr.GT.0) wid2=wids(24,3)
13859 IF(kflr.LT.0) wid2=wids(24,2)
13861 wdtp(0)=wdtp(0)+wdtp(i)
13862 IF(mdme(idc,1).GT.0)
THEN
13863 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13864 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13865 wdte(i,0)=wdte(i,mdme(idc,1))
13866 wdte(0,0)=wdte(0,0)+wdte(i,0)
13870 ELSEIF(kfla.EQ.kexcit+2)
THEN
13872 fac=(sh/paru(155)**2)*shr
13873 DO 390 i=1,mdcy(kc,3)
13875 IF(mdme(idc,1).LT.0) goto 390
13876 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13877 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13878 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 390
13881 wdtp(i)=fac*as*paru(159)**2/3d0
13883 ELSEIF(i.EQ.2)
THEN
13885 qf=paru(157)/2d0+paru(158)/6d0
13886 wdtp(i)=fac*aem*qf**2/4d0
13888 ELSEIF(i.EQ.3)
THEN
13890 qf=paru(157)*xw1/2d0-paru(158)*xw/6d0
13891 wdtp(i)=fac*aem*qf**2/(8d0*xw*xw1)*
13892 & (1d0-rm1)**2*(2d0+rm1)
13894 ELSEIF(i.EQ.4)
THEN
13896 wdtp(i)=fac*aem*paru(157)**2/(16d0*xw)*
13897 & (1d0-rm1)**2*(2d0+rm1)
13898 IF(kflr.GT.0) wid2=wids(24,2)
13899 IF(kflr.LT.0) wid2=wids(24,3)
13901 wdtp(0)=wdtp(0)+wdtp(i)
13902 IF(mdme(idc,1).GT.0)
THEN
13903 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13904 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13905 wdte(i,0)=wdte(i,mdme(idc,1))
13906 wdte(0,0)=wdte(0,0)+wdte(i,0)
13910 ELSEIF(kfla.EQ.kexcit+11)
THEN
13912 fac=(sh/paru(155)**2)*shr
13913 DO 400 i=1,mdcy(kc,3)
13915 IF(mdme(idc,1).LT.0) goto 400
13916 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13917 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13918 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 400
13921 qf=-paru(157)/2d0-paru(158)/2d0
13922 wdtp(i)=fac*aem*qf**2/4d0
13924 ELSEIF(i.EQ.2)
THEN
13926 qf=-paru(157)*xw1/2d0+paru(158)*xw/2d0
13927 wdtp(i)=fac*aem*qf**2/(8d0*xw*xw1)*
13928 & (1d0-rm1)**2*(2d0+rm1)
13930 ELSEIF(i.EQ.3)
THEN
13932 wdtp(i)=fac*aem*paru(157)**2/(16d0*xw)*
13933 & (1d0-rm1)**2*(2d0+rm1)
13934 IF(kflr.GT.0) wid2=wids(24,3)
13935 IF(kflr.LT.0) wid2=wids(24,2)
13937 wdtp(0)=wdtp(0)+wdtp(i)
13938 IF(mdme(idc,1).GT.0)
THEN
13939 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13940 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13941 wdte(i,0)=wdte(i,mdme(idc,1))
13942 wdte(0,0)=wdte(0,0)+wdte(i,0)
13946 ELSEIF(kfla.EQ.kexcit+12)
THEN
13948 fac=(sh/paru(155)**2)*shr
13949 DO 410 i=1,mdcy(kc,3)
13951 IF(mdme(idc,1).LT.0) goto 410
13952 rm1=pmas(
pycomp(kfdp(idc,1)),1)**2/sh
13953 rm2=pmas(
pycomp(kfdp(idc,2)),1)**2/sh
13954 IF(
sqrt(rm1)+
sqrt(rm2).GT.1d0) goto 410
13957 qf=paru(157)*xw1/2d0+paru(158)*xw/2d0
13958 wdtp(i)=fac*aem*qf**2/(8d0*xw*xw1)*
13959 & (1d0-rm1)**2*(2d0+rm1)
13961 ELSEIF(i.EQ.2)
THEN
13963 wdtp(i)=fac*aem*paru(157)**2/(16d0*xw)*
13964 & (1d0-rm1)**2*(2d0+rm1)
13965 IF(kflr.GT.0) wid2=wids(24,2)
13966 IF(kflr.LT.0) wid2=wids(24,3)
13968 wdtp(0)=wdtp(0)+wdtp(i)
13969 IF(mdme(idc,1).GT.0)
THEN
13970 wdte(i,mdme(idc,1))=wdtp(i)*wid2
13971 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
13972 wdte(i,0)=wdte(i,mdme(idc,1))
13973 wdte(0,0)=wdte(0,0)+wdte(i,0)
13992 SUBROUTINE pyofsh(MOFSH,KFMO,KFD1,KFD2,PMMO,RET1,RET2)
13995 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
13998 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
13999 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
14000 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
14001 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
14002 common/pypars/mstp(200),parp(200),msti(200),pari(200)
14003 common/pyint1/mint(400),vint(400)
14004 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
14005 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
14006 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pysubs/,/pypars/,/pyint1/,
14009 dimension kfd(2),mbw(2),pmd(2),pgd(2),pmg(2),pml(2),pmu(2),
14010 &pmh(2),atl(2),atu(2),ath(2),rmg(2),inx1(100),xpt1(100),
14011 &fpt1(100),inx2(100),xpt2(100),fpt2(100),wdtp(0:200),
14020 IF(kfd(1).EQ.kfd(2)) meql=1
14022 IF(mofsh.GE.2.AND.meql.EQ.1) mlm=
int(1.5d0+
pyr(0))
14023 IF(mofsh.LE.2.OR.mofsh.EQ.5)
THEN
14029 IF(ckin(2).GT.ckin(1)) pmmx=
min(ckin(2),vint(1))
14032 IF((kfmo.EQ.25.OR.kfmo.EQ.35.OR.kfmo.EQ.36).AND.meql.EQ.1.AND.
14033 &(kfd(1).EQ.23.OR.kfd(1).EQ.24)) mmed=1
14034 IF((kfmo.EQ.32.OR.iabs(kfmo).EQ.34).AND.(kfd(1).EQ.23.OR.
14035 &kfd(1).EQ.24).AND.(kfd(2).EQ.23.OR.kfd(2).EQ.24)) mmed=2
14036 IF((kfmo.EQ.32.OR.iabs(kfmo).EQ.34).AND.(kfd(2).EQ.25.OR.
14037 &kfd(2).EQ.35.OR.kfd(2).EQ.36)) mmed=3
14044 pmd(i)=pmas(kfca,1)
14045 pgd(i)=pmas(kfca,2)
14050 IF(mstp(42).LE.0.OR.pgd(i).LT.parp(41))
THEN
14053 rmg(i)=(pmg(i)/pmmx)**2
14061 IF(mofsh.EQ.1.AND.loop.EQ.1.AND.mbw(i).EQ.1)
THEN
14063 pmu(i)=pmmx-parp(42)
14064 IF(mbw(3-i).EQ.0) pmu(i)=
min(pmu(i),pmmx-pmd(3-i))
14065 IF(pmu(i).LT.pml(i)+parj(64)) mbw(i)=-1
14066 ELSEIF(mbw(i).EQ.1.AND.mofsh.NE.5)
THEN
14068 IF(mlm.EQ.2) ilm=3-i
14069 pml(i)=
max(ckin(noff+2*ilm-1),parp(42))
14070 pmu(i)=pmmx-
max(ckin(noff+5-2*ilm),parp(42))
14071 IF(ckin(noff+2*ilm).GT.ckin(noff+2*ilm-1)) pmu(i)=
min(pmu(i),
14072 & ckin(noff+2*ilm))
14073 IF(mbw(3-i).EQ.0) pmu(i)=
min(pmu(i),pmmx-pmd(3-i))
14074 IF(i.EQ.mlm) pmu(i)=
min(pmu(i),0.5d0*pmmx)
14075 IF(meql.EQ.0) pmh(i)=
min(pmu(i),0.5d0*pmmx)
14076 IF(pmu(i).LT.pml(i)+parj(64)) mbw(i)=-1
14077 IF(mbw(i).EQ.1)
THEN
14078 atl(i)=atan((pml(i)**2-pmd(i)**2)/(pmd(i)*pgd(i)))
14079 atu(i)=atan((pmu(i)**2-pmd(i)**2)/(pmd(i)*pgd(i)))
14080 IF(meql.EQ.0) ath(i)=atan((pmh(i)**2-pmd(i)**2)/(pmd(i)*
14083 ELSEIF(mbw(i).EQ.1.AND.mofsh.EQ.5)
THEN
14085 IF(mlm.EQ.2) ilm=3-i
14086 pml(i)=
max(ckin(48+i),parp(42))
14087 pmu(i)=pmmx-
max(ckin(51-i),parp(42))
14088 IF(mbw(3-i).EQ.0) pmu(i)=
min(pmu(i),pmmx-pmd(3-i))
14089 IF(i.EQ.mlm) pmu(i)=
min(pmu(i),0.5d0*pmmx)
14090 IF(meql.EQ.0) pmh(i)=
min(pmu(i),0.5d0*pmmx)
14091 IF(pmu(i).LT.pml(i)+parj(64)) mbw(i)=-1
14092 IF(mbw(i).EQ.1)
THEN
14093 atl(i)=atan((pml(i)**2-pmd(i)**2)/(pmd(i)*pgd(i)))
14094 atu(i)=atan((pmu(i)**2-pmd(i)**2)/(pmd(i)*pgd(i)))
14095 IF(meql.EQ.0) ath(i)=atan((pmh(i)**2-pmd(i)**2)/(pmd(i)*
14100 IF(mbw(1).LT.0.OR.mbw(2).LT.0.OR.(mbw(1).EQ.0.AND.mbw(2).EQ.0))
14102 CALL
pyerrm(3,
'(PYOFSH:) no allowed decay product masses')
14108 IF(mofsh.EQ.1)
THEN
14111 IF(mbw(1).EQ.0)
THEN
14117 ELSEIF(mbw(2).EQ.0)
THEN
14122 IF(mbw(1).EQ.1.AND.mbw(2).EQ.1)
THEN
14123 atl2=atan((pml(2)**2-pmd(2)**2)/(pmd(2)*pgd(2)))
14124 atu2=atan((pmu(2)**2-pmd(2)**2)/(pmd(2)*pgd(2)))
14130 130
IF(mbw(1).EQ.1.AND.mbw(2).EQ.1)
THEN
14131 pm2s=pmd(2)**2+pmd(2)*pgd(2)*
tan(atl2+xpt2(npt2)*(atu2-atl2))
14138 pmu1=
min(pmu(1),pmmx-pm2)
14139 IF(meql.EQ.1) pmu1=
min(pmu1,pm2)
14140 atl1=atan((pml1**2-pmd(1)**2)/(pmd(1)*pgd(1)))
14141 atu1=atan((pmu1**2-pmd(1)**2)/(pmd(1)*pgd(1)))
14142 IF(pml1+parj(64).GE.pmu1.OR.atl1+1
d-7.GE.atu1)
THEN
14150 140 pm1s=pmd(1)**2+pmd(1)*pgd(1)*
tan(atl1+xpt1(npt1)*(atu1-atl1))
14156 IF(mmed.EQ.1)
func1=
func1*((1d0-rm1-rm2)**2+8d0*rm1*rm2)
14157 IF(mmed.EQ.2)
func1=
func1**3*(1d0+10d0*rm1+10d0*rm2+rm1**2+
14158 & rm2**2+10d0*rm1*rm2)
14168 ELSEIF(npt1.LE.8)
THEN
14170 IF(npt1.LE.4.OR.npt1.EQ.6) ish1=1
14172 xpt1(npt1)=0.5d0*(xpt1(ish1)+xpt1(inx1(ish1)))
14173 inx1(npt1)=inx1(ish1)
14176 ELSEIF(npt1.LT.100)
THEN
14179 IF(ish1.GT.npt1) ish1=2
14180 IF(ish1.EQ.isn1) goto 160
14181 dfpt1=abs(fpt1(ish1)-fpt1(inx1(ish1)))
14182 IF(dfpt1.LT.parp(43)*fmax1) goto 150
14184 xpt1(npt1)=0.5d0*(xpt1(ish1)+xpt1(inx1(ish1)))
14185 inx1(npt1)=inx1(ish1)
14193 fsum1=fsum1+0.5d0*(fpt1(ipt1)+fpt1(inx1(ipt1)))*
14194 & (xpt1(inx1(ipt1))-xpt1(ipt1))
14196 func2=fsum1*(atu1-atl1)/paru(1)
14197 180
IF(mbw(1).EQ.1.AND.mbw(2).EQ.1)
THEN
14207 ELSEIF(npt2.LE.8)
THEN
14209 IF(npt2.LE.4.OR.npt2.EQ.6) ish2=1
14211 xpt2(npt2)=0.5d0*(xpt2(ish2)+xpt2(inx2(ish2)))
14212 inx2(npt2)=inx2(ish2)
14215 ELSEIF(npt2.LT.100)
THEN
14218 IF(ish2.GT.npt2) ish2=2
14219 IF(ish2.EQ.isn2) goto 200
14220 dfpt2=abs(fpt2(ish2)-fpt2(inx2(ish2)))
14221 IF(dfpt2.LT.parp(43)*fmax2) goto 190
14223 xpt2(npt2)=0.5d0*(xpt2(ish2)+xpt2(inx2(ish2)))
14224 inx2(npt2)=inx2(ish2)
14232 fsum2=fsum2+0.5d0*(fpt2(ipt2)+fpt2(inx2(ipt2)))*
14233 & (xpt2(inx2(ipt2))-xpt2(ipt2))
14235 fsum2=fsum2*(atu2-atl2)/paru(1)
14236 IF(meql.EQ.1) fsum2=2d0*fsum2
14242 IF(loop.EQ.1) widw=fsum2
14244 IF(loop.EQ.1.AND.(ckin(46).GE.ckin(45).OR.ckin(48).GE.ckin(47)
14245 & .OR.
max(ckin(45),ckin(47)).GE.1.01d0*parp(42)))
THEN
14253 ELSEIF(mofsh.EQ.2.OR.mofsh.EQ.5)
THEN
14255 IF(mbw(i).EQ.0) goto 230
14256 pmbw=pmd(i)**2+pmd(i)*pgd(i)*
tan(atl(i)+
pyr(0)*
14259 rmg(i)=(pmg(i)/pmmx)**2
14261 IF((meql.EQ.1.AND.pmg(
max(1,mlm)).GT.pmg(
min(2,3-mlm))).OR.
14262 & pmg(1)+pmg(2)+parj(64).GT.pmmx) goto 220
14265 flam=
sqrt(
max(0d0,(1d0-rmg(1)-rmg(2))**2-4d0*rmg(1)*rmg(2)))
14267 wtbe=flam*((1d0-rmg(1)-rmg(2))**2+8d0*rmg(1)*rmg(2))
14268 ELSEIF(mmed.EQ.2)
THEN
14269 wtbe=flam**3*(1d0+10d0*rmg(1)+10d0*rmg(2)+rmg(1)**2+
14270 & rmg(2)**2+10d0*rmg(1)*rmg(2))
14271 ELSEIF(mmed.EQ.3)
THEN
14272 wtbe=flam*(rmg(1)+flam**2/12d0)
14276 IF(wtbe.LT.
pyr(0)) goto 220
14281 ELSEIF(mofsh.EQ.3)
THEN
14282 IF(mbw(1).NE.0.AND.mbw(2).EQ.0)
THEN
14283 pmg(1)=
min(pmd(1),0.5d0*(pml(1)+pmu(1)))
14285 ELSEIF(mbw(2).NE.0.AND.mbw(1).EQ.0)
THEN
14287 pmg(2)=
min(pmd(2),0.5d0*(pml(2)+pmu(2)))
14291 pmg(1)=
min(pmd(1),0.1d0*(idiv*pml(1)+(10-idiv)*pmu(1)))
14292 pmg(2)=
min(pmd(2),0.1d0*(idiv*pml(2)+(10-idiv)*pmu(2)))
14293 IF(idiv.LE.9.AND.pmg(1)+pmg(2).GT.0.9d0*pmmx) goto 240
14299 IF(meql.EQ.0.AND.mbw(1).EQ.1.AND.mbw(2).EQ.1.AND.pmd(1)+pmd(2)
14300 & .GT.pmmx.AND.pmh(1).GT.pml(1).AND.pmh(2).GT.pml(2)) meql=2
14304 IF(mbw(i).NE.0) vint(80)=vint(80)*1.25d0*(atu(i)-atl(i))/
14308 vint(80)=(1.25d0/paru(1))**2*
max((atu(1)-atl(1))*
14309 & (ath(2)-atl(2)),(ath(1)-atl(1))*(atu(2)-atl(2)))
14311 IF((isub.EQ.15.OR.isub.EQ.19.OR.isub.EQ.30.OR.isub.EQ.35).AND.
14312 & mstp(43).NE.2) vint(80)=2d0*vint(80)
14313 IF(isub.EQ.22.AND.mstp(43).NE.2) vint(80)=4d0*vint(80)
14314 IF(meql.GE.1) vint(80)=2d0*vint(80)
14317 ELSEIF(mofsh.EQ.4)
THEN
14318 IF(meql.EQ.0.AND.mbw(1).EQ.1.AND.mbw(2).EQ.1.AND.pmd(1)+pmd(2)
14319 & .GT.pmmx.AND.pmh(1).GT.pml(1).AND.pmh(2).GT.pml(2)) meql=2
14320 260
IF(meql.EQ.2) mlm=
int(1.5d0+
pyr(0))
14324 IF(mbw(i).EQ.0) goto 270
14326 IF(meql.EQ.2.AND.i.EQ.mlm) pmv=pmh(i)
14328 IF(meql.EQ.2.AND.i.EQ.mlm) atv=ath(i)
14330 IF((isub.EQ.15.OR.isub.EQ.19.OR.isub.EQ.22.OR.isub.EQ.30.OR.
14331 & isub.EQ.35).AND.mstp(43).NE.2) rbr=2d0*rbr
14332 IF(rbr.LT.0.8d0)
THEN
14333 pmsr=pmd(i)**2+pmd(i)*pgd(i)*
tan(atl(i)+
pyr(0)*(atv-atl(i)))
14335 ELSEIF(rbr.LT.0.9d0)
THEN
14336 pmg(i)=
sqrt(
max(0d0,pml(i)**2+
pyr(0)*(pmv**2-pml(i)**2)))
14337 ELSEIF(rbr.LT.1.5d0)
THEN
14338 pmg(i)=pml(i)*(pmv/pml(i))**
pyr(0)
14340 pmg(i)=
sqrt(
max(0d0,pml(i)**2*pmv**2/(pml(i)**2+
pyr(0)*
14341 & (pmv**2-pml(i)**2))))
14344 IF((meql.GE.1.AND.pmg(
max(1,mlm)).GT.pmg(
min(2,3-mlm))).OR.
14345 & pmg(1)+pmg(2)+parj(64).GT.pmmx)
THEN
14346 IF(mint(48).EQ.1)
THEN
14347 ngen(0,1)=ngen(0,1)+1
14348 ngen(mint(1),1)=ngen(mint(1),1)+1
14361 IF(mbw(i).EQ.0) goto 280
14363 IF(meql.EQ.2.AND.i.EQ.mlm) pmv=pmh(i)
14365 IF(meql.EQ.2.AND.i.EQ.mlm) atv=ath(i)
14366 f0=pmd(i)*pgd(i)/((pmg(i)**2-pmd(i)**2)**2+
14367 & (pmd(i)*pgd(i))**2)/paru(1)
14371 fi0=(atv-atl(i))/paru(1)
14372 fi1=pmv**2-pml(i)**2
14373 fi2=2d0*
log(pmv/pml(i))
14374 fi3=1d0/pml(i)**2-1d0/pmv**2
14375 IF((isub.EQ.15.OR.isub.EQ.19.OR.isub.EQ.22.OR.isub.EQ.30.OR.
14376 & isub.EQ.35).AND.mstp(43).NE.2)
THEN
14377 vint(80)=vint(80)*20d0/(8d0+(fi0/f0)*(
f1/fi1+6d0*
f2/fi2+
14380 vint(80)=vint(80)*10d0/(8d0+(fi0/f0)*(
f1/fi1+
f2/fi2))
14382 vint(80)=vint(80)*fi0
14384 IF(meql.GE.1) vint(80)=2d0*vint(80)
14401 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
14406 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
14407 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
14408 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
14409 common/pypars/mstp(200),parp(200),msti(200),pari(200)
14410 common/pyint1/mint(400),vint(400)
14413 dimension nbeg(2),nend(2),inp(50),inm(50),beww(3),xp(3),xm(3),
14414 &v1(3),v2(3),betp(50,4),dirp(50,3),betm(50,4),dirm(50,3),
14415 &xd(4),xb(4),iap(npt),iam(npt),wta(npt),v1p(3),v2p(3),v1m(3),
14416 &v2m(3),q(4,3),xpp(3),xmm(3),ipc(20),imc(20),tc(0:20),tpc(20),
14417 &tmc(20),ijoin(100)
14420 four(i,j)=
p(i,4)*
p(j,4)-
p(i,1)*
p(j,1)-
p(i,2)*
p(j,2)-
p(i,3)*
p(j,3)
14421 deter(i,j,l)=q(i,1)*q(j,2)*q(l,3)-q(i,1)*q(l,2)*q(j,3)+
14422 &q(j,1)*q(l,2)*q(i,3)-q(j,1)*q(i,2)*q(l,3)+
14423 &q(l,1)*q(i,2)*q(j,3)-q(l,1)*q(j,2)*q(i,3)
14427 IF(mstp(115).EQ.5.OR.mstp(115).EQ.11.OR.mstp(115).EQ.12)
THEN
14428 IF(
pyr(0).GT.parp(120))
RETURN
14432 IF(mstp(115).EQ.1.OR.mstp(115).EQ.2.OR.mstp(115).EQ.3.OR.
14433 &mstp(115).EQ.5)
THEN
14451 IF(k(iw1,2).GT.0)
THEN
14457 IF(naft1.GT.nsd1+4)
THEN
14464 IF(
n.GT.naft1)
THEN
14483 IF(k(i,1).NE.1.AND.k(i,1).NE.2) goto 120
14484 IF(iabs(k(i,2)).GE.22) goto 120
14485 IF(k(i,3).GE.nbeg(1).AND.k(i,3).LE.nend(1))
THEN
14486 IF(isgp.EQ.0) isgp=isign(1,k(i,2))
14496 IF(k(i,1).EQ.1) isgp=0
14497 ELSEIF(k(i,3).GE.nbeg(2).AND.k(i,3).LE.nend(2))
THEN
14498 IF(isgm.EQ.0) isgm=isign(1,k(i,2))
14508 IF(k(i,1).EQ.1) isgm=0
14514 beww(j)=(
p(iw1,j)+
p(iw2,j))/(
p(iw1,4)+
p(iw2,4))
14516 CALL
pyrobo(iw1,iw1,0d0,0d0,-beww(1),-beww(2),-beww(3))
14517 CALL
pyrobo(iw2,iw2,0d0,0d0,-beww(1),-beww(2),-beww(3))
14518 CALL
pyrobo(nold+1,
n,0d0,0d0,-beww(1),-beww(2),-beww(3))
14521 tp=hbar*(-
log(
pyr(0)))*
p(iw1,4)/
14522 &
sqrt((
p(iw1,5)**2-pmw**2)**2+(
p(iw1,5)**2*pgw/pmw)**2)
14523 tm=hbar*(-
log(
pyr(0)))*
p(iw2,4)/
14524 &
sqrt((
p(iw2,5)**2-pmw**2)**2+(
p(iw2,5)**2*pgw/pmw)**2)
14527 xp(j)=tp*
p(iw1,j)/
p(iw1,4)
14528 xm(j)=tm*
p(iw2,j)/
p(iw2,4)
14532 IF(mstp(115).EQ.1)
THEN
14536 IF(k(inp(iip),2).LT.0) goto 170
14539 p1a=
sqrt(
p(i1,1)**2+
p(i1,2)**2+
p(i1,3)**2)
14540 p2a=
sqrt(
p(i2,1)**2+
p(i2,2)**2+
p(i2,3)**2)
14544 betp(iip,j)=0.5d0*(v1(j)+v2(j))
14545 dirp(iip,j)=v1(j)-v2(j)
14547 betp(iip,4)=1d0/
sqrt(1d0-betp(iip,1)**2-betp(iip,2)**2-
14549 dirl=
sqrt(dirp(iip,1)**2+dirp(iip,2)**2+dirp(iip,3)**2)
14551 dirp(iip,j)=dirp(iip,j)/dirl
14557 IF(k(inm(iim),2).LT.0) goto 200
14560 p1a=
sqrt(
p(i1,1)**2+
p(i1,2)**2+
p(i1,3)**2)
14561 p2a=
sqrt(
p(i2,1)**2+
p(i2,2)**2+
p(i2,3)**2)
14565 betm(iim,j)=0.5d0*(v1(j)+v2(j))
14566 dirm(iim,j)=v1(j)-v2(j)
14568 betm(iim,4)=1d0/
sqrt(1d0-betm(iim,1)**2-betm(iim,2)**2-
14570 dirl=
sqrt(dirm(iim,1)**2+dirm(iim,2)**2+dirm(iim,3)**2)
14572 dirm(iim,j)=dirm(iim,j)/dirl
14592 wtsmp=
exp(-(
x**2+
y**2+
z**2)/(blowr*rhad)**2)*
14593 &
exp(-2d0*(
t-gtmax)**2/(blowt*tfrag)**2)
14603 IF(k(inp(iip),2).LT.0) goto 220
14604 bed=betp(iip,1)*xd(1)+betp(iip,2)*xd(2)+betp(iip,3)*xd(3)
14605 bedg=betp(iip,4)*(betp(iip,4)*bed/(1d0+betp(iip,4))-xd(4))
14607 xb(j)=xd(j)+bedg*betp(iip,j)
14609 xb(4)=betp(iip,4)*(xd(4)-bed)
14610 sr2=xb(1)**2+xb(2)**2+xb(3)**2
14611 sz2=(dirp(iip,1)*xb(1)+dirp(iip,2)*xb(2)+
14612 & dirp(iip,3)*xb(3))**2
14613 wtp=
exp(-(sr2-sz2)/(2d0*rhad**2))*
exp(-(xb(4)**2-sz2)/
14615 IF(xb(4)-
sqrt(sr2).LT.0d0) wtp=0d0
14616 IF(wtp.GT.wtmaxp)
THEN
14630 IF(k(inm(iim),2).LT.0) goto 240
14631 bed=betm(iim,1)*xd(1)+betm(iim,2)*xd(2)+betm(iim,3)*xd(3)
14632 bedg=betm(iim,4)*(betm(iim,4)*bed/(1d0+betm(iim,4))-xd(4))
14634 xb(j)=xd(j)+bedg*betm(iim,j)
14636 xb(4)=betm(iim,4)*(xd(4)-bed)
14637 sr2=xb(1)**2+xb(2)**2+xb(3)**2
14638 sz2=(dirm(iim,1)*xb(1)+dirm(iim,2)*xb(2)+
14639 & dirm(iim,3)*xb(3))**2
14640 wtm=
exp(-(sr2-sz2)/(2d0*rhad**2))*
exp(-(xb(4)**2-sz2)/
14642 IF(xb(4)-
sqrt(sr2).LT.0d0) wtm=0d0
14643 IF(wtm.GT.wtmaxm)
THEN
14651 IF(imaxp.NE.0.AND.imaxm.NE.0)
THEN
14652 wt=wtmaxp*wtmaxm/wtsmp
14660 res=blowr**3*blowt*sum/npt
14664 prec=1d0-
exp(-fact*res)
14665 IF(prec.GT.
pyr(0))
THEN
14670 IF(rsum.LE.0d0) goto 270
14677 ELSEIF(mstp(115).EQ.2.OR.mstp(115).EQ.3)
THEN
14683 IF(k(inp(iip),2).LT.0) goto 340
14687 IF(k(inm(iim),2).LT.0) goto 330
14693 v1p(j)=
p(i1p,j)/
p(i1p,4)
14694 v2p(j)=
p(i2p,j)/
p(i2p,4)
14695 v1m(j)=
p(i1m,j)/
p(i1m,4)
14696 v2m(j)=
p(i2m,j)/
p(i2m,4)
14701 q(1,j)=v2p(j)-v1p(j)
14702 q(2,j)=-(v2m(j)-v1m(j))
14703 q(3,j)=xp(j)-xm(j)-tp*v1p(j)+tm*v1m(j)
14704 q(4,j)=v1p(j)-v1m(j)
14706 t=-deter(1,2,3)/deter(1,2,4)
14711 s13=q(3,1)+q(4,1)*
t
14714 s23=q(3,2)+q(4,2)*
t
14715 den=s11*s22-s12*s21
14716 alp=(s12*s23-s22*s13)/
den
14717 bet=(s21*s13-s11*s23)/
den
14721 IF(
t.LT.gtmax) iansw=0
14722 IF(alp.LT.0d0.OR.alp.GT.1d0) iansw=0
14723 IF(bet.LT.0d0.OR.bet.GT.1d0) iansw=0
14727 xpp(j)=xp(j)+(v1p(j)+alp*(v2p(j)-v1p(j)))*(
t-tp)
14728 xmm(j)=xm(j)+(v1m(j)+bet*(v2m(j)-v1m(j)))*(
t-tm)
14730 d2pm=(xpp(1)-xmm(1))**2+(xpp(2)-xmm(2))**2+
14731 & (xpp(3)-xmm(3))**2
14732 d2p=xpp(1)**2+xpp(2)**2+xpp(3)**2
14733 d2m=xmm(1)**2+xmm(2)**2+xmm(3)**2
14734 IF(d2pm.GT.1
d-4*(d2p+d2m)) iansw=-1
14737 IF(iansw.EQ.1)
THEN
14738 taup=
sqrt(
max(0d0,(
t-tp)**2-(xpp(1)-xp(1))**2-
14739 & (xpp(2)-xp(2))**2-(xpp(3)-xp(3))**2))
14740 taum=
sqrt(
max(0d0,(
t-tm)**2-(xmm(1)-xm(1))**2-
14741 & (xmm(2)-xm(2))**2-(xmm(3)-xm(3))**2))
14748 IF(iansw.EQ.1.AND.ncross.LT.20)
THEN
14750 DO 310 i1=ncross,1,-1
14751 IF(
t.GT.tc(i1-1).OR.i1.EQ.1)
THEN
14773 IF(ncross.GE.1)
THEN
14775 pnfrag=
exp(-(tpc(ic)**2+tmc(ic)**2)/tfrag**2)
14776 IF(pnfrag.GT.
pyr(0))
THEN
14778 IF(mstp(115).EQ.2)
THEN
14791 elold=four(i1p,i2p)*four(i1m,i2m)
14792 elnew=four(i1p,i2m)*four(i1m,i2p)
14793 IF(elnew.LT.elold)
THEN
14806 ELSEIF(mstp(115).EQ.5)
THEN
14812 IF(k(inp(iip),2).LT.0) goto 380
14816 IF(k(inm(iim),2).LT.0) goto 370
14821 elold=four(i1p,i2p)*four(i1m,i2m)
14822 elnew=four(i1p,i2m)*four(i1m,i2p)
14823 eldif=elnew/
max(1
d-10,elold)
14824 IF(eldif.LT.elmin)
THEN
14840 DO 390 is=1,nnp+nnm
14844 ELSEIF(is.LE.iip+nnm-iim)
THEN
14846 ELSEIF(is.LE.iip+nnm)
THEN
14847 i=inm(is-iip-nnm+iim)
14852 IF(k(i,2).LT.0)
THEN
14853 CALL
pyjoin(njoin,ijoin)
14860 DO 400 i=nsd1+1,nold
14861 IF(k(i,1).EQ.13.OR.k(i,1).EQ.14)
THEN
14862 k(i,4)=
mod(k(i,4),mstu(5)**2)
14863 k(i,5)=
mod(k(i,5),mstu(5)**2)
14873 CALL
pyrobo(iw1,iw1,0d0,0d0,beww(1),beww(2),beww(3))
14874 CALL
pyrobo(iw2,iw2,0d0,0d0,beww(1),beww(2),beww(3))
14875 IF(
n.GT.nold) CALL
pyrobo(nold+1,
n,0d0,0d0,
14876 & beww(1),beww(2),beww(3))
14879 ELSEIF(mstp(115).EQ.11.OR.mstp(115).EQ.12)
THEN
14884 DO 420 i=nsd1+1,nsd1+4
14886 k(i,4)=
mod(k(i,4),mstu(5)**2)
14887 k(i,5)=
mod(k(i,5),mstu(5)**2)
14894 IF(k(iq1,2)*k(iq3,2).LT.0) iq3=nsd1+4
14906 IF(mstp(71).GE.1.AND.mstp(115).EQ.11)
THEN
14907 CALL
pyshow(iq1,iq2,
p(iw1,5))
14908 CALL
pyshow(iq3,iq4,
p(iw2,5))
14911 ELSEIF(mstp(71).GE.1.AND.mstp(115).EQ.12)
THEN
14912 ppm2=(
p(iq1,4)+
p(iq4,4))**2-(
p(iq1,1)+
p(iq4,1))**2-
14913 & (
p(iq1,2)+
p(iq4,2))**2-(
p(iq1,3)+
p(iq4,3))**2
14915 CALL
pyshow(iq1,iq4,ppm)
14916 ppm2=(
p(iq3,4)+
p(iq2,4))**2-(
p(iq3,1)+
p(iq2,1))**2-
14917 & (
p(iq3,2)+
p(iq2,2))**2-(
p(iq3,3)+
p(iq2,3))**2
14919 CALL
pyshow(iq3,iq2,ppm)
14935 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
14938 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
14939 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
14940 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
14941 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
14942 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
14943 common/pypars/mstp(200),parp(200),msti(200),pari(200)
14944 common/pyint1/mint(400),vint(400)
14945 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
14953 IF(isub.EQ.96) goto 100
14957 IF(abs(sqm3).LT.1
d-4.AND.abs(sqm4).LT.1
d-4)
THEN
14958 ckin09=
max(ckin(9),ckin(13))
14959 ckin10=
min(ckin(10),ckin(14))
14960 ckin11=
max(ckin(11),ckin(15))
14961 ckin12=
min(ckin(12),ckin(16))
14963 ckin09=
max(ckin(9),
min(0d0,ckin(13)))
14964 ckin10=
min(ckin(10),
max(0d0,ckin(14)))
14965 ckin11=
max(ckin(11),
min(0d0,ckin(15)))
14966 ckin12=
min(ckin(12),
max(0d0,ckin(16)))
14972 rm4=sqm4/(
tau*vint(2))
14976 IF(
min(sqm3,sqm4).LT.ckin(6)**2.AND.istsb.NE.1.AND.istsb.NE.3)
14977 &pthmin=
max(ckin(3),ckin(5))
14986 IF(istsb.GE.3.AND.istsb.LE.5) taue=taup
14990 IF(mint(47).NE.1)
THEN
14991 IF(
tau*vint(2).LT.ckin(1)**2) mint(51)=1
14992 IF(ckin(2).GE.0d0.AND.
tau*vint(2).GT.ckin(2)**2) mint(51)=1
14993 IF(yst.LT.ckin(7).OR.yst.GT.ckin(8)) mint(51)=1
14994 IF(xf.LT.ckin(25).OR.xf.GT.ckin(26)) mint(51)=1
14996 IF(mint(45).NE.1)
THEN
14997 IF(
x1.LT.ckin(21).OR.
x1.GT.ckin(22)) mint(51)=1
14999 IF(mint(46).NE.1)
THEN
15000 IF(
x2.LT.ckin(23).OR.
x2.GT.ckin(24)) mint(51)=1
15002 IF(istsb.EQ.2.OR.istsb.EQ.4)
THEN
15003 pth=0.5d0*be34*
sqrt(
tau*vint(2)*
max(0d0,1d0-cth**2))
15004 expy3=
max(1.
d-10,(1d0+
rm3-rm4+be34*cth)/
15005 &
max(1.
d-10,(1d0+
rm3-rm4-be34*cth)))
15006 expy4=
max(1.
d-10,(1d0-
rm3+rm4-be34*cth)/
15007 &
max(1.
d-10,(1d0-
rm3+rm4+be34*cth)))
15008 y3=yst+0.5d0*
log(expy3)
15009 y4=yst+0.5d0*
log(expy4)
15014 sth=
sqrt(
max(0d0,1d0-cth**2))
15015 exsq3=
sqrt(
max(1
d-20,((1d0+
rm3-rm4)*cosh(yst)+be34*sinh(yst)*
15016 & cth)**2-4d0*
rm3))
15017 exsq4=
sqrt(
max(1
d-20,((1d0-
rm3+rm4)*cosh(yst)-be34*sinh(yst)*
15018 & cth)**2-4d0*rm4))
15019 IF(sth.GE.1.
d-6)
THEN
15020 expet3=((1d0+
rm3-rm4)*sinh(yst)+be34*cosh(yst)*cth+exsq3)/
15022 expet4=((1d0-
rm3+rm4)*sinh(yst)-be34*cosh(yst)*cth+exsq4)/
15026 etalar=
max(eta3,eta4)
15027 etasma=
min(eta3,eta4)
15029 cts3=((1d0+
rm3-rm4)*sinh(yst)+be34*cosh(yst)*cth)/exsq3
15030 cts4=((1d0-
rm3+rm4)*sinh(yst)-be34*cosh(yst)*cth)/exsq4
15031 ctslar=
min(1d0,
max(cts3,cts4))
15032 ctssma=
max(-1d0,
min(cts3,cts4))
15034 rpts=4d0*vint(71)**2/sh
15037 IF(2d0*vint(71)**2/(vint(21)*vint(2)).LT.0.0001d0)
15038 & rm34=
max(rm34,2d0*vint(71)**2/(vint(21)*vint(2)))
15039 rthm=(4d0*
rm3*rm4+rpts)/(1d0-
rm3-rm4+be34l)
15040 tha=0.5d0*sh*
max(rthm,1d0-
rm3-rm4-be34*cth)
15041 uha=0.5d0*sh*
max(rthm,1d0-
rm3-rm4+be34*cth)
15042 IF(pth.LT.pthmin) mint(51)=1
15043 IF(ckin(4).GE.0d0.AND.pth.GT.ckin(4)) mint(51)=1
15044 IF(ylarge.LT.ckin(9).OR.ylarge.GT.ckin(10)) mint(51)=1
15045 IF(ysmall.LT.ckin(11).OR.ysmall.GT.ckin(12)) mint(51)=1
15046 IF(etalar.LT.ckin(13).OR.etalar.GT.ckin(14)) mint(51)=1
15047 IF(etasma.LT.ckin(15).OR.etasma.GT.ckin(16)) mint(51)=1
15048 IF(ctslar.LT.ckin(17).OR.ctslar.GT.ckin(18)) mint(51)=1
15049 IF(ctssma.LT.ckin(19).OR.ctssma.GT.ckin(20)) mint(51)=1
15050 IF(cth.LT.ckin(27).OR.cth.GT.ckin(28)) mint(51)=1
15051 IF(tha.LT.ckin(35)) mint(51)=1
15052 IF(ckin(36).GE.0d0.AND.tha.GT.ckin(36)) mint(51)=1
15053 IF(uha.LT.ckin(37)) mint(51)=1
15054 IF(ckin(38).GE.0d0.AND.uha.GT.ckin(38)) mint(51)=1
15056 IF(istsb.GE.3.AND.istsb.LE.5)
THEN
15057 IF(taup*vint(2).LT.ckin(31)**2) mint(51)=1
15058 IF(ckin(32).GE.0d0.AND.taup*vint(2).GT.ckin(32)**2) mint(51)=1
15062 IF(isub.EQ.10)
THEN
15064 IF(iabs(mint(12)).LT.20) xbj=
x1
15066 w2bj=q2bj*(1d0-xbj)/xbj
15067 IF(w2bj.LT.ckin(39)) mint(51)=1
15068 IF(ckin(40).GT.0d0.AND.w2bj.GT.ckin(40)) mint(51)=1
15071 ELSEIF(ilim.EQ.1)
THEN
15077 taumn1=ckin(1)**2/vint(2)
15079 IF(ckin(2).GE.0d0) taumx1=ckin(2)**2/vint(2)
15081 tm3=
sqrt(sqm3+pthmin**2)
15082 tm4=
sqrt(sqm4+pthmin**2)
15084 IF(ckin09.GT.ckin12) ydcosh=cosh(ckin09-ckin12)
15085 taumn2=(tm3**2+2d0*tm3*tm4*ydcosh+tm4**2)/vint(2)
15088 cth2mn=
min(ckin(27)**2,ckin(28)**2)
15089 cth2mx=
max(ckin(27)**2,ckin(28)**2)
15091 IF(ckin(27)*ckin(28).GT.0d0) taumn3=
15092 & (
sqrt(sqm3+pthmin**2/(1d0-cth2mn))+
15093 &
sqrt(sqm4+pthmin**2/(1d0-cth2mn)))**2/vint(2)
15095 IF(ckin(4).GE.0d0.AND.cth2mx.LT.1d0) taumx3=
15096 & (
sqrt(sqm3+ckin(4)**2/(1d0-cth2mx))+
15097 &
sqrt(sqm4+ckin(4)**2/(1d0-cth2mx)))**2/vint(2)
15099 taumn4=ckin(21)*ckin(23)
15100 taumx4=ckin(22)*ckin(24)
15103 taumx5=
max(1d0-ckin(25),1d0+ckin(26))
15105 taumn6=(sqm3+sqm4+ckin(35)+ckin(37))/vint(2)
15107 IF(ckin(36).GT.0d0.AND.ckin(38).GT.0d0) taumx6=
15108 & (sqm3+sqm4+ckin(36)+ckin(38))/vint(2)
15111 vint(11)=
max(taumn0,taumn1,taumn2,taumn3,taumn4,taumn5,taumn6)
15112 vint(31)=
min(taumx0,taumx1,taumx2,taumx3,taumx4,taumx5,taumx6)
15113 IF(mint(47).EQ.1.AND.(istsb.EQ.1.OR.istsb.EQ.2))
THEN
15116 ELSEIF(mint(47).EQ.5)
THEN
15117 vint(31)=
min(vint(31),0.999998d0)
15119 IF(vint(31).LE.vint(11)) mint(51)=1
15121 ELSEIF(ilim.EQ.2)
THEN
15124 IF(istsb.GE.3.AND.istsb.LE.5) taue=vint(26)
15133 ystmn2=
log(
max(taue,ckin(21))/taurt)
15134 ystmx2=
log(
max(taue,ckin(22))/taurt)
15136 ystmn3=-
log(
max(taue,ckin(24))/taurt)
15137 ystmx3=-
log(
max(taue,ckin(23))/taurt)
15139 yepmn4=0.5d0*abs(ckin(25))/taurt
15140 ystmn4=sign(
log(
max(1
d-20,
sqrt(1d0+yepmn4**2)+yepmn4)),ckin(25))
15141 yepmx4=0.5d0*abs(ckin(26))/taurt
15142 ystmx4=sign(
log(
max(1
d-20,
sqrt(1d0+yepmx4**2)+yepmx4)),ckin(26))
15144 yepsmn=(
rm3-rm4)*sinh(ckin09-ckin11)
15145 yepsmx=(
rm3-rm4)*sinh(ckin10-ckin12)
15146 ydifmn=abs(
log(
max(1
d-20,
sqrt(1d0+yepsmn**2)-yepsmn)))
15147 ydifmx=abs(
log(
max(1
d-20,
sqrt(1d0+yepsmx**2)-yepsmx)))
15148 ystmn5=0.5d0*(ckin09+ckin11-ydifmn)
15149 ystmx5=0.5d0*(ckin10+ckin12+ydifmx)
15152 cthlim=
sqrt(
max(0d0,1d0-4d0*pthmin**2/(be34**2*taue*vint(2))))
15153 rzmn=be34*
max(ckin(27),-cthlim)
15154 rzmx=be34*
min(ckin(28),cthlim)
15155 yex3mx=(1d0+
rm3-rm4+rzmx)/
max(1
d-10,1d0+
rm3-rm4-rzmx)
15156 yex4mx=(1d0+rm4-
rm3-rzmn)/
max(1
d-10,1d0+rm4-
rm3+rzmn)
15157 yex3mn=
max(1
d-10,1d0+
rm3-rm4+rzmn)/(1d0+
rm3-rm4-rzmn)
15158 yex4mn=
max(1
d-10,1d0+rm4-
rm3-rzmx)/(1d0+rm4-
rm3+rzmx)
15159 ystmn6=ckin09-0.5d0*
log(
max(yex3mx,yex4mx))
15160 ystmx6=ckin12-0.5d0*
log(
min(yex3mn,yex4mn))
15163 vint(12)=
max(ystmn0,ystmn1,ystmn2,ystmn3,ystmn4,ystmn5,ystmn6)
15164 vint(32)=
min(ystmx0,ystmx1,ystmx2,ystmx3,ystmx4,ystmx5,ystmx6)
15165 IF(mint(47).EQ.1)
THEN
15166 vint(12)=-0.00001d0
15168 ELSEIF(mint(47).EQ.2)
THEN
15169 vint(12)=0.99999d0*ystmx0
15170 vint(32)=1.00001d0*ystmx0
15171 ELSEIF(mint(47).EQ.3)
THEN
15172 vint(12)=-1.00001d0*ystmx0
15173 vint(32)=-0.99999d0*ystmx0
15174 ELSEIF(mint(47).EQ.5)
THEN
15175 ystee=
log(0.999999d0/taurt)
15176 vint(12)=
max(vint(12),-ystee)
15177 vint(32)=
min(vint(32),ystee)
15179 IF(vint(32).LE.vint(12)) mint(51)=1
15181 ELSEIF(ilim.EQ.3)
THEN
15190 ctnmn1=
min(0d0,ckin(27))
15191 ctnmx1=
min(0d0,ckin(28))
15192 ctpmn1=
max(0d0,ckin(27))
15193 ctpmx1=
max(0d0,ckin(28))
15195 ctnmn2=-
sqrt(
max(0d0,1d0-4d0*pthmin**2/(be34**2*
tau*vint(2))))
15199 IF(ckin(4).GE.0d0)
THEN
15200 ctnmx2=-
sqrt(
max(0d0,1d0-4d0*ckin(4)**2/
15201 & (be34**2*
tau*vint(2))))
15205 ctnmn3=
min(0d0,
max((1d0+
rm3-rm4)/be34*tanh(ckin11-yst),
15206 & -(1d0-
rm3+rm4)/be34*tanh(ckin10-yst)))
15207 ctnmx3=
min(0d0,(1d0+
rm3-rm4)/be34*tanh(ckin12-yst),
15208 & -(1d0-
rm3+rm4)/be34*tanh(ckin09-yst))
15209 ctpmn3=
max(0d0,(1d0+
rm3-rm4)/be34*tanh(ckin09-yst),
15210 & -(1d0-
rm3+rm4)/be34*tanh(ckin12-yst))
15211 ctpmx3=
max(0d0,
min((1d0+
rm3-rm4)/be34*tanh(ckin10-yst),
15212 & -(1d0-
rm3+rm4)/be34*tanh(ckin11-yst)))
15219 IF(ckin(35).GT.0d0)
THEN
15220 ctlim=(1d0-
rm3-rm4-2d0*ckin(35)/sh)/be34
15221 IF(ctlim.GT.0d0)
THEN
15228 IF(ckin(36).GT.0d0)
THEN
15229 ctlim=(1d0-
rm3-rm4-2d0*ckin(36)/sh)/be34
15230 IF(ctlim.LT.0d0)
THEN
15242 IF(ckin(37).GT.0d0)
THEN
15243 ctlim=(2d0*ckin(37)/sh-(1d0-
rm3-rm4))/be34
15244 IF(ctlim.LT.0d0)
THEN
15251 IF(ckin(38).GT.0d0)
THEN
15252 ctlim=(2d0*ckin(38)/sh-(1d0-
rm3-rm4))/be34
15253 IF(ctlim.GT.0d0)
THEN
15262 vint(13)=
max(ctnmn0,ctnmn1,ctnmn2,ctnmn3,ctnmn4,ctnmn5)
15263 vint(33)=
min(ctnmx0,ctnmx1,ctnmx2,ctnmx3,ctnmx4,ctnmx5)
15264 vint(14)=
max(ctpmn0,ctpmn1,ctpmn2,ctpmn3,ctpmn4,ctpmn5)
15265 vint(34)=
min(ctpmx0,ctpmx1,ctpmx2,ctpmx3,ctpmx4,ctpmx5)
15266 IF(vint(33).LE.vint(13).AND.vint(34).LE.vint(14)) mint(51)=1
15268 ELSEIF(ilim.EQ.4)
THEN
15272 IF(istsb.EQ.5.AND.kfpr(isub,2).GT.0)
THEN
15273 pqrat=2d0*pmas(
pycomp(kfpr(isub,2)),1)/vint(1)
15278 tapmn1=ckin(31)**2/vint(2)
15280 IF(ckin(32).GE.0d0) tapmx1=ckin(32)**2/vint(2)
15283 vint(16)=
max(tapmn0,tapmn1)
15284 vint(36)=
min(tapmx0,tapmx1)
15285 IF(mint(47).EQ.1)
THEN
15289 IF(vint(36).LE.vint(16)) mint(51)=1
15296 100
IF(ilim.EQ.0)
THEN
15297 ELSEIF(ilim.EQ.1)
THEN
15298 IF(mstp(82).LE.1) vint(11)=4d0*parp(81)**2/vint(2)
15299 IF(mstp(82).GE.2) vint(11)=parp(82)**2/vint(2)
15301 ELSEIF(ilim.EQ.2)
THEN
15302 vint(12)=0.5d0*
log(vint(21))
15304 ELSEIF(ilim.EQ.3)
THEN
15305 IF(mstp(82).LE.1) st2eff=4d0*parp(81)**2/(vint(21)*vint(2))
15306 IF(mstp(82).GE.2) st2eff=0.01d0*parp(82)**2/(vint(21)*vint(2))
15307 vint(13)=-
sqrt(
max(0d0,1d0-st2eff))
15326 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
15329 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
15330 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
15331 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
15332 common/pypars/mstp(200),parp(200),msti(200),pari(200)
15333 common/pyint1/mint(400),vint(400)
15334 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
15335 SAVE /
pydat1/,/pydat2/,/pysubs/,/pypars/,/pyint1/,/pyint2/
15343 IF(mvar.EQ.3.OR.mvar.EQ.4)
THEN
15346 ELSEIF(mvar.EQ.5.OR.mvar.EQ.6)
THEN
15350 IF(mint(47).EQ.1.AND.(istsb.EQ.1.OR.istsb.EQ.2))
THEN
15352 ELSEIF(mvar.EQ.1)
THEN
15353 tau=taumin*(taumax/taumin)**vvar
15354 ELSEIF(mvar.EQ.2)
THEN
15355 tau=taumax*taumin/(taumin+(taumax-taumin)*vvar)
15356 ELSEIF(mvar.EQ.3.OR.mvar.EQ.5)
THEN
15357 ratgen=(taure+taumax)/(taure+taumin)*taumin/taumax
15358 tau=taure*taumin/((taure+taumin)*ratgen**vvar-taumin)
15359 ELSEIF(mvar.EQ.4.OR.mvar.EQ.6)
THEN
15360 aupp=atan((taumax-taure)/gamre)
15361 alow=atan((taumin-taure)/gamre)
15362 tau=taure+gamre*
tan(alow+(aupp-alow)*vvar)
15364 aupp=
log(
max(2
d-6,1d0-taumax))
15365 alow=
log(
max(2
d-6,1d0-taumin))
15366 tau=1d0-
exp(aupp+vvar*(alow-aupp))
15371 ELSEIF(ivar.EQ.2)
THEN
15375 IF(istsb.GE.3.AND.istsb.LE.5) taue=vint(26)
15376 IF(mint(47).EQ.1)
THEN
15378 ELSEIF(mint(47).EQ.2)
THEN
15379 yst=-0.5d0*
log(taue)
15380 ELSEIF(mint(47).EQ.3)
THEN
15381 yst=0.5d0*
log(taue)
15382 ELSEIF(mvar.EQ.1)
THEN
15383 yst=ystmin+(ystmax-ystmin)*
sqrt(vvar)
15384 ELSEIF(mvar.EQ.2)
THEN
15385 yst=ystmax-(ystmax-ystmin)*
sqrt(1d0-vvar)
15386 ELSEIF(mvar.EQ.3)
THEN
15387 aupp=atan(
exp(ystmax))
15388 alow=atan(
exp(ystmin))
15389 yst=
log(
tan(alow+(aupp-alow)*vvar))
15390 ELSEIF(mvar.EQ.4)
THEN
15391 yst0=-0.5d0*
log(taue)
15394 yst=yst0-
log(1d0+
exp(alow+vvar*(aupp-alow)))
15396 yst0=-0.5d0*
log(taue)
15399 yst=
log(1d0+
exp(aupp+vvar*(alow-aupp)))-yst0
15401 vint(22)=
min(ystmax,
max(ystmin,yst))
15404 ELSEIF(ivar.EQ.3)
THEN
15405 rm34=
max(1
d-20,2d0*vint(63)*vint(64)/(vint(21)*vint(2))**2)
15407 IF(2d0*vint(71)**2/(vint(21)*vint(2)).LT.0.0001d0)
15408 & rm34=
max(rm34,2d0*vint(71)**2/(vint(21)*vint(2)))
15416 IF(aneg.GT.0d0.AND.vvar*(aneg+apos).LE.aneg)
THEN
15417 vctn=vvar*(aneg+apos)/aneg
15418 cth=ctnmin+(ctnmax-ctnmin)*vctn
15420 vctp=(vvar*(aneg+apos)-aneg)/apos
15421 cth=ctpmin+(ctpmax-ctpmin)*vctp
15423 ELSEIF(mvar.EQ.2)
THEN
15424 rmnmin=
max(rm34,rsqm-ctnmin)
15425 rmnmax=
max(rm34,rsqm-ctnmax)
15426 rmpmin=
max(rm34,rsqm-ctpmin)
15427 rmpmax=
max(rm34,rsqm-ctpmax)
15428 aneg=
log(rmnmin/rmnmax)
15429 apos=
log(rmpmin/rmpmax)
15430 IF(aneg.GT.0d0.AND.vvar*(aneg+apos).LE.aneg)
THEN
15431 vctn=vvar*(aneg+apos)/aneg
15432 cth=rsqm-rmnmin*(rmnmax/rmnmin)**vctn
15434 vctp=(vvar*(aneg+apos)-aneg)/apos
15435 cth=rsqm-rmpmin*(rmpmax/rmpmin)**vctp
15437 ELSEIF(mvar.EQ.3)
THEN
15438 rmnmin=
max(rm34,rsqm+ctnmin)
15439 rmnmax=
max(rm34,rsqm+ctnmax)
15440 rmpmin=
max(rm34,rsqm+ctpmin)
15441 rmpmax=
max(rm34,rsqm+ctpmax)
15442 aneg=
log(rmnmax/rmnmin)
15443 apos=
log(rmpmax/rmpmin)
15444 IF(aneg.GT.0d0.AND.vvar*(aneg+apos).LE.aneg)
THEN
15445 vctn=vvar*(aneg+apos)/aneg
15446 cth=rmnmin*(rmnmax/rmnmin)**vctn-rsqm
15448 vctp=(vvar*(aneg+apos)-aneg)/apos
15449 cth=rmpmin*(rmpmax/rmpmin)**vctp-rsqm
15451 ELSEIF(mvar.EQ.4)
THEN
15452 rmnmin=
max(rm34,rsqm-ctnmin)
15453 rmnmax=
max(rm34,rsqm-ctnmax)
15454 rmpmin=
max(rm34,rsqm-ctpmin)
15455 rmpmax=
max(rm34,rsqm-ctpmax)
15456 aneg=1d0/rmnmax-1d0/rmnmin
15457 apos=1d0/rmpmax-1d0/rmpmin
15458 IF(aneg.GT.0d0.AND.vvar*(aneg+apos).LE.aneg)
THEN
15459 vctn=vvar*(aneg+apos)/aneg
15460 cth=rsqm-1d0/(1d0/rmnmin+aneg*vctn)
15462 vctp=(vvar*(aneg+apos)-aneg)/apos
15463 cth=rsqm-1d0/(1d0/rmpmin+apos*vctp)
15465 ELSEIF(mvar.EQ.5)
THEN
15466 rmnmin=
max(rm34,rsqm+ctnmin)
15467 rmnmax=
max(rm34,rsqm+ctnmax)
15468 rmpmin=
max(rm34,rsqm+ctpmin)
15469 rmpmax=
max(rm34,rsqm+ctpmax)
15470 aneg=1d0/rmnmin-1d0/rmnmax
15471 apos=1d0/rmpmin-1d0/rmpmax
15472 IF(aneg.GT.0d0.AND.vvar*(aneg+apos).LE.aneg)
THEN
15473 vctn=vvar*(aneg+apos)/aneg
15474 cth=1d0/(1d0/rmnmin-aneg*vctn)-rsqm
15476 vctp=(vvar*(aneg+apos)-aneg)/apos
15477 cth=1d0/(1d0/rmpmin-apos*vctp)-rsqm
15480 IF(cth.LT.0d0) cth=
min(ctnmax,
max(ctnmin,cth))
15481 IF(cth.GT.0d0) cth=
min(ctpmax,
max(ctpmin,cth))
15485 ELSEIF(ivar.EQ.4)
THEN
15489 IF(mint(47).EQ.1)
THEN
15491 ELSEIF(mvar.EQ.1)
THEN
15492 taup=taupmn*(taupmx/taupmn)**vvar
15493 ELSEIF(mvar.EQ.2)
THEN
15494 aupp=(1d0-
tau/taupmx)**4
15495 alow=(1d0-
tau/taupmn)**4
15496 taup=
tau/
max(1
d-7,1d0-(alow+(aupp-alow)*vvar)**0.25d0)
15498 aupp=
log(
max(2
d-6,1d0-taupmx))
15499 alow=
log(
max(2
d-6,1d0-taupmn))
15500 taup=1d0-
exp(aupp+vvar*(alow-aupp))
15502 vint(26)=
min(taupmx,
max(taupmn,taup))
15508 ELSEIF(ivar.EQ.5)
THEN
15513 IF(isub.EQ.123.OR.isub.EQ.124.OR.isub.EQ.173.OR.isub.EQ.174
15514 & .OR.isub.EQ.178.OR.isub.EQ.179) mptpk=2
15515 shp=vint(26)*vint(2)
15519 pm3=
sqrt(vint(21))*vint(1)
15520 IF(pm1+pm2+pm3.GT.0.9999d0*shpr)
THEN
15528 IF(mptpk.EQ.1)
THEN
15536 ptsmx1=((shp-pm1**2-(pm2+pm3)**2)**2-(2d0*pm1*(pm2+pm3))**2)/
15538 IF(ckin(52).GT.0d0) ptsmx1=
min(ptsmx1,ckin(52)**2)
15540 ptsmx2=((shp-pm2**2-(pm1+pm3)**2)**2-(2d0*pm2*(pm1+pm3))**2)/
15542 IF(ckin(54).GT.0d0) ptsmx2=
min(ptsmx2,ckin(54)**2)
15549 IF(hmx.LT.1.0001d0*hmn)
THEN
15555 IF(rpt.LT.hwt1)
THEN
15556 pts1=ptsmn1+
pyr(0)*hde
15557 ELSEIF(rpt.LT.hwt1+hwt2)
THEN
15558 pts1=
max(ptsmn1,hmn*(hmx/hmn)**
pyr(0)-pmrs1)
15560 pts1=
max(ptsmn1,hmn*hmx/(hmn+
pyr(0)*hde)-pmrs1)
15562 wtpts1=hde/(hwt1+hwt2*hde/(
log(hmx/hmn)*(pmrs1+pts1))+
15563 & hwt3*hmn*hmx/(pmrs1+pts1)**2)
15566 IF(hmx.LT.1.0001d0*hmn)
THEN
15572 IF(rpt.LT.hwt1)
THEN
15573 pts2=ptsmn2+
pyr(0)*hde
15574 ELSEIF(rpt.LT.hwt1+hwt2)
THEN
15575 pts2=
max(ptsmn2,hmn*(hmx/hmn)**
pyr(0)-pmrs2)
15577 pts2=
max(ptsmn2,hmn*hmx/(hmn+
pyr(0)*hde)-pmrs2)
15579 wtpts2=hde/(hwt1+hwt2*hde/(
log(hmx/hmn)*(pmrs2+pts2))+
15580 & hwt3*hmn*hmx/(pmrs2+pts2)**2)
15583 phi1=paru(2)*
pyr(0)
15584 phi2=paru(2)*
pyr(0)
15586 pts3=
max(0d0,pts1+pts2+2d0*
sqrt(pts1*pts2)*
cos(phir))
15587 IF(pts3.LT.ckin(55)**2.OR.(ckin(56).GT.0d0.AND.pts3.GT.
15588 & ckin(56)**2))
THEN
15600 pm12=(pmt1+pmt2)**2
15601 IF(pmt1+pmt2+pmt3.GT.0.9999d0*shpr)
THEN
15607 y3max=
log((shp+pms3-pm12+
sqrt(
max(0d0,(shp-pms3-pm12)**2-
15608 & 4d0*pms3*pm12)))/(2d0*shpr*pmt3))
15609 IF(y3max.LT.1
d-6)
THEN
15613 y3=(2d0*
pyr(0)-1d0)*0.999999d0*y3max
15620 pms12=pe12**2-pz12**2
15621 sql12=
sqrt(
max(0d0,(pms12-pms1-pms2)**2-4d0*pms1*pms2))
15622 IF(sql12.LT.1
d-6*shp)
THEN
15626 pmm1=pms12+pms1-pms2
15627 pmm2=pms12+pms2-pms1
15628 tfac=-shpr/(2d0*pms12)
15629 t1p=tfac*(pe12-pz12)*(pmm1-sql12)
15630 t1n=tfac*(pe12-pz12)*(pmm1+sql12)
15631 t2p=tfac*(pe12+pz12)*(pmm2-sql12)
15632 t2n=tfac*(pe12+pz12)*(pmm2+sql12)
15635 IF(mptpk.EQ.1)
THEN
15639 wtpu=1d0/((t1p-pmrs1)*(t2p-pmrs2))**2
15640 wtnu=1d0/((t1n-pmrs1)*(t2n-pmrs2))**2
15642 wtp=wtpu/(wtpu+wtnu)
15643 wtn=wtnu/(wtpu+wtnu)
15645 IF(wtn.GT.
pyr(0)) eps=-1d0
15657 IF(eps.GT.0d0)
THEN
15666 vint(217)=-0.5d0*tfac*(pe12-pz12)*(pmm2+eps*sql12)
15667 vint(218)=-0.5d0*tfac*(pe12+pz12)*(pmm1+eps*sql12)
15668 vint(219)=0.5d0*(pms12-pts3)
15696 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
15699 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
15701 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
15702 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
15703 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
15704 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
15705 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
15706 common/pypars/mstp(200),parp(200),msti(200),pari(200)
15707 common/pyint1/mint(400),vint(400)
15708 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
15709 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
15710 common/pyint4/mwid(500),wids(500,5)
15711 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
15712 common/pyint7/sigt(0:6,0:6,0:5)
15713 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
15716 &/pyint1/,/pyint2/,/pyint3/,/pyint4/,/pyint5/,/pyint7/,
15719 dimension
x(2),xpq(-25:25),kfac(2,-40:40),wdtp(0:200),
15720 &wdte(0:200,0:5),hgz(6,3),hl3(3),hr3(3),hl4(3),hr4(3)
15721 COMPLEX a004,a204,a114,a00u,a20u,a11u
15722 COMPLEX cigtot,ciztot,f0alp,f1alp,f2alp,f0bet,f1bet,f2bet,fif,
15723 &coulck,coulcp,coulcd,coulcr,coulcs
15724 REAL a00l,a11l,a20l,coulxx
15735 IF((isub.GE.151.AND.isub.LE.160).OR.(isub.GE.171.AND.
15736 &isub.LE.190))
THEN
15738 IF(
mod(isub-1,10).GE.5) ihigg=3
15740 IF(isub.EQ.151.OR.isub.EQ.156) isub=3
15741 IF(isub.EQ.152.OR.isub.EQ.157) isub=102
15742 IF(isub.EQ.153.OR.isub.EQ.158) isub=103
15743 IF(isub.EQ.171.OR.isub.EQ.176) isub=24
15744 IF(isub.EQ.172.OR.isub.EQ.177) isub=26
15745 IF(isub.EQ.173.OR.isub.EQ.178) isub=123
15746 IF(isub.EQ.174.OR.isub.EQ.179) isub=124
15747 IF(isub.EQ.181.OR.isub.EQ.186) isub=121
15748 IF(isub.EQ.182.OR.isub.EQ.187) isub=122
15754 IF(isub.GE.200.AND.isub.LE.280)
THEN
15757 IF(isub.EQ.201.OR.isub.EQ.204.OR.isub.EQ.207)
THEN
15758 kfid=
mod(kfpr(isub,1),ksusy1)
15761 ELSEIF(isub.EQ.202.OR.isub.EQ.205.OR.isub.EQ.208)
THEN
15762 kfid=
mod(kfpr(isub,1),ksusy1)
15765 ELSEIF(isub.EQ.203.OR.isub.EQ.206.OR.isub.EQ.209)
THEN
15766 kfid=
mod(kfpr(isub,1),ksusy1)
15768 ELSEIF(isub.GE.210.AND.isub.LE.212)
THEN
15769 IF(isub.EQ.210)
THEN
15771 ELSEIF(isub.EQ.211)
THEN
15773 ELSEIF(isub.EQ.212)
THEN
15777 ELSEIF(isub.EQ.213.OR.isub.EQ.214)
THEN
15778 IF(isub.EQ.213)
THEN
15779 kfid=
mod(kfpr(isub,1),ksusy1)
15781 ELSEIF(isub.EQ.214)
THEN
15788 ELSEIF(isub.GE.216.AND.isub.LE.225)
THEN
15789 IF(isub.EQ.216)
THEN
15792 ELSEIF(isub.EQ.217)
THEN
15795 ELSEIF(isub.EQ.218)
THEN
15798 ELSEIF(isub.EQ.219)
THEN
15801 ELSEIF(isub.EQ.220)
THEN
15804 ELSEIF(isub.EQ.221)
THEN
15807 ELSEIF(isub.EQ.222)
THEN
15810 ELSEIF(isub.EQ.223)
THEN
15813 ELSEIF(isub.EQ.224)
THEN
15816 ELSEIF(isub.EQ.225)
THEN
15823 ELSEIF(isub.GE.226.AND.isub.LE.228)
THEN
15824 IF(isub.EQ.226)
THEN
15827 ELSEIF(isub.EQ.227)
THEN
15830 ELSEIF(isub.EQ.228)
THEN
15837 ELSEIF(isub.GE.229.AND.isub.LE.236)
THEN
15838 IF(isub.EQ.229)
THEN
15841 ELSEIF(isub.EQ.230)
THEN
15844 ELSEIF(isub.EQ.231)
THEN
15847 ELSEIF(isub.EQ.232)
THEN
15850 ELSEIF(isub.EQ.233)
THEN
15853 ELSEIF(isub.EQ.234)
THEN
15856 ELSEIF(isub.EQ.235)
THEN
15859 ELSEIF(isub.EQ.236)
THEN
15866 ELSEIF(isub.GE.237.AND.isub.LE.240)
THEN
15867 IF(isub.EQ.237)
THEN
15869 ELSEIF(isub.EQ.238)
THEN
15871 ELSEIF(isub.EQ.239)
THEN
15873 ELSEIF(isub.EQ.240)
THEN
15879 ELSEIF(isub.GE.241.AND.isub.LE.242)
THEN
15880 IF(isub.EQ.241)
THEN
15882 ELSEIF(isub.EQ.242)
THEN
15888 ELSEIF(isub.GE.246.AND.isub.LE.253)
THEN
15890 IF(
mod(isub,2).NE.0) ilr=1
15891 IF(isub.LE.247)
THEN
15893 ELSEIF(isub.LE.249)
THEN
15895 ELSEIF(isub.LE.251)
THEN
15897 ELSEIF(isub.LE.253)
THEN
15904 ELSEIF(isub.GE.254.AND.isub.LE.257)
THEN
15905 IF(isub.LE.255)
THEN
15907 ELSEIF(isub.LE.257)
THEN
15910 IF(
mod(isub,2).EQ.0)
THEN
15919 ELSEIF(isub.EQ.258.OR.isub.EQ.259)
THEN
15924 ELSEIF(isub.EQ.261.OR.isub.EQ.262)
THEN
15926 IF(isub.EQ.262) ilr=1
15928 ELSEIF(isub.EQ.265)
THEN
15932 ELSEIF(isub.GE.271.AND.isub.LE.280)
THEN
15934 IF(isub.LE.273)
THEN
15935 IF(isub.EQ.273) ilr=1
15938 ELSEIF(isub.LE.276)
THEN
15939 IF(isub.EQ.276) ilr=1
15942 ELSEIF(isub.LE.278)
THEN
15943 IF(isub.EQ.278) ilr=1
15947 IF(isub.EQ.280) ilr=1
15975 IF(istsb.GE.3.AND.istsb.LE.5) taue=taup
15978 IF(mint(45).EQ.2.AND.istsb.GE.1)
THEN
15979 IF(
x(1).GT.0.9999d0)
RETURN
15980 ELSEIF(mint(45).EQ.3)
THEN
15981 x(1)=
min(0.9999989d0,
x(1))
15983 IF(mint(46).EQ.2.AND.istsb.GE.1)
THEN
15984 IF(
x(2).GT.0.9999d0)
RETURN
15985 ELSEIF(mint(46).EQ.3)
THEN
15986 x(2)=
min(0.9999989d0,
x(2))
15994 rpts=4d0*vint(71)**2/sh
15998 IF(2d0*vint(71)**2/(vint(21)*vint(2)).LT.0.0001d0) rm34=
max(rm34,
15999 &2d0*vint(71)**2/(vint(21)*vint(2)))
16000 rthm=(4d0*
rm3*rm4+rpts)/(1d0-
rm3-rm4+be34l)
16001 IF(istsb.EQ.0)
THEN
16003 uh=-0.5d0*sh*
max(rthm,1d0-
rm3-rm4+be34*cth)
16004 sqpth=
max(vint(71)**2,0.25d0*sh*be34**2*vint(59)**2)
16006 th=-0.5d0*sh*
max(rthm,1d0-
rm3-rm4-be34*cth)
16007 uh=-0.5d0*sh*
max(rthm,1d0-
rm3-rm4+be34*cth)
16008 sqpth=
max(vint(71)**2,0.25d0*sh*be34**2*(1d0-cth**2))
16016 IF(istsb.EQ.1.OR.istsb.EQ.3.OR.istsb.EQ.5)
THEN
16018 ELSEIF(
mod(istsb,2).EQ.0.OR.istsb.EQ.9)
THEN
16019 IF(mstp(32).EQ.1)
THEN
16020 q2=2d0*sh*th*uh/(sh**2+th**2+uh**2)
16021 ELSEIF(mstp(32).EQ.2)
THEN
16022 q2=sqpth+0.5d0*(sqm3+sqm4)
16023 ELSEIF(mstp(32).EQ.3)
THEN
16025 ELSEIF(mstp(32).EQ.4)
THEN
16027 ELSEIF(mstp(32).EQ.5)
THEN
16030 IF(istsb.EQ.9) q2=sqpth
16031 IF((istsb.EQ.9.AND.mstp(82).GE.2).OR.(istsb.NE.9.AND.
16032 & mstp(85).EQ.1)) q2=q2+parp(82)**2
16035 IF(istsb.GE.3.AND.istsb.LE.5)
THEN
16037 IF(isub.EQ.8.OR.isub.EQ.76.OR.isub.EQ.77.OR.isub.EQ.124)
16038 & q2sf=pmas(24,1)**2
16039 IF(isub.EQ.121.OR.isub.EQ.122)
THEN
16040 q2sf=pmas(
pycomp(kfpr(isubsv,2)),1)**2
16041 IF(mstp(39).EQ.2) q2sf=q2sf+
max(vint(202),vint(207))
16042 IF(mstp(39).EQ.3) q2sf=sh
16043 IF(mstp(39).EQ.4) q2sf=vint(26)*vint(2)
16048 IF(mstp(68).GE.2.AND.mint(47).EQ.5) q2sf=vint(2)
16049 IF(mstp(22).GE.1.AND.(isub.EQ.10.OR.isub.EQ.83).AND.
16050 &(mint(43).EQ.2.OR.mint(43).EQ.3))
THEN
16052 IF(mint(43).EQ.3) xbj=
x(1)
16053 IF(mstp(22).EQ.1)
THEN
16055 ELSEIF(mstp(22).EQ.2)
THEN
16056 q2ps=((1d0-xbj)/xbj)*(-th)
16057 ELSEIF(mstp(22).EQ.3)
THEN
16058 q2ps=
sqrt((1d0-xbj)/xbj)*(-th)
16060 q2ps=(1d0-xbj)*
max(1d0,-
log(xbj))*(-th)
16063 IF(mstp(68).GE.1.AND.mint(47).EQ.5) q2ps=vint(2)
16073 vint(47)=
sqrt(sqpth)
16074 vint(50)=taup*vint(2)
16075 vint(49)=
sqrt(
max(0d0,vint(50)))
16079 vint(53)=
sqrt(q2sf)
16081 vint(55)=
sqrt(q2ps)
16084 IF(istsb.LE.0) goto 170
16085 IF(mint(47).GE.2)
THEN
16086 DO 110 i=3-
min(2,mint(45)),
min(2,mint(46))
16088 IF(istsb.EQ.9) xsf=
x(i)/vint(142+i)
16089 mint(105)=mint(102+i)
16090 mint(109)=mint(106+i)
16091 IF(mstp(57).LE.1)
THEN
16092 CALL
pypdfu(mint(10+i),xsf,q2sf,xpq)
16094 CALL
pypdfl(mint(10+i),xsf,q2sf,xpq)
16097 xsfx(i,kfl)=xpq(kfl)
16105 IF(mstp(8).GE.2.OR.(isub.GE.71.AND.isub.LE.77)) xw=
16106 &1d0-(pmas(24,1)/pmas(23,1))**2
16108 xwc=1d0/(16d0*xw*xw1)
16110 IF(mstp(8).GE.1) aem=
sqrt(2d0)*paru(105)*pmas(24,1)**2*xw/paru(1)
16111 IF(mstp(33).NE.3) as=
pyalps(parp(34)*q2)
16114 IF(mstp(33).EQ.1)
THEN
16116 ELSEIF(mstp(33).EQ.2)
THEN
16118 faca=parp(32)/parp(31)
16119 ELSEIF(mstp(33).EQ.3)
THEN
16121 IF(istsb.EQ.9.AND.mstp(82).GE.2) q2as=q2as+
16122 & paru(112)*parp(82)
16134 IF(mint(44+i).EQ.1)
THEN
16135 kfac(i,mint(10+i))=1
16136 ELSEIF(mint(40+i).EQ.1.AND.mstp(12).EQ.0)
THEN
16137 kfac(i,mint(10+i))=1
16143 kfac(i,j)=kfin(i,j)
16144 IF(iabs(j).GT.mstp(58).AND.iabs(j).LE.10) kfac(i,j)=0
16145 IF(xsfx(i,j).LT.1
d-10) kfac(i,j)=0
16156 IF(kfac(1,-j).EQ.1) mmin1=-j
16157 IF(kfac(1,j).EQ.1) mmax1=j
16158 IF(kfac(2,-j).EQ.1) mmin2=-j
16159 IF(kfac(2,j).EQ.1) mmax2=j
16161 mmina=
min(mmin1,mmin2)
16162 mmaxa=
max(mmax1,mmax2)
16167 sqmh=pmas(kfhigg,1)**2
16168 gmmz=pmas(23,1)*pmas(23,2)
16169 gmmw=pmas(24,1)*pmas(24,2)
16170 gmmh=pmas(kfhigg,1)*pmas(kfhigg,2)
16177 comfac=paru(1)*paru(5)/vint(2)
16178 IF(mint(41).EQ.2.AND.mint(42).EQ.2) comfac=comfac*fack
16179 IF((mint(47).GE.2.OR.(istsb.GE.3.AND.istsb.LE.5)).AND.
16181 atau1=
log(taumax/taumin)
16182 atau2=(taumax-taumin)/(taumax*taumin)
16183 h1=coef(isubsv,1)+(atau1/atau2)*coef(isubsv,2)/
tau
16184 IF(mint(72).GE.1)
THEN
16187 ataud=
log(taumax/taumin*(taumin+taur1)/(taumax+taur1))
16189 IF(ataud.GT.1
d-6)
h1=
h1+
16190 & (atau1/atau3)*coef(isubsv,3)/(
tau+taur1)
16191 ataud=atan((taumax-taur1)/gamr1)-atan((taumin-taur1)/gamr1)
16193 IF(ataud.GT.1
d-6)
h1=
h1+
16194 & (atau1/atau4)*coef(isubsv,4)*
tau/((
tau-taur1)**2+gamr1**2)
16196 IF(mint(72).EQ.2)
THEN
16199 ataud=
log(taumax/taumin*(taumin+taur2)/(taumax+taur2))
16201 IF(ataud.GT.1
d-6)
h1=
h1+
16202 & (atau1/atau5)*coef(isubsv,5)/(
tau+taur2)
16203 ataud=atan((taumax-taur2)/gamr2)-atan((taumin-taur2)/gamr2)
16205 IF(ataud.GT.1
d-6)
h1=
h1+
16206 & (atau1/atau6)*coef(isubsv,6)*
tau/((
tau-taur2)**2+gamr2**2)
16208 IF(mint(47).EQ.5.AND.(istsb.LE.2.OR.istsb.GE.5))
THEN
16209 atau7=
log(
max(2
d-6,1d0-taumin)/
max(2
d-6,1d0-taumax))
16210 IF(atau7.GT.1
d-6)
h1=
h1+(atau1/atau7)*coef(isubsv,7)*
tau/
16213 comfac=comfac*atau1/(
tau*
h1)
16217 IF(mint(47).GE.4.AND.istsb.NE.9)
THEN
16218 ayst0=ystmax-ystmin
16219 IF(ayst0.LT.1
d-6)
THEN
16222 ayst1=0.5d0*(ystmax-ystmin)**2
16224 ayst3=2d0*(atan(
exp(ystmax))-atan(
exp(ystmin)))
16225 h2=(ayst0/ayst1)*coef(isubsv,8)*(yst-ystmin)+
16226 & (ayst0/ayst2)*coef(isubsv,9)*(ystmax-yst)+
16227 & (ayst0/ayst3)*coef(isubsv,10)/cosh(yst)
16228 IF(mint(45).EQ.3)
THEN
16229 yst0=-0.5d0*
log(taue)
16231 &
max(1
d-6,
exp(yst0-ystmax)-1d0))
16232 IF(ayst4.GT.1
d-6)
h2=
h2+(ayst0/ayst4)*coef(isubsv,11)/
16233 &
max(1
d-6,1d0-
exp(yst-yst0))
16235 IF(mint(46).EQ.3)
THEN
16236 yst0=-0.5d0*
log(taue)
16238 &
max(1
d-6,
exp(yst0+ystmin)-1d0))
16239 IF(ayst5.GT.1
d-6)
h2=
h2+(ayst0/ayst5)*coef(isubsv,12)/
16240 &
max(1
d-6,1d0-
exp(-yst-yst0))
16242 comfac=comfac*ayst0/
h2
16248 acth0=ctnmax-ctnmin+ctpmax-ctpmin
16249 IF((istsb.EQ.1.OR.istsb.EQ.3.OR.istsb.EQ.5))
THEN
16250 IF(mdcy(
pycomp(kfpr(isubsv,1)),1).EQ.1)
THEN
16251 IF(kfpr(isub,1).EQ.25.OR.kfpr(isub,1).EQ.37.OR.
16252 & kfpr(isub,1).EQ.39)
THEN
16253 comfac=comfac*0.5d0*acth0
16255 comfac=comfac*0.125d0*(3d0*acth0+ctnmax**3-ctnmin**3+
16256 & ctpmax**3-ctpmin**3)
16261 ELSEIF(istsb.EQ.2.OR.istsb.EQ.4)
THEN
16262 acth1=
log((
max(rm34,rsqm-ctnmin)*
max(rm34,rsqm-ctpmin))/
16263 & (
max(rm34,rsqm-ctnmax)*
max(rm34,rsqm-ctpmax)))
16264 acth2=
log((
max(rm34,rsqm+ctnmax)*
max(rm34,rsqm+ctpmax))/
16265 & (
max(rm34,rsqm+ctnmin)*
max(rm34,rsqm+ctpmin)))
16266 acth3=1d0/
max(rm34,rsqm-ctnmax)-1d0/
max(rm34,rsqm-ctnmin)+
16267 & 1d0/
max(rm34,rsqm-ctpmax)-1d0/
max(rm34,rsqm-ctpmin)
16268 acth4=1d0/
max(rm34,rsqm+ctnmin)-1d0/
max(rm34,rsqm+ctnmax)+
16269 & 1d0/
max(rm34,rsqm+ctpmin)-1d0/
max(rm34,rsqm+ctpmax)
16270 h3=coef(isubsv,13)+
16271 & (acth0/acth1)*coef(isubsv,14)/
max(rm34,rsqm-cth)+
16272 & (acth0/acth2)*coef(isubsv,15)/
max(rm34,rsqm+cth)+
16273 & (acth0/acth3)*coef(isubsv,16)/
max(rm34,rsqm-cth)**2+
16274 & (acth0/acth4)*coef(isubsv,17)/
max(rm34,rsqm+cth)**2
16275 comfac=comfac*acth0*0.5d0*be34/
h3
16278 comfac=comfac*vint(80)
16282 IF(mint(47).GE.2.AND.istsb.GE.3.AND.istsb.LE.5)
THEN
16283 ataup1=
log(taupmx/taupmn)
16284 ataup2=((1d0-
tau/taupmx)**4-(1d0-
tau/taupmn)**4)/(4d0*
tau)
16285 h4=coef(isubsv,18)+
16286 & (ataup1/ataup2)*coef(isubsv,19)*(1d0-
tau/taup)**3/taup
16287 IF(mint(47).EQ.5)
THEN
16288 ataup3=
log(
max(2
d-6,1d0-taupmn)/
max(2
d-6,1d0-taupmx))
16289 h4=h4+(ataup1/ataup3)*coef(isubsv,20)*taup/
max(2
d-6,1d0-taup)
16291 comfac=comfac*ataup1/h4
16295 IF(istsb.EQ.3.OR.istsb.EQ.4)
THEN
16296 IF(1d0-
tau/taup.GT.1.
d-4)
THEN
16299 fzw=1d0/6d0*(1d0-
tau/taup)**3*
tau/taup
16305 IF(istsb.EQ.5)
THEN
16306 comfac=comfac*vint(205)*vint(210)*vint(212)*vint(214)/
16307 & (128d0*paru(1)**4*vint(220))*(
tau**2/taup)
16311 IF(mstp(85).EQ.1.AND.
mod(istsb,2).EQ.0) comfac=comfac*
16312 &sqpth**2/(parp(82)**2+sqpth)**2
16315 IF(mint(11).EQ.22.AND.mint(12).EQ.22.AND.mint(123).GE.4)
16319 IF(istsb.EQ.9)
THEN
16320 comfac=paru(1)*paru(5)*fack*0.5d0*vint(2)/sh2
16321 atau1=
log(2d0*(1d0+
sqrt(1d0-xt2))/xt2-1d0)
16322 atau2=2d0*atan(1d0/xt2-1d0)/
sqrt(xt2)
16323 h1=coef(isubsv,1)+(atau1/atau2)*coef(isubsv,2)/
sqrt(
tau)
16324 comfac=comfac*atau1/
h1
16325 ayst0=ystmax-ystmin
16326 ayst1=0.5d0*(ystmax-ystmin)**2
16327 ayst3=2d0*(atan(
exp(ystmax))-atan(
exp(ystmin)))
16328 h2=(ayst0/ayst1)*coef(isubsv,8)*(yst-ystmin)+
16329 & (ayst0/ayst1)*coef(isubsv,9)*(ystmax-yst)+
16330 & (ayst0/ayst3)*coef(isubsv,10)/cosh(yst)
16331 comfac=comfac*ayst0/
h2
16332 IF(mstp(82).LE.1) comfac=comfac*xt2**2*(1d0/vint(149)-1d0)
16335 IF(mstp(82).GE.2) comfac=comfac*xt2**2/(vint(149)*
16340 IF((mstp(46).GE.3.AND.mstp(46).LE.6).AND.(isub.EQ.71.OR.isub.EQ.
16341 &72.OR.isub.EQ.73.OR.isub.EQ.76.OR.isub.EQ.77))
THEN
16343 IF(mstp(46).LE.4)
THEN
16344 hdtlh=
log(pmas(25,1)/parp(44))
16345 hdtmr=(4.5d0*paru(1)/
sqrt(3d0)-74d0/9d0)/8d0+hdtlh/12d0
16346 hdtnr=-1d0/18d0+hdtlh/6d0
16348 hdtnm=0.125d0*(1d0/(288d0*paru(1)**2)+(parp(47)/parp(45))**2)
16349 hdtlq=
log(parp(45)/parp(44))
16350 hdtmr=-(4d0*paru(1))**2*0.5d0*hdtnm+hdtlq/12d0
16351 hdtnr=(4d0*paru(1))**2*hdtnm+hdtlq/6d0
16355 hdtv=1d0/(16d0*paru(1)*parp(47)**2)
16359 hdtls=
log(sh/parp(44)**2)
16360 a004=sngl((hdtv*sh)**2/(4d0*paru(1)))*
16361 & cmplx(sngl((176d0*hdtmr+112d0*hdtnr)/3d0+11d0/27d0-
16362 & (50d0/9d0)*hdtls),sngl(4d0*paru(1)))
16363 a204=sngl((hdtv*sh)**2/(4d0*paru(1)))*
16364 & cmplx(sngl(32d0*(hdtmr+2d0*hdtnr)/3d0+25d0/54d0-
16365 & (20d0/9d0)*hdtls),sngl(paru(1)))
16366 a114=sngl((hdtv*sh)**2/(6d0*paru(1)))*
16367 & cmplx(sngl(4d0*(-2d0*hdtmr+hdtnr)-1d0/18d0),sngl(paru(1)/6d0))
16370 IF(mstp(46).EQ.3.OR.mstp(46).EQ.5)
THEN
16371 a00u=a00l/(1.-a004/a00l)
16372 a20u=a20l/(1.-a204/a20l)
16373 a11u=a11l/(1.-a114/a11l)
16375 a00u=(a00l+
REAL(a004))/(1.-cmplx(0.,a00l+
REAL(a004)))
16376 a20u=(a20l+
REAL(a204))/(1.-cmplx(0.,a20l+
REAL(a204)))
16377 a11u=(a11l+
REAL(a114))/(1.-cmplx(0.,a11l+
REAL(a114)))
16383 IF(isub.GE.200.AND.isub.LE.280.AND.mstp(42).GT.0)
THEN
16385 kflw=kfpr(isubsv,i)
16387 IF(pmas(kcw,2).LT.parp(41)) goto 160
16388 IF(i.EQ.1) sqmi=sqm3
16389 IF(i.EQ.2) sqmi=sqm4
16390 sqms=pmas(kcw,1)**2
16391 gmms=pmas(kcw,1)*pmas(kcw,2)
16392 hbws=gmms/((sqmi-sqms)**2+gmms**2)
16393 CALL
pywidt(kflw,sqmi,wdtp,wdte)
16394 gmmi=
sqrt(sqmi)*wdtp(0)
16395 hbwi=gmmi/((sqmi-sqms)**2+gmmi**2)
16396 comfac=comfac*(hbwi/hbws)
16402 170
IF(isub.LE.10)
THEN
16406 CALL
pywidt(23,sh,wdtp,wdte)
16408 facz=4d0*comfac*3d0
16411 DO 180 i=mmina,mmaxa
16412 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 180
16413 ei=kchg(iabs(i),1)/3d0
16417 IF(iabs(i).LE.10) hi0=hi0*faca/3d0
16419 IF(iabs(i).LE.10) hi1=hi1*faca/3d0
16424 sigh(nchn)=facz*(ei**2/sh2*hi0*hp0*vint(111)+
16425 & ei*vi*(1d0-sqmz/sh)/((sh-sqmz)**2+hs**2)*
16426 & (hi0*hp1+hi1*hp0)*vint(112)+(vi**2+ai**2)/
16427 & ((sh-sqmz)**2+hs**2)*hi1*hp1*vint(114))
16430 ELSEIF(isub.EQ.2)
THEN
16432 CALL
pywidt(24,sh,wdtp,wdte)
16434 facbw=4d0*comfac/((sh-sqmw)**2+hs**2)*3d0
16435 hp=aem/(24d0*xw)*sh
16436 DO 200 i=mmin1,mmax1
16437 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 200
16439 DO 190 j=mmin2,mmax2
16440 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 190
16442 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 190
16443 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
16445 kchw=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
16447 IF(ia.LE.10) hi=hi*vckm((ia+1)/2,(ja+1)/2)*faca/3d0
16452 hf=shr*(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))
16453 sigh(nchn)=hi*facbw*hf
16457 ELSEIF(isub.EQ.3)
THEN
16459 CALL
pywidt(kfhigg,sh,wdtp,wdte)
16461 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
16462 IF(abs(shr-pmas(kfhigg,1)).GT.parp(48)*pmas(kfhigg,2))
16464 hp=aem/(8d0*xw)*sh/sqmw*sh
16465 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
16466 DO 210 i=mmina,mmaxa
16467 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 210
16469 rmq=pmas(ia,1)**2/sh
16471 IF(ia.LE.10) hi=hp*rmq*faca/3d0
16472 IF(ia.LE.10.AND.mstp(37).EQ.1.AND.mstp(2).GE.1) hi=hi*
16473 & (
log(
max(4d0,parp(37)**2*rmq*sh/paru(117)**2))/
16474 &
log(
max(4d0,sh/paru(117)**2)))**(24d0/(33d0-2d0*mstu(118)))
16475 IF(mstp(4).GE.1.OR.ihigg.GE.2)
THEN
16477 IF(ia.LE.10.AND.
mod(ia,2).EQ.0) ikfi=2
16478 IF(ia.GT.10) ikfi=3
16479 hi=hi*paru(150+10*ihigg+ikfi)**2
16485 sigh(nchn)=hi*facbw*hf
16488 ELSEIF(isub.EQ.4)
THEN
16491 ELSEIF(isub.EQ.5)
THEN
16493 CALL
pywidt(25,sh,wdtp,wdte)
16495 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
16496 IF(abs(shr-pmas(25,1)).GT.parp(48)*pmas(25,2)) facbw=0d0
16497 hp=aem/(8d0*xw)*sh/sqmw*sh
16498 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
16500 faci=8d0/(paru(1)**2*xw1)*(aem*xwc)**2
16501 DO 230 i=mmin1,mmax1
16502 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 230
16503 DO 220 j=mmin2,mmax2
16504 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 220
16505 ei=kchg(iabs(i),1)/3d0
16508 ej=kchg(iabs(j),1)/3d0
16515 sigh(nchn)=faci*(vi**2+ai**2)*(vj**2+aj**2)*hi*facbw*hf
16519 ELSEIF(isub.EQ.6)
THEN
16522 ELSEIF(isub.EQ.7)
THEN
16525 ELSEIF(isub.EQ.8)
THEN
16527 CALL
pywidt(25,sh,wdtp,wdte)
16529 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
16530 IF(abs(shr-pmas(25,1)).GT.parp(48)*pmas(25,2)) facbw=0d0
16531 hp=aem/(8d0*xw)*sh/sqmw*sh
16532 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
16534 faci=1d0/(4d0*paru(1)**2)*(aem/xw)**2
16535 DO 250 i=mmin1,mmax1
16536 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 250
16537 ei=sign(1d0,dble(i))*kchg(iabs(i),1)
16538 DO 240 j=mmin2,mmax2
16539 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 240
16540 ej=sign(1d0,dble(j))*kchg(iabs(j),1)
16541 IF(ei*ej.GT.0d0) goto 240
16546 sigh(nchn)=faci*vint(180+i)*vint(180+j)*hi*facbw*hf
16552 ELSEIF(isub.EQ.10)
THEN
16554 facggf=comfac*aem**2*2d0*(sh2+uh2)/th2
16555 facgzf=comfac*aem**2*xwc*4d0*sh2/(th*(th-sqmz))
16556 faczzf=comfac*(aem*xwc)**2*2d0*sh2/(th-sqmz)**2
16557 facwwf=comfac*(0.5d0*aem/xw)**2*sh2/(th-sqmw)**2
16558 DO 270 i=mmin1,mmax1
16559 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 270
16561 DO 260 j=mmin2,mmax2
16562 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 260
16565 ei=kchg(ia,1)*isign(1,i)/3d0
16566 ai=sign(1d0,kchg(ia,1)+0.5d0)*isign(1,i)
16568 ej=kchg(ja,1)*isign(1,j)/3d0
16569 aj=sign(1d0,kchg(ja,1)+0.5d0)*isign(1,j)
16573 IF(mstp(21).GE.1.AND.mstp(21).LE.4)
THEN
16574 IF(mstp(21).EQ.1.OR.mstp(21).EQ.4)
THEN
16575 facncf=facggf*ei**2*ej**2+facgzf*ei*ej*
16576 & (vi*vj*(1d0+uh2/sh2)+ai*aj*epsij*(1d0-uh2/sh2))+
16577 & faczzf*((vi**2+ai**2)*(vj**2+aj**2)*(1d0+uh2/sh2)+
16578 & 4d0*vi*vj*ai*aj*epsij*(1d0-uh2/sh2))
16579 ELSEIF(mstp(21).EQ.2)
THEN
16580 facncf=facggf*ei**2*ej**2
16582 facncf=faczzf*((vi**2+ai**2)*(vj**2+aj**2)*
16583 & (1d0+uh2/sh2)+4d0*vi*vj*ai*aj*epsij*(1d0-uh2/sh2))
16592 IF((mstp(21).EQ.1.OR.mstp(21).EQ.5).AND.ai*aj.LT.0d0)
THEN
16593 facccf=facwwf*vint(180+i)*vint(180+j)
16594 IF(epsij.LT.0d0) facccf=facccf*uh2/sh2
16595 IF(ia.GT.10.AND.
mod(ia,2).EQ.0) facccf=2d0*facccf
16596 IF(ja.GT.10.AND.
mod(ja,2).EQ.0) facccf=2d0*facccf
16607 ELSEIF(isub.LE.20)
THEN
16608 IF(isub.EQ.11)
THEN
16610 facqq1=comfac*as**2*4d0/9d0*(sh2+uh2)/th2
16611 facqqb=comfac*as**2*4d0/9d0*((sh2+uh2)/th2*faca-
16612 & mstp(34)*2d0/3d0*uh2/(sh*th))
16613 facqq2=comfac*as**2*4d0/9d0*((sh2+th2)/uh2-
16614 & mstp(34)*2d0/3d0*sh2/(th*uh))
16615 IF(mstp(5).GE.1)
THEN
16617 facci1=facqq1+comfac*(sh2/paru(155)**4)
16618 faccib=facqqb+comfac*(8d0/9d0)*(as*paru(156)/paru(155)**2)*
16619 & (uh2/th+uh2/sh)+comfac*(5d0/3d0)*(uh2/paru(155)**4)
16620 facci2=facqq2+comfac*(8d0/9d0)*(as*paru(156)/paru(155)**2)*
16621 & (sh2/th+sh2/uh)+comfac*(5d0/3d0)*(sh2/paru(155)**4)
16622 facci3=facqq1+comfac*(uh2/paru(155)**4)
16624 DO 290 i=mmin1,mmax1
16626 IF(i.EQ.0.OR.ia.GT.mstp(58).OR.kfac(1,i).EQ.0) goto 290
16627 DO 280 j=mmin2,mmax2
16629 IF(j.EQ.0.OR.ja.GT.mstp(58).OR.kfac(2,j).EQ.0) goto 280
16634 IF(mstp(5).LE.0.OR.(mstp(5).EQ.1.AND.(ia.GE.3.OR.
16637 IF(i.EQ.-j) sigh(nchn)=facqqb
16640 IF(i*j.LT.0) sigh(nchn)=facci3
16641 IF(i.EQ.-j) sigh(nchn)=faccib
16644 sigh(nchn)=0.5d0*sigh(nchn)
16649 IF(mstp(5).LE.0.OR.(mstp(5).EQ.1.AND.ia.GE.3))
THEN
16650 sigh(nchn)=0.5d0*facqq2
16652 sigh(nchn)=0.5d0*facci2
16658 ELSEIF(isub.EQ.12)
THEN
16660 CALL
pywidt(21,sh,wdtp,wdte)
16661 facqqb=comfac*as**2*4d0/9d0*(th2+uh2)/sh2*
16662 & (wdte(0,1)+wdte(0,2)+wdte(0,4))
16663 IF(mstp(5).EQ.1)
THEN
16667 faccib=faccib+comfac*(uh2/paru(155)**4)*(wdte(i,1)+
16668 & wdte(i,2)+wdte(i,4))
16670 ELSEIF(mstp(5).GE.2)
THEN
16671 faccib=facqqb+comfac*(uh2/paru(155)**4)*
16672 & (wdte(0,1)+wdte(0,2)+wdte(0,4))
16674 DO 310 i=mmina,mmaxa
16675 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
16676 & kfac(1,i)*kfac(2,-i).EQ.0) goto 310
16681 IF(mstp(5).LE.0.OR.(mstp(5).EQ.1.AND.iabs(i).GE.3))
THEN
16688 ELSEIF(isub.EQ.13)
THEN
16690 facgg1=comfac*as**2*32d0/27d0*(uh/th-(2d0+mstp(34)*1d0/4d0)*
16692 facgg2=comfac*as**2*32d0/27d0*(th/uh-(2d0+mstp(34)*1d0/4d0)*
16694 DO 320 i=mmina,mmaxa
16695 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
16696 & kfac(1,i)*kfac(2,-i).EQ.0) goto 320
16701 sigh(nchn)=0.5d0*facgg1
16706 sigh(nchn)=0.5d0*facgg2
16709 ELSEIF(isub.EQ.14)
THEN
16711 facgg=comfac*as*aem*8d0/9d0*(th2+uh2)/(th*uh)
16712 DO 330 i=mmina,mmaxa
16713 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
16714 & kfac(1,i)*kfac(2,-i).EQ.0) goto 330
16715 ei=kchg(iabs(i),1)/3d0
16720 sigh(nchn)=facgg*ei**2
16723 ELSEIF(isub.EQ.15)
THEN
16725 faczg=comfac*as*aem*(8d0/9d0)*(th2+uh2+2d0*sqm4*sh)/(th*uh)
16730 radc4=1d0+
pyalps(sqm4)/paru(1)
16731 DO 340 i=1,
min(16,mdcy(23,3))
16733 IF(mdme(idc,1).LT.0) goto 340
16735 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
16739 af=sign(1d0,ef+0.1d0)
16741 ELSEIF(i.LE.16)
THEN
16743 af=sign(1d0,ef+0.1d0)
16746 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
16747 IF(4d0*rm1.LT.1d0)
THEN
16749 IF(i.LE.8) fcof=3d0*radc4
16750 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
16752 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
16753 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
16754 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
16755 & af**2*(1d0-4d0*rm1))*be34
16760 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
16763 CALL
pywidt(23,sqm4,wdtp,wdte)
16764 hfaem=(paru(108)/paru(2))*(2d0/3d0)
16765 hfgg=hfgg*hfaem*vint(111)/sqm4
16766 hfgz=hfgz*hfaem*vint(112)/sqm4
16767 hfzz=hfzz*hfaem*vint(114)/sqm4
16769 DO 350 i=mmina,mmaxa
16770 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
16771 & kfac(1,i)*kfac(2,-i).EQ.0) goto 350
16772 ei=kchg(iabs(i),1)/3d0
16779 sigh(nchn)=faczg*(ei**2*hfgg+ei*vi*hfgz+
16780 & (vi**2+ai**2)*hfzz)/hbw4
16783 ELSEIF(isub.EQ.16)
THEN
16785 facwg=comfac*as*aem/xw*2d0/9d0*(th2+uh2+2d0*sqm4*sh)/(th*uh)
16787 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
16788 CALL
pywidt(24,sqm4,wdtp,wdte)
16789 gmmwc=
sqrt(sqm4)*wdtp(0)
16790 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
16791 facwg=facwg*hbw4c/hbw4
16792 DO 370 i=mmin1,mmax1
16794 IF(i.EQ.0.OR.ia.GT.10.OR.kfac(1,i).EQ.0) goto 370
16795 DO 360 j=mmin2,mmax2
16797 IF(j.EQ.0.OR.ja.GT.10.OR.kfac(2,j).EQ.0) goto 360
16798 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 360
16799 kchw=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
16800 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
16801 fckm=vckm((ia+1)/2,(ja+1)/2)
16806 sigh(nchn)=facwg*fckm*widsc
16810 ELSEIF(isub.EQ.17)
THEN
16813 ELSEIF(isub.EQ.18)
THEN
16815 facgg=comfac*aem**2*2d0*(th2+uh2)/(th*uh)
16816 DO 380 i=mmina,mmaxa
16817 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 380
16818 ei=kchg(iabs(i),1)/3d0
16820 IF(iabs(i).LE.10) fcoi=faca/3d0
16825 sigh(nchn)=0.5d0*facgg*fcoi*ei**4
16828 ELSEIF(isub.EQ.19)
THEN
16830 facgz=comfac*2d0*aem**2*(th2+uh2+2d0*sqm4*sh)/(th*uh)
16835 radc4=1d0+
pyalps(sqm4)/paru(1)
16836 DO 390 i=1,
min(16,mdcy(23,3))
16838 IF(mdme(idc,1).LT.0) goto 390
16840 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
16844 af=sign(1d0,ef+0.1d0)
16846 ELSEIF(i.LE.16)
THEN
16848 af=sign(1d0,ef+0.1d0)
16851 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
16852 IF(4d0*rm1.LT.1d0)
THEN
16854 IF(i.LE.8) fcof=3d0*radc4
16855 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
16857 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
16858 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
16859 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
16860 & af**2*(1d0-4d0*rm1))*be34
16865 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
16868 CALL
pywidt(23,sqm4,wdtp,wdte)
16869 hfaem=(paru(108)/paru(2))*(2d0/3d0)
16870 hfgg=hfgg*hfaem*vint(111)/sqm4
16871 hfgz=hfgz*hfaem*vint(112)/sqm4
16872 hfzz=hfzz*hfaem*vint(114)/sqm4
16874 DO 400 i=mmina,mmaxa
16875 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 400
16876 ei=kchg(iabs(i),1)/3d0
16880 IF(iabs(i).LE.10) fcoi=faca/3d0
16885 sigh(nchn)=facgz*fcoi*ei**2*(ei**2*hfgg+ei*vi*hfgz+
16886 & (vi**2+ai**2)*hfzz)/hbw4
16889 ELSEIF(isub.EQ.20)
THEN
16891 facgw=comfac*0.5d0*aem**2/xw
16893 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
16894 CALL
pywidt(24,sqm4,wdtp,wdte)
16895 gmmwc=
sqrt(sqm4)*wdtp(0)
16896 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
16897 facgw=facgw*hbw4c/hbw4
16899 term1=(th2+uh2+2d0*sqm4*sh)/(th*uh)
16902 IF(mstp(5).GE.1)
THEN
16903 term2=paru(153)*(th-uh)/(th+uh)
16904 term3=0.5d0*paru(153)**2*(th*uh+(th2+uh2)*sh/
16905 & (4d0*sqmw))/(th+uh)**2
16907 DO 420 i=mmin1,mmax1
16909 IF(i.EQ.0.OR.ia.GT.20.OR.kfac(1,i).EQ.0) goto 420
16910 DO 410 j=mmin2,mmax2
16912 IF(j.EQ.0.OR.ja.GT.20.OR.kfac(2,j).EQ.0) goto 410
16913 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 410
16914 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
16916 kchw=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
16917 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
16919 facwr=uh/(th+uh)-1d0/3d0
16920 fckm=vckm((ia+1)/2,(ja+1)/2)
16927 facwk=term1*facwr**2+term2*facwr+term3
16932 sigh(nchn)=facgw*facwk*fcoi*fckm*widsc
16937 ELSEIF(isub.LE.30)
THEN
16938 IF(isub.EQ.21)
THEN
16941 ELSEIF(isub.EQ.22)
THEN
16944 faczz=comfac*aem**2*((th2+uh2+2d0*(sqm3+sqm4)*sh)/(th*uh)-
16945 & sqm3*sqm4*(1d0/th2+1d0/uh2))
16952 radc3=1d0+
pyalps(sqm3)/paru(1)
16953 radc4=1d0+
pyalps(sqm4)/paru(1)
16954 DO 450 i=1,
min(16,mdcy(23,3))
16956 IF(mdme(idc,1).LT.0) goto 450
16958 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2) imdm=1
16959 IF(mdme(idc,1).EQ.4.OR.mdme(idc,1).EQ.5) imdm=mdme(idc,1)-2
16962 af=sign(1d0,ef+0.1d0)
16964 ELSEIF(i.LE.16)
THEN
16966 af=sign(1d0,ef+0.1d0)
16969 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm3
16970 IF(4d0*rm1.LT.1d0)
THEN
16972 IF(i.LE.8) fcof=3d0*radc3
16973 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
16975 hgz(1,imdm)=hgz(1,imdm)+fcof*ef**2*(1d0+2d0*rm1)*be34
16976 hgz(2,imdm)=hgz(2,imdm)+fcof*ef*vf*(1d0+2d0*rm1)*be34
16977 hgz(3,imdm)=hgz(3,imdm)+fcof*(vf**2*(1d0+2d0*rm1)+
16978 & af**2*(1d0-4d0*rm1))*be34
16981 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
16982 IF(4d0*rm1.LT.1d0)
THEN
16984 IF(i.LE.8) fcof=3d0*radc4
16985 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
16987 hgz(4,imdm)=hgz(4,imdm)+fcof*ef**2*(1d0+2d0*rm1)*be34
16988 hgz(5,imdm)=hgz(5,imdm)+fcof*ef*vf*(1d0+2d0*rm1)*be34
16989 hgz(6,imdm)=hgz(6,imdm)+fcof*(vf**2*(1d0+2d0*rm1)+
16990 & af**2*(1d0-4d0*rm1))*be34
16995 hbw3=(1d0/paru(1))*gmmz/((sqm3-sqmz)**2+gmmz**2)
16996 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
16999 CALL
pywidt(23,sqm3,wdtp,wdte)
17000 hfaem=(paru(108)/paru(2))*(2d0/3d0)
17002 hgz(1,j)=hgz(1,j)*hfaem*vint(111)/sqm3
17003 hgz(2,j)=hgz(2,j)*hfaem*vint(112)/sqm3
17004 hgz(3,j)=hgz(3,j)*hfaem*vint(114)/sqm3
17007 CALL
pywidt(23,sqm4,wdtp,wdte)
17008 hfaem=(paru(108)/paru(2))*(2d0/3d0)
17010 hgz(4,j)=hgz(4,j)*hfaem*vint(111)/sqm4
17011 hgz(5,j)=hgz(5,j)*hfaem*vint(112)/sqm4
17012 hgz(6,j)=hgz(6,j)*hfaem*vint(114)/sqm4
17015 DO 490 i=mmina,mmaxa
17016 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 490
17017 ei=kchg(iabs(i),1)/3d0
17023 IF(iabs(i).LE.10) fcoi=faca/3d0
17025 hl3(j)=ei**2*hgz(1,j)+ei*vali*hgz(2,j)+vali**2*hgz(3,j)
17026 hr3(j)=ei**2*hgz(1,j)+ei*vari*hgz(2,j)+vari**2*hgz(3,j)
17027 hl4(j)=ei**2*hgz(4,j)+ei*vali*hgz(5,j)+vali**2*hgz(6,j)
17028 hr4(j)=ei**2*hgz(4,j)+ei*vari*hgz(5,j)+vari**2*hgz(6,j)
17030 faclr=hl3(1)*hl4(1)+hl3(1)*(hl4(2)+hl4(3))+
17031 & hl4(1)*(hl3(2)+hl3(3))+hl3(2)*hl4(3)+hl4(2)*hl3(3)+
17032 & hr3(1)*hr4(1)+hr3(1)*(hr4(2)+hr4(3))+
17033 & hr4(1)*(hr3(2)+hr3(3))+hr3(2)*hr4(3)+hr4(2)*hr3(3)
17038 sigh(nchn)=0.5d0*faczz*fcoi*faclr/(hbw3*hbw4)
17041 ELSEIF(isub.EQ.23)
THEN
17043 faczw=comfac*0.5d0*(aem/xw)**2
17044 faczw=faczw*wids(23,2)
17045 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
17046 facbw=1d0/((sh-sqmw)**2+gmmw**2)
17047 DO 510 i=mmin1,mmax1
17049 IF(i.EQ.0.OR.ia.GT.20.OR.kfac(1,i).EQ.0) goto 510
17050 DO 500 j=mmin2,mmax2
17052 IF(j.EQ.0.OR.ja.GT.20.OR.kfac(2,j).EQ.0) goto 500
17053 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 500
17054 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
17056 kchw=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
17058 ai=sign(1d0,ei+0.1d0)
17061 aj=sign(1d0,ej+0.1d0)
17063 IF(vi+ai.GT.0)
THEN
17072 IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
17074 IF(ia.LE.10) fcoi=faca/3d0
17079 sigh(nchn)=faczw*fcoi*fckm*(facbw*((9d0-8d0*xw)/4d0*thuh+
17080 & (8d0*xw-6d0)/4d0*sh*(sqm3+sqm4))+(thuh-sh*(sqm3+sqm4))*
17081 & (sh-sqmw)*facbw*0.5d0*((vj+aj)/th-(vi+ai)/uh)+
17082 & thuh/(16d0*xw1)*((vj+aj)**2/th2+(vi+ai)**2/uh2)+
17083 & sh*(sqm3+sqm4)/(8d0*xw1)*(vi+ai)*(vj+aj)/(th*uh))*
17084 & wids(24,(5-kchw)/2)
17088 ELSEIF(isub.EQ.24)
THEN
17090 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
17091 fachz=comfac*8d0*(aem*xwc)**2*
17092 & (thuh+2d0*sh*sqm3)/((sh-sqmz)**2+gmmz**2)
17093 fachz=fachz*wids(23,2)*wids(kfhigg,2)
17094 IF(mstp(4).GE.1.OR.ihigg.GE.2) fachz=fachz*
17095 & paru(154+10*ihigg)**2
17096 DO 520 i=mmina,mmaxa
17097 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 520
17098 ei=kchg(iabs(i),1)/3d0
17102 IF(iabs(i).LE.10) fcoi=faca/3d0
17107 sigh(nchn)=fachz*fcoi*(vi**2+ai**2)
17110 ELSEIF(isub.EQ.25)
THEN
17113 CALL
pywidt(23,sh,wdtp,wdte)
17115 hbwzc=sh**2/((sh-sqmz)**2+gmmzc**2)
17116 hbw3=gmmw/((sqm3-sqmw)**2+gmmw**2)
17117 CALL
pywidt(24,sqm3,wdtp,wdte)
17118 gmmw3=
sqrt(sqm3)*wdtp(0)
17119 hbw3c=gmmw3/((sqm3-sqmw)**2+gmmw3**2)
17120 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
17121 CALL
pywidt(24,sqm4,wdtp,wdte)
17122 gmmw4=
sqrt(sqm4)*wdtp(0)
17123 hbw4c=gmmw4/((sqm4-sqmw)**2+gmmw4**2)
17125 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
17126 thuh34=(2d0*sh*(sqm3+sqm4)+thuh)/(sqm3*sqm4)
17127 gs=(((sh-sqm3-sqm4)**2-4d0*sqm3*sqm4)*thuh34+12d0*thuh)/sh2
17128 gt=thuh34+4d0*thuh/th2
17129 gst=((sh-sqm3-sqm4)*thuh34+4d0*(sh*(sqm3+sqm4)-thuh)/th)/sh
17130 gu=thuh34+4d0*thuh/uh2
17131 gsu=((sh-sqm3-sqm4)*thuh34+4d0*(sh*(sqm3+sqm4)-thuh)/uh)/sh
17133 facww=comfac*(hbw3c/hbw3)*(hbw4c/hbw4)
17134 facww=facww*wids(24,1)
17136 cgz=aem**2/(4d0*xw)*hbwzc*(1d0-sqmz/sh)
17137 czz=aem**2/(32d0*xw**2)*hbwzc
17138 cng=aem**2/(4d0*xw)
17139 cnz=aem**2/(16d0*xw**2)*hbwzc*(1d0-sqmz/sh)
17140 cnn=aem**2/(16d0*xw**2)
17142 IF(mstp(40).GE.1.AND.mstp(40).LE.3)
THEN
17143 coule=(sh-4d0*sqmw)/(4d0*pmas(24,1))
17144 coulp=
max(1
d-10,0.5d0*be34*
sqrt(sh))
17145 IF(coule.LT.100d0*pmas(24,2))
THEN
17146 coulp1=
sqrt(0.5d0*pmas(24,1)*(
sqrt(coule**2+
17147 & pmas(24,2)**2)-coule))
17149 coulp1=
sqrt(0.5d0*pmas(24,1)*(0.5d0*pmas(24,2)**2/coule))
17151 IF(coule.GT.-100d0*pmas(24,2))
THEN
17152 coulp2=
sqrt(0.5d0*pmas(24,1)*(
sqrt(coule**2+
17153 & pmas(24,2)**2)+coule))
17155 coulp2=
sqrt(0.5d0*pmas(24,1)*(0.5d0*pmas(24,2)**2/
17158 IF(mstp(40).EQ.1)
THEN
17159 couldc=paru(1)-2d0*atan((coulp1**2+coulp2**2-coulp**2)/
17160 &
max(1
d-10,2d0*coulp*coulp1))
17161 faccou=1d0+0.5d0*paru(101)*couldc/
max(1
d-5,be34)
17162 ELSEIF(mstp(40).EQ.2)
THEN
17163 coulck=cmplx(sngl(coulp1),sngl(coulp2))
17164 coulcp=cmplx(0.,sngl(coulp))
17165 coulcd=(coulck+coulcp)/(coulck-coulcp)
17166 coulcr=1.+sngl(paru(101)*
sqrt(sh))/(4.*coulcp)*
log(coulcd)
17167 coulcs=cmplx(0.,0.)
17170 coulxx=(istp-0.5)/nstp
17171 coulcs=coulcs+(1./coulxx)*
log((1.+coulxx*coulcd)/
17172 & (1.+coulxx/coulcd))
17174 coulcr=coulcr+sngl(paru(101)**2*sh)/(16.*coulcp*coulck)*
17176 faccou=abs(coulcr)**2
17177 ELSEIF(mstp(40).EQ.3)
THEN
17178 couldc=paru(1)-2d0*(1d0-be34)**2*atan((coulp1**2+
17179 & coulp2**2-coulp**2)/
max(1
d-10,2d0*coulp*coulp1))
17180 faccou=1d0+0.5d0*paru(101)*couldc/
max(1
d-5,be34)
17182 ELSEIF(mstp(40).EQ.4)
THEN
17183 faccou=1d0+0.5d0*paru(101)*paru(1)/
max(1
d-5,be34)
17190 DO 540 i=mmina,mmaxa
17191 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 540
17192 ei=kchg(iabs(i),1)/3d0
17193 ai=sign(1d0,ei+0.1d0)
17196 IF(iabs(i).LE.10) fcoi=faca/3d0
17198 dsigww=(cgg*ei**2+cgz*vi*ei+czz*(vi**2+ai**2))*gs+
17199 & (cng*ei+cnz*(vi+ai))*gst+cnn*gt
17201 dsigww=(cgg*ei**2+cgz*vi*ei+czz*(vi**2+ai**2))*gs-
17202 & (cng*ei+cnz*(vi+ai))*gsu+cnn*gu
17208 sigh(nchn)=facww*fcoi*dsigww
17211 ELSEIF(isub.EQ.26)
THEN
17213 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
17214 fachw=comfac*0.125d0*(aem/xw)**2*(thuh+2d0*sh*sqm3)/
17215 & ((sh-sqmw)**2+gmmw**2)
17216 fachw=fachw*wids(kfhigg,2)
17217 IF(mstp(4).GE.1.OR.ihigg.GE.2) fachw=fachw*
17218 & paru(155+10*ihigg)**2
17219 DO 560 i=mmin1,mmax1
17221 IF(i.EQ.0.OR.ia.GT.20.OR.kfac(1,i).EQ.0) goto 560
17222 DO 550 j=mmin2,mmax2
17224 IF(j.EQ.0.OR.ja.GT.20.OR.kfac(1,j).EQ.0) goto 550
17225 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 550
17226 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
17228 kchw=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
17230 IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
17232 IF(ia.LE.10) fcoi=faca/3d0
17237 sigh(nchn)=fachw*fcoi*fckm*wids(24,(5-kchw)/2)
17241 ELSEIF(isub.EQ.27)
THEN
17244 ELSEIF(isub.EQ.28)
THEN
17246 facqg1=comfac*as**2*4d0/9d0*((2d0+mstp(34)*1d0/4d0)*uh2/th2-
17248 facqg2=comfac*as**2*4d0/9d0*((2d0+mstp(34)*1d0/4d0)*sh2/th2-
17250 DO 580 i=mmina,mmaxa
17251 IF(i.EQ.0.OR.iabs(i).GT.10) goto 580
17253 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 570
17254 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 570
17257 isig(nchn,3-isde)=21
17262 isig(nchn,3-isde)=21
17268 ELSEIF(isub.EQ.29)
THEN
17270 fgq=comfac*faca*as*aem*1d0/3d0*(sh2+uh2)/(-sh*uh)
17271 DO 600 i=mmina,mmaxa
17272 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 600
17273 ei=kchg(iabs(i),1)/3d0
17276 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 590
17277 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 590
17280 isig(nchn,3-isde)=21
17286 ELSEIF(isub.EQ.30)
THEN
17288 fzq=comfac*faca*as*aem*(1d0/3d0)*(sh2+uh2+2d0*sqm4*th)/
17294 radc4=1d0+
pyalps(sqm4)/paru(1)
17295 DO 610 i=1,
min(16,mdcy(23,3))
17297 IF(mdme(idc,1).LT.0) goto 610
17299 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
17303 af=sign(1d0,ef+0.1d0)
17305 ELSEIF(i.LE.16)
THEN
17307 af=sign(1d0,ef+0.1d0)
17310 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
17311 IF(4d0*rm1.LT.1d0)
THEN
17313 IF(i.LE.8) fcof=3d0*radc4
17314 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
17316 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
17317 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
17318 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
17319 & af**2*(1d0-4d0*rm1))*be34
17324 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
17327 CALL
pywidt(23,sqm4,wdtp,wdte)
17328 hfaem=(paru(108)/paru(2))*(2d0/3d0)
17329 hfgg=hfgg*hfaem*vint(111)/sqm4
17330 hfgz=hfgz*hfaem*vint(112)/sqm4
17331 hfzz=hfzz*hfaem*vint(114)/sqm4
17333 DO 630 i=mmina,mmaxa
17334 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 630
17335 ei=kchg(iabs(i),1)/3d0
17338 faczq=fzq*(ei**2*hfgg+ei*vi*hfgz+
17339 & (vi**2+ai**2)*hfzz)/hbw4
17341 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 620
17342 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 620
17345 isig(nchn,3-isde)=21
17352 ELSEIF(isub.LE.40)
THEN
17353 IF(isub.EQ.31)
THEN
17355 facwq=comfac*faca*as*aem/xw*1d0/12d0*
17356 & (sh2+uh2+2d0*sqm4*th)/(-sh*uh)
17358 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
17359 CALL
pywidt(24,sqm4,wdtp,wdte)
17360 gmmwc=
sqrt(sqm4)*wdtp(0)
17361 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
17362 facwq=facwq*hbw4c/hbw4
17363 DO 650 i=mmina,mmaxa
17364 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 650
17366 kchw=isign(1,kchg(ia,1)*isign(1,i))
17367 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
17369 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 640
17370 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 640
17373 isig(nchn,3-isde)=21
17375 sigh(nchn)=facwq*vint(180+i)*widsc
17379 ELSEIF(isub.EQ.32)
THEN
17382 ELSEIF(isub.EQ.33)
THEN
17384 fgq=comfac*as*aem*8d0/3d0*(sh2+uh2)/(-sh*uh)
17385 DO 670 i=mmina,mmaxa
17386 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 670
17387 ei=kchg(iabs(i),1)/3d0
17390 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,22).EQ.0) goto 660
17391 IF(isde.EQ.2.AND.kfac(1,22)*kfac(2,i).EQ.0) goto 660
17394 isig(nchn,3-isde)=22
17400 ELSEIF(isub.EQ.34)
THEN
17402 fgq=comfac*aem**2*2d0*(sh2+uh2)/(-sh*uh)
17403 DO 690 i=mmina,mmaxa
17404 IF(i.EQ.0) goto 690
17405 ei=kchg(iabs(i),1)/3d0
17408 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,22).EQ.0) goto 680
17409 IF(isde.EQ.2.AND.kfac(1,22)*kfac(2,i).EQ.0) goto 680
17412 isig(nchn,3-isde)=22
17418 ELSEIF(isub.EQ.35)
THEN
17420 fzqn=comfac*2d0*aem**2*(sh2+uh2+2d0*sqm4*th)
17421 fzqd=sqpth*sqm4-sh*uh
17426 radc4=1d0+
pyalps(sqm4)/paru(1)
17427 DO 700 i=1,
min(16,mdcy(23,3))
17429 IF(mdme(idc,1).LT.0) goto 700
17431 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
17435 af=sign(1d0,ef+0.1d0)
17437 ELSEIF(i.LE.16)
THEN
17439 af=sign(1d0,ef+0.1d0)
17442 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
17443 IF(4d0*rm1.LT.1d0)
THEN
17445 IF(i.LE.8) fcof=3d0*radc4
17446 be34=
sqrt(
max(0d0,1d0-4d0*rm1))
17448 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
17449 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
17450 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
17451 & af**2*(1d0-4d0*rm1))*be34
17456 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
17459 CALL
pywidt(23,sqm4,wdtp,wdte)
17460 hfaem=(paru(108)/paru(2))*(2d0/3d0)
17461 hfgg=hfgg*hfaem*vint(111)/sqm4
17462 hfgz=hfgz*hfaem*vint(112)/sqm4
17463 hfzz=hfzz*hfaem*vint(114)/sqm4
17465 DO 720 i=mmina,mmaxa
17466 IF(i.EQ.0) goto 720
17467 ei=kchg(iabs(i),1)/3d0
17470 faczq=ei**2*(ei**2*hfgg+ei*vi*hfgz+
17471 & (vi**2+ai**2)*hfzz)/hbw4
17473 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,22).EQ.0) goto 710
17474 IF(isde.EQ.2.AND.kfac(1,22)*kfac(2,i).EQ.0) goto 710
17477 isig(nchn,3-isde)=22
17479 sigh(nchn)=faczq*fzqn/
max(pmas(iabs(i),1)**2*sqm4,fzqd)
17483 ELSEIF(isub.EQ.36)
THEN
17485 fwq=comfac*aem**2/(2d0*xw)*
17486 & (sh2+uh2+2d0*sqm4*th)/(sqpth*sqm4-sh*uh)
17488 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
17489 CALL
pywidt(24,sqm4,wdtp,wdte)
17490 gmmwc=
sqrt(sqm4)*wdtp(0)
17491 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
17493 DO 740 i=mmina,mmaxa
17494 IF(i.EQ.0) goto 740
17496 eia=abs(kchg(iabs(i),1)/3d0)
17497 facwq=fwq*(eia-sh/(sh+uh))**2
17498 kchw=isign(1,kchg(ia,1)*isign(1,i))
17499 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
17501 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,22).EQ.0) goto 730
17502 IF(isde.EQ.2.AND.kfac(1,22)*kfac(2,i).EQ.0) goto 730
17505 isig(nchn,3-isde)=22
17507 sigh(nchn)=facwq*vint(180+i)*widsc
17511 ELSEIF(isub.EQ.37)
THEN
17514 ELSEIF(isub.EQ.38)
THEN
17517 ELSEIF(isub.EQ.39)
THEN
17520 ELSEIF(isub.EQ.40)
THEN
17524 ELSEIF(isub.LE.50)
THEN
17525 IF(isub.EQ.41)
THEN
17528 ELSEIF(isub.EQ.42)
THEN
17531 ELSEIF(isub.EQ.43)
THEN
17534 ELSEIF(isub.EQ.44)
THEN
17537 ELSEIF(isub.EQ.45)
THEN
17540 ELSEIF(isub.EQ.46)
THEN
17543 ELSEIF(isub.EQ.47)
THEN
17546 ELSEIF(isub.EQ.48)
THEN
17549 ELSEIF(isub.EQ.49)
THEN
17552 ELSEIF(isub.EQ.50)
THEN
17556 ELSEIF(isub.LE.60)
THEN
17557 IF(isub.EQ.51)
THEN
17560 ELSEIF(isub.EQ.52)
THEN
17563 ELSEIF(isub.EQ.53)
THEN
17565 CALL
pywidt(21,sh,wdtp,wdte)
17566 facqq1=comfac*as**2*1d0/6d0*(uh/th-(2d0+mstp(34)*1d0/4d0)*
17567 & uh2/sh2)*(wdte(0,1)+wdte(0,2)+wdte(0,3)+wdte(0,4))*faca
17568 facqq2=comfac*as**2*1d0/6d0*(th/uh-(2d0+mstp(34)*1d0/4d0)*
17569 & th2/sh2)*(wdte(0,1)+wdte(0,2)+wdte(0,3)+wdte(0,4))*faca
17570 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 750
17583 ELSEIF(isub.EQ.54)
THEN
17585 CALL
pywidt(21,sh,wdtp,wdte)
17587 DO 760 i=1,
min(8,mdcy(21,3))
17589 wdtesu=wdtesu+ef**2*(wdte(i,1)+wdte(i,2)+wdte(i,3)+
17592 facqq=comfac*aem*as*wdtesu*(th2+uh2)/(th*uh)
17593 IF(kfac(1,21)*kfac(2,22).NE.0)
THEN
17600 IF(kfac(1,22)*kfac(2,21).NE.0)
THEN
17608 ELSEIF(isub.EQ.55)
THEN
17611 ELSEIF(isub.EQ.56)
THEN
17614 ELSEIF(isub.EQ.57)
THEN
17617 ELSEIF(isub.EQ.58)
THEN
17619 CALL
pywidt(22,sh,wdtp,wdte)
17621 DO 770 i=1,
min(12,mdcy(22,3))
17622 IF(i.LE.8) ef= kchg(i,1)/3d0
17623 IF(i.GE.9) ef= kchg(9+2*(i-8),1)/3d0
17624 wdtesu=wdtesu+ef**2*(wdte(i,1)+wdte(i,2)+wdte(i,3)+
17627 facff=comfac*aem**2*wdtesu*2d0*(th2+uh2)/(th*uh)
17628 IF(kfac(1,22)*kfac(2,22).NE.0)
THEN
17636 ELSEIF(isub.EQ.59)
THEN
17639 ELSEIF(isub.EQ.60)
THEN
17643 ELSEIF(isub.LE.70)
THEN
17644 IF(isub.EQ.61)
THEN
17647 ELSEIF(isub.EQ.62)
THEN
17650 ELSEIF(isub.EQ.63)
THEN
17653 ELSEIF(isub.EQ.64)
THEN
17656 ELSEIF(isub.EQ.65)
THEN
17659 ELSEIF(isub.EQ.66)
THEN
17662 ELSEIF(isub.EQ.67)
THEN
17665 ELSEIF(isub.EQ.68)
THEN
17667 facgg1=comfac*as**2*9d0/4d0*(sh2/th2+2d0*sh/th+3d0+2d0*th/sh+
17669 facgg2=comfac*as**2*9d0/4d0*(uh2/sh2+2d0*uh/sh+3d0+2d0*sh/uh+
17671 facgg3=comfac*as**2*9d0/4d0*(th2/uh2+2d0*th/uh+3d0+2d0*uh/th+
17673 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 780
17678 sigh(nchn)=0.5d0*facgg1
17683 sigh(nchn)=0.5d0*facgg2
17688 sigh(nchn)=0.5d0*facgg3
17691 ELSEIF(isub.EQ.69)
THEN
17693 sqmwe=
max(0.5d0*sqmw,
sqrt(sqm3*sqm4))
17694 fprop=sh2/((sqmwe-th)*(sqmwe-uh))
17695 facww=comfac*6d0*aem**2*(1d0-fprop*(4d0/3d0+2d0*sqmwe/sh)+
17696 & fprop**2*(2d0/3d0+2d0*(sqmwe/sh)**2))*wids(24,1)
17697 IF(kfac(1,22)*kfac(2,22).EQ.0) goto 790
17705 ELSEIF(isub.EQ.70)
THEN
17707 sqmwe=
max(0.5d0*sqmw,
sqrt(sqm3*sqm4))
17708 fprop=(th-sqmwe)**2/(-sh*(sqmwe-uh))
17709 faczw=comfac*6d0*aem**2*(xw1/xw)*
17710 & (1d0-fprop*(4d0/3d0+2d0*sqmwe/(th-sqmwe))+
17711 & fprop**2*(2d0/3d0+2d0*(sqmwe/(th-sqmwe))**2))*wids(23,2)
17712 DO 810 kchw=1,-1,-2
17714 IF(kfac(isde,22)*kfac(3-isde,24*kchw).EQ.0) goto 800
17717 isig(nchn,3-isde)=24*kchw
17719 sigh(nchn)=faczw*wids(24,(5-kchw)/2)
17724 ELSEIF(isub.LE.80)
THEN
17725 IF(isub.EQ.71)
THEN
17727 IF(sh.LE.4.01d0*sqmz) goto 840
17729 IF(mstp(46).LE.2)
THEN
17731 be2=1d0-4d0*sqmz/sh
17732 th=-0.5d0*sh*be2*(1d0-cth)
17733 uh=-0.5d0*sh*be2*(1d0+cth)
17734 IF(
max(th,uh).GT.-1d0) goto 840
17735 shang=1d0/xw1*sqmw/sqmz*(1d0+be2)**2
17736 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
17737 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
17738 thang=1d0/xw1*sqmw/sqmz*(be2-cth)**2
17739 athre=(th-sqmh)/((th-sqmh)**2+gmmh**2)*thang
17740 athim=-gmmh/((th-sqmh)**2+gmmh**2)*thang
17741 uhang=1d0/xw1*sqmw/sqmz*(be2+cth)**2
17742 auhre=(uh-sqmh)/((uh-sqmh)**2+gmmh**2)*uhang
17743 auhim=-gmmh/((uh-sqmh)**2+gmmh**2)*uhang
17744 faczz=comfac*1d0/(4096d0*paru(1)**2*16d0*xw1**2)*
17745 & (aem/xw)**4*(sh/sqmw)**2*(sqmz/sqmw)*sh2
17746 IF(mstp(46).LE.0) faczz=faczz*(ashre**2+ashim**2)
17747 IF(mstp(46).EQ.1) faczz=faczz*((ashre+athre+auhre)**2+
17748 & (ashim+athim+auhim)**2)
17749 IF(mstp(46).EQ.2) faczz=0d0
17753 faczz=comfac*(aem/(16d0*paru(1)*xw*xw1))**2*(64d0/9d0)*
17754 & abs(a00u+2.*a20u)**2
17756 faczz=faczz*wids(23,1)
17758 DO 830 i=mmin1,mmax1
17759 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 830
17760 ei=kchg(iabs(i),1)/3d0
17764 DO 820 j=mmin2,mmax2
17765 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 820
17766 ej=kchg(iabs(j),1)/3d0
17774 sigh(nchn)=0.5d0*faczz*avi*avj
17779 ELSEIF(isub.EQ.72)
THEN
17781 IF(sh.LE.4.01d0*sqmz) goto 870
17783 IF(mstp(46).LE.2)
THEN
17785 be2=
sqrt((1d0-4d0*sqmw/sh)*(1d0-4d0*sqmz/sh))
17787 th=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh-be2*cth)
17788 uh=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh+be2*cth)
17789 IF(
max(th,uh).GT.-1d0) goto 870
17790 shang=4d0*
sqrt(sqmw/(sqmz*xw1))*(1d0-2d0*sqmw/sh)*
17791 & (1d0-2d0*sqmz/sh)
17792 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
17793 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
17794 atwre=xw1/sqmz*sh/(th-sqmw)*((cth-be2)**2*(3d0/2d0+be2/2d0*
17795 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
17796 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
17797 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2+
17798 & 2d0*(sqmw+sqmz)/sh*be2*cth))
17800 auwre=xw1/sqmz*sh/(uh-sqmw)*((cth+be2)**2*(3d0/2d0-be2/2d0*
17801 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
17802 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
17803 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2-
17804 & 2d0*(sqmw+sqmz)/sh*be2*cth))
17806 a4re=2d0*xw1/sqmz*(3d0-cth2-4d0*(sqmw+sqmz)/sh)
17808 facww=comfac*1d0/(4096d0*paru(1)**2*16d0*xw1**2)*
17809 & (aem/xw)**4*(sh/sqmw)**2*(sqmz/sqmw)*sh2
17810 IF(mstp(46).LE.0) facww=facww*(ashre**2+ashim**2)
17811 IF(mstp(46).EQ.1) facww=facww*((ashre+atwre+auwre+a4re)**2+
17812 & (ashim+atwim+auwim+a4im)**2)
17813 IF(mstp(46).EQ.2) facww=facww*((atwre+auwre+a4re)**2+
17814 & (atwim+auwim+a4im)**2)
17818 facww=comfac*(aem/(16d0*paru(1)*xw*xw1))**2*(64d0/9d0)*
17819 & abs(a00u-a20u)**2
17821 facww=facww*wids(24,1)
17823 DO 860 i=mmin1,mmax1
17824 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 860
17825 ei=kchg(iabs(i),1)/3d0
17829 DO 850 j=mmin2,mmax2
17830 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 850
17831 ej=kchg(iabs(j),1)/3d0
17839 sigh(nchn)=facww*avi*avj
17844 ELSEIF(isub.EQ.73)
THEN
17846 IF(sh.LE.2d0*sqmz+2d0*sqmw) goto 900
17848 IF(mstp(46).LE.2)
THEN
17850 be2=1d0-2d0*(sqmz+sqmw)/sh+((sqmz-sqmw)/sh)**2
17851 ep1=1d0-(sqmz-sqmw)/sh
17852 ep2=1d0+(sqmz-sqmw)/sh
17853 th=-0.5d0*sh*be2*(1d0-cth)
17854 uh=(sqmz-sqmw)**2/sh-0.5d0*sh*be2*(1d0+cth)
17855 IF(
max(th,uh).GT.-1d0) goto 900
17856 thang=(be2-ep1*cth)*(be2-ep2*cth)
17857 athre=(th-sqmh)/((th-sqmh)**2+gmmh**2)*thang
17858 athim=-gmmh/((th-sqmh)**2+gmmh**2)*thang
17859 aswre=-xw1/sqmz*sh/(sh-sqmw)*(-be2*(ep1+ep2)**4*cth+
17860 & 1d0/4d0*(be2+ep1*ep2)**2*((ep1-ep2)**2-4d0*be2*cth)+
17861 & 2d0*be2*(be2+ep1*ep2)*(ep1+ep2)**2*cth-
17862 & 1d0/16d0*sh/sqmw*(ep1**2-ep2**2)**2*(be2+ep1*ep2)**2)
17864 auwre=xw1/sqmz*sh/(uh-sqmw)*(-be2*(ep2+ep1*cth)*
17865 & (ep1+ep2*cth)*(be2+ep1*ep2)+be2*(ep2+ep1*cth)*
17866 & (be2+ep1*ep2*cth)*(2d0*ep2-ep2*cth+ep1)-
17867 & be2*(ep2+ep1*cth)**2*(be2-ep2**2*cth)-1d0/8d0*
17868 & (be2+ep1*ep2*cth)**2*((ep1+ep2)**2+2d0*be2*(1d0-cth))+
17869 & 1d0/32d0*sh/sqmw*(be2+ep1*ep2*cth)**2*
17870 & (ep1**2-ep2**2)**2-be2*(ep1+ep2*cth)*(ep2+ep1*cth)*
17871 & (be2+ep1*ep2)+be2*(ep1+ep2*cth)*(be2+ep1*ep2*cth)*
17872 & (2d0*ep1-ep1*cth+ep2)-be2*(ep1+ep2*cth)**2*
17873 & (be2-ep1**2*cth)-1d0/8d0*(be2+ep1*ep2*cth)**2*
17874 & ((ep1+ep2)**2+2d0*be2*(1d0-cth))+1d0/32d0*sh/sqmw*
17875 & (be2+ep1*ep2*cth)**2*(ep1**2-ep2**2)**2)
17877 a4re=xw1/sqmz*(ep1**2*ep2**2*(cth**2-1d0)-
17878 & 2d0*be2*(ep1**2+ep2**2+ep1*ep2)*cth-2d0*be2*ep1*ep2)
17880 faczw=comfac*1d0/(4096d0*paru(1)**2*4d0*xw1)*(aem/xw)**4*
17881 & (sh/sqmw)**2*
sqrt(sqmz/sqmw)*sh2
17882 IF(mstp(46).LE.0) faczw=0d0
17883 IF(mstp(46).EQ.1) faczw=faczw*((athre+aswre+auwre+a4re)**2+
17884 & (athim+aswim+auwim+a4im)**2)
17885 IF(mstp(46).EQ.2) faczw=faczw*((aswre+auwre+a4re)**2+
17886 & (aswim+auwim+a4im)**2)
17890 faczw=comfac*aem**2/(64d0*paru(1)**2*xw**2*xw1)*16d0*
17891 & abs(a20u+3.*a11u*sngl(cth))**2
17893 faczw=faczw*wids(23,2)
17895 DO 890 i=mmin1,mmax1
17896 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 890
17897 ei=kchg(iabs(i),1)/3d0
17901 kchwi=isign(1,kchg(iabs(i),1)*isign(1,i))
17902 DO 880 j=mmin2,mmax2
17903 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 880
17904 ej=kchg(iabs(j),1)/3d0
17908 kchwj=isign(1,kchg(iabs(j),1)*isign(1,j))
17913 sigh(nchn)=faczw*avi*vint(180+j)*wids(24,(5-kchwj)/2)
17918 sigh(nchn)=faczw*vint(180+i)*wids(24,(5-kchwi)/2)*avj
17923 ELSEIF(isub.EQ.75)
THEN
17926 ELSEIF(isub.EQ.76)
THEN
17928 IF(sh.LE.4.01d0*sqmz) goto 930
17930 IF(mstp(46).LE.2)
THEN
17932 be2=
sqrt((1d0-4d0*sqmw/sh)*(1d0-4d0*sqmz/sh))
17934 th=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh-be2*cth)
17935 uh=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh+be2*cth)
17936 IF(
max(th,uh).GT.-1d0) goto 930
17937 shang=4d0*
sqrt(sqmw/(sqmz*xw1))*(1d0-2d0*sqmw/sh)*
17938 & (1d0-2d0*sqmz/sh)
17939 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
17940 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
17941 atwre=xw1/sqmz*sh/(th-sqmw)*((cth-be2)**2*(3d0/2d0+be2/2d0*
17942 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
17943 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
17944 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2+
17945 & 2d0*(sqmw+sqmz)/sh*be2*cth))
17947 auwre=xw1/sqmz*sh/(uh-sqmw)*((cth+be2)**2*(3d0/2d0-be2/2d0*
17948 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
17949 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
17950 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2-
17951 & 2d0*(sqmw+sqmz)/sh*be2*cth))
17953 a4re=2d0*xw1/sqmz*(3d0-cth2-4d0*(sqmw+sqmz)/sh)
17955 faczz=comfac*1d0/(4096d0*paru(1)**2)*(aem/xw)**4*
17957 IF(mstp(46).LE.0) faczz=faczz*(ashre**2+ashim**2)
17958 IF(mstp(46).EQ.1) faczz=faczz*((ashre+atwre+auwre+a4re)**2+
17959 & (ashim+atwim+auwim+a4im)**2)
17960 IF(mstp(46).EQ.2) faczz=faczz*((atwre+auwre+a4re)**2+
17961 & (atwim+auwim+a4im)**2)
17965 faczz=comfac*(aem/(4d0*paru(1)*xw))**2*(64d0/9d0)*
17966 & abs(a00u-a20u)**2
17968 faczz=faczz*wids(23,1)
17970 DO 920 i=mmin1,mmax1
17971 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 920
17972 ei=sign(1d0,dble(i))*kchg(iabs(i),1)
17973 DO 910 j=mmin2,mmax2
17974 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 910
17975 ej=sign(1d0,dble(j))*kchg(iabs(j),1)
17976 IF(ei*ej.GT.0d0) goto 910
17981 sigh(nchn)=0.5d0*faczz*vint(180+i)*vint(180+j)
17986 ELSEIF(isub.EQ.77)
THEN
17988 IF(sh.LE.4.01d0*sqmw) goto 960
17990 IF(mstp(46).LE.2)
THEN
17992 be2=1d0-4d0*sqmw/sh
17996 th=-0.5d0*sh*be2*(1d0-cth)
17997 uh=-0.5d0*sh*be2*(1d0+cth)
17998 IF(
max(th,uh).GT.-1d0) goto 960
18000 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
18001 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
18003 athre=(th-sqmh)/((th-sqmh)**2+gmmh**2)*thang
18004 athim=-gmmh/((th-sqmh)**2+gmmh**2)*thang
18006 auhre=(uh-sqmh)/((uh-sqmh)**2+gmmh**2)*uhang
18007 auhim=-gmmh/((uh-sqmh)**2+gmmh**2)*uhang
18008 sgzang=1d0/sqmw*be2*(3d0-be2)**2*cth
18011 aszre=xw1*sh/(sh-sqmz)*sgzang
18013 tgzang=1d0/sqmw*(be2*(4d0-2d0*be2+be4)+be2*(4d0-10d0*be2+
18014 & be4)*cth+(2d0-11d0*be2+10d0*be4)*cth2+be2*cth3)
18015 atgre=0.5d0*xw*sh/th*tgzang
18017 atzre=0.5d0*xw1*sh/(th-sqmz)*tgzang
18019 ugzang=1d0/sqmw*(be2*(4d0-2d0*be2+be4)-be2*(4d0-10d0*be2+
18020 & be4)*cth+(2d0-11d0*be2+10d0*be4)*cth2-be2*cth3)
18021 augre=0.5d0*xw*sh/uh*ugzang
18023 auzre=0.5d0*xw1*sh/(uh-sqmz)*ugzang
18025 a4are=1d0/sqmw*(1d0+2d0*be2-6d0*be2*cth-cth2)
18027 a4sre=2d0/sqmw*(1d0+2d0*be2-cth2)
18029 fww=comfac*1d0/(4096d0*paru(1)**2)*(aem/xw)**4*
18031 IF(mstp(46).LE.0)
THEN
18036 ELSEIF(mstp(46).EQ.1)
THEN
18037 awware=ashre+athre+asgre+aszre+atgre+atzre+a4are
18038 awwaim=ashim+athim+asgim+aszim+atgim+atzim+a4aim
18039 awwsre=-athre-auhre+atgre+atzre+augre+auzre+a4sre
18040 awwsim=-athim-auhim+atgim+atzim+augim+auzim+a4sim
18042 awware=asgre+aszre+atgre+atzre+a4are
18043 awwaim=asgim+aszim+atgim+atzim+a4aim
18044 awwsre=atgre+atzre+augre+auzre+a4sre
18045 awwsim=atgim+atzim+augim+auzim+a4sim
18047 awwa2=awware**2+awwaim**2
18048 awws2=awwsre**2+awwsim**2
18052 fwwa=comfac*(aem/(4d0*paru(1)*xw))**2*(64d0/9d0)*
18053 & abs(a00u+0.5*a20u+4.5*a11u*sngl(cth))**2
18054 fwws=comfac*(aem/(4d0*paru(1)*xw))**2*64d0*abs(a20u)**2
18057 DO 950 i=mmin1,mmax1
18058 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 950
18059 ei=sign(1d0,dble(i))*kchg(iabs(i),1)
18060 DO 940 j=mmin2,mmax2
18061 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 940
18062 ej=sign(1d0,dble(j))*kchg(iabs(j),1)
18063 IF(ei*ej.LT.0d0)
THEN
18065 IF(mstp(45).EQ.1) goto 940
18066 IF(mstp(46).LE.2) facww=fww*awwa2*wids(24,1)
18067 IF(mstp(46).GE.3) facww=fwwa*wids(24,1)
18070 IF(mstp(45).EQ.2) goto 940
18071 IF(mstp(46).LE.2) facww=fww*awws2
18072 IF(mstp(46).GE.3) facww=fwws
18073 IF(ei.GT.0d0) facww=facww*wids(24,4)
18074 IF(ei.LT.0d0) facww=facww*wids(24,5)
18080 sigh(nchn)=facww*vint(180+i)*vint(180+j)
18081 IF(ei*ej.GT.0d0) sigh(nchn)=0.5d0*sigh(nchn)
18086 ELSEIF(isub.EQ.78)
THEN
18089 ELSEIF(isub.EQ.79)
THEN
18092 ELSEIF(isub.EQ.80)
THEN
18094 fqpi=comfac*(2d0*aem/9d0)*(-sh/th)*(1d0/sh2+1d0/th2)
18096 q2fpsh=0.55d0/
log(
max(2d0,2d0*sh))
18097 delsh=uh*
sqrt(assh*q2fpsh)
18099 q2fpuh=0.55d0/
log(
max(2d0,-2d0*uh))
18100 deluh=sh*
sqrt(asuh*q2fpuh)
18101 DO 980 i=
max(-2,mmina),
min(2,mmaxa)
18102 IF(i.EQ.0) goto 980
18103 ei=kchg(iabs(i),1)/3d0
18104 ej=sign(1d0-abs(ei),ei)
18106 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,22).EQ.0) goto 970
18107 IF(isde.EQ.2.AND.kfac(1,22)*kfac(2,i).EQ.0) goto 970
18110 isig(nchn,3-isde)=22
18112 sigh(nchn)=fqpi*(ei*delsh+ej*deluh)**2
18120 ELSEIF(isub.LE.90)
THEN
18121 IF(isub.EQ.81)
THEN
18123 facqqb=comfac*as**2*4d0/9d0*(((th-sqm3)**2+
18124 & (uh-sqm3)**2)/sh2+2d0*sqm3/sh)
18125 IF(mstp(35).GE.1) facqqb=facqqb*
pyhfth(sh,sqm3,0d0)
18127 IF(mint(55).EQ.6) wid2=wids(6,1)
18128 IF(mint(55).EQ.7.OR.mint(55).EQ.8) wid2=wids(mint(55),1)
18130 DO 990 i=mmina,mmaxa
18131 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
18132 & kfac(1,i)*kfac(2,-i).EQ.0) goto 990
18140 ELSEIF(isub.EQ.82)
THEN
18142 IF(mstp(34).EQ.0)
THEN
18143 facqq1=comfac*faca*as**2*(1d0/6d0)*((uh-sqm3)/(th-sqm3)-
18144 & 2d0*(uh-sqm3)**2/sh2+4d0*(sqm3/sh)*(th*uh-sqm3**2)/
18146 facqq2=comfac*faca*as**2*(1d0/6d0)*((th-sqm3)/(uh-sqm3)-
18147 & 2d0*(th-sqm3)**2/sh2+4d0*(sqm3/sh)*(th*uh-sqm3**2)/
18150 facqq1=comfac*faca*as**2*(1d0/6d0)*((uh-sqm3)/(th-sqm3)-
18151 & 2.25d0*(uh-sqm3)**2/sh2+4.5d0*(sqm3/sh)*(th*uh-sqm3**2)/
18152 & (th-sqm3)**2+0.5d0*sqm3*th/(th-sqm3)**2-sqm3**2/
18154 facqq2=comfac*faca*as**2*(1d0/6d0)*((th-sqm3)/(uh-sqm3)-
18155 & 2.25d0*(th-sqm3)**2/sh2+4.5d0*(sqm3/sh)*(th*uh-sqm3**2)/
18156 & (uh-sqm3)**2+0.5d0*sqm3*uh/(uh-sqm3)**2-sqm3**2/
18159 IF(mstp(35).GE.1)
THEN
18160 fatre=
pyhfth(sh,sqm3,2d0/7d0)
18161 facqq1=facqq1*fatre
18162 facqq2=facqq2*fatre
18165 IF(mint(55).EQ.6) wid2=wids(6,1)
18166 IF(mint(55).EQ.7.OR.mint(55).EQ.8) wid2=wids(mint(55),1)
18169 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1000
18182 ELSEIF(isub.EQ.83)
THEN
18184 facqqs=comfac*(0.5d0*aem/xw)**2*sh*(sh-sqm3)/(sqmw-th)**2
18185 facqqu=comfac*(0.5d0*aem/xw)**2*uh*(uh-sqm3)/(sqmw-th)**2
18186 DO 1020 i=mmin1,mmax1
18187 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1020
18188 DO 1010 j=mmin2,mmax2
18189 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1010
18190 IF(i*j.GT.0.AND.
mod(iabs(i+j),2).EQ.0) goto 1010
18191 IF(i*j.LT.0.AND.
mod(iabs(i+j),2).EQ.1) goto 1010
18192 IF(iabs(i).LT.mint(55).AND.
mod(iabs(i+mint(55)),2).EQ.1)
18198 IF(
mod(mint(55),2).EQ.0) facckm=vckm(mint(55)/2,
18199 & (iabs(i)+1)/2)*vint(180+j)
18200 IF(
mod(mint(55),2).EQ.1) facckm=vckm(iabs(i)/2,
18201 & (mint(55)+1)/2)*vint(180+j)
18204 IF(mint(55).EQ.6) wid2=wids(6,2)
18205 IF(mint(55).EQ.7.OR.mint(55).EQ.8) wid2=
18208 IF(mint(55).EQ.6) wid2=wids(6,3)
18209 IF(mint(55).EQ.7.OR.mint(55).EQ.8) wid2=
18212 IF(i*j.GT.0) sigh(nchn)=facqqs*facckm*wid2
18213 IF(i*j.LT.0) sigh(nchn)=facqqu*facckm*wid2
18215 IF(iabs(j).LT.mint(55).AND.
mod(iabs(j+mint(55)),2).EQ.1)
18221 IF(
mod(mint(55),2).EQ.0) facckm=vckm(mint(55)/2,
18222 & (iabs(j)+1)/2)*vint(180+i)
18223 IF(
mod(mint(55),2).EQ.1) facckm=vckm(iabs(j)/2,
18224 & (mint(55)+1)/2)*vint(180+i)
18226 IF(mint(55).EQ.6) wid2=wids(6,2)
18227 IF(mint(55).EQ.7.OR.mint(55).EQ.8) wid2=
18230 IF(mint(55).EQ.6) wid2=wids(6,3)
18231 IF(mint(55).EQ.7.OR.mint(55).EQ.8) wid2=
18234 IF(i*j.GT.0) sigh(nchn)=facqqs*facckm*wid2
18235 IF(i*j.LT.0) sigh(nchn)=facqqu*facckm*wid2
18240 ELSEIF(isub.EQ.84)
THEN
18242 fmtu=sqm3/(sqm3-th)+sqm3/(sqm3-uh)
18243 facqq=comfac*as*aem*(kchg(iabs(mint(55)),1)/3d0)**2*
18244 & ((sqm3-th)/(sqm3-uh)+(sqm3-uh)/(sqm3-th)+4d0*fmtu*(1d0-fmtu))
18245 IF(mstp(35).GE.1) facqq=facqq*
pyhfth(sh,sqm3,0d0)
18247 IF(mint(55).EQ.6) wid2=wids(6,1)
18248 IF(mint(55).EQ.7.OR.mint(55).EQ.8) wid2=wids(mint(55),1)
18250 IF(kfac(1,21)*kfac(2,22).NE.0)
THEN
18257 IF(kfac(1,22)*kfac(2,21).NE.0)
THEN
18265 ELSEIF(isub.EQ.85)
THEN
18267 fmtu=sqm3/(sqm3-th)+sqm3/(sqm3-uh)
18268 facff=comfac*aem**2*(kchg(iabs(mint(56)),1)/3d0)**4*2d0*
18269 & ((sqm3-th)/(sqm3-uh)+(sqm3-uh)/(sqm3-th)+4d0*fmtu*(1d0-fmtu))
18270 IF(iabs(mint(56)).LT.10) facff=3d0*facff
18271 IF(iabs(mint(56)).LT.10.AND.mstp(35).GE.1)
18272 & facff=facff*
pyhfth(sh,sqm3,1d0)
18274 IF(mint(56).EQ.6) wid2=wids(6,1)
18275 IF(mint(56).EQ.7.OR.mint(56).EQ.8) wid2=wids(mint(56),1)
18276 IF(mint(56).EQ.17) wid2=wids(17,1)
18278 IF(kfac(1,22)*kfac(2,22).NE.0)
THEN
18286 ELSEIF(isub.EQ.86)
THEN
18288 facqqg=comfac*as**3*(5d0/9d0)*parp(38)*
sqrt(sqm3)*
18289 & (((sh*(sh-sqm3))**2+(th*(th-sqm3))**2+(uh*(uh-sqm3))**2)/
18290 & ((th-sqm3)*(uh-sqm3))**2)/(sh-sqm3)**2
18291 IF(kfac(1,21)*kfac(2,21).NE.0)
THEN
18299 ELSEIF(isub.EQ.87)
THEN
18301 pgtw=(sh*th+th*uh+uh*sh)/sh2
18302 qgtw=(sh*th*uh)/sh**3
18304 facqqg=comfac*as**3*4d0*(parp(39)/
sqrt(sqm3))*(1d0/sh)*
18305 & (9d0*rgtw**2*pgtw**4*(rgtw**4-2d0*rgtw**2*pgtw+pgtw**2)-
18306 & 6d0*rgtw*pgtw**3*qgtw*(2d0*rgtw**4-5d0*rgtw**2*pgtw+pgtw**2)-
18307 & pgtw**2*qgtw**2*(rgtw**4+2d0*rgtw**2*pgtw-pgtw**2)+
18308 & 2d0*rgtw*pgtw*qgtw**3*(rgtw**2-pgtw)+6d0*rgtw**2*qgtw**4)/
18309 & (qgtw*(qgtw-rgtw*pgtw)**4)
18310 IF(kfac(1,21)*kfac(2,21).NE.0)
THEN
18318 ELSEIF(isub.EQ.88)
THEN
18320 pgtw=(sh*th+th*uh+uh*sh)/sh2
18321 qgtw=(sh*th*uh)/sh**3
18323 facqqg=comfac*as**3*12d0*(parp(39)/
sqrt(sqm3))*(1d0/sh)*
18324 & pgtw**2*(rgtw*pgtw**2*(rgtw**2-4d0*pgtw)+2d0*qgtw*(-rgtw**4+
18325 & 5d0*rgtw**2*pgtw+pgtw**2)-15d0*rgtw*qgtw**2)/
18326 & (qgtw-rgtw*pgtw)**4
18327 IF(kfac(1,21)*kfac(2,21).NE.0)
THEN
18335 ELSEIF(isub.EQ.89)
THEN
18337 pgtw=(sh*th+th*uh+uh*sh)/sh2
18338 qgtw=(sh*th*uh)/sh**3
18340 facqqg=comfac*as**3*4d0*(parp(39)/
sqrt(sqm3))*(1d0/sh)*
18341 & (12d0*rgtw**2*pgtw**4*(rgtw**4-2d0*rgtw**2*pgtw+pgtw**2)-
18342 & 3d0*rgtw*pgtw**3*qgtw*(8d0*rgtw**4-rgtw**2*pgtw+4d0*pgtw**2)+
18343 & 2d0*pgtw**2*qgtw**2*(-7d0*rgtw**4+43d0*rgtw**2*pgtw+pgtw**2)+
18344 & rgtw*pgtw*qgtw**3*(16d0*rgtw**2-61d0*pgtw)+12d0*rgtw**2*
18345 & qgtw**4)/(qgtw*(qgtw-rgtw*pgtw)**4)
18346 IF(kfac(1,21)*kfac(2,21).NE.0)
THEN
18357 ELSEIF(isub.LE.100)
THEN
18358 IF(isub.EQ.91)
THEN
18362 ELSEIF(isub.EQ.92)
THEN
18366 ELSEIF(isub.EQ.93)
THEN
18370 ELSEIF(isub.EQ.94)
THEN
18374 ELSEIF(isub.EQ.95)
THEN
18378 ELSEIF(isub.EQ.96)
THEN
18380 CALL
pywidt(21,sh,wdtp,wdte)
18383 facqq1=comfac*as**2*4d0/9d0*(sh2+uh2)/th2
18384 facqqb=comfac*as**2*4d0/9d0*((sh2+uh2)/th2*faca-
18385 & mstp(34)*2d0/3d0*uh2/(sh*th))
18386 facqq2=comfac*as**2*4d0/9d0*((sh2+th2)/uh2-
18387 & mstp(34)*2d0/3d0*sh2/(th*uh))
18389 IF(i.EQ.0) goto 1040
18391 IF(j.EQ.0) goto 1030
18397 IF(i.EQ.-j) sigh(nchn)=facqqb
18399 sigh(nchn)=0.5d0*sigh(nchn)
18404 sigh(nchn)=0.5d0*facqq2
18410 facqqb=comfac*as**2*4d0/9d0*(th2+uh2)/sh2*
18411 & (wdte(0,1)+wdte(0,2)+wdte(0,3)+wdte(0,4))
18412 facgg1=comfac*as**2*32d0/27d0*(uh/th-(2d0+mstp(34)*1d0/4d0)*
18414 facgg2=comfac*as**2*32d0/27d0*(th/uh-(2d0+mstp(34)*1d0/4d0)*
18417 IF(i.EQ.0) goto 1050
18427 sigh(nchn)=0.5d0*facgg1
18432 sigh(nchn)=0.5d0*facgg2
18436 facqg1=comfac*as**2*4d0/9d0*((2d0+mstp(34)*1d0/4d0)*uh2/th2-
18438 facqg2=comfac*as**2*4d0/9d0*((2d0+mstp(34)*1d0/4d0)*sh2/th2-
18441 IF(i.EQ.0) goto 1070
18445 isig(nchn,3-isde)=21
18450 isig(nchn,3-isde)=21
18457 facqq1=comfac*as**2*1d0/6d0*(uh/th-(2d0+mstp(34)*1d0/4d0)*
18458 & uh2/sh2)*(wdte(0,1)+wdte(0,2)+wdte(0,3)+wdte(0,4))*faca
18459 facqq2=comfac*as**2*1d0/6d0*(th/uh-(2d0+mstp(34)*1d0/4d0)*
18460 & th2/sh2)*(wdte(0,1)+wdte(0,2)+wdte(0,3)+wdte(0,4))*faca
18461 facgg1=comfac*as**2*9d0/4d0*(sh2/th2+2d0*sh/th+3d0+
18462 & 2d0*th/sh+th2/sh2)*faca
18463 facgg2=comfac*as**2*9d0/4d0*(uh2/sh2+2d0*uh/sh+3d0+
18464 & 2d0*sh/uh+sh2/uh2)*faca
18465 facgg3=comfac*as**2*9d0/4d0*(th2/uh2+2d0*th/uh+3+
18466 & 2d0*uh/th+uh2/th2)
18481 sigh(nchn)=0.5d0*facgg1
18486 sigh(nchn)=0.5d0*facgg2
18491 sigh(nchn)=0.5d0*facgg3
18496 ELSEIF(isub.LE.110)
THEN
18497 IF(isub.EQ.101)
THEN
18500 ELSEIF(isub.EQ.102)
THEN
18502 CALL
pywidt(kfhigg,sh,wdtp,wdte)
18504 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
18505 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
18506 IF(abs(shr-pmas(kfhigg,1)).GT.parp(48)*pmas(kfhigg,2))
18508 hi=shr*wdtp(13)/32d0
18509 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1080
18514 sigh(nchn)=hi*facbw*hf
18517 ELSEIF(isub.EQ.103)
THEN
18519 CALL
pywidt(kfhigg,sh,wdtp,wdte)
18521 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
18522 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
18523 IF(abs(shr-pmas(kfhigg,1)).GT.parp(48)*pmas(kfhigg,2))
18525 hi=shr*wdtp(14)*2d0
18526 IF(kfac(1,22)*kfac(2,22).EQ.0) goto 1090
18531 sigh(nchn)=hi*facbw*hf
18536 ELSEIF(isub.EQ.110)
THEN
18538 thuh=
max(th*uh,sh*ckin(3)**2)
18539 fachg=comfac*(3d0*aem**4)/(2d0*paru(1)**2*xw*sqmw)*sh*thuh
18540 fachg=fachg*wids(kfhigg,2)
18542 cigtot=cmplx(0.,0.)
18543 ciztot=cmplx(0.,0.)
18546 IF(j.LE.2*mstp(1))
THEN
18549 aj=sign(1d0,ej+0.1d0)
18551 balp=sqm4/(2d0*pmas(j,1))**2
18552 bbet=sh/(2d0*pmas(j,1))**2
18553 ELSEIF(j.LE.3*mstp(1))
THEN
18555 jl=2*(j-2*mstp(1))-1
18556 ej=kchg(10+jl,1)/3d0
18557 aj=sign(1d0,ej+0.1d0)
18559 balp=sqm4/(2d0*pmas(10+jl,1))**2
18560 bbet=sh/(2d0*pmas(10+jl,1))**2
18562 balp=sqm4/(2d0*pmas(24,1))**2
18563 bbet=sh/(2d0*pmas(24,1))**2
18565 babi=1d0/(balp-bbet)
18566 IF(balp.LT.1d0)
THEN
18567 f0alp=cmplx(sngl(asin(
sqrt(balp))),0.)
18570 f0alp=cmplx(sngl(
log(
sqrt(balp)+
sqrt(balp-1d0))),
18571 & -sngl(0.5d0*paru(1)))
18574 f2alp=sngl(
sqrt(abs(balp-1d0)/balp))*f0alp
18575 IF(bbet.LT.1d0)
THEN
18576 f0bet=cmplx(sngl(asin(
sqrt(bbet))),0.)
18579 f0bet=cmplx(sngl(
log(
sqrt(bbet)+
sqrt(bbet-1d0))),
18580 & -sngl(0.5d0*paru(1)))
18583 f2bet=sngl(
sqrt(abs(bbet-1d0)/bbet))*f0bet
18584 IF(j.LE.3*mstp(1))
THEN
18585 fif=sngl(0.5d0*babi)+sngl(babi**2)*(sngl(0.5d0*(1d0-balp+
18586 & bbet))*(f1bet-f1alp)+sngl(bbet)*(f2bet-f2alp))
18587 cigtot=cigtot+sngl(fnc*ej**2)*fif
18588 ciztot=ciztot+sngl(fnc*ej*vj)*fif
18591 cigtot=cigtot-0.5*(sngl(babi*(1.5d0+balp))+sngl(babi**2)*
18592 & (sngl(1.5d0-3d0*balp+4d0*bbet)*(f1bet-f1alp)+
18593 & sngl(bbet*(2d0*balp+3d0))*(f2bet-f2alp)))
18594 ciztot=ciztot-sngl(0.5d0*babi*xw1)*(sngl(5d0-txw+2d0*balp*
18595 & (1d0-txw))*(1.+sngl(2d0*babi*bbet)*(f2bet-f2alp))+
18596 & sngl(babi*(4d0*bbet*(3d0-txw)-(2d0*balp-1d0)*(5d0-txw)))*
18600 cigtot=cigtot/sngl(sh)
18601 ciztot=ciztot*sngl(xwc)/cmplx(sngl(sh-sqmz),sngl(gmmz))
18603 DO 1110 i=mmina,mmaxa
18604 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1110
18605 ei=kchg(iabs(i),1)/3d0
18609 IF(iabs(i).LE.10) fcoi=faca/3d0
18614 sigh(nchn)=fachg*fcoi*(abs(sngl(ei)*cigtot+sngl(vi)*
18615 & ciztot)**2+ai**2*abs(ciztot)**2)
18620 ELSEIF(isub.LE.120)
THEN
18621 IF(isub.EQ.111)
THEN
18625 DO 1120 i=1,2*mstp(1)
18629 CALL
pywaux(1,epss,w1sr,w1si)
18630 CALL
pywaux(1,epsh,w1hr,w1hi)
18631 CALL
pywaux(2,epss,w2sr,w2si)
18632 CALL
pywaux(2,epsh,w2hr,w2hi)
18633 a5stur=a5stur+epsh*(1d0+sh/(th+uh)*(w1sr-w1hr)+
18634 & (0.25d0-sqmq/(th+uh))*(w2sr-w2hr))
18635 a5stui=a5stui+epsh*(sh/(th+uh)*(w1si-w1hi)+
18636 & (0.25d0-sqmq/(th+uh))*(w2si-w2hi))
18638 facgh=comfac*faca/(144d0*paru(1)**2)*aem/xw*as**3*sqmh/sqmw*
18639 & sqmh/sh*(uh**2+th**2)/(uh+th)**2*(a5stur**2+a5stui**2)
18640 facgh=facgh*wids(25,2)
18641 DO 1130 i=mmina,mmaxa
18642 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
18643 & kfac(1,i)*kfac(2,-i).EQ.0) goto 1130
18651 ELSEIF(isub.EQ.112)
THEN
18655 DO 1140 i=1,2*mstp(1)
18659 CALL
pywaux(1,epst,w1tr,w1ti)
18660 CALL
pywaux(1,epsh,w1hr,w1hi)
18661 CALL
pywaux(2,epst,w2tr,w2ti)
18662 CALL
pywaux(2,epsh,w2hr,w2hi)
18663 a5tsur=a5tsur+epsh*(1d0+th/(sh+uh)*(w1tr-w1hr)+
18664 & (0.25d0-sqmq/(sh+uh))*(w2tr-w2hr))
18665 a5tsui=a5tsui+epsh*(th/(sh+uh)*(w1ti-w1hi)+
18666 & (0.25d0-sqmq/(sh+uh))*(w2ti-w2hi))
18668 facqh=comfac*faca/(384d0*paru(1)**2)*aem/xw*as**3*sqmh/sqmw*
18669 & sqmh/(-th)*(uh**2+sh**2)/(uh+sh)**2*(a5tsur**2+a5tsui**2)
18670 facqh=facqh*wids(25,2)
18671 DO 1160 i=mmina,mmaxa
18672 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 1160
18674 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 1150
18675 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 1150
18678 isig(nchn,3-isde)=21
18684 ELSEIF(isub.EQ.113)
THEN
18694 DO 1170 i=1,2*mstp(1)
18700 IF(epsh.LT.1.
d-6) goto 1170
18701 CALL
pywaux(1,epss,w1sr,w1si)
18702 CALL
pywaux(1,epst,w1tr,w1ti)
18703 CALL
pywaux(1,epsu,w1ur,w1ui)
18704 CALL
pywaux(1,epsh,w1hr,w1hi)
18705 CALL
pywaux(2,epss,w2sr,w2si)
18706 CALL
pywaux(2,epst,w2tr,w2ti)
18707 CALL
pywaux(2,epsu,w2ur,w2ui)
18708 CALL
pywaux(2,epsh,w2hr,w2hi)
18709 CALL
pyi3au(epss,th/uh,y3stur,y3stui)
18710 CALL
pyi3au(epss,uh/th,y3sutr,y3suti)
18711 CALL
pyi3au(epst,sh/uh,y3tsur,y3tsui)
18712 CALL
pyi3au(epst,uh/sh,y3tusr,y3tusi)
18713 CALL
pyi3au(epsu,sh/th,y3ustr,y3usti)
18714 CALL
pyi3au(epsu,th/sh,y3utsr,y3utsi)
18715 CALL
pyi3au(epsh,sqmh/sh*th/uh,yhstur,yhstui)
18716 CALL
pyi3au(epsh,sqmh/sh*uh/th,yhsutr,yhsuti)
18717 CALL
pyi3au(epsh,sqmh/th*sh/uh,yhtsur,yhtsui)
18718 CALL
pyi3au(epsh,sqmh/th*uh/sh,yhtusr,yhtusi)
18719 CALL
pyi3au(epsh,sqmh/uh*sh/th,yhustr,yhusti)
18720 CALL
pyi3au(epsh,sqmh/uh*th/sh,yhutsr,yhutsi)
18721 w3stur=yhstur-y3stur-y3utsr
18722 w3stui=yhstui-y3stui-y3utsi
18723 w3sutr=yhsutr-y3sutr-y3tusr
18724 w3suti=yhsuti-y3suti-y3tusi
18725 w3tsur=yhtsur-y3tsur-y3ustr
18726 w3tsui=yhtsui-y3tsui-y3usti
18727 w3tusr=yhtusr-y3tusr-y3sutr
18728 w3tusi=yhtusi-y3tusi-y3suti
18729 w3ustr=yhustr-y3ustr-y3tsur
18730 w3usti=yhusti-y3usti-y3tsui
18731 w3utsr=yhutsr-y3utsr-y3stur
18732 w3utsi=yhutsi-y3utsi-y3stui
18733 b2stur=sqmq/sqmh**2*(sh*(uh-sh)/(sh+uh)+2d0*th*uh*
18734 & (uh+2d0*sh)/(sh+uh)**2*(w1tr-w1hr)+(sqmq-sh/4d0)*
18735 & (0.5d0*w2sr+0.5d0*w2hr-w2tr+w3stur)+sh2*(2d0*sqmq/
18736 & (sh+uh)**2-0.5d0/(sh+uh))*(w2tr-w2hr)+0.5d0*th*uh/sh*
18737 & (w2hr-2d0*w2tr)+0.125d0*(sh-12d0*sqmq-4d0*th*uh/sh)*w3tsur)
18738 b2stui=sqmq/sqmh**2*(2d0*th*uh*(uh+2d0*sh)/(sh+uh)**2*
18739 & (w1ti-w1hi)+(sqmq-sh/4d0)*(0.5d0*w2si+0.5d0*w2hi-w2ti+
18740 & w3stui)+sh2*(2d0*sqmq/(sh+uh)**2-0.5d0/(sh+uh))*
18741 & (w2ti-w2hi)+0.5d0*th*uh/sh*(w2hi-2d0*w2ti)+0.125d0*
18742 & (sh-12d0*sqmq-4d0*th*uh/sh)*w3tsui)
18743 b2sutr=sqmq/sqmh**2*(sh*(th-sh)/(sh+th)+2d0*uh*th*
18744 & (th+2d0*sh)/(sh+th)**2*(w1ur-w1hr)+(sqmq-sh/4d0)*
18745 & (0.5d0*w2sr+0.5d0*w2hr-w2ur+w3sutr)+sh2*(2d0*sqmq/
18746 & (sh+th)**2-0.5d0/(sh+th))*(w2ur-w2hr)+0.5d0*uh*th/sh*
18747 & (w2hr-2d0*w2ur)+0.125d0*(sh-12d0*sqmq-4d0*uh*th/sh)*w3ustr)
18748 b2suti=sqmq/sqmh**2*(2d0*uh*th*(th+2d0*sh)/(sh+th)**2*
18749 & (w1ui-w1hi)+(sqmq-sh/4d0)*(0.5d0*w2si+0.5d0*w2hi-w2ui+
18750 & w3suti)+sh2*(2d0*sqmq/(sh+th)**2-0.5d0/(sh+th))*
18751 & (w2ui-w2hi)+0.5d0*uh*th/sh*(w2hi-2d0*w2ui)+0.125d0*
18752 & (sh-12d0*sqmq-4d0*uh*th/sh)*w3usti)
18753 b2tsur=sqmq/sqmh**2*(th*(uh-th)/(th+uh)+2d0*sh*uh*
18754 & (uh+2d0*th)/(th+uh)**2*(w1sr-w1hr)+(sqmq-th/4d0)*
18755 & (0.5d0*w2tr+0.5d0*w2hr-w2sr+w3tsur)+th2*(2d0*sqmq/
18756 & (th+uh)**2-0.5d0/(th+uh))*(w2sr-w2hr)+0.5d0*sh*uh/th*
18757 & (w2hr-2d0*w2sr)+0.125d0*(th-12d0*sqmq-4d0*sh*uh/th)*w3stur)
18758 b2tsui=sqmq/sqmh**2*(2d0*sh*uh*(uh+2d0*th)/(th+uh)**2*
18759 & (w1si-w1hi)+(sqmq-th/4d0)*(0.5d0*w2ti+0.5d0*w2hi-w2si+
18760 & w3tsui)+th2*(2d0*sqmq/(th+uh)**2-0.5d0/(th+uh))*
18761 & (w2si-w2hi)+0.5d0*sh*uh/th*(w2hi-2d0*w2si)+0.125d0*
18762 & (th-12d0*sqmq-4d0*sh*uh/th)*w3stui)
18763 b2tusr=sqmq/sqmh**2*(th*(sh-th)/(th+sh)+2d0*uh*sh*
18764 & (sh+2d0*th)/(th+sh)**2*(w1ur-w1hr)+(sqmq-th/4d0)*
18765 & (0.5d0*w2tr+0.5d0*w2hr-w2ur+w3tusr)+th2*(2d0*sqmq/
18766 & (th+sh)**2-0.5d0/(th+sh))*(w2ur-w2hr)+0.5d0*uh*sh/th*
18767 & (w2hr-2d0*w2ur)+0.125d0*(th-12d0*sqmq-4d0*uh*sh/th)*w3utsr)
18768 b2tusi=sqmq/sqmh**2*(2d0*uh*sh*(sh+2d0*th)/(th+sh)**2*
18769 & (w1ui-w1hi)+(sqmq-th/4d0)*(0.5d0*w2ti+0.5d0*w2hi-w2ui+
18770 & w3tusi)+th2*(2d0*sqmq/(th+sh)**2-0.5d0/(th+sh))*
18771 & (w2ui-w2hi)+0.5d0*uh*sh/th*(w2hi-2d0*w2ui)+0.125d0*
18772 & (th-12d0*sqmq-4d0*uh*sh/th)*w3utsi)
18773 b2ustr=sqmq/sqmh**2*(uh*(th-uh)/(uh+th)+2d0*sh*th*
18774 & (th+2d0*uh)/(uh+th)**2*(w1sr-w1hr)+(sqmq-uh/4d0)*
18775 & (0.5d0*w2ur+0.5d0*w2hr-w2sr+w3ustr)+uh2*(2d0*sqmq/
18776 & (uh+th)**2-0.5d0/(uh+th))*(w2sr-w2hr)+0.5d0*sh*th/uh*
18777 & (w2hr-2d0*w2sr)+0.125d0*(uh-12d0*sqmq-4d0*sh*th/uh)*w3sutr)
18778 b2usti=sqmq/sqmh**2*(2d0*sh*th*(th+2d0*uh)/(uh+th)**2*
18779 & (w1si-w1hi)+(sqmq-uh/4d0)*(0.5d0*w2ui+0.5d0*w2hi-w2si+
18780 & w3usti)+uh2*(2d0*sqmq/(uh+th)**2-0.5d0/(uh+th))*
18781 & (w2si-w2hi)+0.5d0*sh*th/uh*(w2hi-2d0*w2si)+0.125d0*
18782 & (uh-12d0*sqmq-4d0*sh*th/uh)*w3suti)
18783 b2utsr=sqmq/sqmh**2*(uh*(sh-uh)/(uh+sh)+2d0*th*sh*
18784 & (sh+2d0*uh)/(uh+sh)**2*(w1tr-w1hr)+(sqmq-uh/4d0)*
18785 & (0.5d0*w2ur+0.5d0*w2hr-w2tr+w3utsr)+uh2*(2d0*sqmq/
18786 & (uh+sh)**2-0.5d0/(uh+sh))*(w2tr-w2hr)+0.5d0*th*sh/uh*
18787 & (w2hr-2d0*w2tr)+0.125d0*(uh-12d0*sqmq-4d0*th*sh/uh)*w3tusr)
18788 b2utsi=sqmq/sqmh**2*(2d0*th*sh*(sh+2d0*uh)/(uh+sh)**2*
18789 & (w1ti-w1hi)+(sqmq-uh/4d0)*(0.5d0*w2ui+0.5d0*w2hi-w2ti+
18790 & w3utsi)+uh2*(2d0*sqmq/(uh+sh)**2-0.5d0/(uh+sh))*
18791 & (w2ti-w2hi)+0.5d0*th*sh/uh*(w2hi-2d0*w2ti)+0.125d0*
18792 & (uh-12d0*sqmq-4d0*th*sh/uh)*w3tusi)
18793 b4stur=0.25d0*epsh*(-2d0/3d0+0.25d0*(epsh-1d0)*
18794 & (w2sr-w2hr+w3stur))
18795 b4stui=0.25d0*epsh*0.25d0*(epsh-1d0)*(w2si-w2hi+w3stui)
18796 b4tusr=0.25d0*epsh*(-2d0/3d0+0.25d0*(epsh-1d0)*
18797 & (w2tr-w2hr+w3tusr))
18798 b4tusi=0.25d0*epsh*0.25d0*(epsh-1d0)*(w2ti-w2hi+w3tusi)
18799 b4ustr=0.25d0*epsh*(-2d0/3d0+0.25d0*(epsh-1d0)*
18800 & (w2ur-w2hr+w3ustr))
18801 b4usti=0.25d0*epsh*0.25d0*(epsh-1d0)*(w2ui-w2hi+w3usti)
18802 a2stur=a2stur+b2stur+b2sutr
18803 a2stui=a2stui+b2stui+b2suti
18804 a2ustr=a2ustr+b2ustr+b2utsr
18805 a2usti=a2usti+b2usti+b2utsi
18806 a2tusr=a2tusr+b2tusr+b2tsur
18807 a2tusi=a2tusi+b2tusi+b2tsui
18808 a4stur=a4stur+b4stur+b4ustr+b4tusr
18809 a4stui=a4stui+b4stui+b4usti+b4tusi
18811 facgh=comfac*faca*3d0/(128d0*paru(1)**2)*aem/xw*as**3*
18812 & sqmh/sqmw*sqmh**3/(sh*th*uh)*(a2stur**2+a2stui**2+a2ustr**2+
18813 & a2usti**2+a2tusr**2+a2tusi**2+a4stur**2+a4stui**2)
18814 facgh=facgh*wids(25,2)
18815 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1180
18823 ELSEIF(isub.EQ.114.OR.isub.EQ.115)
THEN
18839 IF(mstp(38).GE.1.AND.mstp(38).LE.8) imax=mstp(38)
18841 ei=kchg(iabs(i),1)/3d0
18843 IF(isub.EQ.115) eiwt=ei
18848 IF((mstp(38).GE.1.AND.mstp(38).LE.8).OR.epss.LT.1.
d-4)
THEN
18849 b0stur=1d0+(th-uh)/sh*altu+0.5d0*(th2+uh2)/sh2*(altu**2+
18852 b0tsur=1d0+(sh-uh)/th*alsu+0.5d0*(sh2+uh2)/th2*alsu**2
18853 b0tsui=-paru(1)*((sh-uh)/th+(sh2+uh2)/th2*alsu)
18854 b0utsr=1d0+(sh-th)/uh*alst+0.5d0*(sh2+th2)/uh2*alst**2
18855 b0utsi=-paru(1)*((sh-th)/uh+(sh2+th2)/uh2*alst)
18861 CALL
pywaux(1,epss,w1sr,w1si)
18862 CALL
pywaux(1,epst,w1tr,w1ti)
18863 CALL
pywaux(1,epsu,w1ur,w1ui)
18864 CALL
pywaux(2,epss,w2sr,w2si)
18865 CALL
pywaux(2,epst,w2tr,w2ti)
18866 CALL
pywaux(2,epsu,w2ur,w2ui)
18867 CALL
pyi3au(epss,th/uh,y3stur,y3stui)
18868 CALL
pyi3au(epss,uh/th,y3sutr,y3suti)
18869 CALL
pyi3au(epst,sh/uh,y3tsur,y3tsui)
18870 CALL
pyi3au(epst,uh/sh,y3tusr,y3tusi)
18871 CALL
pyi3au(epsu,sh/th,y3ustr,y3usti)
18872 CALL
pyi3au(epsu,th/sh,y3utsr,y3utsi)
18873 b0stur=1d0+(1d0+2d0*th/sh)*w1tr+(1d0+2d0*uh/sh)*w1ur+
18874 & 0.5d0*((th2+uh2)/sh2-epss)*(w2tr+w2ur)-
18875 & 0.25d0*epst*(1d0-0.5d0*epss)*(y3sutr+y3tusr)-
18876 & 0.25d0*epsu*(1d0-0.5d0*epss)*(y3stur+y3utsr)+
18877 & 0.25d0*(-2d0*(th2+uh2)/sh2+4d0*epss+epst+epsu+
18878 & 0.5d0*epst*epsu)*(y3tsur+y3ustr)
18879 b0stui=(1d0+2d0*th/sh)*w1ti+(1d0+2d0*uh/sh)*w1ui+
18880 & 0.5d0*((th2+uh2)/sh2-epss)*(w2ti+w2ui)-
18881 & 0.25d0*epst*(1d0-0.5d0*epss)*(y3suti+y3tusi)-
18882 & 0.25d0*epsu*(1d0-0.5d0*epss)*(y3stui+y3utsi)+
18883 & 0.25d0*(-2d0*(th2+uh2)/sh2+4d0*epss+epst+epsu+
18884 & 0.5d0*epst*epsu)*(y3tsui+y3usti)
18885 b0tsur=1d0+(1d0+2d0*sh/th)*w1sr+(1d0+2d0*uh/th)*w1ur+
18886 & 0.5d0*((sh2+uh2)/th2-epst)*(w2sr+w2ur)-
18887 & 0.25d0*epss*(1d0-0.5d0*epst)*(y3tusr+y3sutr)-
18888 & 0.25d0*epsu*(1d0-0.5d0*epst)*(y3tsur+y3ustr)+
18889 & 0.25d0*(-2d0*(sh2+uh2)/th2+4d0*epst+epss+epsu+
18890 & 0.5d0*epss*epsu)*(y3stur+y3utsr)
18891 b0tsui=(1d0+2d0*sh/th)*w1si+(1d0+2d0*uh/th)*w1ui+
18892 & 0.5d0*((sh2+uh2)/th2-epst)*(w2si+w2ui)-
18893 & 0.25d0*epss*(1d0-0.5d0*epst)*(y3tusi+y3suti)-
18894 & 0.25d0*epsu*(1d0-0.5d0*epst)*(y3tsui+y3usti)+
18895 & 0.25d0*(-2d0*(sh2+uh2)/th2+4d0*epst+epss+epsu+
18896 & 0.5d0*epss*epsu)*(y3stui+y3utsi)
18897 b0utsr=1d0+(1d0+2d0*th/uh)*w1tr+(1d0+2d0*sh/uh)*w1sr+
18898 & 0.5d0*((th2+sh2)/uh2-epsu)*(w2tr+w2sr)-
18899 & 0.25d0*epst*(1d0-0.5d0*epsu)*(y3ustr+y3tsur)-
18900 & 0.25d0*epss*(1d0-0.5d0*epsu)*(y3utsr+y3stur)+
18901 & 0.25d0*(-2d0*(th2+sh2)/uh2+4d0*epsu+epst+epss+
18902 & 0.5d0*epst*epss)*(y3tusr+y3sutr)
18903 b0utsi=(1d0+2d0*th/uh)*w1ti+(1d0+2d0*sh/uh)*w1si+
18904 & 0.5d0*((th2+sh2)/uh2-epsu)*(w2ti+w2si)-
18905 & 0.25d0*epst*(1d0-0.5d0*epsu)*(y3usti+y3tsui)-
18906 & 0.25d0*epss*(1d0-0.5d0*epsu)*(y3utsi+y3stui)+
18907 & 0.25d0*(-2d0*(th2+sh2)/uh2+4d0*epsu+epst+epss+
18908 & 0.5d0*epst*epss)*(y3tusi+y3suti)
18909 b1stur=-1d0-0.25d0*(epss+epst+epsu)*(w2sr+w2tr+w2ur)+
18910 & 0.25d0*(epsu+0.5d0*epss*epst)*(y3sutr+y3tusr)+
18911 & 0.25d0*(epst+0.5d0*epss*epsu)*(y3stur+y3utsr)+
18912 & 0.25d0*(epss+0.5d0*epst*epsu)*(y3tsur+y3ustr)
18913 b1stui=-0.25d0*(epss+epst+epsu)*(w2si+w2ti+w2ui)+
18914 & 0.25d0*(epsu+0.5d0*epss*epst)*(y3suti+y3tusi)+
18915 & 0.25d0*(epst+0.5d0*epss*epsu)*(y3stui+y3utsi)+
18916 & 0.25d0*(epss+0.5d0*epst*epsu)*(y3tsui+y3usti)
18917 b2stur=-1d0+0.125d0*epss*epst*(y3sutr+y3tusr)+
18918 & 0.125d0*epss*epsu*(y3stur+y3utsr)+
18919 & 0.125d0*epst*epsu*(y3tsur+y3ustr)
18920 b2stui=0.125d0*epss*epst*(y3suti+y3tusi)+
18921 & 0.125d0*epss*epsu*(y3stui+y3utsi)+
18922 & 0.125d0*epst*epsu*(y3tsui+y3usti)
18924 a0stur=a0stur+eiwt*b0stur
18925 a0stui=a0stui+eiwt*b0stui
18926 a0tsur=a0tsur+eiwt*b0tsur
18927 a0tsui=a0tsui+eiwt*b0tsui
18928 a0utsr=a0utsr+eiwt*b0utsr
18929 a0utsi=a0utsi+eiwt*b0utsi
18930 a1stur=a1stur+eiwt*b1stur
18931 a1stui=a1stui+eiwt*b1stui
18932 a2stur=a2stur+eiwt*b2stur
18933 a2stui=a2stui+eiwt*b2stui
18935 asqsum=a0stur**2+a0stui**2+a0tsur**2+a0tsui**2+a0utsr**2+
18936 & a0utsi**2+4d0*a1stur**2+4d0*a1stui**2+a2stur**2+a2stui**2
18937 facgg=comfac*faca/(16d0*paru(1)**2)*as**2*aem**2*asqsum
18938 facgp=comfac*faca*5d0/(192d0*paru(1)**2)*as**3*aem*asqsum
18939 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1200
18944 IF(isub.EQ.114) sigh(nchn)=0.5d0*facgg
18945 IF(isub.EQ.115) sigh(nchn)=facgp
18948 ELSEIF(isub.EQ.116)
THEN
18951 ELSEIF(isub.EQ.117)
THEN
18954 ELSEIF(isub.EQ.118)
THEN
18961 ELSEIF(isub.LE.140)
THEN
18962 IF(isub.EQ.121)
THEN
18964 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1210
18967 facqqh=comfac*(4d0*paru(1)*aem/xw)*(4d0*paru(1)*as)**2*
18968 & (0.5d0*pmf/pmas(24,1))**2
18969 IF(ia.LE.10.AND.mstp(37).EQ.1.AND.mstp(2).GE.1) facqqh=
18970 & facqqh*(
log(
max(4d0,parp(37)**2*pmf**2/paru(117)**2))/
18971 &
log(
max(4d0,sh/paru(117)**2)))**(24d0/(33d0-2d0*mstu(118)))
18973 IF(ia.EQ.6.OR.ia.EQ.7.OR.ia.EQ.8) wid2=wids(ia,1)
18975 IF(mstp(4).GE.1.OR.ihigg.GE.2)
THEN
18977 IF(ia.LE.10.AND.
mod(ia,2).EQ.0) ikfi=2
18978 IF(ia.GT.10) ikfi=3
18979 facqqh=facqqh*paru(150+10*ihigg+ikfi)**2
18982 CALL
pywidt(kfhigg,sh,wdtp,wdte)
18984 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
18985 facbw=(1d0/paru(1))*vint(2)*hf/((sh-sqmh)**2+hs**2)
18986 IF(abs(shr-pmas(kfhigg,1)).GT.parp(48)*pmas(kfhigg,2))
18992 sigh(nchn)=facqqh*wtqqbh*facbw
18995 ELSEIF(isub.EQ.122)
THEN
18999 facqqh=comfac*(4d0*paru(1)*aem/xw)*(4d0*paru(1)*as)**2*
19000 & (0.5d0*pmf/pmas(24,1))**2
19001 IF(ia.LE.10.AND.mstp(37).EQ.1.AND.mstp(2).GE.1) facqqh=
19002 & facqqh*(
log(
max(4d0,parp(37)**2*pmf**2/paru(117)**2))/
19003 &
log(
max(4d0,sh/paru(117)**2)))**(24d0/(33d0-2d0*mstu(118)))
19005 IF(ia.EQ.6.OR.ia.EQ.7.OR.ia.EQ.8) wid2=wids(ia,1)
19007 IF(mstp(4).GE.1.OR.ihigg.GE.2)
THEN
19009 IF(ia.LE.10.AND.
mod(ia,2).EQ.0) ikfi=2
19010 IF(ia.GT.10) ikfi=3
19011 facqqh=facqqh*paru(150+10*ihigg+ikfi)**2
19014 CALL
pywidt(kfhigg,sh,wdtp,wdte)
19016 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
19017 facbw=(1d0/paru(1))*vint(2)*hf/((sh-sqmh)**2+hs**2)
19018 IF(abs(shr-pmas(kfhigg,1)).GT.parp(48)*pmas(kfhigg,2))
19020 DO 1220 i=mmina,mmaxa
19021 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
19022 & kfac(1,i)*kfac(2,-i).EQ.0) goto 1220
19027 sigh(nchn)=facqqh*wtqqbh*facbw
19030 ELSEIF(isub.EQ.123)
THEN
19033 facnor=comfac*(4d0*paru(1)*aem/(xw*xw1))**3*sqmz/32d0
19034 IF(mstp(4).GE.1.OR.ihigg.GE.2) facnor=facnor*
19035 & paru(154+10*ihigg)**2
19036 facprp=1d0/((vint(215)-vint(204)**2)*
19037 & (vint(216)-vint(209)**2))**2
19038 faczz1=facnor*facprp*(0.5d0*taup*vint(2))*vint(219)
19039 faczz2=facnor*facprp*vint(217)*vint(218)
19040 CALL
pywidt(kfhigg,sh,wdtp,wdte)
19042 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
19043 facbw=(1d0/paru(1))*vint(2)*hf/((sh-sqmh)**2+hs**2)
19044 IF(abs(shr-pmas(kfhigg,1)).GT.parp(48)*pmas(kfhigg,2))
19046 DO 1240 i=mmin1,mmax1
19047 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1240
19049 DO 1230 j=mmin2,mmax2
19050 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1230
19052 ei=kchg(ia,1)*isign(1,i)/3d0
19053 ai=sign(1d0,kchg(ia,1)+0.5d0)*isign(1,i)
19055 ej=kchg(ja,1)*isign(1,j)/3d0
19056 aj=sign(1d0,kchg(ja,1)+0.5d0)*isign(1,j)
19058 faclr1=(vi**2+ai**2)*(vj**2+aj**2)+4d0*vi*ai*vj*aj
19059 faclr2=(vi**2+ai**2)*(vj**2+aj**2)-4d0*vi*ai*vj*aj
19064 sigh(nchn)=(faclr1*faczz1+faclr2*faczz2)*facbw
19068 ELSEIF(isub.EQ.124)
THEN
19071 facnor=comfac*(4d0*paru(1)*aem/xw)**3*sqmw
19072 IF(mstp(4).GE.1.OR.ihigg.GE.2) facnor=facnor*
19073 & paru(155+10*ihigg)**2
19074 facprp=1d0/((vint(215)-vint(204)**2)*
19075 & (vint(216)-vint(209)**2))**2
19076 facww=facnor*facprp*(0.5d0*taup*vint(2))*vint(219)
19077 CALL
pywidt(kfhigg,sh,wdtp,wdte)
19079 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
19080 facbw=(1d0/paru(1))*vint(2)*hf/((sh-sqmh)**2+hs**2)
19081 IF(abs(shr-pmas(kfhigg,1)).GT.parp(48)*pmas(kfhigg,2))
19083 DO 1260 i=mmin1,mmax1
19084 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1260
19085 ei=sign(1d0,dble(i))*kchg(iabs(i),1)
19086 DO 1250 j=mmin2,mmax2
19087 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1250
19088 ej=sign(1d0,dble(j))*kchg(iabs(j),1)
19089 IF(ei*ej.GT.0d0) goto 1250
19090 faclr=vint(180+i)*vint(180+j)
19095 sigh(nchn)=faclr*facww*facbw
19099 ELSEIF(isub.EQ.131)
THEN
19106 ELSEIF(isub.LE.160)
THEN
19107 IF(isub.EQ.141)
THEN
19109 sqmzp=pmas(32,1)**2
19111 CALL
pywidt(32,sh,wdtp,wdte)
19117 faczp=4d0*comfac*3d0
19118 DO 1270 i=mmina,mmaxa
19119 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1270
19120 ei=kchg(iabs(i),1)/3d0
19123 IF(iabs(i).LT.10)
THEN
19124 vpi=paru(123-2*
mod(iabs(i),2))
19125 api=paru(124-2*
mod(iabs(i),2))
19127 vpi=paru(127-2*
mod(iabs(i),2))
19128 api=paru(128-2*
mod(iabs(i),2))
19131 IF(iabs(i).LE.10) hi0=hi0*faca/3d0
19133 IF(iabs(i).LE.10) hi1=hi1*faca/3d0
19135 IF(iabs(i).LE.10) hi2=hi2*faca/3d0
19140 sigh(nchn)=faczp*(ei**2/sh2*hi0*hp0*vint(111)+ei*vi*
19141 & (1d0-sqmz/sh)/((sh-sqmz)**2+hs**2)*(hi0*hp1+hi1*hp0)*
19142 & vint(112)+ei*vpi*(1d0-sqmzp/sh)/((sh-sqmzp)**2+hsp**2)*
19143 & (hi0*hp2+hi2*hp0)*vint(113)+(vi**2+ai**2)/
19144 & ((sh-sqmz)**2+hs**2)*hi1*hp1*vint(114)+(vi*vpi+ai*api)*
19145 & ((sh-sqmz)*(sh-sqmzp)+hs*hsp)/(((sh-sqmz)**2+hs**2)*
19146 & ((sh-sqmzp)**2+hsp**2))*(hi1*hp2+hi2*hp1)*vint(115)+
19147 & (vpi**2+api**2)/((sh-sqmzp)**2+hsp**2)*hi2*hp2*vint(116))
19150 ELSEIF(isub.EQ.142)
THEN
19152 sqmwp=pmas(34,1)**2
19153 CALL
pywidt(34,sh,wdtp,wdte)
19155 facbw=4d0*comfac/((sh-sqmwp)**2+hs**2)*3d0
19156 hp=aem/(24d0*xw)*sh
19157 DO 1290 i=mmin1,mmax1
19158 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1290
19160 DO 1280 j=mmin2,mmax2
19161 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1280
19163 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 1280
19164 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
19166 kchw=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
19167 hi=hp*(paru(133)**2+paru(134)**2)
19168 IF(ia.LE.10) hi=hp*(paru(131)**2+paru(132)**2)*
19169 & vckm((ia+1)/2,(ja+1)/2)*faca/3d0
19174 hf=shr*(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))
19175 sigh(nchn)=hi*facbw*hf
19179 ELSEIF(isub.EQ.143)
THEN
19181 sqmhc=pmas(37,1)**2
19182 CALL
pywidt(37,sh,wdtp,wdte)
19184 facbw=4d0*comfac/((sh-sqmhc)**2+hs**2)
19185 hp=aem/(8d0*xw)*sh/sqmw*sh
19186 DO 1310 i=mmin1,mmax1
19187 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1310
19189 im=(
mod(ia,10)+1)/2
19190 DO 1300 j=mmin2,mmax2
19191 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1300
19193 jm=(
mod(ja,10)+1)/2
19194 IF(i*j.GT.0.OR.ia.EQ.ja.OR.im.NE.jm) goto 1300
19195 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
19197 IF(
mod(ia,2).EQ.0)
THEN
19204 rml=pmas(il,1)**2/sh
19205 rmu=pmas(iu,1)**2/sh
19206 IF(il.LE.10.AND.mstp(37).EQ.1.AND.mstp(2).GE.1) rml=
19207 & rml*(
log(
max(4d0,parp(37)**2*rml*sh/paru(117)**2))/
19208 &
log(
max(4d0,sh/paru(117)**2)))**(24d0/(33d0-
19210 hi=hp*(rml*paru(141)**2+rmu/paru(141)**2)
19211 IF(ia.LE.10) hi=hi*faca/3d0
19212 kchhc=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
19213 hf=shr*(wdte(0,1)+wdte(0,(5-kchhc)/2)+wdte(0,4))
19218 sigh(nchn)=hi*facbw*hf
19222 ELSEIF(isub.EQ.144)
THEN
19225 CALL
pywidt(40,sh,wdtp,wdte)
19227 facbw=4d0*comfac/((sh-sqmr)**2+hs**2)*3d0
19228 hp=aem/(12d0*xw)*sh
19229 DO 1330 i=mmin1,mmax1
19230 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1330
19232 DO 1320 j=mmin2,mmax2
19233 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1320
19235 IF(i*j.GT.0.OR.iabs(ia-ja).NE.2) goto 1320
19237 IF(ia.LE.10) hi=hi*faca/3d0
19238 hf=shr*(wdte(0,1)+wdte(0,(10-(i+j))/4)+wdte(0,4))
19243 sigh(nchn)=hi*facbw*hf
19247 ELSEIF(isub.EQ.145)
THEN
19249 sqmlq=pmas(39,1)**2
19250 CALL
pywidt(39,sh,wdtp,wdte)
19252 facbw=4d0*comfac/((sh-sqmlq)**2+hs**2)
19253 IF(abs(shr-pmas(39,1)).GT.parp(48)*pmas(39,2)) facbw=0d0
19255 kflqq=kfdp(mdcy(39,2),1)
19256 kflql=kfdp(mdcy(39,2),2)
19257 DO 1350 i=mmin1,mmax1
19258 IF(kfac(1,i).EQ.0) goto 1350
19260 IF(ia.NE.kflqq.AND.ia.NE.iabs(kflql)) goto 1350
19261 DO 1340 j=mmin2,mmax2
19262 IF(kfac(2,j).EQ.0) goto 1340
19264 IF(ja.NE.kflqq.AND.ja.NE.iabs(kflql)) goto 1340
19265 IF(ja.EQ.ia) goto 1340
19266 IF(i*j.NE.kflqq*kflql) goto 1340
19267 IF(ia.EQ.kflqq) kchlq=isign(1,i)
19268 IF(ja.EQ.kflqq) kchlq=isign(1,j)
19270 hf=shr*(wdte(0,1)+wdte(0,(5-kchlq)/2)+wdte(0,4))
19275 sigh(nchn)=hi*facbw*hf
19279 ELSEIF(isub.EQ.147.OR.isub.EQ.148)
THEN
19281 kfqstr=kfpr(isub,1)
19283 kfqexc=
mod(kfqstr,kexcit)
19284 CALL
pywidt(kfqstr,sh,wdtp,wdte)
19286 facbw=comfac/((sh-pmas(kcqstr,1)**2)**2+hs**2)
19287 facbw=facbw*as*paru(159)**2*sh/(3d0*paru(155)**2)
19288 IF(abs(shr-pmas(kcqstr,1)).GT.parp(48)*pmas(kcqstr,2))
19291 DO 1370 i=-kfqexc,kfqexc,2*kfqexc
19293 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 1360
19294 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 1360
19296 IF(i.GT.0) hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
19297 IF(i.LT.0) hf=shr*(wdte(0,1)+wdte(0,3)+wdte(0,4))
19300 isig(nchn,3-isde)=21
19302 sigh(nchn)=hi*facbw*hf
19306 ELSEIF(isub.EQ.149)
THEN
19308 CALL
pywidt(38,sh,wdtp,wdte)
19310 facbw=comfac*0.5d0/((sh-pmas(38,1)**2)**2+hs**2)
19311 IF(abs(shr-pmas(38,1)).GT.parp(48)*pmas(38,2)) facbw=0d0
19313 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1380
19315 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
19320 sigh(nchn)=hi*facbw*hf
19327 ELSEIF(isub.LE.200)
THEN
19328 IF(isub.EQ.161)
THEN
19331 sqmhc=pmas(37,1)**2
19332 fhcq=comfac*faca*as*aem/xw*1d0/24
19333 DO 1400 i=mmina,mmaxa
19335 IF(ia.NE.5) goto 1400
19337 IF(ia.LE.10.AND.mstp(37).EQ.1.AND.mstp(2).GE.1) sqml=sqml*
19338 & (
log(
max(4d0,parp(37)**2*sqml/paru(117)**2))/
19339 &
log(
max(4d0,sh/paru(117)**2)))**(24d0/(33d0-2d0*mstu(118)))
19341 sqmq=pmas(iua,1)**2
19342 fachcq=fhcq*(sqml*paru(141)**2+sqmq/paru(141)**2)/sqmw*
19343 & (sh/(sqmq-uh)+2d0*sqmq*(sqmhc-uh)/(sqmq-uh)**2+(sqmq-uh)/sh+
19344 & 2d0*sqmq/(sqmq-uh)+2d0*(sqmhc-uh)/(sqmq-uh)*
19345 & (sqmhc-sqmq-sh)/sh)
19346 kchhc=isign(1,kchg(ia,1)*isign(1,i))
19348 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 1390
19349 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,1).EQ.0) goto 1390
19352 isig(nchn,3-isde)=21
19354 sigh(nchn)=fachcq*wids(37,(5-kchhc)/2)
19358 ELSEIF(isub.EQ.162)
THEN
19360 sqmlq=pmas(39,1)**2
19361 faclq=comfac*faca*paru(151)*(as*aem/6d0)*(-th/sh)*
19362 & (uh2+sqmlq**2)/(uh-sqmlq)**2
19363 kflqq=kfdp(mdcy(39,2),1)
19364 DO 1420 i=mmina,mmaxa
19365 IF(iabs(i).NE.kflqq) goto 1420
19368 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 1410
19369 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 1410
19372 isig(nchn,3-isde)=21
19374 sigh(nchn)=faclq*wids(39,(5-kchlq)/2)
19378 ELSEIF(isub.EQ.163)
THEN
19380 sqmlq=pmas(39,1)**2
19381 faclq=comfac*faca*wids(39,1)*(as**2/2d0)*
19382 & (7d0/48d0+3d0*(uh-th)**2/(16d0*sh2))*(1d0+2d0*sqmlq*th/
19383 & (th-sqmlq)**2+2d0*sqmlq*uh/(uh-sqmlq)**2+4d0*sqmlq**2/
19384 & ((th-sqmlq)*(uh-sqmlq)))
19385 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1430
19390 isig(nchn,3)=
int(1.5d0+
pyr(0))
19394 ELSEIF(isub.EQ.164)
THEN
19396 sqmlq=pmas(39,1)**2
19397 faclqa=comfac*wids(39,1)*(as**2/9d0)*
19398 & (sh*(sh-4d0*sqmlq)-(uh-th)**2)/sh2
19399 faclqs=comfac*wids(39,1)*((paru(151)**2*aem**2/8d0)*
19400 & (-sh*th-(sqmlq-th)**2)/th2+(paru(151)*aem*as/18d0)*
19401 & ((sqmlq-th)*(uh-th)+sh*(sqmlq+th))/(sh*th))
19402 kflqq=kfdp(mdcy(39,2),1)
19403 DO 1440 i=mmina,mmaxa
19404 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
19405 & kfac(1,i)*kfac(2,-i).EQ.0) goto 1440
19411 IF(iabs(i).EQ.kflqq) sigh(nchn)=faclqa+faclqs
19414 ELSEIF(isub.EQ.165)
THEN
19416 zratr=xwc*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
19417 zrati=xwc*sh*gmmz/((sh-sqmz)**2+gmmz**2)
19418 kff=iabs(kfpr(isub,1))
19420 af=sign(1d0,ef+0.1d0)
19425 IF(kff.LE.10) fcof=3d0
19427 IF(kff.EQ.6) wid2=wids(6,1)
19428 IF(kff.EQ.7.OR.kff.EQ.8) wid2=wids(kff,1)
19429 IF(kff.EQ.17.OR.kff.EQ.18) wid2=wids(kff,1)
19430 DO 1450 i=mmina,mmaxa
19431 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1450
19432 ei=kchg(iabs(i),1)/3d0
19433 ai=sign(1d0,ei+0.1d0)
19438 IF(iabs(i).LE.10) fcoi=faca/3d0
19439 IF((mstp(5).EQ.1.AND.iabs(i).LE.2).OR.mstp(5).EQ.2)
THEN
19440 fgza=(ei*ef+vali*valf*zratr+paru(156)*sh/
19441 & (aem*paru(155)**2))**2+(vali*valf*zrati)**2+
19442 & (ei*ef+vari*varf*zratr)**2+(vari*varf*zrati)**2
19444 fgza=(ei*ef+vali*valf*zratr)**2+(vali*valf*zrati)**2+
19445 & (ei*ef+vari*varf*zratr)**2+(vari*varf*zrati)**2
19447 fgzb=(ei*ef+vali*varf*zratr)**2+(vali*varf*zrati)**2+
19448 & (ei*ef+vari*valf*zratr)**2+(vari*valf*zrati)**2
19449 fgzab=aem**2*(fgza*uh2/sh2+fgzb*th2/sh2)
19450 IF((mstp(5).EQ.3.AND.iabs(i).EQ.2).OR.(mstp(5).EQ.4.AND.
19451 &
mod(iabs(i),2).EQ.0)) fgzab=fgzab+sh2/(2d0*paru(155)**4)
19456 sigh(nchn)=comfac*fcoi*fcof*fgzab*wid2
19459 ELSEIF(isub.EQ.166)
THEN
19461 wfac=(1d0/4d0)*(aem/xw)**2*uh2/((sh-sqmw)**2+gmmw**2)
19462 wcifac=wfac+sh2/(4d0*paru(155)**4)
19463 kff=iabs(kfpr(isub,1))
19465 IF(kff.LE.10) fcof=3d0
19466 DO 1470 i=mmin1,mmax1
19467 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1470
19469 DO 1460 j=mmin2,mmax2
19470 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1460
19472 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 1460
19473 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
19476 IF(ia.LE.10) fcoi=vckm((ia+1)/2,(ja+1)/2)*faca/3d0
19478 IF((i.GT.0.AND.
mod(i,2).EQ.0).OR.(j.GT.0.AND.
19479 &
mod(j,2).EQ.0))
THEN
19480 IF(kff.EQ.5) wid2=wids(6,2)
19481 IF(kff.EQ.7) wid2=wids(8,2)*wids(7,3)
19482 IF(kff.EQ.17) wid2=wids(18,2)*wids(17,3)
19484 IF(kff.EQ.5) wid2=wids(6,3)
19485 IF(kff.EQ.7) wid2=wids(8,3)*wids(7,2)
19486 IF(kff.EQ.17) wid2=wids(18,3)*wids(17,2)
19492 sigh(nchn)=comfac*fcoi*fcof*wfac*wid2
19493 IF((mstp(5).EQ.3.AND.ia.LE.2.AND.ja.LE.2).OR.mstp(5).EQ.4)
19494 & sigh(nchn)=comfac*fcoi*fcof*wcifac*wid2
19498 ELSEIF(isub.EQ.167.OR.isub.EQ.168)
THEN
19500 kfqstr=kfpr(isub,2)
19502 kfqexc=
mod(kfqstr,kexcit)
19503 facqsa=comfac*(sh/paru(155)**2)**2*(1d0-sqm4/sh)
19504 facqsb=comfac*0.25d0*(sh/paru(155)**2)**2*(1d0-sqm4/sh)*
19505 & (1d0+sqm4/sh)*(1d0+cth)*(1d0+((sh-sqm4)/(sh+sqm4))*cth)
19507 gmmq=pmas(kcqstr,1)*pmas(kcqstr,2)
19508 hbw4=gmmq/((sqm4-pmas(kcqstr,1)**2)**2+gmmq**2)
19509 CALL
pywidt(kfqstr,sqm4,wdtp,wdte)
19510 gmmqc=
sqrt(sqm4)*wdtp(0)
19511 hbw4c=gmmqc/((sqm4-pmas(kcqstr,1)**2)**2+gmmqc**2)
19512 facqsa=facqsa*hbw4c/hbw4
19513 facqsb=facqsb*hbw4c/hbw4
19514 DO 1490 i=mmin1,mmax1
19516 IF(i.EQ.0.OR.ia.GT.6.OR.kfac(1,i).EQ.0) goto 1490
19517 DO 1480 j=mmin2,mmax2
19519 IF(j.EQ.0.OR.ja.GT.6.OR.kfac(2,j).EQ.0) goto 1480
19520 IF(ia.EQ.kfqexc.AND.i.EQ.j)
THEN
19525 sigh(nchn)=(4d0/3d0)*facqsa
19530 sigh(nchn)=(4d0/3d0)*facqsa
19531 ELSEIF((ia.EQ.kfqexc.OR.ja.EQ.kfqexc).AND.i*j.GT.0)
THEN
19536 IF(ja.EQ.kfqexc) isig(nchn,3)=2
19538 ELSEIF(ia.EQ.kfqexc.AND.i.EQ.-j)
THEN
19543 sigh(nchn)=(8d0/3d0)*facqsb
19548 sigh(nchn)=(8d0/3d0)*facqsb
19549 ELSEIF(i.EQ.-j)
THEN
19560 ELSEIF(ia.EQ.kfqexc.OR.ja.EQ.kfqexc)
THEN
19565 IF(ja.EQ.kfqexc) isig(nchn,3)=2
19571 ELSEIF(isub.EQ.191)
THEN
19573 sqmrht=pmas(54,1)**2
19574 CALL
pywidt(54,sh,wdtp,wdte)
19576 facbw=12d0*comfac/((sh-sqmrht)**2+hs**2)
19577 IF(abs(shr-pmas(54,1)).GT.parp(48)*pmas(54,2)) facbw=0d0
19578 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
19579 alprht=2.91d0*(3d0/parp(144))
19580 hp=(1d0/6d0)*(aem**2/alprht)*(sqmrht**2/sh)
19581 xwrht=(1d0-2d0*xw)/(4d0*xw*(1d0-xw))
19582 bwzr=xwrht*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
19583 bwzi=xwrht*sh*gmmz/((sh-sqmz)**2+gmmz**2)
19584 DO 1500 i=mmina,mmaxa
19585 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1500
19587 ei=kchg(iabs(i),1)/3d0
19588 ai=sign(1d0,ei+0.1d0)
19592 hi=hp*((ei+vali*bwzr)**2+(vali*bwzi)**2+
19593 & (ei+vari*bwzr)**2+(vari*bwzi)**2)
19594 IF(ia.LE.10) hi=hi*faca/3d0
19599 sigh(nchn)=hi*facbw*hf
19602 ELSEIF(isub.EQ.192)
THEN
19604 sqmrht=pmas(55,1)**2
19605 CALL
pywidt(55,sh,wdtp,wdte)
19607 facbw=12d0*comfac/((sh-sqmrht)**2+hs**2)
19608 IF(abs(shr-pmas(55,1)).GT.parp(48)*pmas(55,2)) facbw=0d0
19609 alprht=2.91d0*(3d0/parp(144))
19610 hp=(1d0/6d0)*(aem**2/alprht)*(sqmrht**2/sh)*
19611 & (0.25d0/xw**2)*sh**2/((sh-sqmw)**2+gmmw**2)
19612 DO 1520 i=mmin1,mmax1
19613 IF(i.EQ.0.OR.kfac(1,i).EQ.0) goto 1520
19615 DO 1510 j=mmin2,mmax2
19616 IF(j.EQ.0.OR.kfac(2,j).EQ.0) goto 1510
19618 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 1510
19619 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
19621 kchr=(kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j))/3
19622 hf=shr*(wdte(0,1)+wdte(0,(5-kchr)/2)+wdte(0,4))
19624 IF(ia.LE.10) hi=hi*vckm((ia+1)/2,(ja+1)/2)*faca/3d0
19629 sigh(nchn)=hi*facbw*hf
19633 ELSEIF(isub.EQ.193)
THEN
19635 sqmomt=pmas(56,1)**2
19636 CALL
pywidt(56,sh,wdtp,wdte)
19638 facbw=12d0*comfac/((sh-sqmomt)**2+hs**2)
19639 IF(abs(shr-pmas(56,1)).GT.parp(48)*pmas(56,2)) facbw=0d0
19640 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
19641 alprht=2.91d0*(3d0/parp(144))
19642 hp=(1d0/6d0)*(aem**2/alprht)*(sqmomt**2/sh)*
19643 & (2d0*parp(143)-1d0)**2
19644 bwzr=(0.5d0/(1d0-xw))*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
19645 bwzi=(0.5d0/(1d0-xw))*sh*gmmz/((sh-sqmz)**2+gmmz**2)
19646 DO 1530 i=mmina,mmaxa
19647 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1530
19649 ei=kchg(iabs(i),1)/3d0
19650 ai=sign(1d0,ei+0.1d0)
19654 hi=hp*((ei-vali*bwzr)**2+(vali*bwzi)**2+
19655 & (ei-vari*bwzr)**2+(vari*bwzi)**2)
19656 IF(ia.LE.10) hi=hi*faca/3d0
19661 sigh(nchn)=hi*facbw*hf
19664 ELSEIF(isub.EQ.194)
THEN
19666 sqmrht=pmas(54,1)**2
19667 CALL
pywidt(54,sh,wdtp,wdte)
19669 bwrhtr=sqmrht**2*(sh-sqmrht)/((sh-sqmrht)**2+hsrht**2)
19670 bwrhti=sqmrht**2*hsrht/((sh-sqmrht)**2+hsrht**2)
19671 xwrht=(1d0-2d0*xw)/(4d0*xw*(1d0-xw))
19672 sqmomt=pmas(56,1)**2
19673 CALL
pywidt(56,sh,wdtp,wdte)
19675 bwomtr=sqmomt**2*(sh-sqmomt)/((sh-sqmomt)**2+hsomt**2)
19676 bwomti=sqmomt**2*hsomt/((sh-sqmomt)**2+hsomt**2)
19677 xwomt=0.5d0/(1d0-xw)
19678 kff=iabs(kfpr(isub,1))
19680 af=sign(1d0,ef+0.1d0)
19685 IF(kff.LE.10) fcof=3d0
19687 IF(kff.GE.6.AND.kff.LE.8) wid2=wids(kff,1)
19688 IF(kff.EQ.17.OR.kff.EQ.18) wid2=wids(kff,1)
19689 alprht=2.91d0*(3d0/parp(144))
19690 factc=comfac*(aem**2/(alprht*sh2))**2*fcof*wid2
19692 aleftf=ef+valf*xwrht*bwz
19693 arighf=ef+varf*xwrht*bwz
19694 bleftf=(ef-valf*xwomt*bwz)*(2d0*parp(143)-1d0)
19695 brighf=(ef-varf*xwomt*bwz)*(2d0*parp(143)-1d0)
19696 DO 1540 i=mmina,mmaxa
19697 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1540
19698 ei=kchg(iabs(i),1)/3d0
19699 ai=sign(1d0,ei+0.1d0)
19704 IF(iabs(i).LE.10) fcoi=faca/3d0
19705 alefti=ei+vali*xwrht*bwz
19706 arighi=ei+vari*xwrht*bwz
19707 blefti=(ei-vali*xwomt*bwz)*(2d0*parp(143)-1d0)
19708 brighi=(ei-vari*xwomt*bwz)*(2d0*parp(143)-1d0)
19709 difll=(alefti*aleftf*bwrhtr+blefti*bleftf*bwomtr)**2+
19710 & (alefti*aleftf*bwrhti+blefti*bleftf*bwomti)**2
19711 difrr=(arighi*arighf*bwrhtr+brighi*brighf*bwomtr)**2+
19712 & (arighi*arighf*bwrhti+brighi*brighf*bwomti)**2
19713 diflr=(alefti*arighf*bwrhtr+blefti*brighf*bwomtr)**2+
19714 & (alefti*arighf*bwrhti+blefti*brighf*bwomti)**2
19715 difrl=(arighi*aleftf*bwrhtr+brighi*bleftf*bwomtr)**2+
19716 & (arighi*aleftf*bwrhti+brighi*bleftf*bwomti)**2
19717 facsig=(difll+difrr)*uh2+(diflr+difrl)*th2
19722 sigh(nchn)=factc*fcoi*facsig
19730 ELSEIF(isub.LE.210)
THEN
19731 IF(isub.EQ.201)
THEN
19733 comfac=comfac*wids(
pycomp(kfpr(isubsv,1)),1)
19734 DO 1570 i=mmin1,mmax1
19736 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1570
19737 ei=kchg(iabs(i),1)/3d0
19738 tt3i=sign(1d0,ei+1
d-6)/2d0
19743 IF(ia.GE.11) fcol=3d0
19745 xlq=2d0*(tt3j-ej*xw)*sfmix(kfid,3)**2
19746 xrq=2d0*(-ej*xw)*sfmix(kfid,4)**2
19747 ELSEIF(ilr.EQ.0)
THEN
19748 xlq=2d0*(tt3j-ej*xw)*sfmix(kfid,1)**2
19749 xrq=2d0*(-ej*xw)*sfmix(kfid,2)**2
19751 xlf=2d0*(tt3i-ei*xw)
19753 taa=0.5d0*(ei*ej)**2
19754 tzz=(xlf**2+xrf**2)*(xlq+xrq)**2/64d0/xw**2/(1d0-xw)**2
19755 tzz=tzz/((1d0-sqmz/sh)**2+sqmz*zwid/sh**2)
19756 taz=ei*ej*(xlq+xrq)*(xlf+xrf)/8d0/xw/(1d0-xw)
19757 taz=taz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*(1d0-sqmz/sh)
19761 IF(ia.GE.11.AND.ia.LE.18.AND.kfid.EQ.ia)
THEN
19774 dk=1d0/(th-smz(ii)**2)
19775 flek=-fac2*(tt3i*zmix(ii,2)-tanw*(tt3i-2d0*ei)*
19777 frek=fac2*tanw*ei*zmix(ii,1)
19778 tnn1=tnn1+flek**2*dk
19779 tnn2=tnn2+frek**2*dk
19781 dl=1d0/(th-smz(jj)**2)
19782 flel=-fac2*(tt3j*zmix(jj,2)-tanw*(tt3j-2d0*ej)*
19784 frel=fac2*tanw*ej*zmix(jj,1)
19785 tnn3=tnn3+flek*frek*flel*frel*dk*dl*smz(ii)*smz(jj)
19788 tnn=(uh*th - sqm3*sqm4)*(a1**4*tnn1**2+a2**4*tnn2**2)
19789 tnn=(tnn+2d0*sh*a1**2*a2**2*tnn3)/4d0
19790 tzn=(uh*th-sqm3*sqm4)*(xlq+xrq)/2d0*
19791 & (tnn1*xlq+tnn2*xrq)/2d0
19792 tzn=tzn/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*
19794 tzn=tzn/xw**2/(1d0-xw)
19795 tan=(uh*th-sqm3*sqm4)/sh*(a1**2*tnn1+a2**2*tnn2)/xw
19797 facqq1=comfac*aem**2*(taa+tzz+taz)*fcol*4d0/3d0
19798 facqq1=facqq1*( uh*th-sqm3*sqm4 )/sh**2
19799 facqq2=comfac*aem**2*(tnn+tzn+
tan)
19804 sigh(nchn)=facqq1+facqq2
19807 ELSEIF(isub.EQ.203)
THEN
19809 DO 1600 i=mmin1,mmax1
19811 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1600
19812 ei=kchg(iabs(i),1)/3d0
19813 tt3i=sign(1d0,ei)/2d0
19819 IF(ia.GE.11.AND.kfid.EQ.ia)
THEN
19820 IF(abs(mint(21)).EQ.kfpr(isub,1))
THEN
19821 pasy=-isign(1,mint(21))
19823 pasy=-isign(1,mint(22))
19827 IF(ia.GE.11) fcol=3d0
19828 a1=sfmix(kfid,1)**2
19829 a2=sfmix(kfid,2)**2
19830 xlq=2d0*(tt3j-ej*xw)
19832 xlf=2d0*(tt3i-ei*xw)
19834 tzz=(xlf**2-xrf**2)*(xlq-xrq)**2/64d0/xw**2/(1d0-
19836 tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
19839 IF(ia.GE.11.AND.ia.LE.18.AND.kfid.EQ.ia)
THEN
19845 dk=1d0/(th-smz(ii)**2)
19846 flek=-fac2*(tt3i*zmix(ii,2)-tanw*(tt3i-ei)*
19848 frek=fac2*tanw*ei*zmix(ii,1)
19849 tnn1=tnn1+flek**2*dk
19850 tnn2=tnn2+frek**2*dk
19852 dl=1d0/(th-smz(jj)**2)
19853 flel=-fac2*(tt3j*zmix(jj,2)-tanw*(tt3j-ej)*
19855 frel=fac2*tanw*ej*zmix(jj,1)
19856 tnn3=tnn3+flek*frek*flel*frel*dk*dl*smz(ii)*smz(jj)
19859 tnn=(uh*th-sqm3*sqm4)*a1*a2*(tnn2**2-tnn1**2)
19860 tnn=(tnn+sh*(a2-a1)*pasy*tnn3)/4d0
19861 tzn=(uh*th-sqm3*sqm4)*a1*a2
19862 tzn=tzn*(xlf-xrf)*(xlq*tnn1+xrq*tnn2)/4d0/(1d0-xw)
19863 tzn=tzn/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*
19866 facqq1=comfac*aem**2*tzz*fcol*4d0/3d0*(uh*th-sqm3*sqm4)/sh2
19867 facqq2=comfac*aem**2/xw**2*(tnn+tzn)
19868 facqq=2d0*(facqq1+facqq2)
19873 sigh(nchn)=facqq*wids(
pycomp(kfpr(isubsv,1)),2)*
19874 & wids(
pycomp(kfpr(isubsv,2)),3)
19879 sigh(nchn)=facqq*wids(
pycomp(kfpr(isubsv,1)),3)*
19880 & wids(
pycomp(kfpr(isubsv,2)),2)
19883 ELSEIF(isub.EQ.210)
THEN
19885 fac0=rkf*comfac*aem**2/xw**2/12d0
19886 fac1=(th*uh-sqm3*sqm4)/((sh-sqmw)**2+wwid**2*sqmw)
19887 DO 1620 i=mmin1,mmax1
19889 IF(i.EQ.0.OR.ia.GT.10.OR.kfac(1,i).EQ.0) goto 1620
19890 DO 1610 j=mmin2,mmax2
19892 IF(j.EQ.0.OR.ja.GT.10.OR.kfac(2,j).EQ.0) goto 1610
19893 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 1610
19895 IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
19896 kchsum=kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j)
19898 IF(kchsum.LT.0) kchw=3
19903 sigh(nchn)=fac0*fac1*fckm*wids(
pycomp(kfpr(isubsv,1)),
19904 & 5-kchw)*wids(
pycomp(kfpr(isubsv,2)),kchw)
19909 ELSEIF(isub.LE.220)
THEN
19910 IF(isub.EQ.213)
THEN
19912 comfac=comfac*wids(
pycomp(kfpr(isubsv,1)),1)
19913 fac0=rkf*comfac/3d0*aem**2
19915 propz=(sh-sqmz)**2+zwid**2*sqmz
19918 DO 1630 i=mmin1,mmax1
19920 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1630
19921 ei=kchg(iabs(i),1)/3d0
19924 IF(ia.GE.11) fcol=3d0
19925 xlq=(sign(1d0,ei)-2d0*ei*xw)/2d0
19927 facqq1=(xlq**2+xrq**2)*(xll+xlr)**2/fac1**2/propz
19928 & *(uh*th-sqm3*sqm4)
19930 IF(ia.GE.11.AND.kfid.EQ.ia+1)
THEN
19931 tzc=vmix(1,1)**2/(th-smw(1)**2)+vmix(2,1)**2/
19934 tzc=tzc/(1d0-xw)*(sh-sqmz)/propz+tcc
19936 facqq2=rkf*(uh*th-sqm3*sqm4)/4d0*tzc*comfac*aem**2/xw**2
19941 sigh(nchn)=facqq1*fcol*fac0+facqq2
19944 ELSEIF(isub.EQ.216)
THEN
19946 IF(izid1.EQ.izid2)
THEN
19947 comfac=comfac*wids(
pycomp(kfpr(isubsv,1)),1)
19949 comfac=comfac*wids(
pycomp(kfpr(isubsv,1)),2)*
19950 & wids(
pycomp(kfpr(isubsv,2)),2)
19952 facgg1=comfac*aem**2/3d0/xw**2
19953 IF(izid1.EQ.izid2) facgg1=facgg1/2d0
19957 tanw=
sqrt(xw/(1d0-xw))
19958 wu2 = (uh-zm12)*(uh-zm22)/sh2
19959 wt2 = (th-zm12)*(th-zm22)/sh2
19960 xs2 = smz(izid1)*smz(izid2)/sh
19961 propz2 = (sh-sqmz)**2 + sqmz*zwid**2
19962 reprpz = (sh-sqmz)/propz2
19963 olpp=(-zmix(izid1,3)*zmix(izid2,3)+
19964 & zmix(izid1,4)*zmix(izid2,4))/2d0
19965 DO 1640 i=mmina,mmaxa
19966 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1640
19967 ei=kchg(iabs(i),1)/3d0
19969 IF(abs(i).GE.11) fcol=3d0
19970 xlq=(sign(1d0,ei)-2d0*ei*xw)/2d0
19975 fr1=tanw*ei*zmix(izid1,1)
19976 fr2=tanw*ei*zmix(izid2,1)
19977 fl1=-(sign(1d0,ei)*zmix(izid1,2)-tanw*
19978 & (sign(1d0,ei)-2d0*ei)*zmix(izid1,1))/2d0
19979 fl2=-(sign(1d0,ei)*zmix(izid2,2)-tanw*
19980 & (sign(1d0,ei)-2d0*ei)*zmix(izid2,1))/2d0
19985 xml2=pmas(
pycomp(ksusy1+iabs(i)),1)**2
19986 xmr2=pmas(
pycomp(ksusy2+iabs(i)),1)**2
19987 facs=olpp**2*(xlq**2+xrq**2)*(wu2+wt2-2d0*xs2)*(sh2/propz2)
19988 fact=fl12*fl22*(wt2*sh2/(th-xml2)**2+wu2*sh2/(uh-xml2)**2-
19989 & 2d0*xs2*sh2/(th-xml2)/(uh-xml2))
19990 facu=fr12*fr22*(wt2*sh2/(th-xmr2)**2+wu2*sh2/(uh-xmr2)**2-
19991 & 2d0*xs2*sh2/(th-xmr2)/(uh-xmr2))
19992 facst=2d0*reprpz*olpp*xlq*fl1*fl2*( (wt2-xs2)*sh2/
19993 & (th-xml2) + (wu2-xs2)*sh2/(uh-xml2) )
19994 facsu=-2d0*reprpz*olpp*xrq*fr1*fr2*( (wt2-xs2)*sh2/
19995 & (th-xmr2) + (wu2-xs2)*sh2/(uh-xmr2) )
20000 sigh(nchn)=facgg1*fcol*(facs+fact+facu+facst+facsu)
20004 ELSEIF(isub.LE.230)
THEN
20005 IF(isub.EQ.226)
THEN
20007 facgg1=comfac*aem**2/3d0/xw**2
20010 wu2 = (uh-zm12)*(uh-zm22)/sh2
20011 wt2 = (th-zm12)*(th-zm22)/sh2
20012 ws2 = smw(izid1)*smw(izid2)/sh
20013 propz2 = (sh-sqmz)**2 + sqmz*zwid**2
20014 reprpz = (sh-sqmz)/propz2
20016 IF(izid1.EQ.izid2)
diff=1d0
20017 DO 1650 i=mmina,mmaxa
20018 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1650
20019 ei=kchg(iabs(i),1)/3d0
20021 IF(iabs(i).GE.11) fcol=3d0
20022 xlq=(sign(1d0,ei)-2d0*ei*xw)/2d0
20028 olp=-vmix(izid1,1)*vmix(izid2,1)-
20029 & vmix(izid1,2)*vmix(izid2,2)/2d0+xw*
diff
20030 orp=-umix(izid1,1)*umix(izid2,1)-
20031 & umix(izid1,2)*umix(izid2,2)/2d0+xw*
diff
20035 IF(
mod(i,2).EQ.0)
THEN
20036 fact0 = umix(izid1,1)*umix(izid2,1)
20037 xml2=pmas(
pycomp(ksusy1+iabs(i)-1),1)**2
20040 fact0 = vmix(izid1,1)*vmix(izid2,1)
20041 xml2=pmas(
pycomp(ksusy1+iabs(i)+1),1)**2
20043 faca=2d0*xw**2*
diff*(wt2+wu2+2d0*abs(ws2))*ei**2
20044 facz=0.5d0*((xlq2+xrq2)*(olp2+orp2)*(wt2+wu2)+
20045 & 4d0*(xlq2+xrq2)*olp*orp*ws2-(xlq2-xrq2)*(olp2-orp2)*
20046 & (wu2-wt2))*sh2/propz2
20047 fact=fact0**2/4d0*wt2*sh2/(th-xml2)**2
20048 facaz=xw*reprpz*
diff*( (xlq+xrq)*(olp+orp)*(wu2+
20049 & wt2+2d0*abs(ws2))-(xlq-xrq)*(olp-orp)*(wu2-wt2) )*sh*(-ei)
20050 facta=xw*
diff/(th-xml2)*(wt2+abs(ws2))*sh*fact0*(-ei)
20051 factz=reprpz/(th-xml2)*xlq*fact0*(olp*wt2+orp*ws2)*sh2
20052 facsum=facgg1*(faca+facaz+facz+fact+facta+factz)*fcol
20057 IF(izid1.EQ.izid2)
THEN
20058 sigh(nchn)=facsum*wids(
pycomp(kfpr(isubsv,1)),1)
20060 sigh(nchn)=facsum*wids(
pycomp(kfpr(isubsv,1)),3)*
20061 & wids(
pycomp(kfpr(isubsv,1)),2)
20066 sigh(nchn)=facsum*wids(
pycomp(kfpr(isubsv,1)),2)*
20067 & wids(
pycomp(kfpr(isubsv,1)),3)
20071 ELSEIF(isub.EQ.229)
THEN
20073 facgg1=comfac*aem**2/6d0/xw**2
20074 tanw =
sqrt(xw/(1d0-xw))
20077 zmu2 = pmas(
pycomp(ksusy1+2),1)**2
20078 zmd2 = pmas(
pycomp(ksusy1+1),1)**2
20079 wu2 = (uh-zm12)*(uh-zm22)/sh2
20080 wt2 = (th-zm12)*(th-zm22)/sh2
20081 ws2 = smw(izid1)*smz(izid2)/sh
20082 rt2i = 1d0/
sqrt(2d0)
20083 propw = ((sh-sqmw)**2+wwid**2*sqmw)
20084 ol=-rt2i*zmix(izid2,4)*vmix(izid1,2)+
20085 & zmix(izid2,2)*vmix(izid1,1)
20086 or= rt2i*zmix(izid2,3)*umix(izid1,2)+
20087 & zmix(izid2,2)*umix(izid1,1)
20091 facst0=umix(izid1,1)
20092 facsu0=vmix(izid1,1)
20093 facsu0=facsu0*(0.5d0*zmix(izid2,2)+tanw*zmix(izid2,1)/6d0)
20094 facst0=facst0*(-0.5d0*zmix(izid2,2)+tanw*zmix(izid2,1)/6d0)
20097 factu0=facsu0*facst0
20098 facst = -2d0*(sh-sqmw)/propw/(th-zmd2)*(wt2*sh2*or
20099 & + sh2*ws2*ol)*facst0
20100 facsu = 2d0*(sh-sqmw)/propw/(uh-zmu2)*(wu2*sh2*ol
20101 & + sh2*ws2*or)*facsu0
20102 fact = wt2*sh2/(th-zmd2)**2*fact0
20103 facu = wu2*sh2/(uh-zmu2)**2*facu0
20104 factu = -2d0*ws2*sh2/(th-zmd2)/(uh-zmu2)*factu0
20105 facw = (or2*wt2+ol2*wu2+
cross*ws2)/propw*sh2
20106 facgg1=facgg1*(facw+fact+factu+facu+facsu+facst)
20107 DO 1670 i=mmin1,mmax1
20109 IF(i.EQ.0.OR.ia.GT.20.OR.kfac(1,i).EQ.0) goto 1670
20110 DO 1660 j=mmin2,mmax2
20112 IF(j.EQ.0.OR.ja.GT.20.OR.kfac(2,j).EQ.0) goto 1660
20113 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 1660
20115 IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
20116 kchsum=kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j)
20118 IF(kchsum.LT.0) kchw=3
20123 sigh(nchn)=facgg1*fckm*wids(
pycomp(kfpr(isubsv,1)),2)*
20124 & wids(
pycomp(kfpr(isubsv,2)),kchw)
20129 ELSEIF(isub.LE.240)
THEN
20130 IF(isub.EQ.237)
THEN
20132 comfac=comfac*wids(
pycomp(kfpr(isubsv,1)),2)*
20133 & wids(
pycomp(kfpr(isubsv,2)),2)
20134 fac0=comfac*as*aem*4d0/9d0/xw
20137 tanw=
sqrt(xw/(1d0-xw))
20138 DO 1680 i=mmina,mmaxa
20139 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 1680
20140 ei=kchg(iabs(i),1)/3d0
20142 xlqc = -tanw*ei*zmix(izid,1)
20143 xrqc =(sign(1d0,ei)*zmix(izid,2)-tanw*
20144 & (sign(1d0,ei)-2d0*ei)*zmix(izid,1))/2d0
20147 xml2=pmas(
pycomp(ksusy1+ia),1)**2
20148 xmr2=pmas(
pycomp(ksusy2+ia),1)**2
20149 atkin=(th-gm2)*(th-zm2)/(th-xml2)**2
20150 aukin=(uh-gm2)*(uh-zm2)/(uh-xml2)**2
20151 atukin=smz(izid)*
sqrt(gm2)*sh/(th-xml2)/(uh-xml2)
20152 sgchil=xlq2*(atkin+aukin-2d0*atukin)
20153 atkin=(th-gm2)*(th-zm2)/(th-xmr2)**2
20154 aukin=(uh-gm2)*(uh-zm2)/(uh-xmr2)**2
20155 atukin=smz(izid)*
sqrt(gm2)*sh/(th-xmr2)/(uh-xmr2)
20156 sgchir=xrq2*(atkin+aukin-2d0*atukin)
20161 sigh(nchn)=fac0*(sgchil+sgchir)
20165 ELSEIF(isub.LE.250)
THEN
20166 IF(isub.EQ.241)
THEN
20168 facwg=comfac*as*aem/xw*2d0/9d0
20171 fac01=2d0*umix(izid,1)*vmix(izid,1)
20172 fac0=umix(izid,1)**2
20173 fac1=vmix(izid,1)**2
20174 DO 1700 i=mmin1,mmax1
20176 IF(i.EQ.0.OR.ia.GT.10.OR.kfac(1,i).EQ.0) goto 1700
20177 DO 1690 j=mmin2,mmax2
20179 IF(j.EQ.0.OR.ja.GT.10.OR.kfac(2,j).EQ.0) goto 1690
20180 IF(i*j.GT.0.OR.
mod(ia+ja,2).EQ.0) goto 1690
20182 IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
20183 kchsum=kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j)
20185 IF(kchsum.LT.0) kchw=3
20186 xmu2=pmas(
pycomp(ksusy1+2),1)**2
20187 xmd2=pmas(
pycomp(ksusy1+1),1)**2
20188 atkin=(th-gm2)*(th-zm2)/(th-xmu2)**2
20189 aukin=(uh-gm2)*(uh-zm2)/(uh-xmd2)**2
20190 atukin=smw(izid)*
sqrt(gm2)*sh/(th-xmu2)/(uh-xmd2)
20191 xmu2=pmas(
pycomp(ksusy2+2),1)**2
20192 xmd2=pmas(
pycomp(ksusy2+1),1)**2
20193 atkin=(atkin+(th-gm2)*(th-zm2)/(th-xmu2)**2)/2d0
20194 aukin=(aukin+(uh-gm2)*(uh-zm2)/(uh-xmd2)**2)/2d0
20195 atukin=(atukin+smw(izid)*
sqrt(gm2)*
20196 & sh/(th-xmu2)/(uh-xmd2))/2d0
20201 sigh(nchn)=facwg*fckm*(fac0*atkin+fac1*aukin-
20202 & fac01*atukin)*wids(
pycomp(kfpr(isubsv,1)),2)*
20203 & wids(
pycomp(kfpr(isubsv,2)),kchw)
20207 ELSEIF(isub.EQ.243)
THEN
20209 comfac=comfac*wids(
pycomp(kfpr(isubsv,1)),1)
20212 DO 1710 i=mmina,mmaxa
20213 IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
20214 & kfac(1,i)*kfac(2,-i).EQ.0) goto 1710
20216 xsu=pmas(
pycomp(ksusy1+iabs(i)),1)**2-uh
20217 xst=pmas(
pycomp(ksusy1+iabs(i)),1)**2-th
20218 facgg1=comfac*as**2*8d0/3d0*( (xmt**2+xmu**2+
20219 & 2d0*sqm3*sh)/sh2 +4d0/9d0*(xmt**2/xst**2+
20220 & xmu**2/xsu**2) - (xmt**2+sh*sqm3)/sh/xst +
20221 & sqm3*sh/xst/xsu/9d0- (xmu**2+sh*sqm3)/sh/xsu )
20222 xsu=pmas(
pycomp(ksusy2+iabs(i)),1)**2-uh
20223 xst=pmas(
pycomp(ksusy2+iabs(i)),1)**2-th
20224 facgg2=comfac*as**2*8d0/3d0*( (xmt**2+xmu**2+
20225 & 2d0*sqm3*sh)/sh2 +4d0/9d0*(xmt**2/xst**2+
20226 & xmu**2/xsu**2) - (xmt**2+sh*sqm3)/sh/xst +
20227 & sqm3*sh/xst/xsu/9d0- (xmu**2+sh*sqm3)/sh/xsu )
20232 sigh(nchn)=0.25d0*(facgg1+facgg2)
20235 ELSEIF(isub.EQ.244)
THEN
20237 comfac=comfac*wids(
pycomp(kfpr(isubsv,1)),1)
20240 facqq1=comfac*as**2*9d0/4d0*(
20241 & (xmt*xmu-2d0*sqm3*(th+sqm3))/xmt**2 -
20242 & (xmt*xmu+sqm3*(uh-th))/sh/xmt )
20243 facqq2=comfac*as**2*9d0/4d0*(
20244 & (xmu*xmt-2d0*sqm3*(uh+sqm3))/xmu**2 -
20245 & (xmu*xmt+sqm3*(th-uh))/sh/xmu )
20246 facqq3=comfac*as**2*9d0/4d0*(2d0*xmt*xmu/sh2 +
20247 & sqm3*(sh-4d0*sqm3)/xmt/xmu)
20248 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1720
20253 sigh(nchn)=facqq1/2d0
20258 sigh(nchn)=facqq2/2d0
20263 sigh(nchn)=facqq3/2d0
20266 ELSEIF(isub.EQ.246)
THEN
20268 fac0=comfac*as*aem/6d0/xw
20271 tanw=
sqrt(xw/(1d0-xw))
20272 faczq0=fac0*( (zm2-th)/sh +
20273 & (uh-zm2)*(uh+qm2)/(uh-qm2)**2 -
20274 & (sh*(uh+zm2)+2d0*(qm2-zm2)*(zm2-uh))/sh/(uh-qm2) )
20275 kfnsq=
mod(kfpr(isubsv,1),ksusy1)
20276 DO 1740 i=-kfnsq,kfnsq,2*kfnsq
20277 IF(i.LT.mmina.OR.i.GT.mmaxa) goto 1740
20278 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 1740
20279 ei=kchg(iabs(i),1)/3d0
20281 xrqz = -tanw*ei*zmix(izid,1)
20282 xlqz =(sign(1d0,ei)*zmix(izid,2)-tanw*
20283 & (sign(1d0,ei)-2d0*ei)*zmix(izid,1))/2d0
20285 bs=xlqz**2*sfmix(ia,1)**2+xrqz**2*sfmix(ia,2)**2
20287 bs=xlqz**2*sfmix(ia,3)**2+xrqz**2*sfmix(ia,4)**2
20293 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 1730
20294 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 1730
20297 isig(nchn,3-isde)=21
20299 sigh(nchn)=faczq*rkf*wids(
pycomp(kfpr(isubsv,1)),kchq)*
20300 & wids(
pycomp(kfpr(isubsv,2)),2)
20305 ELSEIF(isub.LE.260)
THEN
20306 IF(isub.EQ.254)
THEN
20308 fac0=comfac*as*aem/12d0/xw
20313 faczq0=fac0*( (zm2-th)/sh +
20314 & (uh-zm2)*(uh+qm2)/(uh-qm2)**2 -
20315 & (sh*(uh+zm2)+2d0*(qm2-zm2)*(zm2-uh))/sh/(uh-qm2) )
20316 kfnsq1=
mod(kfpr(isubsv,1),ksusy1)
20317 IF(
mod(kfnsq1,2).EQ.0)
THEN
20324 DO 1760 i=-kfnsq,kfnsq,2*kfnsq
20325 IF(i.LT.mmina.OR.i.GT.mmaxa) goto 1760
20326 IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 1760
20328 IF(
mod(ia,2).EQ.0)
THEN
20333 faczq=faczq*sfmix(kfnsq1,1+2*ilr)**2
20337 IF(i.LT.0) kchwq=5-kchw
20339 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 1750
20340 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 1750
20343 isig(nchn,3-isde)=21
20345 sigh(nchn)=faczq*rkf*wids(
pycomp(kfpr(isubsv,1)),kchq)*
20346 & wids(
pycomp(kfpr(isubsv,2)),kchwq)
20350 ELSEIF(isub.EQ.258)
THEN
20358 facqg1=0.5d0*4d0/9d0*xmt/sh + (xmt*sh+2d0*xg2*xst)/xmt**2 -
20359 & ( (sh-xq2+xg2)*(-xst)-sh*xg2 )/sh/(-xmt) +
20360 & 0.5d0*1d0/2d0*( xst*(th+2d0*uh+xg2)-xmt*(sh-2d0*xst) +
20361 & (-xmu)*(th+xg2+2d0*xq2) )/2d0/xmt/xsu
20362 facqg2= 4d0/9d0*(-xmu)*(uh+xq2)/xsu**2 + 1d0/18d0*
20364 & +2d0*(xq2-xg2)*xmu)/sh/(-xsu) + 0.5d0*4d0/9d0*xmt/sh +
20365 & 0.5d0*1d0/2d0*(xst*(th+2d0*uh+xg2)-xmt*(sh-2d0*xst)+
20366 & (-xmu)*(th+xg2+2d0*xq2))/2d0/xmt/xsu
20367 facqg1=comfac*as**2*facqg1/2d0
20368 facqg2=comfac*as**2*facqg2/2d0
20369 kfnsq=
mod(kfpr(isubsv,1),ksusy1)
20370 DO 1780 i=-kfnsq,kfnsq,2*kfnsq
20371 IF(i.LT.mmina.OR.i.GT.mmaxa) goto 1780
20372 IF(i.EQ.0.OR.iabs(i).GT.10) goto 1780
20375 facsel=rkf*wids(
pycomp(kfpr(isubsv,1)),kchq)*
20376 & wids(
pycomp(kfpr(isubsv,2)),2)
20378 IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 1770
20379 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 1770
20382 isig(nchn,3-isde)=21
20384 sigh(nchn)=facqg1*facsel
20387 isig(nchn,3-isde)=21
20389 sigh(nchn)=facqg2*facsel
20394 ELSEIF(isub.LE.270)
THEN
20395 IF(isub.EQ.261)
THEN
20397 facqq1=comfac*( (uh*th-sqm3*sqm4)/ sh**2 )*
20398 & wids(
pycomp(kfpr(isubsv,1)),1)
20399 kfnsq=
mod(kfpr(isubsv,1),ksusy1)
20401 DO 1790 i=mmin1,mmax1
20403 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1790
20404 IF(ia.GE.11.AND.ia.LE.18)
THEN
20406 ej=kchg(kfnsq,1)/3d0
20407 t3i=sign(1d0,ei)/2d0
20408 t3j=sign(1d0,ej)/2d0
20409 xlq=2d0*(t3j-ej*xw)*sfmix(kfnsq,2*ilr+1)**2
20410 xrq=2d0*(-ej*xw)*sfmix(kfnsq,2*ilr+2)**2
20411 xlf=2d0*(t3i-ei*xw)
20413 taa=0.5d0*(ei*ej)**2
20414 tzz=(xlf**2+xrf**2)*(xlq+xrq)**2/64d0/xw**2/(1d0-xw)**2
20415 tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
20416 taz=ei*ej*(xlq+xrq)*(xlf+xrf)/8d0/xw/(1d0-xw)
20417 taz=taz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*(1d0-sqmz/sh)
20418 fac0=aem**2*12d0*(taa+tzz+taz)
20424 sigh(nchn)=facqq1*fac0
20427 ELSEIF(isub.EQ.263)
THEN
20429 DO 1800 i=mmin1,mmax1
20431 IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 1800
20432 ei=kchg(iabs(i),1)/3d0
20433 tt3i=sign(1d0,ei)/2d0
20438 IF(ia.GE.11) fcol=3d0
20439 xlq=2d0*(tt3j-ej*xw)
20441 xlf=2d0*(tt3i-ei*xw)
20443 tzz=(xlf**2+xrf**2)*(xlq-xrq)**2/64d0/xw**2/(1d0-xw)**2
20444 tzz=tzz*(sfmix(6,1)*sfmix(6,2))**2
20445 tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
20447 facqq1=2d0*comfac*aem**2*tzz*fcol*4d0
20448 facqq1=facqq1*( uh*th-sqm3*sqm4 )/sh2
20453 sigh(nchn)=facqq1*wids(
pycomp(kfpr(isubsv,1)),2)*
20454 & wids(
pycomp(kfpr(isubsv,2)),3)
20459 sigh(nchn)=facqq1*wids(
pycomp(kfpr(isubsv,1)),3)*
20460 & wids(
pycomp(kfpr(isubsv,2)),2)
20463 ELSEIF(isub.EQ.264)
THEN
20467 fac0=comfac*as**2*(7d0/48d0+3d0*(uh-th)**2/16d0/sh2 )*0.5d0*
20468 & wids(
pycomp(kfpr(isubsv,1)),1)
20469 facqq1=fac0*(0.5d0+2d0*sqm3*th/xst**2 + 2d0*sqm3**2/xsu/xst)
20470 facqq2=fac0*(0.5d0+2d0*sqm3*uh/xsu**2 + 2d0*sqm3**2/xsu/xst)
20471 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1810
20485 ELSEIF(isub.LE.280)
THEN
20486 IF(isub.EQ.271)
THEN
20488 xmg2=pmas(
pycomp(ksusy1+21),1)**2
20496 facqq1=comfac*as**2*4d0/9d0*( -(xst1*xst2+sh*th)/xmt**2 )
20497 facqq2=comfac*as**2*4d0/9d0*( -(xsu1*xsu2+sh*uh)/xmu**2 )
20500 facqq1=0.5d0*comfac*as**2*4d0/9d0*( sh*xmg2/xmt**2 )
20501 facqq2=0.5d0*comfac*as**2*4d0/9d0*( sh*xmg2/xmu**2 )
20502 facqqb=0.5d0*comfac*as**2*4d0/9d0*( -2d0*sh*xmg2/3d0/
20505 kfnsqi=
mod(kfpr(isubsv,1),ksusy1)
20506 kfnsqj=
mod(kfpr(isubsv,2),ksusy1)
20507 DO 1830 i=-kfnsqi,kfnsqi,2*kfnsqi
20508 IF(i.LT.mmin1.OR.i.GT.mmax1) goto 1830
20510 IF(i.EQ.0.OR.ia.GT.mstp(58).OR.kfac(1,i).EQ.0) goto 1830
20513 DO 1820 j=-kfnsqj,kfnsqj,2*kfnsqj
20514 IF(j.LT.mmin2.OR.j.GT.mmax2) goto 1820
20516 IF(j.EQ.0.OR.ja.GT.mstp(58).OR.kfac(2,j).EQ.0) goto 1820
20517 IF(i*j.LT.0) goto 1820
20522 sigh(nchn)=facqq1*rkf*wids(
pycomp(kfpr(isubsv,1)),kchq)*
20523 & wids(
pycomp(kfpr(isubsv,2)),kchq)
20525 IF(isubsv.LE.272)
THEN
20526 sigh(nchn)=(facqq1+0.5d0*facqqb)*rkf*
20527 & wids(
pycomp(kfpr(isubsv,1)),kchq+2)
20529 sigh(nchn)=(facqq1+0.5d0*facqqb)*rkf*
20530 & wids(
pycomp(kfpr(isubsv,1)),kchq)*
20531 & wids(
pycomp(kfpr(isubsv,2)),kchq)
20537 IF(isubsv.LE.272)
THEN
20538 sigh(nchn)=(facqq2+0.5d0*facqqb)*rkf*
20539 & wids(
pycomp(kfpr(isubsv,1)),kchq+2)
20541 sigh(nchn)=(facqq2+0.5d0*facqqb)*rkf*
20542 & wids(
pycomp(kfpr(isubsv,1)),kchq)*
20543 & wids(
pycomp(kfpr(isubsv,2)),kchq)
20549 ELSEIF(isub.EQ.274)
THEN
20551 xmg2=pmas(
pycomp(ksusy1+21),1)**2
20555 facqq1=comfac*as**2*4d0/9d0*(
20556 & (uh*th-sqm3*sqm4)/xmt**2 )
20557 facqqb=comfac*as**2*4d0/9d0*(
20558 & (uh*th-sqm3*sqm4)/sh2*(2d0-2d0/3d0*sh/xmt**2))
20559 facqqb=facqqb+facqq1
20561 facqq1=comfac*as**2*4d0/9d0*( xmg2*sh/xmt**2 )
20564 kfnsqi=
mod(kfpr(isubsv,1),ksusy1)
20565 kfnsqj=
mod(kfpr(isubsv,2),ksusy1)
20566 DO 1850 i=-kfnsqi,kfnsqi,2*kfnsqi
20567 IF(i.LT.mmin1.OR.i.GT.mmax1) goto 1850
20569 IF(i.EQ.0.OR.ia.GT.mstp(58).OR.kfac(1,i).EQ.0) goto 1850
20572 DO 1840 j=-kfnsqj,kfnsqj,2*kfnsqj
20573 IF(j.LT.mmin2.OR.j.GT.mmax2) goto 1840
20575 IF(j.EQ.0.OR.ja.GT.mstp(58).OR.kfac(2,j).EQ.0) goto 1840
20576 IF(i*j.GT.0) goto 1840
20581 sigh(nchn)=facqq1*rkf*wids(
pycomp(kfpr(isubsv,1)),kchq)*
20582 & wids(
pycomp(kfpr(isubsv,2)),5-kchq)
20583 IF(i.EQ.-j) sigh(nchn)=facqqb*rkf*
20584 & wids(
pycomp(kfpr(isubsv,1)),1)
20588 ELSEIF(isub.EQ.277)
THEN
20591 facqq1=comfac*( (uh*th-sqm3*sqm4)/ sh**2 )
20592 kfnsq=
mod(kfpr(isubsv,1),ksusy1)
20594 DO 1860 i=mmin1,mmax1
20596 IF(i.EQ.0.OR.ia.GT.mstp(58).OR.
20597 & kfac(1,i)*kfac(2,-i).EQ.0) goto 1860
20598 IF(ia.EQ.kfnsq) goto 1860
20599 IF(ia.EQ.11.OR.ia.EQ.13.OR.ia.EQ.15)
THEN
20601 ej=kchg(kfnsq,1)/3d0
20603 t3i=sign(1d0,ei)/2d0
20605 xlq=2d0*(t3j-ej*xw)*sfmix(kfnsq,1)
20606 xrq=2d0*(-ej*xw)*sfmix(kfnsq,2)
20608 xlq=2d0*(t3j-ej*xw)*sfmix(kfnsq,3)
20609 xrq=2d0*(-ej*xw)*sfmix(kfnsq,4)
20611 xlf=2d0*(t3i-ei*xw)
20618 taa=0.5d0*(ei*ej)**2
20619 tzz=(xlf**2+xrf**2)*(xlq+xrq)**2/64d0/xw**2/(1d0-xw)**2
20620 tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
20621 taz=ei*ej*(xlq+xrq)*(xlf+xrf)/8d0/xw/(1d0-xw)
20622 taz=taz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*(1d0-sqmz/sh)
20623 fac0=aem**2*12d0*(taa+tzz+taz)
20624 ELSEIF(ia.LE.6)
THEN
20625 fac0=as**2*8d0/9d0/2d0
20631 sigh(nchn)=facqq1*fac0*rkf*wids(
pycomp(kfpr(isubsv,1)),1)
20634 ELSEIF(isub.EQ.279)
THEN
20639 fac0=rkf*comfac*as**2*( 7d0/48d0+3d0*(uh-th)**2/16d0/sh2 )
20640 facqq1=fac0*(0.5d0+2d0*sqm3*th/xst**2 + 2d0*sqm3**2/xsu/xst)
20641 facqq2=fac0*(0.5d0+2d0*sqm3*uh/xsu**2 + 2d0*sqm3**2/xsu/xst)
20642 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 1870
20647 sigh(nchn)=facqq1/2d0*wids(
pycomp(kfpr(isubsv,1)),1)
20652 sigh(nchn)=facqq2/2d0*wids(
pycomp(kfpr(isubsv,1)),1)
20660 IF(isub.LE.90.OR.isub.GE.96)
THEN
20661 DO 1880 ichn=1,nchn
20662 IF(mint(45).GE.2)
THEN
20664 sigh(ichn)=sigh(ichn)*xsfx(1,kfl1)
20666 IF(mint(46).GE.2)
THEN
20668 sigh(ichn)=sigh(ichn)*xsfx(2,kfl2)
20670 sigs=sigs+sigh(ichn)
20688 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
20691 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
20692 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
20693 common/pypars/mstp(200),parp(200),msti(200),pari(200)
20694 common/pyint1/mint(400),vint(400)
20695 common/pyint8/xpvmd(-6:6),xpanl(-6:6),xpanh(-6:6),xpbeh(-6:6),
20697 SAVE /
pydat1/,/pydat2/,/pypars/,/pyint1/,/pyint8/
20699 dimension xpq(-25:25),xpel(-25:25),xpga(-6:6),vxpga(-6:6),
20700 &xppi(-6:6),xppr(-6:6)
20703 common/w50513/
xmin,
xmax,q2min,q2max
20705 DOUBLE PRECISION xx,qq,upv,dnv,usea,dsea,str,chm,bot,top,glu,
20707 CHARACTER*20 parm(20)
20708 DATA value/20*0d0/,parm/20*
' '/
20711 DATA alamga/0.2d0/, pmcga/1.3d0/, pmbga/4.6d0/
20720 IF(
x.LE.0d0.OR.
x.GE.1d0)
THEN
20721 WRITE(mstu(11),5000)
x
20725 IF(kfa.NE.11.AND.kfa.NE.22.AND.kfa.NE.211.AND.kfa.NE.2112.AND.
20726 &kfa.NE.2212.AND.kfa.NE.3122.AND.kfa.NE.3112.AND.kfa.NE.3212
20727 &.AND.kfa.NE.3222.AND.kfa.NE.3312.AND.kfa.NE.3322.AND.
20728 &kfa.NE.3334.AND.kfa.NE.111)
THEN
20729 WRITE(mstu(11),5100) kf
20741 ELSEIF(kfa.EQ.22.AND.mint(109).LE.1)
THEN
20742 IF(mstp(56).EQ.1.AND.mstp(55).EQ.1)
THEN
20747 ELSEIF(mstp(56).EQ.1.AND.mstp(55).GE.5.AND.mstp(55).LE.8)
THEN
20750 IF(mstp(55).GE.7) p2mx=4.0d0
20751 IF(mstp(57).EQ.0) q2mx=p2mx
20752 CALL
pyggam(mstp(55)-4,
x,q2mx,0d0,mstp(60),f2gam,xpga)
20757 ELSEIF(mstp(56).EQ.1.AND.mstp(55).GE.9.AND.mstp(55).LE.12)
THEN
20760 IF(mstp(55).GE.11) p2mx=4.0d0
20761 IF(mstp(57).EQ.0) q2mx=p2mx
20762 CALL
pyggam(mstp(55)-8,
x,q2mx,0d0,mstp(60),f2gam,xpga)
20764 xpq(kfl)=xpvmd(kfl)+xpanl(kfl)+xpbeh(kfl)+xpdir(kfl)
20767 ELSEIF(mstp(56).EQ.2)
THEN
20772 value(2)=mstp(55)/1000
20775 IF(mint(93).NE.3000000+mstp(55))
THEN
20777 mint(93)=3000000+mstp(55)
20781 IF(mstp(57).EQ.0) qq=
sqrt(q2min)
20782 CALL
structm(
xx,qq,upv,dnv,usea,dsea,str,chm,bot,top,glu)
20798 WRITE(mstu(11),5200) kf,mstp(56),mstp(55)
20802 ELSEIF(kfa.EQ.211.OR.kfa.EQ.111.OR.(kfa.EQ.22.AND.
20803 & mint(109).EQ.2))
THEN
20804 IF(kfa.EQ.22.AND.mstp(56).EQ.1.AND.mstp(55).GE.5.AND.
20805 & mstp(55).LE.12)
THEN
20806 iset=1+
mod(mstp(55)-1,4)
20809 IF(iset.GE.3) p2mx=4.0d0
20810 IF(mstp(57).EQ.0) q2mx=p2mx
20811 CALL
pygvmd(iset,2,
x,q2mx,p2mx,alamga,xpga,vxpga)
20816 ELSEIF(mstp(54).EQ.1.AND.mstp(53).GE.1.AND.mstp(53).LE.3)
THEN
20821 ELSEIF(mstp(54).EQ.2)
THEN
20826 value(2)=mstp(53)/1000
20829 IF(mint(93).NE.2000000+mstp(53))
THEN
20831 mint(93)=2000000+mstp(53)
20835 IF(mstp(57).EQ.0) qq=
sqrt(q2min)
20836 CALL
structm(
xx,qq,upv,dnv,usea,dsea,str,chm,bot,top,glu)
20852 WRITE(mstu(11),5200) kf,mstp(54),mstp(53)
20856 ELSEIF(kfa.EQ.22.AND.mint(109).EQ.3)
THEN
20859 IF(mstp(56).EQ.1.AND.mstp(55).LE.8)
THEN
20860 IF(mstp(55).EQ.5.OR.mstp(55).EQ.6) p2mx=0.36d0
20861 IF(mstp(55).EQ.7.OR.mstp(55).EQ.8) p2mx=4.0d0
20862 IF(mstp(57).EQ.0) q2mx=p2mx
20863 CALL
pygano(0,
x,q2mx,p2mx,alamga,xpga,vxpga)
20868 ELSEIF(mstp(56).EQ.1)
THEN
20869 IF(mstp(55).EQ.9.OR.mstp(55).EQ.10) p2mx=0.36d0
20870 IF(mstp(55).EQ.11.OR.mstp(55).EQ.12) p2mx=4.0d0
20871 IF(mstp(57).EQ.0) q2mx=p2mx
20872 CALL
pyggam(mstp(55)-8,
x,q2mx,0d0,mstp(60),f2gm,xpga)
20874 xpq(kfl)=
max(0d0,xpanl(kfl)+xpbeh(kfl)+xpdir(kfl))
20877 ELSEIF(mstp(56).EQ.2)
THEN
20878 IF(mstp(57).EQ.0) q2mx=p2mx
20879 CALL
pygano(0,
x,q2mx,p2mx,alamga,xpga,vxpga)
20884 ELSEIF(mstp(55).GE.1.AND.mstp(55).LE.5)
THEN
20885 IF(mstp(57).EQ.0) q2mx=p2mx
20886 CALL
pygvmd(0,mstp(55),
x,q2mx,p2mx,parp(1),xpga,vxpga)
20892 210 rkf=11d0*
pyr(0)
20894 IF(rkf.GT.1d0) kfr=2
20895 IF(rkf.GT.5d0) kfr=3
20896 IF(rkf.GT.6d0) kfr=4
20897 IF(rkf.GT.10d0) kfr=5
20898 IF(kfr.EQ.4.AND.q2.LT.pmcga**2) goto 210
20899 IF(kfr.EQ.5.AND.q2.LT.pmbga**2) goto 210
20900 IF(mstp(57).EQ.0) q2mx=p2mx
20901 CALL
pygvmd(0,kfr,
x,q2mx,p2mx,parp(1),xpga,vxpga)
20910 IF(mstp(52).EQ.1.AND.mstp(51).GE.1.AND.mstp(51).LE.11)
THEN
20915 ELSEIF(mstp(52).EQ.2)
THEN
20920 value(2)=mstp(51)/1000
20923 IF(mint(93).NE.1000000+mstp(51))
THEN
20925 mint(93)=1000000+mstp(51)
20929 IF(mstp(57).EQ.0) qq=
sqrt(q2min)
20930 CALL
structm(
xx,qq,upv,dnv,usea,dsea,str,chm,bot,top,glu)
20946 WRITE(mstu(11),5200) kf,mstp(52),mstp(51)
20951 IF(kfa.EQ.111.OR.(kfa.EQ.22.AND.mint(109).EQ.2))
THEN
20952 IF(kfa.EQ.22.AND.mstp(55).GE.5.AND.mstp(55).LE.12)
THEN
20957 xps=0.5d0*(xpq(1)+xpq(-2))
20958 xpv=0.5d0*(xpq(2)+xpq(-1))-xps
20962 IF(kfa.EQ.22.AND.mint(105).LE.223)
THEN
20963 xpq(1)=xpq(1)+0.2d0*xpv
20964 xpq(-1)=xpq(-1)+0.2d0*xpv
20965 xpq(2)=xpq(2)+0.8d0*xpv
20966 xpq(-2)=xpq(-2)+0.8d0*xpv
20967 ELSEIF(kfa.EQ.22.AND.mint(105).EQ.333)
THEN
20969 xpq(-3)=xpq(-3)+xpv
20970 ELSEIF(kfa.EQ.22.AND.mint(105).EQ.443)
THEN
20972 xpq(-4)=xpq(-4)+xpv
20973 IF(mstp(55).GE.9)
THEN
20979 xpq(1)=xpq(1)+0.5d0*xpv
20980 xpq(-1)=xpq(-1)+0.5d0*xpv
20981 xpq(2)=xpq(2)+0.5d0*xpv
20982 xpq(-2)=xpq(-2)+0.5d0*xpv
20986 IF(kfa.EQ.22.AND.mint(109).EQ.2)
THEN
20988 xpq(kfl)=vint(281)*xpq(kfl)
20990 vint(232)=vint(281)*xpv
20994 ELSEIF(kfa.EQ.2112)
THEN
21003 ELSEIF(kfa.EQ.3122.OR.kfa.EQ.3112.OR.kfa.EQ.3212.OR.kfa.EQ.3222
21004 & .OR.kfa.EQ.3312.OR.kfa.EQ.3322.OR.kfa.EQ.3334)
THEN
21005 xpval=(xpq(1)+xpq(2)-xpq(-1)-xpq(-2))/3d0
21006 xpsea=0.5d0*(xpq(-1)+xpq(-2))
21011 xpq(kfa/1000)=xpq(kfa/1000)+xpval
21012 xpq(
mod(kfa/100,10))=xpq(
mod(kfa/100,10))+xpval
21013 xpq(
mod(kfa/10,10))=xpq(
mod(kfa/10,10))+xpval
21019 IF(kfl.EQ.21.OR.kfl.EQ.22.OR.kfl.EQ.23.OR.kfl.EQ.25) goto 260
21031 xpq(kfl)=
max(0d0,xpq(kfl))
21032 IF(iabs(kfl).GT.mstp(58).AND.iabs(kfl).LE.8) xpq(kfl)=0d0
21036 5000
FORMAT(
' Error: x value outside physical range; x =',1
p,d12.3)
21037 5100
FORMAT(
' Error: illegal particle code for parton distribution;',
21039 5200
FORMAT(
' Error: unknown parton distribution; KF, library, set =',
21054 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
21057 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
21058 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
21059 common/pypars/mstp(200),parp(200),msti(200),pari(200)
21060 common/pyint1/mint(400),vint(400)
21061 SAVE /
pydat1/,/pydat2/,/pypars/,/pyint1/
21063 dimension xpq(-25:25),xpa(-25:25),xpb(-25:25),wtsb(-3:3)
21064 DATA rmr/0.92d0/,rmp/0.38d0/,wtsb/0.5d0,1d0,1d0,5d0,1d0,1d0,0.5d0/
21070 IF((kfa.EQ.2212.OR.kfa.EQ.2112).AND.mstp(57).GE.2) iacc=1
21071 IF(kfa.EQ.211.AND.mstp(57).GE.3) iacc=1
21072 IF(kfa.EQ.22.AND.mint(109).EQ.2.AND.mstp(57).GE.3) iacc=1
21082 IF(
x.LE.0d0.OR.
x.GE.1d0)
THEN
21083 WRITE(mstu(11),5000)
x
21091 IF(kf.EQ.2212)
THEN
21094 ELSEIF(kf.EQ.-2212)
THEN
21097 ELSEIF(kf.EQ.2112)
THEN
21100 ELSEIF(kf.EQ.-2112)
THEN
21103 ELSEIF(kf.EQ.211)
THEN
21107 ELSEIF(kf.EQ.-211)
THEN
21111 ELSEIF(mint(105).LE.223)
THEN
21116 ELSEIF(mint(105).EQ.333)
THEN
21121 ELSEIF(mint(105).EQ.443)
THEN
21130 q2mn=
max(3d0,vint(231))
21132 xmn=
exp(-(
log((q2mn-2d0)/0.052d0**2)/3.56d0)**2)/3d0
21135 IF(q2.GT.q2mn.AND.q2.GT.q2b)
THEN
21142 ELSEIF(
x.GT.xmn)
THEN
21146 fv=(q2*(q2mn+rmr)/(q2mn*(q2+rmr)))**(0.55d0*(1d0-
x)/(1d0-xmn))
21147 fs=(q2*(q2mn+rmp)/(q2mn*(q2+rmp)))**1.08d0
21151 xfv1=xpa(kfv1)-xpa(-kfv1)
21152 xpa(kfv1)=xpa(-kfv1)
21153 xfv2=xpa(kfv2)-xpa(-kfv2)
21154 xpa(kfv2)=xpa(-kfv2)
21156 xpa(kfv1)=xpa(kfv1)-wtv1*vint(232)
21157 xpa(-kfv1)=xpa(-kfv1)-wtv1*vint(232)
21158 xpa(kfv2)=xpa(kfv2)-wtv2*vint(232)
21159 xpa(-kfv2)=xpa(-kfv2)-wtv2*vint(232)
21164 xpq(kfl)=fs*xpa(kfl)
21167 xpq(kfv1)=xpq(kfv1)+fv*xfv1
21168 xpq(kfv2)=xpq(kfv2)+fv*xfv2
21170 xpq(kfv1)=xpq(kfv1)+fv*wtv1*vint(232)
21171 xpq(-kfv1)=xpq(-kfv1)+fv*wtv1*vint(232)
21172 xpq(kfv2)=xpq(kfv2)+fv*wtv2*vint(232)
21173 xpq(-kfv2)=xpq(-kfv2)+fv*wtv2*vint(232)
21178 ELSEIF(q2.GT.q2mn)
THEN
21181 CALL
pypdfu(kfc,xmn,q2mn,xpa)
21185 fla=
log(q2b/q2)/
log(q2b/q2mn)
21186 fva=(
x/xmn)**0.45d0*fla
21187 fsa=(
x/xmn)**(-0.08d0)*fla
21192 xfva1=xpa(kfv1)-xpa(-kfv1)
21193 xpa(kfv1)=xpa(-kfv1)
21194 xfva2=xpa(kfv2)-xpa(-kfv2)
21195 xpa(kfv2)=xpa(-kfv2)
21196 xfvb1=xpb(kfv1)-xpb(-kfv1)
21197 xpb(kfv1)=xpb(-kfv1)
21198 xfvb2=xpb(kfv2)-xpb(-kfv2)
21199 xpb(kfv2)=xpb(-kfv2)
21201 xpa(kfv1)=xpa(kfv1)-wtv1*vi232a
21202 xpa(-kfv1)=xpa(-kfv1)-wtv1*vi232a
21203 xpa(kfv2)=xpa(kfv2)-wtv2*vi232a
21204 xpa(-kfv2)=xpa(-kfv2)-wtv2*vi232a
21205 xpb(kfv1)=xpb(kfv1)-wtv1*vi232b
21206 xpb(-kfv1)=xpb(-kfv1)-wtv1*vi232b
21207 xpb(kfv2)=xpb(kfv2)-wtv2*vi232b
21208 xpb(-kfv2)=xpb(-kfv2)-wtv2*vi232b
21213 xpq(kfl)=fsa*xpa(kfl)+fb*xpb(kfl)
21216 xpq(kfv1)=xpq(kfv1)+(fva*xfva1+fb*xfvb1)
21217 xpq(kfv2)=xpq(kfv2)+(fva*xfva2+fb*xfvb2)
21219 xpq(kfv1)=xpq(kfv1)+wtv1*(fva*vi232a+fb*vi232b)
21220 xpq(-kfv1)=xpq(-kfv1)+wtv1*(fva*vi232a+fb*vi232b)
21221 xpq(kfv2)=xpq(kfv2)+wtv2*(fva*vi232a+fb*vi232b)
21222 xpq(-kfv2)=xpq(-kfv2)+wtv2*(fva*vi232a+fb*vi232b)
21230 CALL
pypdfu(kfc,xmn,q2mn,xpa)
21231 fb=(xmn-
x)*(q2mn-q2)/(xmn*q2mn)
21233 fvc=(
x/xmn)**0.45d0*(q2/(q2+rmr))**0.55d0
21234 fva=fvc*fa*((q2mn+rmr)/q2mn)**0.55d0
21235 fvb=fvc*fb*1.10d0*xmn**0.45d0*0.11d0
21236 fsc=(
x/xmn)**(-0.08d0)*(q2/(q2+rmp))**1.08d0
21237 fsa=fsc*fa*((q2mn+rmp)/q2mn)**1.08d0
21238 fsb=fsc*fb*0.21d0*xmn**(-0.08d0)*0.21d0
21242 xfv1=xpa(kfv1)-xpa(-kfv1)
21243 xpa(kfv1)=xpa(-kfv1)
21244 xfv2=xpa(kfv2)-xpa(-kfv2)
21245 xpa(kfv2)=xpa(-kfv2)
21247 xpa(kfv1)=xpa(kfv1)-wtv1*vint(232)
21248 xpa(-kfv1)=xpa(-kfv1)-wtv1*vint(232)
21249 xpa(kfv2)=xpa(kfv2)-wtv2*vint(232)
21250 xpa(-kfv2)=xpa(-kfv2)-wtv2*vint(232)
21256 xpq(kfl)=fsa*xpa(kfl)
21260 xpq(kfl)=xpq(kfl)+fsb*wtsb(kfl)
21262 xpq(kfv1)=xpq(kfv1)+(fva*xfv1+fvb*nv1)
21263 xpq(kfv2)=xpq(kfv2)+(fva*xfv2+fvb*nv2)
21266 xpq(kfl)=xpq(kfl)+vint(281)*fsb*wtsb(kfl)
21268 xpq(kfv1)=xpq(kfv1)+wtv1*(fva*vint(232)+fvb*vint(281))
21269 xpq(-kfv1)=xpq(-kfv1)+wtv1*(fva*vint(232)+fvb*vint(281))
21270 xpq(kfv2)=xpq(kfv2)+wtv2*(fva*vint(232)+fvb*vint(281))
21271 xpq(-kfv2)=xpq(-kfv2)+wtv2*(fva*vint(232)+fvb*vint(281))
21278 5000
FORMAT(
' Error: x value outside physical range; x =',1
p,d12.3)
21291 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
21294 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
21295 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
21296 common/pypars/mstp(200),parp(200),msti(200),pari(200)
21297 common/pyint1/mint(400),vint(400)
21298 SAVE /
pydat1/,/pydat2/,/pypars/,/pyint1/
21300 dimension xpel(-25:25),xpga(-6:6),sxp(0:6)
21303 common/w50513/
xmin,
xmax,q2min,q2max
21305 DOUBLE PRECISION xx,qq,upv,dnv,usea,dsea,str,chm,bot,top,glu,
21307 CHARACTER*20 parm(20)
21308 DATA value/20*0d0/,parm/20*
' '/
21318 hle=
log(
max(3d0,q2/pme**2))
21319 hbe2=(aem/paru(1))*(hle-1d0)
21323 IF(mstp(59).LE.1)
THEN
21324 hde=1d0+(aem/paru(1))*(1.5d0*hle+1.289868d0)+(aem/paru(1))**2*
21325 & (-2.164868d0*hle**2+9.840808d0*hle-10.130464d0)
21326 hee=hbe2*(1d0-
x)**(hbe2-1d0)*
sqrt(
max(0d0,hde))-
21327 & 0.5d0*hbe2*(1d0+
x)+hbe2**2/8d0*((1d0+
x)*(-4d0*x1l+3d0*xl)-
21328 & 4d0*xl/(1d0-
x)-5d0-
x)
21330 hee=hbe2*(1d0-
x)**(hbe2-1d0)*
exp(0.172784d0*hbe2)/
21331 &
pygamm(1d0+hbe2)-0.5d0*hbe2*(1d0+
x)+hbe2**2/8d0*((1d0+
x)*
21332 & (-4d0*x1l+3d0*xl)-4d0*xl/(1d0-
x)-5d0-
x)
21334 IF(
x.GT.0.9999d0.AND.
x.LE.0.999999d0)
THEN
21335 hee=hee*100d0**hbe2/(100d0**hbe2-1d0)
21336 ELSEIF(
x.GT.0.999999d0)
THEN
21343 IF(mstp(13).LE.1)
THEN
21346 hlg=
log(
max(1d0,(parp(13)/pme**2)*(1d0-
x)/
x**2))
21348 xpel(22)=aemp*hlg*(1d0+(1d0-
x)**2)
21349 hlw=
log(1d0+q2/pmas(24,1)**2)/(4d0*paru(102))
21350 xpel(-24)=aemp*hlw*(1d0+(1d0-
x)**2)
21353 IF(mstp(12).EQ.1)
THEN
21354 xfsea=0.5d0*(aemp*(hle-1d0))**2*(4d0/3d0+
x-
x**2-4d0*
x**3/3d0+
21355 & 2d0*
x*(1d0+
x)*xl)
21356 xpel(11)=xpel(11)+xfsea
21360 IF(mstp(56).EQ.2)
THEN
21364 value(2)=mstp(55)/1000
21367 IF(mint(93).NE.3000000+mstp(55))
THEN
21369 mint(93)=3000000+mstp(55)
21383 IF(iter.EQ.0) nstp=2
21385 sxp(kfl)=0.5d0*sxp(kfl)
21388 IF(iter.EQ.0) wtstp=0.5d0
21394 xle=xl*(istp-0.5d0)/nstp
21396 xe=
min(0.999999d0,
exp(xle))
21397 xg=
min(0.999999d0,
x/xe)
21399 xpgp=1d0+(1d0-xe)**2
21400 IF(mstp(13).LE.1)
THEN
21403 xpgp=xpgp*
log(
max(1d0,(parp(13)/pme**2)*(1d0-xe)/xe**2))
21406 IF(mstp(56).EQ.1)
THEN
21409 sxp(kfl)=sxp(kfl)+wtstp*xpgp*xpga(kfl)
21411 ELSEIF(mstp(56).EQ.2)
THEN
21415 IF(mstp(57).EQ.0) qq=
sqrt(q2min)
21416 CALL
structm(
xx,qq,upv,dnv,usea,dsea,str,chm,bot,top,glu)
21417 sxp(0)=sxp(0)+wtstp*xpgp*glu
21418 sxp(1)=sxp(1)+wtstp*xpgp*dnv
21419 sxp(2)=sxp(2)+wtstp*xpgp*upv
21420 sxp(3)=sxp(3)+wtstp*xpgp*str
21421 sxp(4)=sxp(4)+wtstp*xpgp*chm
21422 sxp(5)=sxp(5)+wtstp*xpgp*bot
21423 sxp(6)=sxp(6)+wtstp*xpgp*top
21426 sumxpp=sxp(0)+2d0*sxp(1)+2d0*sxp(2)
21427 IF(iter.LE.2.OR.(iter.LE.7.AND.abs(sumxpp-sumxp).GT.
21428 & parp(14)*(sumxpp+sumxp))) goto 120
21432 xpel(0)=fconv*sxp(0)
21434 xpel(kfl)=fconv*sxp(kfl)
21435 xpel(-kfl)=xpel(kfl)
21450 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
21453 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
21454 common/pypars/mstp(200),parp(200),msti(200),pari(200)
21455 common/pyint1/mint(400),vint(400)
21456 SAVE /
pydat1/,/pypars/,/pyint1/
21458 dimension xpga(-6:6),dgag(4,3),dgbg(4,3),dgcg(4,3),dgan(4,3),
21459 &dgbn(4,3),dgcn(4,3),dgdn(4,3),dgen(4,3),dgas(4,3),dgbs(4,3),
21460 &dgcs(4,3),dgds(4,3),dges(4,3)
21464 DATA dgag/-.207d0,.6158d0,1.074d0,0.d0,.8926
d-2,.6594d0,
21465 &.4766d0,.1975
d-1,.03197d0,1.018d0,.2461d0,.2707
d-1/
21466 DATA dgbg/-.1987d0,.6257d0,8.352d0,5.024d0,.5085
d-1,.2774d0,
21467 &-.3906d0,-.3212d0,-.618
d-2,.9476d0,-.6094d0,-.1067
d-1/
21468 DATA dgcg/5.119d0,-.2752d0,-6.993d0,2.298d0,-.2313d0,.1382d0,
21469 &6.542d0,.5162d0,-.1216d0,.9047d0,2.653d0,.2003
d-2/
21470 DATA dgan/2.285d0,-.1526
d-1,1330.d0,4.219d0,-.3711d0,1.061d0,
21471 &4.758d0,-.1503
d-1,15.8d0,-.9464d0,-.5d0,-.2118d0/
21472 DATA dgbn/6.073d0,-.8132d0,-41.31d0,3.165d0,-.1717d0,.7815d0,
21473 &1.535d0,.7067
d-2,2.742d0,-.7332d0,.7148d0,3.287d0/
21474 DATA dgcn/-.4202d0,.1778
d-1,.9216d0,.18d0,.8766
d-1,.2197
d-1,
21475 &.1096d0,.204d0,.2917
d-1,.4657
d-1,.1785d0,.4811
d-1/
21476 DATA dgdn/-.8083
d-1,.6346d0,1.208d0,.203d0,-.8915d0,.2857d0,
21477 &2.973d0,.1185d0,-.342
d-1,.7196d0,.7338d0,.8139
d-1/
21478 DATA dgen/.5526
d-1,1.136d0,.9512d0,.1163
d-1,-.1816d0,.5866d0,
21479 &2.421d0,.4059d0,-.2302
d-1,.9229d0,.5873d0,-.79
d-4/
21480 DATA dgas/16.69d0,-.7916d0,1099.d0,4.428d0,-.1207d0,1.071d0,
21481 &1.977d0,-.8625
d-2,6.734d0,-1.008d0,-.8594
d-1,.7625
d-1/
21482 DATA dgbs/.176d0,.4794
d-1,1.047d0,.25
d-1,25.d0,-1.648d0,
21483 &-.1563
d-1,6.438d0,59.88d0,-2.983d0,4.48d0,.9686d0/
21484 DATA dgcs/-.208
d-1,.3386
d-2,4.853d0,.8404d0,-.123
d-1,1.162d0,
21485 &.4824d0,-.11
d-1,-.3226
d-2,.8432d0,.3616d0,.1383
d-2/
21486 DATA dgds/-.1685
d-1,1.353d0,1.426d0,1.239d0,-.9194
d-1,.7912d0,
21487 &.6397d0,2.327d0,-.3321
d-1,.9475d0,-.3198d0,.2132
d-1/
21488 DATA dges/-.1986d0,1.1d0,1.136d0,-.2779d0,.2015
d-1,.9869d0,
21489 &-.7036
d-1,.1694
d-1,.1059d0,.6954d0,-.6663d0,.3683d0/
21497 IF(mstp(57).LE.0)
THEN
21504 IF(q2.GT.25d0) nf=4
21505 IF(q2.GT.300d0) nf=5
21510 dga=dgag(1,nfe)*
t**dgag(2,nfe)+dgag(3,nfe)*
t**(-dgag(4,nfe))
21511 dgb=dgbg(1,nfe)*
t**dgbg(2,nfe)+dgbg(3,nfe)*
t**(-dgbg(4,nfe))
21512 dgc=dgcg(1,nfe)*
t**dgcg(2,nfe)+dgcg(3,nfe)*
t**(-dgcg(4,nfe))
21513 xpgl=dga*
x**dgb*
x1**dgc
21516 dga=dgan(1,nfe)*
t**dgan(2,nfe)+dgan(3,nfe)*
t**(-dgan(4,nfe))
21517 dgb=dgbn(1,nfe)*
t**dgbn(2,nfe)+dgbn(3,nfe)*
t**(-dgbn(4,nfe))
21518 dgc=dgcn(1,nfe)*
t**dgcn(2,nfe)+dgcn(3,nfe)*
t**(-dgcn(4,nfe))
21519 dgd=dgdn(1,nfe)*
t**dgdn(2,nfe)+dgdn(3,nfe)*
t**(-dgdn(4,nfe))
21520 dge=dgen(1,nfe)*
t**dgen(2,nfe)+dgen(3,nfe)*
t**(-dgen(4,nfe))
21521 xpqn=
x*(
x**2+
x1**2)/(dga-dgb*
log(
x1))+dgc*
x**dgd*
x1**dge
21522 dga=dgas(1,nfe)*
t**dgas(2,nfe)+dgas(3,nfe)*
t**(-dgas(4,nfe))
21523 dgb=dgbs(1,nfe)*
t**dgbs(2,nfe)+dgbs(3,nfe)*
t**(-dgbs(4,nfe))
21524 dgc=dgcs(1,nfe)*
t**dgcs(2,nfe)+dgcs(3,nfe)*
t**(-dgcs(4,nfe))
21525 dgd=dgds(1,nfe)*
t**dgds(2,nfe)+dgds(3,nfe)*
t**(-dgds(4,nfe))
21526 dge=dges(1,nfe)*
t**dges(2,nfe)+dges(3,nfe)*
t**(-dges(4,nfe))
21528 IF(nf.EQ.4) dgf=10d0
21529 IF(nf.EQ.5) dgf=55d0/6d0
21530 xpqs=dgf*
x*(
x**2+
x1**2)/(dga-dgb*
log(
x1))+dgc*
x**dgd*
x1**dge
21532 xpqu=(xpqs+9d0*xpqn)/6d0
21533 xpqd=(xpqs-4.5d0*xpqn)/6d0
21534 ELSEIF(nf.EQ.4)
THEN
21535 xpqu=(xpqs+6d0*xpqn)/8d0
21536 xpqd=(xpqs-6d0*xpqn)/8d0
21538 xpqu=(xpqs+7.5d0*xpqn)/10d0
21539 xpqd=(xpqs-5d0*xpqn)/10d0
21547 IF(nf.GE.4) xpga(4)=aem*xpqu
21548 IF(nf.GE.5) xpga(5)=aem*xpqd
21550 xpga(-kfl)=xpga(kfl)
21569 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
21572 common/pyint8/xpvmd(-6:6),xpanl(-6:6),xpanh(-6:6),xpbeh(-6:6),
21574 common/pyint9/vxpvmd(-6:6),vxpanl(-6:6),vxpanh(-6:6),vxpdgm(-6:6)
21575 SAVE /pyint8/,/pyint9/
21577 dimension xpdfgm(-6:6),xpga(-6:6), vxpga(-6:6)
21579 DATA pmc/1.3d0/, pmb/4.6d0/
21581 DATA aem/0.007297d0/, aem2pi/0.0011614d0/
21587 DATA frho/2.20d0/, fomega/23.6d0/, fphi/18.4d0/
21589 DATA pmrho/0.770d0/, pmphi/1.020d0/
21621 q2a=q2+
p2*q02/
max(q02,q2)
21622 facnor=
log(q2/q02)/nstep
21623 ELSEIF(ip2.EQ.2)
THEN
21625 ELSEIF(ip2.EQ.3)
THEN
21627 q2a=q2+
p2*q02/
max(q02,q2)
21628 ELSEIF(ip2.EQ.4)
THEN
21629 p2mx=q2*(q02+
p2)/(q2+
p2)*
exp(
p2*(q2-q02)/
21630 & ((q2+
p2)*(q02+
p2)))
21631 ELSEIF(ip2.EQ.5)
THEN
21632 p2mxa=q2*(q02+
p2)/(q2+
p2)*
exp(
p2*(q2-q02)/
21633 & ((q2+
p2)*(q02+
p2)))
21634 p2mx=q0*
sqrt(p2mxa)
21635 facnor=
log(q2/p2mxa)/
log(q2/p2mx)
21636 ELSEIF(ip2.EQ.6)
THEN
21637 p2mx=q2*(q02+
p2)/(q2+
p2)*
exp(
p2*(q2-q02)/
21638 & ((q2+
p2)*(q02+
p2)))
21641 p2mxa=q2*(q02+
p2)/(q2+
p2)*
exp(
p2*(q2-q02)/
21642 & ((q2+
p2)*(q02+
p2)))
21643 p2mx=q0*
sqrt(p2mxa)
21646 p2mxb=
max(0d0,1d0-
p2/q2)*p2mxb+
min(1d0,
p2/q2)*p2mxa
21647 facnor=
log(q2/p2mxa)/
log(q2/p2mxb)
21652 CALL
pygvmd(iset,1,
x,q2a,p2mx,alam,xpga,vxpga)
21656 facud=aem*(1d0/frho+1d0/fomega)*(pmrho**2/(pmrho**2+
p2))**2
21657 facs=aem*(1d0/fphi)*(pmphi**2/(pmphi**2+
p2))**2
21659 xpvmd(kfl)=(facud+facs)*xpga(kfl)
21661 xpvmd(1)=xpvmd(1)+(1d0-fracu)*facud*xfval
21662 xpvmd(2)=xpvmd(2)+fracu*facud*xfval
21663 xpvmd(3)=xpvmd(3)+facs*xfval
21664 xpvmd(-1)=xpvmd(-1)+(1d0-fracu)*facud*xfval
21665 xpvmd(-2)=xpvmd(-2)+fracu*facud*xfval
21666 xpvmd(-3)=xpvmd(-3)+facs*xfval
21667 vxpvmd(1)=(1d0-fracu)*facud*xfval
21668 vxpvmd(2)=fracu*facud*xfval
21669 vxpvmd(3)=facs*xfval
21670 vxpvmd(-1)=(1d0-fracu)*facud*xfval
21671 vxpvmd(-2)=fracu*facud*xfval
21672 vxpvmd(-3)=facs*xfval
21679 CALL
pygano(-3,
x,q2a,p2mx,alam,xpga,vxpga)
21681 xpanl(kfl)=facnor*xpga(kfl)
21682 vxpanl(kfl)=facnor*vxpga(kfl)
21686 CALL
pygano(4,
x,q2a,p2mx,alam,xpga,vxpga)
21688 xpanh(kfl)=facnor*xpga(kfl)
21689 vxpanh(kfl)=facnor*vxpga(kfl)
21691 CALL
pygano(5,
x,q2a,p2mx,alam,xpga,vxpga)
21693 xpanh(kfl)=xpanh(kfl)+facnor*xpga(kfl)
21694 vxpanh(kfl)=vxpanh(kfl)+facnor*vxpga(kfl)
21700 DO 160 istep=1,nstep
21701 q2step=q02*(q2/q02)**((istep-0.5d0)/nstep)
21702 IF((kf.EQ.4.AND.q2step.LT.pmc**2).OR.
21703 & (kf.EQ.5.AND.q2step.LT.pmb**2)) goto 160
21704 CALL
pygvmd(0,kf,
x,q2,q2step,alam,xpga,vxpga)
21705 facq=aem2pi*(q2step/(q2step+
p2))**2*facnor
21706 IF(
mod(kf,2).EQ.0) facq=facq*(8d0/9d0)
21707 IF(
mod(kf,2).EQ.1) facq=facq*(2d0/9d0)
21709 IF(kf.LE.3) xpanl(kfl)=xpanl(kfl)+facq*xpga(kfl)
21710 IF(kf.GE.4) xpanh(kfl)=xpanh(kfl)+facq*xpga(kfl)
21711 IF(kf.LE.3) vxpanl(kfl)=vxpanl(kfl)+facq*vxpga(kfl)
21712 IF(kf.GE.4) vxpanh(kfl)=vxpanh(kfl)+facq*vxpga(kfl)
21727 IF(iset.EQ.2.OR.iset.EQ.4)
THEN
21730 xpdir(kfl)=xpga(kfl)
21737 IF(iabs(kfl).EQ.2.OR.iabs(kfl).EQ.4) chsq=4d0/9d0
21738 xpf2=xpvmd(kfl)+xpanl(kfl)+xpbeh(kfl)+xpdir(kfl)
21739 IF(kfl.NE.0) f2gm=f2gm+chsq*xpf2
21740 xpdfgm(kfl)=xpvmd(kfl)+xpanl(kfl)+xpanh(kfl)
21741 vxpdgm(kfl)=vxpvmd(kfl)+vxpanl(kfl)+vxpanh(kfl)
21760 SUBROUTINE pygvmd(ISET,KF,X,Q2,P2,ALAM,XPGA,VXPGA)
21763 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
21766 dimension xpga(-6:6), vxpga(-6:6)
21767 DATA pmc/1.3d0/, pmb/4.6d0/, aem/0.007297d0/, aem2pi/0.0011614d0/
21777 alam3=alam*(pmc/alam)**(2d0/27d0)
21778 alam5=alam*(alam/pmb)**(2d0/23d0)
21779 p2eff=
max(
p2,1.2d0*alam3**2)
21780 IF(kfa.EQ.4) p2eff=
max(p2eff,pmc**2)
21781 IF(kfa.EQ.5) p2eff=
max(p2eff,pmb**2)
21782 q2eff=
max(q2,p2eff)
21786 IF(p2eff.LT.pmc**2) nfp=3
21787 IF(p2eff.GT.pmb**2) nfp=5
21789 IF(q2eff.LT.pmc**2) nfq=3
21790 IF(q2eff.GT.pmb**2) nfq=5
21796 IF(nfq.EQ.3) q2div=q2eff
21797 s=
s+(6d0/27d0)*
log(
log(q2div/alam3**2)/
log(p2eff/alam3**2))
21799 IF(nfp.LE.4.AND.nfq.GE.4)
THEN
21801 IF(nfp.EQ.3) p2div=pmc**2
21803 IF(nfq.EQ.5) q2div=pmb**2
21804 s=
s+(6d0/25d0)*
log(
log(q2div/alam**2)/
log(p2div/alam**2))
21808 IF(nfp.EQ.5) p2div=p2eff
21809 s=
s+(6d0/23d0)*
log(
log(q2eff/alam5**2)/
log(p2div/alam5**2))
21822 IF(q2.LE.
p2.OR.(kfa.EQ.4.AND.q2.LT.pmc**2).OR.
21823 & (kfa.EQ.5.AND.q2.LT.pmb**2))
THEN
21824 xval =
x * 1.5d0 * (
x**2+
x1**2)
21828 xval = (1.5d0/(1d0-0.197d0*
s+4.33d0*s2)*
x**2 +
21829 & (1.5d0+2.10d0*
s)/(1d0+3.29d0*
s)*
x1**2 +
21830 & 5.23d0*
s/(1d0+1.17d0*
s+19.9d0*s3)*
x*
x1) *
21831 &
x**(1d0/(1d0+1.5d0*
s)) * (1d0-
x**2)**(2.667d0*
s)
21832 xglu = 4d0*
s/(1d0+4.76d0*
s+15.2d0*s2+29.3d0*s4) *
21833 &
x**(-2.03d0*
s/(1d0+2.44d0*
s)) * (
x1*xl)**(1.333d0*
s) *
21834 & ((4d0*
x**2+7d0*
x+4d0)*
x1/3d0 - 2d0*
x*(1d0+
x)*xl)
21835 xsea = s2/(1d0+4.54d0*
s+8.19d0*s2+8.05d0*s3) *
21836 &
x**(-1.54d0*
s/(1d0+1.29d0*
s)) *
x1**(2.667d0*
s) *
21837 & ((8d0-73d0*
x+62d0*
x**2)*
x1/9d0 + (3d0-8d0*
x**2/3d0)*
x*xl +
21838 & (2d0*
x-1d0)*
x*xl**2)
21842 ELSEIF(iset.EQ.1)
THEN
21843 IF(q2.LE.
p2.OR.(kfa.EQ.4.AND.q2.LT.pmc**2).OR.
21844 & (kfa.EQ.5.AND.q2.LT.pmb**2))
THEN
21845 xval = 1.294d0 *
x**0.80d0 *
x1**0.76d0
21846 xglu = 1.273d0 *
x**0.40d0 *
x1**1.76d0
21847 xsea = 0.100d0 *
x1**3.76d0
21849 xval = 1.294d0/(1d0+0.252d0*
s+3.079d0*s2) *
21850 &
x**(0.80d0-0.13d0*
s) *
x1**(0.76d0+0.667d0*
s) * xl**(2d0*
s)
21851 xglu = 7.90d0*
s/(1d0+5.50d0*
s) *
exp(-5.16d0*
s) *
21852 &
x**(-1.90d0*
s/(1d0+3.60d0*
s)) *
x1**1.30d0 *
21853 & xl**(0.50d0+3d0*
s) + 1.273d0 *
exp(-10d0*
s) *
21854 &
x**0.40d0 *
x1**(1.76d0+3d0*
s)
21855 xsea = (0.1d0-0.397d0*s2+1.121d0*s3)/
21856 & (1d0+5.61d0*s2+5.26d0*s3) *
x**(-7.32d0*s2/(1d0+10.3d0*s2)) *
21857 &
x1**((3.76d0+15d0*
s+12d0*s2)/(1d0+4d0*
s))
21858 xsea0 = 0.100d0 *
x1**3.76d0
21862 ELSEIF(iset.EQ.2)
THEN
21863 IF(q2.LE.
p2.OR.(kfa.EQ.4.AND.q2.LT.pmc**2).OR.
21864 & (kfa.EQ.5.AND.q2.LT.pmb**2))
THEN
21865 xval = 0.8477d0 *
x**0.51d0 *
x1**1.37d0
21866 xglu = 3.42d0 *
x**0.255d0 *
x1**2.37d0
21869 xval = 0.8477d0/(1d0+1.37d0*
s+2.18d0*s2+3.73d0*s3) *
21870 &
x**(0.51d0+0.21d0*
s) *
x1**1.37d0 * xl**(2.667d0*
s)
21871 xglu = 24d0*
s/(1d0+9.6d0*
s+0.92d0*s2+14.34d0*s3) *
21872 &
exp(-5.94d0*
s) *
x**((-0.013d0-1.80d0*
s)/(1d0+3.14d0*
s)) *
21873 &
x1**(2.37d0+0.4d0*
s) * xl**(0.32d0+3.6d0*
s) + 3.42d0 *
21874 &
exp(-12d0*
s) *
x**0.255d0 *
x1**(2.37d0+3d0*
s)
21875 xsea = 0.842d0*
s/(1d0+21.3d0*
s-33.2d0*s2+229d0*s3) *
21876 &
x**((0.13d0-2.90d0*
s)/(1d0+5.44d0*
s)) *
x1**(3.45d0+0.5d0*
s) *
21882 ELSEIF(iset.EQ.3)
THEN
21883 IF(q2.LE.
p2.OR.(kfa.EQ.4.AND.q2.LT.pmc**2).OR.
21884 & (kfa.EQ.5.AND.q2.LT.pmb**2))
THEN
21885 xval =
x**0.46d0 *
x1**0.64d0 + 0.76d0 *
x
21886 xglu = 1.925d0 *
x1**2
21887 xsea = 0.242d0 *
x1**4
21889 xval = (1d0+0.186d0*
s)/(1d0-0.209d0*
s+1.495d0*s2) *
21890 &
x**(0.46d0+0.25d0*
s) *
21891 &
x1**((0.64d0+0.14d0*
s+5d0*s2)/(1d0+
s)) * xl**(1.9d0*
s) +
21892 & (0.76d0+0.4d0*
s) *
x *
x1**(2.667d0*
s)
21893 xglu = (1.925d0+5.55d0*
s+147d0*s2)/(1d0-3.59d0*
s+3.32d0*s2) *
21894 &
exp(-18.67d0*
s) *
21895 &
x**((-5.81d0*
s-5.34d0*s2)/(1d0+29d0*
s-4.26d0*s2))
21896 & *
x1**((2d0-5.9d0*
s)/(1d0+1.7d0*
s)) *
21897 & xl**(9.3d0*
s/(1d0+1.7d0*
s))
21898 xsea = (0.242d0-0.252d0*
s+1.19d0*s2)/
21899 & (1d0-0.607d0*
s+21.95d0*s2) *
21900 &
x**(-12.1d0*s2/(1d0+2.62d0*
s+16.7d0*s2)) *
x1**4 * xl**
s
21901 xsea0 = 0.242d0 *
x1**4
21905 ELSEIF(iset.EQ.4)
THEN
21906 IF(q2.LE.
p2.OR.(kfa.EQ.4.AND.q2.LT.pmc**2).OR.
21907 & (kfa.EQ.5.AND.q2.LT.pmb**2))
THEN
21908 xval = 1.168d0 *
x**0.50d0 *
x1**2.60d0 + 0.965d0 *
x
21909 xglu = 1.808d0 *
x1**2
21910 xsea = 0.209d0 *
x1**4
21912 xval = (1.168d0+1.771d0*
s+29.35d0*s2) *
exp(-5.776d0*
s) *
21913 &
x**((0.5d0+0.208d0*
s)/(1d0-0.794d0*
s+1.516d0*s2)) *
21914 &
x1**((2.6d0+7.6d0*
s)/(1d0+5d0*
s)) *
21915 & xl**(5.15d0*
s/(1d0+2d0*
s)) +
21916 & (0.965d0+22.35d0*
s)/(1d0+18.4d0*
s) *
x *
x1**(2.667d0*
s)
21917 xglu = (1.808d0+29.9d0*
s)/(1d0+26.4d0*
s) *
exp(-5.28d0*
s) *
21918 &
x**((-5.35d0*
s-10.11d0*s2)/(1d0+31.71d0*
s)) *
21919 &
x1**((2d0-7.3d0*
s+4d0*s2)/(1d0+2.5d0*
s)) *
21920 & xl**(10.9d0*
s/(1d0+2.5d0*
s))
21921 xsea = (0.209d0+0.644d0*s2)/(1d0+0.319d0*
s+17.6d0*s2) *
21922 &
x**((-0.373d0*
s-7.71d0*s2)/(1d0+0.815d0*
s+11.0d0*s2)) *
21923 &
x1**(4d0+
s) * xl**(0.45d0*
s)
21924 xsea0 = 0.209d0 *
x1**4
21929 sll=
log(
log(q2eff/alam**2)/
log(p2eff/alam**2))
21931 IF(q2.GT.pmc**2.AND.q2.GT.1.001d0*p2eff)
THEN
21932 sch=
max(0d0,
log(
log(pmc**2/alam**2)/
log(p2eff/alam**2)))
21934 xchm=xsea*(1d0-(sch/sll)**2)
21936 xchm=
max(0d0,xsea-xsea0*
x1**(2.667d0*
s))*(1d0-sch/sll)
21940 IF(q2.GT.pmb**2.AND.q2.GT.1.001d0*p2eff)
THEN
21941 sbt=
max(0d0,
log(
log(pmb**2/alam**2)/
log(p2eff/alam**2)))
21943 xbot=xsea*(1d0-(sbt/sll)**2)
21945 xbot=
max(0d0,xsea-xsea0*
x1**(2.667d0*
s))*(1d0-sbt/sll)
21956 xpga(kfa)=xpga(kfa)+xval
21958 xpga(-kfl)=xpga(kfl)
21981 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
21984 dimension xpga(-6:6), vxpga(-6:6), alamsq(3:5)
21985 DATA pmc/1.3d0/, pmb/4.6d0/, aem/0.007297d0/, aem2pi/0.0011614d0/
21992 IF(q2.LE.
p2)
RETURN
21996 alamsq(3)=(alam*(pmc/alam)**(2d0/27d0))**2
21998 alamsq(5)=(alam*(alam/pmb)**(2d0/23d0))**2
21999 p2eff=
max(
p2,1.2d0*alamsq(3))
22000 IF(kf.EQ.4) p2eff=
max(p2eff,pmc**2)
22001 IF(kf.EQ.5) p2eff=
max(p2eff,pmb**2)
22002 q2eff=
max(q2,p2eff)
22007 IF(p2eff.LT.pmc**2) nfp=3
22008 IF(p2eff.GT.pmb**2) nfp=5
22010 IF(q2eff.LT.pmc**2) nfq=3
22011 IF(q2eff.GT.pmb**2) nfq=5
22017 ELSEIF(kf.LT.0)
THEN
22026 DO 110 kfl=kflmn,kflmx
22029 IF(kfl.LE.3.AND.(kfl.EQ.1.OR.kfl.EQ.kf))
THEN
22030 tdiff=
log(q2eff/p2eff)
22031 s=(6d0/(33d0-2d0*nfq))*
log(
log(q2eff/alamsq(nfq))/
22032 &
log(p2eff/alamsq(nfq)))
22033 IF(nfq.GT.nfp)
THEN
22035 IF(nfq.EQ.4) q2div=pmc**2
22036 snfq=(6d0/(33d0-2d0*nfq))*
log(
log(q2div/alamsq(nfq))/
22037 &
log(p2eff/alamsq(nfq)))
22038 snfp=(6d0/(33d0-2d0*(nfq-1)))*
log(
log(q2div/alamsq(nfq-1))/
22039 &
log(p2eff/alamsq(nfq-1)))
22040 s=
s+(
log(q2div/p2eff)/
log(q2eff/p2eff))*(snfp-snfq)
22042 IF(nfq.EQ.5.AND.nfp.EQ.3)
THEN
22044 snf4=(6d0/(33d0-2d0*4))*
log(
log(q2div/alamsq(4))/
22045 &
log(p2eff/alamsq(4)))
22046 snf3=(6d0/(33d0-2d0*3))*
log(
log(q2div/alamsq(3))/
22047 &
log(p2eff/alamsq(3)))
22048 s=
s+(
log(q2div/p2eff)/
log(q2eff/p2eff))*(snf3-snf4)
22052 ELSEIF(kfl.EQ.2.OR.kfl.EQ.3)
THEN
22055 ELSEIF(kfl.EQ.4)
THEN
22056 IF(q2.LE.pmc**2) goto 110
22057 p2eff=
max(p2eff,pmc**2)
22058 q2eff=
max(q2eff,p2eff)
22059 tdiff=
log(q2eff/p2eff)
22060 s=(6d0/(33d0-2d0*nfq))*
log(
log(q2eff/alamsq(nfq))/
22061 &
log(p2eff/alamsq(nfq)))
22062 IF(nfq.EQ.5.AND.nfp.EQ.4)
THEN
22064 snfq=(6d0/(33d0-2d0*nfq))*
log(
log(q2div/alamsq(nfq))/
22065 &
log(p2eff/alamsq(nfq)))
22066 snfp=(6d0/(33d0-2d0*(nfq-1)))*
log(
log(q2div/alamsq(nfq-1))/
22067 &
log(p2eff/alamsq(nfq-1)))
22068 s=
s+(
log(q2div/p2eff)/
log(q2eff/p2eff))*(snfp-snfq)
22072 ELSEIF(kfl.EQ.5)
THEN
22073 IF(q2.LE.pmb**2) goto 110
22074 p2eff=
max(p2eff,pmb**2)
22075 q2eff=
max(q2,p2eff)
22076 tdiff=
log(q2eff/p2eff)
22077 s=(6d0/(33d0-2d0*nfq))*
log(
log(q2eff/alamsq(nfq))/
22078 &
log(p2eff/alamsq(nfq)))
22083 IF(kfl.EQ.2.OR.kfl.EQ.4) chsq=4d0/9d0
22084 fac=aem2pi*2d0*chsq*tdiff
22087 IF(kfl.EQ.1.OR.kfl.EQ.4.OR.kfl.EQ.5.OR.kfl.EQ.kf)
THEN
22088 xval= ((1.5d0+2.49d0*
s+26.9d0*
s**2)/(1d0+32.3d0*
s**2)*
x**2 +
22089 & (1.5d0-0.49d0*
s+7.83d0*
s**2)/(1d0+7.68d0*
s**2)*(1d0-
x)**2 +
22090 & 1.5d0*
s/(1d0-3.2d0*
s+7d0*
s**2)*
x*(1d0-
x)) *
22091 &
x**(1d0/(1d0+0.58d0*
s)) * (1d0-
x**2)**(2.5d0*
s/(1d0+10d0*
s))
22092 xglu= 2d0*
s/(1d0+4d0*
s+7d0*
s**2) *
22093 &
x**(-1.67d0*
s/(1d0+2d0*
s)) * (1d0-
x**2)**(1.2d0*
s) *
22094 & ((4d0*
x**2+7d0*
x+4d0)*(1d0-
x)/3d0 - 2d0*
x*(1d0+
x)*xl)
22095 xsea= 0.333d0*
s**2/(1d0+4.90d0*
s+4.69d0*
s**2+21.4d0*
s**3) *
22096 &
x**(-1.18d0*
s/(1d0+1.22d0*
s)) * (1d0-
x)**(1.2d0*
s) *
22097 & ((8d0-73d0*
x+62d0*
x**2)*(1d0-
x)/9d0 +
22098 & (3d0-8d0*
x**2/3d0)*
x*xl + (2d0*
x-1d0)*
x*xl**2)
22101 sll=
log(
log(q2eff/alam**2)/
log(p2eff/alam**2))
22103 IF(q2.GT.pmc**2.AND.q2.GT.1.001d0*p2eff)
THEN
22104 sch=
max(0d0,
log(
log(pmc**2/alam**2)/
log(p2eff/alam**2)))
22105 xchm=xsea*(1d0-(sch/sll)**3)
22108 IF(q2.GT.pmb**2.AND.q2.GT.1.001d0*p2eff)
THEN
22109 sbt=
max(0d0,
log(
log(pmb**2/alam**2)/
log(p2eff/alam**2)))
22110 xbot=xsea*(1d0-(sbt/sll)**3)
22115 xpga(0)=xpga(0)+fac*xglu
22116 xpga(1)=xpga(1)+fac*xsea
22117 xpga(2)=xpga(2)+fac*xsea
22118 xpga(3)=xpga(3)+fac*xsea
22119 xpga(4)=xpga(4)+fac*xchm
22120 xpga(5)=xpga(5)+fac*xbot
22121 xpga(kfl)=xpga(kfl)+fac*xval
22122 vxpga(kfl)=vxpga(kfl)+fac*xval
22125 xpga(-kfl)=xpga(kfl)
22126 vxpga(-kfl)=vxpga(kfl)
22141 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
22145 DATA aem2pi/0.0011614d0/
22152 IF(
x.GE.q2/(4d0*pm2+q2+
p2))
RETURN
22154 beta2=1d0-4d0*pm2/w2
22155 IF(beta2.LT.1
d-10)
RETURN
22160 IF(
p2.LT.1
d-4)
THEN
22161 IF(
beta.LT.0.99d0)
THEN
22164 xbl=
log((1d0+
beta)**2*w2/(4d0*pm2))
22166 sigbh=
beta*(8d0*
x*(1d0-
x)-1d0-rmq*
x*(1d0-
x))+
22167 & xbl*(
x**2+(1d0-
x)**2+rmq*
x*(1d0-3d0*
x)-0.5d0*rmq**2*
x**2)
22172 rpq=1d0-4d0*
x**2*
p2/q2
22173 IF(rpq.GT.1
d-10)
THEN
22174 rpbe=
sqrt(rpq*beta2)
22175 IF(rpbe.LT.0.99d0)
THEN
22176 xbl=
log((1d0+rpbe)/(1d0-rpbe))
22177 xbi=2d0*rpbe/(1d0-rpbe**2)
22179 rpbesn=4d0*pm2/w2+(4d0*
x**2*
p2/q2)*beta2
22180 xbl=
log((1d0+rpbe)**2/rpbesn)
22181 xbi=2d0*rpbe/rpbesn
22183 sigbh=
beta*(6d0*
x*(1d0-
x)-1d0)+
22184 & xbl*(
x**2+(1d0-
x)**2+rmq*
x*(1d0-3d0*
x)-0.5d0*rmq**2*
x**2)+
22185 & xbi*(2d0*
x/q2)*(pm2*
x*(2d0-rmq)-
p2*
x)
22191 IF(iabs(kf).EQ.2.OR.iabs(kf).EQ.4) chsq=4d0/9d0
22192 xpbh=3d0*chsq*aem2pi*
x*sigbh
22207 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
22210 dimension xpga(-6:6)
22211 DATA pmc/1.3d0/, pmb/4.6d0/, aem2pi/0.0011614d0/
22219 xtmp = (
x**2+(1d0-
x)**2) * (-
log(
x)) - 1d0
22220 cgam = 3d0*aem2pi*
x * (xtmp*(1d0+
p2/(
p2+q02)) + 6d0*
x*(1d0-
x))
22223 xpga(1)=(1d0/9d0)*cgam
22224 xpga(2)=(4d0/9d0)*cgam
22225 xpga(3)=(1d0/9d0)*cgam
22244 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
22247 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
22248 common/pypars/mstp(200),parp(200),msti(200),pari(200)
22249 common/pyint1/mint(400),vint(400)
22250 SAVE /
pydat1/,/pypars/,/pyint1/
22252 dimension xppi(-6:6),cow(3,5,4,2),xq(9),ts(6)
22257 DATA ((cow(ip,is,1,1),is=1,5),ip=1,3)/
22258 &4.0000
d-01, 7.0000
d-01, 0.0000
d+00, 0.0000
d+00, 0.0000
d+00,
22259 &-6.2120
d-02, 6.4780
d-01, 0.0000
d+00, 0.0000
d+00, 0.0000
d+00,
22260 &-7.1090
d-03, 1.3350
d-02, 0.0000
d+00, 0.0000
d+00, 0.0000
d+00/
22261 DATA ((cow(ip,is,1,2),is=1,5),ip=1,3)/
22262 &4.0000
d-01, 6.2800
d-01, 0.0000
d+00, 0.0000
d+00, 0.0000
d+00,
22263 &-5.9090
d-02, 6.4360
d-01, 0.0000
d+00, 0.0000
d+00, 0.0000
d+00,
22264 &-6.5240
d-03, 1.4510
d-02, 0.0000
d+00, 0.0000
d+00, 0.0000
d+00/
22266 DATA ((cow(ip,is,2,1),is=1,5),ip=1,3)/
22267 &8.8800
d-01, 0.0000
d+00, 3.1100
d+00, 6.0000
d+00, 0.0000
d+00,
22268 &-1.8020
d+00, -1.5760
d+00, -1.3170
d-01, 2.8010
d+00, -1.7280
d+01,
22269 &1.8120
d+00, 1.2000
d+00, 5.0680
d-01, -1.2160
d+01, 2.0490
d+01/
22270 DATA ((cow(ip,is,2,2),is=1,5),ip=1,3)/
22271 &7.9400
d-01, 0.0000
d+00, 2.8900
d+00, 6.0000
d+00, 0.0000
d+00,
22272 &-9.1440
d-01, -1.2370
d+00, 5.9660
d-01, -3.6710
d+00, -8.1910
d+00,
22273 &5.9660
d-01, 6.5820
d-01, -2.5500
d-01, -2.3040
d+00, 7.7580
d+00/
22275 DATA ((cow(ip,is,3,1),is=1,5),ip=1,3)/
22276 &9.0000
d-01, 0.0000
d+00, 5.0000
d+00, 0.0000
d+00, 0.0000
d+00,
22277 &-2.4280
d-01, -2.1200
d-01, 8.6730
d-01, 1.2660
d+00, 2.3820
d+00,
22278 &1.3860
d-01, 3.6710
d-03, 4.7470
d-02, -2.2150
d+00, 3.4820
d-01/
22279 DATA ((cow(ip,is,3,2),is=1,5),ip=1,3)/
22280 &9.0000
d-01, 0.0000
d+00, 5.0000
d+00, 0.0000
d+00, 0.0000
d+00,
22281 &-1.4170
d-01, -1.6970
d-01, -2.4740
d+00, -2.5340
d+00, 5.6210
d-01,
22282 &-1.7400
d-01, -9.6230
d-02, 1.5750
d+00, 1.3780
d+00, -2.7010
d-01/
22284 DATA ((cow(ip,is,4,1),is=1,5),ip=1,3)/
22285 &0.0000
d+00, -2.2120
d-02, 2.8940
d+00, 0.0000
d+00, 0.0000
d+00,
22286 &7.9280
d-02, -3.7850
d-01, 9.4330
d+00, 5.2480
d+00, 8.3880
d+00,
22287 &-6.1340
d-02, -1.0880
d-01, -1.0852
d+01, -7.1870
d+00, -1.1610
d+01/
22288 DATA ((cow(ip,is,4,2),is=1,5),ip=1,3)/
22289 &0.0000
d+00, -8.8200
d-02, 1.9240
d+00, 0.0000
d+00, 0.0000
d+00,
22290 &6.2290
d-02, -2.8920
d-01, 2.4240
d-01, -4.4630
d+00, -8.3670
d-01,
22291 &-4.0990
d-02, -1.0820
d-01, 2.0360
d+00, 5.2090
d+00, -4.8400
d-02/
22301 IF(mstp(53).LE.2)
THEN
22307 IF(nset.EQ.1) alam=0.2d0
22308 IF(nset.EQ.2) alam=0.4d0
22310 IF(mstp(57).LE.0)
THEN
22313 q2in=
min(2d3,
max(4d0,q2))
22314 sd=
log(
log(q2in/alam**2)/
log(4d0/alam**2))
22320 ts(is)=cow(1,is,kfl,nset)+cow(2,is,kfl,nset)*sd+
22321 & cow(3,is,kfl,nset)*sd**2
22324 xq(kfl)=
x**ts(1)*(1d0-
x)**ts(2)/eulbet(ts(1),ts(2)+1d0)
22326 xq(kfl)=ts(1)*
x**ts(2)*(1d0-
x)**ts(3)*(1d0+ts(4)*
x+
22334 xppi(2)=xq(1)+xq(3)/6d0
22337 xppi(-1)=xq(1)+xq(3)/6d0
22349 IF(mstp(57).LE.0)
THEN
22352 q2in=
min(1d8,
max(0.25d0,q2))
22353 sd=
log(
log(q2in/0.232d0**2)/
log(0.25d0/0.232d0**2))
22360 xfval=(0.519d0+0.180d0*sd-0.011d0*sd2)*
x**(0.499d0-0.027d0*sd)*
22361 & (1d0+(0.381d0-0.419d0*sd)*xs)*(1d0-
x)**(0.367d0+0.563d0*sd)
22362 xfglu=(
x**(0.482d0+0.341d0*
sqrt(sd))*((0.678d0+0.877d0*
22364 & (0.338d0-1.597d0*sd)*xs+(-0.233d0*sd+0.406d0*sd2)*
x)+
22365 & sd**0.599d0*
exp(-(0.618d0+2.070d0*sd)+
sqrt(3.676d0*sd**1.263d0*
22367 & (1d0-
x)**(0.390d0+1.053d0*sd)
22368 xfsea=sd**0.55d0*(1d0-0.748d0*xs+(0.313d0+0.935d0*sd)*
x)*(1d0-
22370 &
exp(-(4.433d0+1.301d0*sd)+
sqrt((9.30d0-0.887d0*sd)*sd**0.56d0*
22372 & xl**(2.538d0-0.763d0*sd)
22373 IF(sd.LE.0.888d0)
THEN
22376 xfchm=(sd-0.888d0)**1.02d0*(1d0+1.008d0*
x)*(1d0-
x)**(1.208d0+
22378 &
exp(-(4.40d0+1.493d0*sd)+
sqrt((2.032d0+1.901d0*sd)*sd**0.39d0*
22381 IF(sd.LE.1.351d0)
THEN
22384 xfbot=(sd-1.351d0)**1.03d0*(1d0-
x)**(0.697d0+0.855d0*sd)*
22385 &
exp(-(4.51d0+1.490d0*sd)+
sqrt((3.056d0+1.694d0*sd)*sd**0.39d0*
22397 xppi(-kfl)=xppi(kfl)
22399 xppi(2)=xppi(2)+xfval
22400 xppi(-1)=xppi(-1)+xfval
22415 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
22418 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
22419 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
22420 common/pypars/mstp(200),parp(200),msti(200),pari(200)
22421 common/pyint1/mint(400),vint(400)
22422 SAVE /
pydat1/,/pydat2/,/pypars/,/pyint1/
22424 dimension xppr(-6:6),q2min(6)
22425 DATA q2min/ 2.56d0, 2.56d0, 2.56d0, 0.4d0, 0.4d0, 0.4d0/
22433 nset=
max(1,
min(6,mstp(51)))
22434 vint(231)=q2min(nset)
22435 IF(mstp(57).EQ.0)
THEN
22438 q2l=
max(q2min(nset),q2)
22441 IF(nset.GE.1.AND.nset.LE.3)
THEN
22449 ELSEIF(i.LE.2)
THEN
22450 xppr(i)=
pycteq(nset,i,
x,qrt)+xppr(-i)
22456 ELSEIF(nset.GE.4.AND.nset.LE.6)
THEN
22459 CALL
pygrvl(
x, q2l, uv, dv, del, udb, sb, chm, bot, gl)
22460 ELSEIF(nset.EQ.5)
THEN
22461 CALL
pygrvm(
x, q2l, uv, dv, del, udb, sb, chm, bot, gl)
22463 CALL
pygrvd(
x, q2l, uv, dv, del, udb, sb, chm, bot, gl)
22468 xppr(-1)=0.5d0*(udb+del)
22469 xppr(-2)=0.5d0*(udb-del)
22473 xppr(1)=dv+xppr(-1)
22474 xppr(2)=uv+xppr(-2)
22495 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
22498 dimension alm(3), qms(4:6)
22499 DATA alm / 0.177d0, 0.239d0, 0.247d0 /
22500 DATA qmn / 1.60d0 /, (qms(i), i=4,6) / 1.60d0, 5.00d0, 180.0d0 /
22505 IF(q .LE. qms(ip))
THEN
22516 sbl =
log(q/alam) /
log(qi/alam)
22522 IF(iset .EQ. 1)
THEN
22523 IF(iprt .EQ. 2)
THEN
22524 a0=
exp( 0.1907
d+00+0.4205
d-01*sb +0.2752
d+00*sb2-
22526 a1= 0.4611
d+00+0.2331
d-01*sb -0.3403
d-01*sb2+0.3174
d-01*sb3
22527 a2= 0.3504
d+01+0.5739
d+00*sb +0.2676
d+00*sb2-0.1553
d+00*sb3
22528 a3= 0.7452
d+01-0.6742
d+01*sb +0.2849
d+01*sb2-0.1964
d+00*sb3
22529 a4= 0.1116
d+01-0.3435
d+00*sb +0.2865
d+00*sb2-0.1288
d+00*sb3
22530 a5= 0.6659
d-01+0.2714
d+00*sb -0.2688
d+00*sb2+0.2763
d+00*sb3
22531 ELSEIF(iprt .EQ. 1)
THEN
22532 a0=
exp( 0.1141
d+00+0.4764
d+00*sb -0.1745
d+01*sb2+
22534 a1= 0.4275
d+00-0.1290
d+00*sb +0.3609
d+00*sb2-0.1689
d+00*sb3
22535 a2= 0.3000
d+01+0.2946
d+01*sb -0.4117
d+01*sb2+0.1989
d+01*sb3
22536 a3=-0.1302
d+01+0.2322
d+01*sb -0.4258
d+01*sb2+0.2109
d+01*sb3
22537 a4= 0.2586
d+01-0.1920
d+00*sb -0.3754
d+00*sb2+0.2731
d+00*sb3
22538 a5=-0.2251
d+00-0.5374
d+00*sb +0.2245
d+01*sb2-0.1034
d+01*sb3
22539 ELSEIF(iprt .EQ. 0)
THEN
22540 a0=
exp(-0.7631
d+00-0.7241
d+00*sb -0.1170
d+01*sb2+
22542 a1=-0.3573
d+00+0.3469
d+00*sb -0.3396
d+00*sb2+0.9188
d-01*sb3
22543 a2= 0.5604
d+01+0.7458
d+00*sb -0.5082
d+00*sb2+0.1844
d+00*sb3
22544 a3= 0.1549
d+02-0.1809
d+02*sb +0.1162
d+02*sb2-0.3483
d+01*sb3
22545 a4= 0.9881
d+00+0.1364
d+00*sb -0.4421
d+00*sb2+0.2051
d+00*sb3
22546 a5=-0.9505
d-01+0.3259
d+01*sb -0.1547
d+01*sb2+0.2918
d+00*sb3
22547 ELSEIF(iprt .EQ. -1)
THEN
22548 a0=
exp(-0.2449
d+01-0.3513
d+01*sb +0.4529
d+01*sb2-
22550 a1=-0.4050
d+00+0.3411
d+00*sb -0.3669
d+00*sb2+0.1109
d+00*sb3
22551 a2= 0.7470
d+01-0.2982
d+01*sb +0.5503
d+01*sb2-0.2419
d+01*sb3
22552 a3= 0.1503
d+02+0.1638
d+01*sb -0.8772
d+01*sb2+0.3852
d+01*sb3
22553 a4= 0.1137
d+01-0.1006
d+01*sb +0.1485
d+01*sb2-0.6389
d+00*sb3
22554 a5=-0.5299
d+00+0.3160
d+01*sb -0.3104
d+01*sb2+0.1219
d+01*sb3
22555 ELSEIF(iprt .EQ. -2)
THEN
22556 a0=
exp(-0.2740
d+01-0.7987
d-01*sb -0.9015
d+00*sb2-
22558 a1=-0.3909
d+00+0.1244
d+00*sb -0.4487
d-01*sb2+0.1277
d-01*sb3
22559 a2= 0.9163
d+01+0.2823
d+00*sb -0.7720
d+00*sb2-0.9360
d-02*sb3
22560 a3= 0.1080
d+02-0.3915
d+01*sb -0.1153
d+01*sb2+0.2649
d+01*sb3
22561 a4= 0.9894
d+00-0.1647
d+00*sb -0.9426
d-02*sb2+0.2945
d-02*sb3
22562 a5=-0.3395
d+00+0.6998
d+00*sb +0.7000
d+00*sb2-0.6730
d-01*sb3
22563 ELSEIF(iprt .EQ. -3)
THEN
22564 a0=
exp(-0.3640
d+01+0.1250
d+01*sb -0.2914
d+01*sb2+
22566 a1=-0.3595
d+00-0.5259
d-01*sb +0.3122
d+00*sb2-0.1642
d+00*sb3
22567 a2= 0.7305
d+01+0.9727
d+00*sb -0.9788
d+00*sb2-0.5193
d-01*sb3
22568 a3= 0.1198
d+02-0.1799
d+02*sb +0.2614
d+02*sb2-0.1091
d+02*sb3
22569 a4= 0.9882
d+00-0.6101
d+00*sb +0.9737
d+00*sb2-0.4935
d+00*sb3
22570 a5=-0.1186
d+00-0.3231
d+00*sb +0.3074
d+01*sb2-0.1274
d+01*sb3
22571 ELSEIF(iprt .EQ. -4)
THEN
22572 a0=sb** 0.1122
d+01*
exp(-0.3718
d+01-0.1335
d+01*sb +
22574 a1=-0.4719
d+00+0.7509
d+00*sb -0.8420
d+00*sb2+0.2901
d+00*sb3
22575 a2= 0.6194
d+01-0.1641
d+01*sb +0.4907
d+01*sb2-0.2523
d+01*sb3
22576 a3= 0.4426
d+01-0.4270
d+01*sb +0.6581
d+01*sb2-0.3474
d+01*sb3
22577 a4= 0.2683
d+00+0.9876
d+00*sb -0.7612
d+00*sb2+0.1780
d+00*sb3
22578 a5=-0.4547
d+00+0.4410
d+01*sb -0.3712
d+01*sb2+0.1245
d+01*sb3
22579 ELSEIF(iprt .EQ. -5)
THEN
22580 a0=sb** 0.9838
d+00*
exp(-0.2548
d+01-0.7660
d+01*sb +
22582 a1=-0.3122
d+00-0.2120
d+00*sb +0.5716
d+00*sb2-0.3773
d+00*sb3
22583 a2= 0.6257
d+01-0.8214
d-01*sb -0.2537
d+01*sb2+0.2981
d+01*sb3
22584 a3=-0.6723
d+00+0.2131
d+01*sb +0.9599
d+01*sb2-0.7910
d+01*sb3
22585 a4= 0.9169
d-01+0.4295
d-01*sb -0.5017
d+00*sb2+0.3811
d+00*sb3
22586 a5= 0.2402
d+00+0.2656
d+01*sb -0.1586
d+01*sb2+0.2880
d+00*sb3
22587 ELSEIF(iprt .EQ. -6)
THEN
22588 a0=sb** 0.1001
d+01*
exp(-0.6934
d+01+0.3050
d+01*sb -
22590 a1=-0.1713
d+00-0.5167
d+00*sb +0.1241
d+01*sb2-0.1703
d+01*sb3
22591 a2= 0.6169
d+01+0.3023
d+01*sb -0.1972
d+02*sb2+0.1069
d+02*sb3
22592 a3= 0.4439
d+01-0.1746
d+02*sb +0.1225
d+02*sb2+0.8350
d+00*sb3
22593 a4= 0.5458
d+00-0.4586
d+00*sb +0.9089
d+00*sb2-0.4049
d+00*sb3
22594 a5= 0.3207
d+01-0.3362
d+01*sb +0.5877
d+01*sb2-0.7659
d+01*sb3
22598 ELSEIF(iset .EQ. 2)
THEN
22599 IF(iprt .EQ. 2)
THEN
22600 a0=
exp( 0.2259
d+00+0.1237
d+00*sb +0.3035
d+00*sb2-
22602 a1= 0.5085
d+00+0.1651
d-01*sb -0.3592
d-01*sb2+0.2782
d-01*sb3
22603 a2= 0.3732
d+01+0.4901
d+00*sb +0.2218
d+00*sb2-0.1116
d+00*sb3
22604 a3= 0.7011
d+01-0.6620
d+01*sb +0.2557
d+01*sb2-0.1360
d+00*sb3
22605 a4= 0.8969
d+00-0.2429
d+00*sb +0.1811
d+00*sb2-0.6888
d-01*sb3
22606 a5= 0.8636
d-01+0.2558
d+00*sb -0.3082
d+00*sb2+0.2535
d+00*sb3
22607 ELSEIF(iprt .EQ. 1)
THEN
22608 a0=
exp(-0.7266
d+00-0.1584
d+01*sb +0.1259
d+01*sb2-
22610 a1= 0.5285
d+00-0.3721
d+00*sb +0.5150
d+00*sb2-0.1697
d+00*sb3
22611 a2= 0.4075
d+01+0.8282
d+00*sb -0.4496
d+00*sb2+0.2107
d+00*sb3
22612 a3= 0.3279
d+01+0.5066
d+01*sb -0.9134
d+01*sb2+0.2897
d+01*sb3
22613 a4= 0.4399
d+00-0.5888
d+00*sb +0.4802
d+00*sb2-0.1664
d+00*sb3
22614 a5= 0.3678
d+00-0.8929
d+00*sb +0.1592
d+01*sb2-0.5713
d+00*sb3
22615 ELSEIF(iprt .EQ. 0)
THEN
22616 a0=
exp(-0.2318
d+00-0.9779
d+00*sb -0.3783
d+00*sb2+
22618 a1=-0.2916
d+00+0.1754
d+00*sb -0.1884
d+00*sb2+0.6116
d-01*sb3
22619 a2= 0.5349
d+01+0.7460
d+00*sb +0.2319
d+00*sb2-0.2622
d+00*sb3
22620 a3= 0.6920
d+01-0.3454
d+01*sb +0.2027
d+01*sb2-0.7626
d+00*sb3
22621 a4= 0.1013
d+01+0.1423
d+00*sb -0.1798
d+00*sb2+0.1872
d-01*sb3
22622 a5=-0.5465
d-01+0.2303
d+01*sb -0.9584
d+00*sb2+0.3098
d+00*sb3
22623 ELSEIF(iprt .EQ. -1)
THEN
22624 a0=
exp(-0.2328
d+01-0.3061
d+01*sb +0.3620
d+01*sb2-
22626 a1=-0.3358
d+00+0.3198
d+00*sb -0.4210
d+00*sb2+0.1571
d+00*sb3
22627 a2= 0.8478
d+01-0.3112
d+01*sb +0.5243
d+01*sb2-0.2255
d+01*sb3
22628 a3= 0.1971
d+02+0.3389
d+00*sb -0.5268
d+01*sb2+0.2099
d+01*sb3
22629 a4= 0.1128
d+01-0.4701
d+00*sb +0.7779
d+00*sb2-0.3506
d+00*sb3
22630 a5=-0.4708
d+00+0.3341
d+01*sb -0.3375
d+01*sb2+0.1353
d+01*sb3
22631 ELSEIF(iprt .EQ. -2)
THEN
22632 a0=
exp(-0.2906
d+01-0.1069
d+00*sb -0.1055
d+01*sb2+
22634 a1=-0.2875
d+00+0.6571
d-01*sb -0.1987
d-01*sb2-0.1800
d-02*sb3
22635 a2= 0.9854
d+01-0.2715
d+00*sb -0.7407
d+00*sb2+0.2888
d+00*sb3
22636 a3= 0.1583
d+02-0.7687
d+01*sb +0.3428
d+01*sb2-0.3327
d+00*sb3
22637 a4= 0.9763
d+00+0.7599
d-01*sb -0.2128
d+00*sb2+0.6852
d-01*sb3
22638 a5=-0.8444
d-02+0.9434
d+00*sb +0.4152
d+00*sb2-0.1481
d+00*sb3
22639 ELSEIF(iprt .EQ. -3)
THEN
22640 a0=
exp(-0.3780
d+01+0.2499
d+01*sb -0.4962
d+01*sb2+
22642 a1=-0.2639
d+00-0.1575
d+00*sb +0.3584
d+00*sb2-0.1646
d+00*sb3
22643 a2= 0.8082
d+01+0.2794
d+01*sb -0.5438
d+01*sb2+0.2321
d+01*sb3
22644 a3= 0.1811
d+02-0.2000
d+02*sb +0.1951
d+02*sb2-0.6904
d+01*sb3
22645 a4= 0.9822
d+00+0.4972
d+00*sb -0.8690
d+00*sb2+0.3415
d+00*sb3
22646 a5= 0.1772
d+00-0.6078
d+00*sb +0.3341
d+01*sb2-0.1473
d+01*sb3
22647 ELSEIF(iprt .EQ. -4)
THEN
22648 a0=sb** 0.1122
d+01*
exp(-0.4232
d+01-0.1808
d+01*sb +
22650 a1=-0.2824
d+00+0.5846
d+00*sb -0.7230
d+00*sb2+0.2419
d+00*sb3
22651 a2= 0.5683
d+01-0.2948
d+01*sb +0.5916
d+01*sb2-0.2560
d+01*sb3
22652 a3= 0.2051
d+01+0.4795
d+01*sb -0.4271
d+01*sb2+0.4174
d+00*sb3
22653 a4= 0.1737
d+00+0.1717
d+01*sb -0.1978
d+01*sb2+0.6643
d+00*sb3
22654 a5= 0.8689
d+00+0.3500
d+01*sb -0.3283
d+01*sb2+0.1026
d+01*sb3
22655 ELSEIF(iprt .EQ. -5)
THEN
22656 a0=sb** 0.9906
d+00*
exp(-0.1496
d+01-0.6576
d+01*sb +
22658 a1=-0.2140
d+00-0.6419
d-01*sb -0.2741
d-02*sb2+0.3185
d-02*sb3
22659 a2= 0.5781
d+01+0.1049
d+00*sb -0.3930
d+00*sb2+0.5174
d+00*sb3
22660 a3=-0.9420
d+00+0.5511
d+00*sb +0.8817
d+00*sb2+0.1903
d+01*sb3
22661 a4= 0.2418
d-01+0.4232
d-01*sb -0.1244
d-01*sb2-0.2365
d-01*sb3
22662 a5= 0.7664
d+00+0.1794
d+01*sb -0.4917
d+00*sb2-0.1284
d+00*sb3
22663 ELSEIF(iprt .EQ. -6)
THEN
22664 a0=sb** 0.1000
d+01*
exp(-0.8460
d+01+0.1154
d+01*sb +
22666 a1=-0.4316
d-01-0.2976
d+00*sb +0.3174
d+00*sb2-0.1429
d+01*sb3
22667 a2= 0.4910
d+01+0.2273
d+01*sb +0.5631
d+01*sb2-0.1994
d+02*sb3
22668 a3= 0.1190
d+02-0.2000
d+02*sb -0.2000
d+02*sb2+0.1292
d+02*sb3
22669 a4= 0.5771
d+00-0.2552
d+00*sb +0.7510
d+00*sb2+0.6923
d+00*sb3
22670 a5= 0.4402
d+01-0.1627
d+01*sb -0.2085
d+01*sb2-0.6737
d+01*sb3
22674 ELSEIF(iset .EQ. 3)
THEN
22675 IF(iprt .EQ. 2)
THEN
22676 a0=
exp( 0.2148
d+00+0.5814
d-01*sb +0.2734
d+00*sb2-
22678 a1= 0.4810
d+00+0.1657
d-01*sb -0.3800
d-01*sb2+0.3125
d-01*sb3
22679 a2= 0.3509
d+01+0.3923
d+00*sb +0.4010
d+00*sb2-0.1932
d+00*sb3
22680 a3= 0.7055
d+01-0.6552
d+01*sb +0.3466
d+01*sb2-0.5657
d+00*sb3
22681 a4= 0.1061
d+01-0.3453
d+00*sb +0.4089
d+00*sb2-0.1817
d+00*sb3
22682 a5= 0.8687
d-01+0.2548
d+00*sb -0.2967
d+00*sb2+0.2647
d+00*sb3
22683 ELSEIF(iprt .EQ. 1)
THEN
22684 a0=
exp( 0.3961
d+00+0.4914
d+00*sb -0.1728
d+01*sb2+
22686 a1= 0.4162
d+00-0.1419
d+00*sb +0.3680
d+00*sb2-0.1618
d+00*sb3
22687 a2= 0.3248
d+01+0.3028
d+01*sb -0.4307
d+01*sb2+0.1920
d+01*sb3
22688 a3=-0.1100
d+01+0.2184
d+01*sb -0.3820
d+01*sb2+0.1717
d+01*sb3
22689 a4= 0.2082
d+01-0.2756
d+00*sb +0.3043
d+00*sb2-0.1260
d+00*sb3
22690 a5=-0.4822
d+00-0.5706
d+00*sb +0.2243
d+01*sb2-0.9760
d+00*sb3
22691 ELSEIF(iprt .EQ. 0)
THEN
22692 a0=
exp(-0.4665
d+00-0.7554
d+00*sb -0.3323
d+00*sb2-
22694 a1=-0.3359
d+00+0.2395
d+00*sb -0.2377
d+00*sb2+0.7059
d-01*sb3
22695 a2= 0.5451
d+01+0.6086
d+00*sb +0.8606
d-01*sb2-0.1425
d+00*sb3
22696 a3= 0.1026
d+02-0.9352
d+01*sb +0.4879
d+01*sb2-0.1150
d+01*sb3
22697 a4= 0.9935
d+00-0.5017
d-01*sb -0.1707
d-01*sb2-0.1464
d-02*sb3
22698 a5=-0.4160
d-01+0.2305
d+01*sb -0.1063
d+01*sb2+0.3211
d+00*sb3
22699 ELSEIF(iprt .EQ. -1)
THEN
22700 a0=
exp(-0.2714
d+01-0.2868
d+01*sb +0.3700
d+01*sb2-
22702 a1=-0.3893
d+00+0.3341
d+00*sb -0.3897
d+00*sb2+0.1420
d+00*sb3
22703 a2= 0.8359
d+01-0.3267
d+01*sb +0.5327
d+01*sb2-0.2245
d+01*sb3
22704 a3= 0.2359
d+02-0.5669
d+01*sb -0.4602
d+01*sb2+0.3153
d+01*sb3
22705 a4= 0.1106
d+01-0.4745
d+00*sb +0.7739
d+00*sb2-0.3417
d+00*sb3
22706 a5=-0.5557
d+00+0.3433
d+01*sb -0.3390
d+01*sb2+0.1354
d+01*sb3
22707 ELSEIF(iprt .EQ. -2)
THEN
22708 a0=
exp(-0.3323
d+01+0.2296
d+00*sb -0.1109
d+01*sb2+
22710 a1=-0.3410
d+00+0.8847
d-01*sb -0.1111
d-01*sb2-0.5927
d-02*sb3
22711 a2= 0.9753
d+01-0.5182
d+00*sb -0.4670
d+00*sb2+0.1921
d+00*sb3
22712 a3= 0.1977
d+02-0.1600
d+02*sb +0.9481
d+01*sb2-0.1864
d+01*sb3
22713 a4= 0.9818
d+00+0.2839
d-02*sb -0.1188
d+00*sb2+0.3584
d-01*sb3
22714 a5=-0.7934
d-01+0.1004
d+01*sb +0.3704
d+00*sb2-0.1220
d+00*sb3
22715 ELSEIF(iprt .EQ. -3)
THEN
22716 a0=
exp(-0.3985
d+01+0.2855
d+01*sb -0.5208
d+01*sb2+
22718 a1=-0.3337
d+00-0.1150
d+00*sb +0.3691
d+00*sb2-0.1709
d+00*sb3
22719 a2= 0.7968
d+01+0.3641
d+01*sb -0.6599
d+01*sb2+0.2642
d+01*sb3
22720 a3= 0.1873
d+02-0.1999
d+02*sb +0.1734
d+02*sb2-0.5813
d+01*sb3
22721 a4= 0.9731
d+00+0.5082
d+00*sb -0.8780
d+00*sb2+0.3231
d+00*sb3
22722 a5=-0.5542
d-01-0.4189
d+00*sb +0.3309
d+01*sb2-0.1439
d+01*sb3
22723 ELSEIF(iprt .EQ. -4)
THEN
22724 a0=sb** 0.1105
d+01*
exp(-0.3952
d+01-0.1901
d+01*sb +
22726 a1=-0.3543
d+00+0.6055
d+00*sb -0.6941
d+00*sb2+0.2278
d+00*sb3
22727 a2= 0.5955
d+01-0.2629
d+01*sb +0.5337
d+01*sb2-0.2300
d+01*sb3
22728 a3= 0.1933
d+01+0.4882
d+01*sb -0.3810
d+01*sb2+0.2290
d+00*sb3
22729 a4= 0.1806
d+00+0.1655
d+01*sb -0.1893
d+01*sb2+0.6395
d+00*sb3
22730 a5= 0.4790
d+00+0.3612
d+01*sb -0.3152
d+01*sb2+0.9684
d+00*sb3
22731 ELSEIF(iprt .EQ. -5)
THEN
22732 a0=sb** 0.9818
d+00*
exp(-0.1825
d+01-0.7464
d+01*sb +
22734 a1=-0.2604
d+00-0.1400
d+00*sb +0.1702
d+00*sb2-0.8476
d-01*sb3
22735 a2= 0.6005
d+01+0.6275
d+00*sb -0.2535
d+01*sb2+0.2219
d+01*sb3
22736 a3=-0.9067
d+00+0.1149
d+01*sb +0.1974
d+01*sb2+0.4716
d+01*sb3
22737 a4= 0.3915
d-01+0.5945
d-01*sb -0.9844
d-01*sb2+0.2783
d-01*sb3
22738 a5= 0.5500
d+00+0.1994
d+01*sb -0.6727
d+00*sb2-0.1510
d+00*sb3
22739 ELSEIF(iprt .EQ. -6)
THEN
22740 a0=sb** 0.1002
d+01*
exp(-0.8553
d+01+0.3793
d+00*sb +
22742 a1=-0.5870
d-01-0.2792
d+00*sb +0.6526
d+00*sb2-0.1984
d+01*sb3
22743 a2= 0.4716
d+01+0.4473
d+00*sb +0.1128
d+02*sb2-0.1937
d+02*sb3
22744 a3= 0.1289
d+02-0.1742
d+02*sb -0.1983
d+02*sb2-0.9274
d+00*sb3
22745 a4= 0.5647
d+00-0.2732
d+00*sb +0.1074
d+01*sb2+0.5981
d+00*sb3
22746 a5= 0.4390
d+01-0.1262
d+01*sb -0.9026
d+00*sb2-0.9394
d+01*sb3
22751 pycteq =
max(0d0, a0 *(
x**a1) *((1d0-
x)**a2) *(1d0+a3*(
x**a4))
22752 & *(
log(1d0+1d0/
x))**a5 )
22764 SUBROUTINE pygrvl (X, Q2, UV, DV, DEL, UDB, SB, CHM, BOT, GL)
22767 IMPLICIT DOUBLE PRECISION (
a -
z)
22771 lam2 = 0.2322d0 * 0.2322d0
22778 nu = 2.284d0 + 0.802d0 *
s + 0.055d0 * s2
22779 aku = 0.590d0 - 0.024d0 *
s
22780 bku = 0.131d0 + 0.063d0 *
s
22781 au = -0.449d0 - 0.138d0 *
s - 0.076d0 * s2
22782 bu = 0.213d0 + 2.669d0 *
s - 0.728d0 * s2
22783 cu = 8.854d0 - 9.135d0 *
s + 1.979d0 * s2
22784 du = 2.997d0 + 0.753d0 *
s - 0.076d0 * s2
22785 uv =
pygrvv(
x, nu, aku, bku, au, bu, cu, du)
22788 nd = 0.371d0 + 0.083d0 *
s + 0.039d0 * s2
22790 bkd = 0.486d0 + 0.062d0 *
s
22791 ad = -0.509d0 + 3.310d0 *
s - 1.248d0 * s2
22792 bd = 12.41d0 - 10.52d0 *
s + 2.267d0 * s2
22793 cd = 6.373d0 - 6.208d0 *
s + 1.418d0 * s2
22794 dd = 3.691d0 + 0.799d0 *
s - 0.071d0 * s2
22795 dv =
pygrvv(
x, nd, akd, bkd, ad, bd,
cd, dd)
22798 ne = 0.082d0 + 0.014d0 *
s + 0.008d0 * s2
22799 ake = 0.409d0 - 0.005d0 *
s
22800 bke = 0.799d0 + 0.071d0 *
s
22801 ae = -38.07d0 + 36.13d0 *
s - 0.656d0 * s2
22802 be = 90.31d0 - 74.15d0 *
s + 7.645d0 * s2
22804 de = 7.486d0 + 1.217d0 *
s - 0.159d0 * s2
22805 del =
pygrvv(
x, ne, ake, bke, ae, be, ce, de)
22810 akx = 0.410d0 - 0.232d0 *
s
22811 bkx = 0.534d0 - 0.457d0 *
s
22812 agx = 0.890d0 - 0.140d0 *
s
22814 cx = 0.320d0 + 0.683d0 *
s
22815 dx = 4.752d0 + 1.164d0 *
s + 0.286d0 * s2
22816 ex = 4.119d0 + 1.713d0 *
s
22817 esx = 0.682d0 + 2.978d0 *
s
22818 udb =
pygrvw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
22825 aks = 1.798d0 - 0.596d0 *
s
22826 as = -5.548d0 + 3.669d0 * ds - 0.616d0 *
s
22827 bs = 18.92d0 - 16.73d0 * ds + 5.168d0 *
s
22828 dst = 6.379d0 - 0.350d0 *
s + 0.142d0 * s2
22829 est = 3.981d0 + 1.638d0 *
s
22831 sb =
pygrvs(
x,
s, sts, als, bes, aks, as, bs, dst, est, ess)
22839 bc = 4.24d0 - 0.804d0 *
s
22840 dct = 3.46d0 - 1.076d0 *
s
22841 ect = 4.61d0 + 1.49d0 *
s
22842 esc = 2.555d0 + 1.961d0 *
s
22843 chm =
pygrvs(
x,
s, stc, alc, bec, akc, ac, bc, dct, ect, esc)
22852 dbt = 2.929d0 + 1.396d0 *
s
22853 ebt = 4.71d0 + 1.514d0 *
s
22854 esb = 4.02d0 + 1.239d0 *
s
22855 bot =
pygrvs(
x,
s, stb, alb, beb, akb, ab, bb, dbt, ebt, esb)
22860 akg = 1.742d0 - 0.930d0 *
s
22861 bkg = - 0.399d0 * s2
22862 ag = 7.486d0 - 2.185d0 *
s
22863 bg = 16.69d0 - 22.74d0 *
s + 5.779d0 * s2
22864 cg = -25.59d0 + 29.71d0 *
s - 7.296d0 * s2
22865 dg = 2.792d0 + 2.215d0 *
s + 0.422d0 * s2 - 0.104d0 * s3
22866 eg = 0.807d0 + 2.005d0 *
s
22867 esg = 3.841d0 + 0.316d0 *
s
22868 gl =
pygrvw(
x,
s, alg, beg, akg, bkg, ag, bg, cg,
22881 SUBROUTINE pygrvm (X, Q2, UV, DV, DEL, UDB, SB, CHM, BOT, GL)
22884 IMPLICIT DOUBLE PRECISION (
a -
z)
22888 lam2 = 0.248d0 * 0.248d0
22895 nu = 1.304d0 + 0.863d0 *
s
22896 aku = 0.558d0 - 0.020d0 *
s
22898 au = -0.113d0 + 0.283d0 *
s - 0.321d0 * s2
22899 bu = 6.843d0 - 5.089d0 *
s + 2.647d0 * s2 - 0.527d0 * s3
22900 cu = 7.771d0 - 10.09d0 *
s + 2.630d0 * s2
22901 du = 3.315d0 + 1.145d0 *
s - 0.583d0 * s2 + 0.154d0 * s3
22902 uv =
pygrvv(
x, nu, aku, bku, au, bu, cu, du)
22905 nd = 0.102d0 - 0.017d0 *
s + 0.005d0 * s2
22906 akd = 0.270d0 - 0.019d0 *
s
22908 ad = 2.393d0 + 6.228d0 *
s - 0.881d0 * s2
22909 bd = 46.06d0 + 4.673d0 *
s - 14.98d0 * s2 + 1.331d0 * s3
22910 cd = 17.83d0 - 53.47d0 *
s + 21.24d0 * s2
22911 dd = 4.081d0 + 0.976d0 *
s - 0.485d0 * s2 + 0.152d0 * s3
22912 dv =
pygrvv(
x, nd, akd, bkd, ad, bd,
cd, dd)
22915 ne = 0.070d0 + 0.042d0 *
s - 0.011d0 * s2 + 0.004d0 * s3
22916 ake = 0.409d0 - 0.007d0 *
s
22917 bke = 0.782d0 + 0.082d0 *
s
22918 ae = -29.65d0 + 26.49d0 *
s + 5.429d0 * s2
22919 be = 90.20d0 - 74.97d0 *
s + 4.526d0 * s2
22921 de = 8.122d0 + 2.120d0 *
s - 1.088d0 * s2 + 0.231d0 * s3
22922 del =
pygrvv(
x, ne, ake, bke, ae, be, ce, de)
22930 bgx = 3.210d0 - 1.866d0 *
s
22932 dx = 9.010d0 + 0.896d0 * ds + 0.222d0 * s2
22933 ex = 3.077d0 + 1.446d0 *
s
22934 esx = 3.173d0 - 2.445d0 * ds + 2.207d0 *
s
22935 udb =
pygrvw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
22942 aks = 1.690d0 + 0.650d0 * ds - 0.922d0 *
s
22943 as = -4.329d0 + 1.131d0 *
s
22944 bs = 9.568d0 - 1.744d0 *
s
22945 dst = 9.377d0 + 1.088d0 * ds - 1.320d0 *
s + 0.130d0 * s2
22946 est = 3.031d0 + 1.639d0 *
s
22947 ess = 5.837d0 + 0.815d0 *
s
22948 sb =
pygrvs(
x,
s, sts, als, bes, aks, as, bs, dst, est, ess)
22954 akc = -0.625d0 - 0.523d0 *
s
22956 bc = 1.896d0 + 1.616d0 *
s
22957 dct = 4.12d0 + 0.683d0 *
s
22958 ect = 4.36d0 + 1.328d0 *
s
22959 esc = 0.677d0 + 0.679d0 *
s
22960 chm =
pygrvs(
x,
s, stc, alc, bec, akc, ac, bc, dct, ect, esc)
22966 akb = - 0.193d0 *
s
22969 dbt = 3.447d0 + 0.927d0 *
s
22970 ebt = 4.68d0 + 1.259d0 *
s
22971 esb = 1.892d0 + 2.199d0 *
s
22972 bot =
pygrvs(
x,
s, stb, alb, beb, akb, ab, bb, dbt, ebt, esb)
22977 akg = 1.724d0 + 0.157d0 *
s
22978 bkg = 0.800d0 + 1.016d0 *
s
22979 ag = 7.517d0 - 2.547d0 *
s
22980 bg = 34.09d0 - 52.21d0 * ds + 17.47d0 *
s
22981 cg = 4.039d0 + 1.491d0 *
s
22982 dg = 3.404d0 + 0.830d0 *
s
22983 eg = -1.112d0 + 3.438d0 *
s - 0.302d0 * s2
22984 esg = 3.256d0 - 0.436d0 *
s
22985 gl =
pygrvw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
22997 SUBROUTINE pygrvd (X, Q2, UV, DV, DEL, UDB, SB, CHM, BOT, GL)
23000 IMPLICIT DOUBLE PRECISION (
a -
z)
23004 lam2 = 0.248d0 * 0.248d0
23011 nu = 2.484d0 + 0.116d0 *
s + 0.093d0 * s2
23012 aku = 0.563d0 - 0.025d0 *
s
23013 bku = 0.054d0 + 0.154d0 *
s
23014 au = -0.326d0 - 0.058d0 *
s - 0.135d0 * s2
23015 bu = -3.322d0 + 8.259d0 *
s - 3.119d0 * s2 + 0.291d0 * s3
23016 cu = 11.52d0 - 12.99d0 *
s + 3.161d0 * s2
23017 du = 2.808d0 + 1.400d0 *
s - 0.557d0 * s2 + 0.119d0 * s3
23018 uv =
pygrvv(
x, nu, aku, bku, au, bu, cu, du)
23021 nd = 0.156d0 - 0.017d0 *
s
23022 akd = 0.299d0 - 0.022d0 *
s
23023 bkd = 0.259d0 - 0.015d0 *
s
23024 ad = 3.445d0 + 1.278d0 *
s + 0.326d0 * s2
23025 bd = -6.934d0 + 37.45d0 *
s - 18.95d0 * s2 + 1.463d0 * s3
23026 cd = 55.45d0 - 69.92d0 *
s + 20.78d0 * s2
23027 dd = 3.577d0 + 1.441d0 *
s - 0.683d0 * s2 + 0.179d0 * s3
23028 dv =
pygrvv(
x, nd, akd, bkd, ad, bd,
cd, dd)
23031 ne = 0.099d0 + 0.019d0 *
s + 0.002d0 * s2
23032 ake = 0.419d0 - 0.013d0 *
s
23033 bke = 1.064d0 - 0.038d0 *
s
23034 ae = -44.00d0 + 98.70d0 *
s - 14.79d0 * s2
23035 be = 28.59d0 - 40.94d0 *
s - 13.66d0 * s2 + 2.523d0 * s3
23036 ce = 84.57d0 - 108.8d0 *
s + 31.52d0 * s2
23037 de = 7.469d0 + 2.480d0 *
s - 0.866d0 * s2
23038 del =
pygrvv(
x, ne, ake, bke, ae, be, ce, de)
23043 akx = 0.326d0 + 0.150d0 *
s
23044 bkx = 0.956d0 + 0.405d0 *
s
23046 bgx = 3.794d0 - 2.359d0 * ds
23048 dx = 7.941d0 + 0.534d0 * ds - 0.940d0 *
s + 0.410d0 * s2
23049 ex = 3.049d0 + 1.597d0 *
s
23050 esx = 4.396d0 - 4.594d0 * ds + 3.268d0 *
s
23051 udb =
pygrvw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
23058 aks = 1.415d0 - 0.641d0 * ds
23059 as = 0.580d0 - 9.763d0 * ds + 6.795d0 *
s - 0.558d0 * s2
23060 bs = 5.617d0 + 5.709d0 * ds - 3.972d0 *
s
23061 dst = 13.78d0 - 9.581d0 *
s + 5.370d0 * s2 - 0.996d0 * s3
23062 est = 4.546d0 + 0.372d0 * s2
23063 ess = 5.053d0 - 1.070d0 *
s + 0.805d0 * s2
23064 sb =
pygrvs(
x,
s, sts, als, bes, aks, as, bs, dst, est, ess)
23070 akc = -0.625d0 - 0.523d0 *
s
23072 bc = 1.896d0 + 1.616d0 *
s
23073 dct = 4.12d0 + 0.683d0 *
s
23074 ect = 4.36d0 + 1.328d0 *
s
23075 esc = 0.677d0 + 0.679d0 *
s
23076 chm =
pygrvs(
x,
s, stc, alc, bec, akc, ac, bc, dct, ect, esc)
23082 akb = - 0.193d0 *
s
23085 dbt = 3.447d0 + 0.927d0 *
s
23086 ebt = 4.68d0 + 1.259d0 *
s
23087 esb = 1.892d0 + 2.199d0 *
s
23088 bot =
pygrvs(
x,
s, stb, alb, beb, akb, ab, bb, dbt, ebt, esb)
23094 bkg = 2.427d0 + 1.311d0 *
s - 0.153d0 * s2
23095 ag = 25.09d0 - 7.935d0 *
s
23096 bg = -14.84d0 - 124.3d0 * ds + 72.18d0 *
s
23097 cg = 590.3d0 - 173.8d0 *
s
23098 dg = 5.196d0 + 1.857d0 *
s
23099 eg = -1.648d0 + 3.988d0 *
s - 0.432d0 * s2
23100 esg = 3.232d0 - 0.542d0 *
s
23101 gl =
pygrvw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
23116 IMPLICIT DOUBLE PRECISION (
a -
z)
23133 FUNCTION pygrvw (X, S, AL, BE, AK, BK, A, B, C, D, E, ES)
23136 IMPLICIT DOUBLE PRECISION (
a -
z)
23141 & *
exp(-
e +
sqrt(es *
s**be * lx))) * (1d0-
x)**
d
23153 FUNCTION pygrvs (X, S, STH, AL, BE, AK, AG, B, D, E, ES)
23156 IMPLICIT DOUBLE PRECISION (
a -
z)
23164 pygrvs = (
s - sth)**al / lx**ak * (1d0+ ag*
dx +
b*
x) *
23180 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
23183 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
23184 common/pypars/mstp(200),parp(200),msti(200),pari(200)
23185 common/pyint1/mint(400),vint(400)
23186 SAVE /
pydat1/,/pypars/,/pyint1/
23189 IF(mstp(35).LE.1)
THEN
23201 xattr=4d0*paru(1)*alssg/(3d0*
sqrt(
max(1
d-20,1d0-4d0*sqm/sh)))
23202 fattr=xattr/(1d0-
exp(-
min(50d0,xattr)))
23203 xrepu=paru(1)*alssg/(6d0*
sqrt(
max(1
d-20,1d0-4d0*sqm/sh)))
23204 frepu=xrepu/(
exp(
min(50d0,xrepu))-1d0)
23205 pyhfth=fratt*fattr+(1d0-fratt)*frepu
23220 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
23223 common/pypars/mstp(200),parp(200),msti(200),pari(200)
23224 common/pyint1/mint(400),vint(400)
23225 SAVE /pypars/,/pyint1/
23232 kfl(1)=
mod(kfa/1000,10)
23233 kfl(2)=
mod(kfa/100,10)
23234 kfl(3)=
mod(kfa/10,10)
23235 IF(kfa.EQ.22.AND.mint(109).EQ.2)
THEN
23236 kfl(2)=
int(1.5d0+
pyr(0))
23237 IF(mint(105).EQ.333) kfl(2)=3
23238 IF(mint(105).EQ.443) kfl(2)=4
23240 ELSEIF((kfa.EQ.111.OR.kfa.EQ.113).AND.
pyr(0).GT.0.5d0)
THEN
23243 ELSEIF(kfa.EQ.223.AND.
pyr(0).GT.0.5d0)
THEN
23247 IF(kflin.NE.21.AND.kflin.NE.22.AND.kflin.NE.23)
THEN
23255 IF(kfa.GE.11.AND.kfa.LE.18)
THEN
23256 IF(kflr.EQ.kfa)
THEN
23258 ELSEIF(kflr.EQ.22)
THEN
23260 ELSEIF(kflr.EQ.-24.AND.
mod(kfa,2).EQ.1)
THEN
23262 ELSEIF(kflr.EQ.24.AND.
mod(kfa,2).EQ.0)
THEN
23264 ELSEIF(kflr.EQ.21)
THEN
23273 ELSEIF(kfa.EQ.22.AND.mint(109).NE.2)
THEN
23274 IF(kflr.NE.21)
THEN
23279 IF(ragr.GT.0.125d0) kflsp=2
23280 IF(ragr.GT.0.625d0) kflsp=3
23281 IF(
pyr(0).GT.0.5d0) kflsp=-kflsp
23286 ELSEIF(kfa.EQ.28.OR.kfa.EQ.29)
THEN
23287 IF(kflin.EQ.21)
THEN
23294 ELSEIF(kfl(1).EQ.0)
THEN
23295 kfl(2)=kfl(2)*(-1)**kfl(2)
23296 kfl(3)=-kfl(3)*(-1)**iabs(kfl(2))
23297 IF(kflr.EQ.kfl(2))
THEN
23299 ELSEIF(kflr.EQ.kfl(3))
THEN
23301 ELSEIF(kflr.EQ.21.AND.
pyr(0).GT.0.5d0)
THEN
23304 ELSEIF(kflr.EQ.21)
THEN
23307 ELSEIF(kflr*kfl(2).GT.0)
THEN
23308 CALL
pykfdi(-kflr,kfl(2),kfdump,kflch)
23311 CALL
pykfdi(-kflr,kfl(3),kfdump,kflch)
23319 IF(kflr.EQ.kfl(j)) nagr=nagr+1
23322 ragr=0.00001d0+(nagr-0.00002d0)*
pyr(0)
23325 IF(kflr.EQ.kfl(j)) ragr=ragr-1d0
23326 IF(iagr.EQ.0.AND.ragr.LE.0d0) iagr=j
23329 iagr=1.00001d0+2.99998d0*
pyr(0)
23332 IF(iagr.EQ.1) id1=2
23333 IF(iagr.EQ.1.AND.kfl(3).GT.kfl(2)) id1=3
23336 IF(
mod(kfa,10).EQ.2.AND.kfl(1).EQ.kfl(2))
THEN
23337 IF(iagr.NE.3.AND.
pyr(0).GT.0.25d0) ksp=1
23338 ELSEIF(
mod(kfa,10).EQ.2.AND.kfl(2).GE.kfl(3))
THEN
23339 IF(iagr.NE.1.AND.
pyr(0).GT.0.25d0) ksp=1
23340 ELSEIF(
mod(kfa,10).EQ.2)
THEN
23341 IF(iagr.EQ.1) ksp=1
23342 IF(iagr.NE.1.AND.
pyr(0).GT.0.75d0) ksp=1
23344 kflsp=1000*kfl(id1)+100*kfl(id2)+ksp
23345 IF(kflr.EQ.21)
THEN
23347 ELSEIF(nagr.EQ.0.AND.kflr.GT.0)
THEN
23348 CALL
pykfdi(-kflr,kfl(iagr),kfdump,kflch)
23349 ELSEIF(nagr.EQ.0)
THEN
23350 CALL
pykfdi(10000+kflsp,-kflr,kfdump,kflch)
23372 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
23376 DATA b/-0.577191652d0,0.988205891d0,-0.897056937d0,0.918206857d0,
23377 &-0.756704078d0,0.482199394d0,-0.193527818d0,0.035868343d0/
23409 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
23412 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
23418 IF(eps.LT.0d0)
THEN
23419 IF(iaux.EQ.1) wre=2d0*
sqrt(1d0-eps)*asinh(
sqrt(-1d0/eps))
23420 IF(iaux.EQ.2) wre=4d0*(asinh(
sqrt(-1d0/eps)))**2
23422 ELSEIF(eps.LT.1d0)
THEN
23423 IF(iaux.EQ.1) wre=2d0*
sqrt(1d0-eps)*acosh(
sqrt(1d0/eps))
23424 IF(iaux.EQ.2) wre=4d0*(acosh(
sqrt(1d0/eps)))**2-paru(1)**2
23425 IF(iaux.EQ.1) wim=-paru(1)*
sqrt(1d0-eps)
23426 IF(iaux.EQ.2) wim=-4d0*paru(1)*acosh(
sqrt(1d0/eps))
23428 IF(iaux.EQ.1) wre=2d0*
sqrt(eps-1d0)*asin(
sqrt(1d0/eps))
23429 IF(iaux.EQ.2) wre=-4d0*(asin(
sqrt(1d0/eps)))**2
23446 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
23449 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
23452 be=0.5d0*(1d0+
sqrt(1d0+rat*eps))
23453 IF(eps.LT.1d0) ga=0.5d0*(1d0+
sqrt(1d0-eps))
23455 IF(eps.LT.0d0)
THEN
23456 IF(abs(eps).LT.1.
d-4.AND.abs(rat*eps).LT.1.
d-4)
THEN
23457 f3re=
pyspen(-0.25d0*eps/(1d0+0.25d0*(rat-1d0)*eps),0d0,1)-
23458 &
pyspen((1d0-0.25d0*eps)/(1d0+0.25d0*(rat-1d0)*eps),0d0,1)+
23459 &
pyspen(0.25d0*(rat+1d0)*eps/(1d0+0.25d0*rat*eps),0d0,1)-
23460 &
pyspen((rat+1d0)/rat,0d0,1)+0.5d0*(
log(1d0+0.25d0*rat*eps)**2-
23461 &
log(0.25d0*rat*eps)**2)+
log(1d0-0.25d0*eps)*
23462 &
log((1d0+0.25d0*(rat-1d0)*eps)/(1d0+0.25d0*rat*eps))+
23463 &
log(-0.25d0*eps)*
log(0.25d0*rat*eps/(1d0+0.25d0*(rat-1d0)*
23465 ELSEIF(abs(eps).LT.1.
d-4.AND.abs(rat*eps).GE.1.
d-4)
THEN
23466 f3re=
pyspen(-0.25d0*eps/(be-0.25d0*eps),0d0,1)-
23467 &
pyspen((1d0-0.25d0*eps)/(be-0.25d0*eps),0d0,1)+
23468 &
pyspen((be-1d0+0.25d0*eps)/be,0d0,1)-
23469 &
pyspen((be-1d0+0.25d0*eps)/(be-1d0),0d0,1)+
23470 & 0.5d0*(
log(be)**2-
log(be-1d0)**2)+
23471 &
log(1d0-0.25d0*eps)*
log((be-0.25d0*eps)/be)+
23472 &
log(-0.25d0*eps)*
log((be-1d0)/(be-0.25d0*eps))
23473 ELSEIF(abs(eps).GE.1.
d-4.AND.abs(rat*eps).LT.1.
d-4)
THEN
23474 f3re=
pyspen((ga-1d0)/(ga+0.25d0*rat*eps),0d0,1)-
23475 &
pyspen(ga/(ga+0.25d0*rat*eps),0d0,1)+
23476 &
pyspen((1d0+0.25d0*rat*eps-ga)/(1d0+0.25d0*rat*eps),0d0,1)-
23477 &
pyspen((1d0+0.25d0*rat*eps-ga)/(0.25d0*rat*eps),0d0,1)+
23478 & 0.5d0*(
log(1d0+0.25d0*rat*eps)**2-
log(0.25d0*rat*eps)**2)+
23479 &
log(ga)*
log((ga+0.25d0*rat*eps)/(1d0+0.25d0*rat*eps))+
23480 &
log(ga-1d0)*
log(0.25d0*rat*eps/(ga+0.25d0*rat*eps))
23482 f3re=
pyspen((ga-1d0)/(ga+be-1d0),0d0,1)-
23483 &
pyspen(ga/(ga+be-1d0),0d0,1)+
pyspen((be-ga)/be,0d0,1)-
23484 &
pyspen((be-ga)/(be-1d0),0d0,1)+0.5d0*(
log(be)**2-
23485 &
log(be-1d0)**2)+
log(ga)*
log((ga+be-1d0)/be)+
23486 &
log(ga-1d0)*
log((be-1d0)/(ga+be-1d0))
23489 ELSEIF(eps.LT.1d0)
THEN
23490 IF(abs(eps).LT.1.
d-4.AND.abs(rat*eps).LT.1.
d-4)
THEN
23491 f3re=
pyspen(-0.25d0*eps/(1d0+0.25d0*(rat-1d0)*eps),0d0,1)-
23492 &
pyspen((1d0-0.25d0*eps)/(1d0+0.25d0*(rat-1d0)*eps),0d0,1)+
23493 &
pyspen((1d0-0.25d0*eps)/(-0.25d0*(rat+1d0)*eps),0d0,1)-
23494 &
pyspen(1d0/(rat+1d0),0d0,1)+
log((1d0-0.25d0*eps)/
23495 & (0.25d0*eps))*
log((1d0+0.25d0*(rat-1d0)*eps)/
23496 & (0.25d0*(rat+1d0)*eps))
23497 f3im=-paru(1)*
log((1d0+0.25d0*(rat-1d0)*eps)/
23498 & (0.25d0*(rat+1d0)*eps))
23499 ELSEIF(abs(eps).LT.1.
d-4.AND.abs(rat*eps).GE.1.
d-4)
THEN
23500 f3re=
pyspen(-0.25d0*eps/(be-0.25d0*eps),0d0,1)-
23501 &
pyspen((1d0-0.25d0*eps)/(be-0.25d0*eps),0d0,1)+
23502 &
pyspen((1d0-0.25d0*eps)/(1d0-0.25d0*eps-be),0d0,1)-
23503 &
pyspen(-0.25d0*eps/(1d0-0.25d0*eps-be),0d0,1)+
23504 &
log((1d0-0.25d0*eps)/(0.25d0*eps))*
23505 &
log((be-0.25d0*eps)/(be-1d0+0.25d0*eps))
23506 f3im=-paru(1)*
log((be-0.25d0*eps)/(be-1d0+0.25d0*eps))
23507 ELSEIF(abs(eps).GE.1.
d-4.AND.abs(rat*eps).LT.1.
d-4)
THEN
23508 f3re=
pyspen((ga-1d0)/(ga+0.25d0*rat*eps),0d0,1)-
23509 &
pyspen(ga/(ga+0.25d0*rat*eps),0d0,1)+
23510 &
pyspen(ga/(ga-1d0-0.25d0*rat*eps),0d0,1)-
23511 &
pyspen((ga-1d0)/(ga-1d0-0.25d0*rat*eps),0d0,1)+
23512 &
log(ga/(1d0-ga))*
log((ga+0.25d0*rat*eps)/
23513 & (1d0+0.25d0*rat*eps-ga))
23514 f3im=-paru(1)*
log((ga+0.25d0*rat*eps)/
23515 & (1d0+0.25d0*rat*eps-ga))
23517 f3re=
pyspen((ga-1d0)/(ga+be-1d0),0d0,1)-
23518 &
pyspen(ga/(ga+be-1d0),0d0,1)+
pyspen(ga/(ga-be),0d0,1)-
23519 &
pyspen((ga-1d0)/(ga-be),0d0,1)+
log(ga/(1d0-ga))*
23520 &
log((ga+be-1d0)/(be-ga))
23521 f3im=-paru(1)*
log((ga+be-1d0)/(be-ga))
23524 rsq=eps/(eps-1d0+(2d0*be-1d0)**2)
23525 rcthe=rsq*(1d0-2d0*be/eps)
23526 rsthe=
sqrt(
max(0d0,rsq-rcthe**2))
23527 rcphi=rsq*(1d0+2d0*(be-1d0)/eps)
23528 rsphi=
sqrt(
max(0d0,rsq-rcphi**2))
23530 the=acos(
max(-0.999999d0,
min(0.999999d0,rcthe/
r)))
23531 phi=acos(
max(-0.999999d0,
min(0.999999d0,rcphi/
r)))
23534 & (
phi-the)*(
phi+the-paru(1))
23539 y3re=2d0/(2d0*be-1d0)*f3re
23540 y3im=2d0/(2d0*be-1d0)*f3im
23554 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
23557 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
23562 &1.000000
d+00, -5.000000
d-01, 1.666667
d-01,
23563 &0.000000
d+00, -3.333333
d-02, 0.000000
d+00,
23564 &2.380952
d-02, 0.000000
d+00, -3.333333
d-02,
23565 &0.000000
d+00, 7.575757
d-02, 0.000000
d+00,
23566 &-2.531135
d-01, 0.000000
d+00, 1.166667
d+00/
23570 IF(abs(1d0-xre).LT.1.
d-6.AND.abs(xim).LT.1.
d-6)
THEN
23571 IF(ireim.EQ.1)
pyspen=paru(1)**2/6d0
23572 IF(ireim.EQ.2)
pyspen=0d0
23576 xmod=
sqrt(xre**2+xim**2)
23577 IF(xmod.LT.1.
d-6)
THEN
23578 IF(ireim.EQ.1)
pyspen=0d0
23579 IF(ireim.EQ.2)
pyspen=0d0
23583 xarg=sign(acos(xre/xmod),xim)
23587 IF(xmod.GT.1d0)
THEN
23589 algxim=xarg-sign(paru(1),xarg)
23590 sp0re=-paru(1)**2/6d0-(algxre**2-algxim**2)/2d0
23591 sp0im=-algxre*algxim
23598 IF(xre.GT.0.5d0)
THEN
23603 xmod=
sqrt(xre**2+xim**2)
23604 xarg=sign(acos(xre/xmod),xim)
23607 sp0re=sp0re+sgn*(paru(1)**2/6d0-(algxre*algyre-algxim*algyim))
23608 sp0im=sp0im-sgn*(algxre*algyim+algxim*algyre)
23614 xmod=
sqrt(xre**2+xim**2)
23615 xarg=sign(acos(xre/xmod),xim)
23624 IF(
max(abs(savere),abs(saveim)).LT.1
d-30) goto 110
23625 termre=(savere*zre-saveim*zim)/dble(i+1)
23626 termim=(savere*zim+saveim*zre)/dble(i+1)
23629 spre=spre+
b(i)*termre
23630 spim=spim+
b(i)*termim
23633 110
IF(ireim.EQ.1)
pyspen=sp0re+sgn*spre
23634 IF(ireim.EQ.2)
pyspen=sp0im+sgn*spim
23650 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
23653 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
23654 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
23655 common/pypars/mstp(200),parp(200),msti(200),pari(200)
23656 common/pyint1/mint(400),vint(400)
23657 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
23658 SAVE /
pydat1/,/pydat2/,/pypars/,/pyint1/,/pyint2/
23660 dimension pp(15,4),clr(8,8),fm(10,10),rm(8,8),
dx(8)
23661 dot(i,j)=pp(i,4)*pp(j,4)-pp(i,1)*pp(j,1)-pp(i,2)*pp(j,2)-
23667 shpr=
sqrt(vint(26))*vint(1)
23668 pq=pmas(
pycomp(kfpr(isub,2)),1)
23669 ph=
sqrt(vint(21))*vint(1)
23676 pp(i,1)=
pt*
cos(vint(198+5*i))
23677 pp(i,2)=
pt*
sin(vint(198+5*i))
23679 pp(3,1)=-pp(1,1)-pp(2,1)
23680 pp(3,2)=-pp(1,2)-pp(2,2)
23681 pms1=spq+pp(1,1)**2+pp(1,2)**2
23682 pms2=spq+pp(2,1)**2+pp(2,2)**2
23683 pms3=sph+pp(3,1)**2+pp(3,2)**2
23685 pp(3,3)=pmt3*sinh(vint(211))
23686 pp(3,4)=pmt3*cosh(vint(211))
23687 pms12=(shpr-pp(3,4))**2-pp(3,3)**2
23688 pp(1,3)=(-pp(3,3)*(pms12+pms1-pms2)+
23689 &vint(213)*(shpr-pp(3,4))*vint(220))/(2d0*pms12)
23690 pp(2,3)=-pp(1,3)-pp(3,3)
23691 pp(1,4)=
sqrt(pms1+pp(1,3)**2)
23692 pp(2,4)=
sqrt(pms2+pp(2,3)**2)
23698 pp(i,3)=-0.5d0*shpr*(-1)**i
23699 pp(i,4)=-0.5d0*shpr
23702 pp(6,j)=pp(1,j)+pp(2,j)
23703 pp(7,j)=pp(1,j)+pp(3,j)
23704 pp(8,j)=pp(1,j)+pp(4,j)
23705 pp(9,j)=pp(1,j)+pp(5,j)
23706 pp(10,j)=-pp(2,j)-pp(3,j)
23707 pp(11,j)=-pp(2,j)-pp(4,j)
23708 pp(12,j)=-pp(2,j)-pp(5,j)
23709 pp(13,j)=-pp(4,j)-pp(5,j)
23742 IF(isub.EQ.121.OR.isub.EQ.181.OR.isub.EQ.186)
THEN
23746 clr(i+3,j+3)=16d0/3d0
23747 clr(i,j+3)=-2d0/3d0
23748 clr(i+3,j)=-2d0/3d0
23761 clr(6+k1,6+k2)=12d0
23766 fm(1,1)=64*pq**6+16*pq**4*ph**2+32*pq**4*(
x1+2*
x2+x4+x9+2*
23767 & x7+x5)+8*pq**2*ph**2*(-
x1-x4+2*x7)+16*pq**2*(
x2*x9+4*
x2*
23768 & x7+
x2*x5-2*x4*x7-2*x9*x7)+8*ph**2*x4*x7-16*
x2*x9*x7
23769 fm(1,2)=16*pq**6+8*pq**4*(-2*
x1+
x2-2*x3-2*x4-4*x10+x9-x8+2
23770 & *x7-4*x6+x5)+8*pq**2*(-2*
x1*
x2-2*
x2*x4-2*
x2*x10+
x2*x7-2*
23771 &
x2*x6-2*x3*x7+2*x4*x7+4*x10*x7-x9*x7-x8*x7)+16*
x2*x7*(x4+
23773 fm(1,3)=16*pq**6-4*pq**4*ph**2+8*pq**4*(-2*
x1+2*
x2-2*x3-4*
23774 & x4-8*x10+x9+x8-2*x7-4*x6+2*x5)-(4*pq**2*ph**2)*(
x1+x4+x10
23776 & -4*
x2*x4-5*
x2*x10+
x2*x8-
x2*x7-3*
x2*x6+
x2*x5+x3*x9+2*x3*x7
23777 & -x3*x5+x4*x8+2*x4*x6-3*x4*x5-5*x10*x5+x9*x8+x9*x6+x9*x5+
23778 & x8*x7-4*x6*x5+x5**2)-(16*
x2*x5)*(
x1+x4+x10+x6)
23779 fm(1,4)=16*pq**6+4*pq**4*ph**2+16*pq**4*(-
x1+
x2-x3-x4+x10-
23780 & x9-x8+2*x7+2*x6-x5)+4*pq**2*ph**2*(
x1+x3+x4+x10+2*x7+2*x6
23781 & )+8*pq**2*(4*
x1*x10+4*
x1*x7+4*
x1*x6+2*
x2*x10-
x2*x9-
x2*x8+
23782 & 4*
x2*x7+4*
x2*x6-
x2*x5+4*x10*x5+4*x7*x5+4*x6*x5)-(8*ph**2*
23783 &
x1)*(x10+x7+x6)+16*
x2*x5*(x10+x7+x6)
23784 fm(1,5)=8*pq**4*(-2*
x1-2*x4+x10-x9)+4*pq**2*(4*
x1**2-2*
x1*
23786 & x5+
x2*x10+4*x3*x4-x3*x9+2*x3*x7+3*x4*x8-2*x4*x6+2*x4*x5-4
23787 & *x10*x7+3*x10*x5-3*x9*x6+3*x8*x7-4*x7**2+4*x7*x5)+8*(
x1**
23789 & x8-
x1*x4*x5+
x1*x10*x9+
x1*x9*x7+
x1*x9*x6-
x1*x8*x7-
x2*x3*x7
23790 & +
x2*x4*x6-
x2*x10*x7-
x2*x7**2+x3*x7*x5-x4*x10*x5-x4*x7*x5-
23792 fm(1,6)=16*pq**4*(-4*
x1-x4+x9-x7)+4*pq**2*ph**2*(-2*
x1-x4-
23793 & x7)+16*pq**2*(-2*
x1**2-3*
x1*
x2-2*
x1*x4-3*
x1*x9-2*
x1*x7-3*
23794 &
x1*x5-2*
x2*x4-2*x7*x5)-8*ph**2*x4*x7+8*(-
x1*
x2*x9-2*
x1*
x2
23795 & *x5-
x1*x9**2-
x1*x9*x5+
x2**2*x7-
x2*x4*x5+
x2*x9*x7-
x2*x7*x5
23796 & +x4*x9*x5+x4*x5**2)
23797 fm(1,7)=8*pq**4*(2*x3+x4+3*x10+x9+2*x8+3*x7+6*x6)+2*pq**2*
23798 & ph**2*(-2*x3-x4+3*x10+3*x7+6*x6)+4*pq**2*(4*
x1*x10+4*
x1*
23799 & x7+8*
x1*x6+6*
x2*x10+
x2*x9+2*
x2*x8+6*
x2*x7+12*
x2*x6-8*x3*
23800 & x7+4*x4*x7+4*x4*x6+4*x10*x5+4*x9*x7+4*x9*x6-8*x8*x7+4*x7*
23801 & x5+8*x6*x5)+4*ph**2*(-
x1*x10-
x1*x7-2*
x1*x6+2*x3*x7-x4*x7-
23802 & x4*x6)+8*
x2*(x10*x5+x9*x7+x9*x6-2*x8*x7+x7*x5+2*x6*x5)
23803 fm(1,8)=8*pq**4*(2*x3+x4+3*x10+2*x9+x8+3*x7+6*x6)+2*pq**2*
23804 & ph**2*(-2*x3-x4+2*x10+x7+2*x6)+4*pq**2*(4*
x1*x10-2*
x1*x9+
23806 &
x2*x6-x3*x9-8*x3*x7+2*x3*x5+2*x4*x9-x4*x8+4*x4*x7+4*x4*x6
23807 & +4*x4*x5+5*x10*x5+x9**2-x9*x8+2*x9*x7+5*x9*x6+x9*x5-7*x8*
23808 & x7+2*x8*x5+2*x7*x5+10*x6*x5)+2*ph**2*(-
x1*x10+x3*x7-2*x4*
23809 & x7+x4*x6)+4*(-
x1*x9**2+
x1*x9*x8-2*
x1*x9*x5-
x1*x8*x5+2*
x2*
23810 & x10*x5+
x2*x9*x7+
x2*x9*x6-2*
x2*x8*x7+3*
x2*x6*x5+x3*x9*x5+
23811 & x3*x5**2+x4*x9*x5-2*x4*x8*x5+2*x4*x5**2)
23812 fm(2,2)=16*pq**6+16*pq**4*(-
x1+x3-x4-x10+x7-x6)+16*pq**2*(
23813 & x3*x10+x3*x7+x3*x6+x4*x7+x10*x7)-16*x3*x10*x7
23814 fm(2,3)=16*pq**6+8*pq**4*(-2*
x1+
x2+2*x3-4*x4-4*x10-x9+x8-2
23815 & *x7-2*x6+x5)+8*pq**2*(-2*
x1*x5+4*x3*x10-x3*x9-x3*x8-2*x3*
23816 & x7+2*x3*x6+x3*x5-2*x4*x5-2*x10*x5-2*x6*x5)+16*x3*x5*(x10+
23818 fm(2,4)=8*pq**4*(-2*
x1-2*x3+x10-x8)+4*pq**2*(4*
x1**2-2*
x1*
23820 & x5+
x2*x10+4*x3*x4+3*x3*x9-2*x3*x7+2*x3*x5-x4*x8+2*x4*x6-4
23821 & *x10*x6+3*x10*x5+3*x9*x6-3*x8*x7-4*x6**2+4*x6*x5)+8*(-
x1
23823 & *x8+
x1*x4*x5+
x1*x10*x8-
x1*x9*x6+
x1*x8*x7+
x1*x8*x6+
x2*x3*
23824 & x7-
x2*x4*x6-
x2*x10*x6-
x2*x6**2-x3*x10*x5-x3*x7*x5-x3*x6*
23826 fm(2,5)=16*pq**4*x10+8*pq**2*(2*
x1**2+2*
x1*x3+2*
x1*x4+2*
x1
23827 & *x10+2*
x1*x7+2*
x1*x6+x3*x7+x4*x6)+8*(-2*
x1**3-2*
x1**2*x3-
23828 & 2*
x1**2*x4-2*
x1**2*x10-2*
x1**2*x7-2*
x1**2*x6-2*
x1*x3*x4-
23829 &
x1*x3*x10-2*
x1*x3*x6-
x1*x4*x10-2*
x1*x4*x7-
x1*x10**2-
x1*
23830 & x10*x7-
x1*x10*x6-2*
x1*x7*x6+x3**2*x7-x3*x4*x7-x3*x4*x6+x3
23831 & *x10*x7+x3*x7**2-x3*x7*x6+x4**2*x6+x4*x10*x6-x4*x7*x6+x4*
23833 fm(2,6)=8*pq**4*(-2*
x1+x10-x9-2*x7)+4*pq**2*(4*
x1**2+2*
x1*
23835 & x5+4*
x2*x4+3*
x2*x10+2*
x2*x7-3*x3*x9-2*x3*x7-4*x4**2-4*x4*
23836 & x10+3*x4*x8+2*x4*x6+x10*x5-x9*x6+3*x8*x7+4*x7*x6)+8*(
x1**
23838 & x9-
x1*x4*x8-
x1*x4*x5+
x1*x10*x9+
x1*x9*x6-
x1*x8*x7-
x2*x3*x7
23839 & -
x2*x4*x7+
x2*x4*x6-
x2*x10*x7+x3*x7*x5-x4**2*x5-x4*x10*x5-
23841 fm(2,7)=8*pq**4*(x3+2*x4+3*x10+x7+2*x6)+4*pq**2*(-4*
x1*x3-
23843 & x4+3*
x2*x10+
x2*x7+2*
x2*x6-6*x3*x4-6*x3*x10-2*x3*x9-2*x3*
23844 & x7-4*x3*x6-x3*x5-6*x4**2-6*x4*x10-3*x4*x9-x4*x8-4*x4*x7-2
23845 & *x4*x6-2*x4*x5-3*x10*x9-3*x10*x8-6*x10*x7-6*x10*x6+x10*x5
23846 & +x9*x7-2*x8*x7-2*x8*x6-6*x7*x6+x7*x5-6*x6**2+2*x6*x5)+4*(
23848 & x3*x9-
x1*x3*x5+
x1*x4*x9+
x1*x4*x8+
x1*x4*x5+
x1*x10*x9+
x1*
23849 & x10*x8-
x1*x9*x6+
x1*x8*x6+
x2*x3*x7-3*
x2*x4*x7-
x2*x4*x6-3*
23850 &
x2*x10*x7-3*
x2*x10*x6-3*
x2*x7*x6-3*
x2*x6**2-2*x3*x4*x5-x3
23851 & *x10*x5-x3*x6*x5-x4**2*x5-x4*x10*x5+x4*x6*x5)
23852 fm(2,8)=8*pq**4*(x3+2*x4+3*x10+x7+2*x6)+4*pq**2*(-4*
x1*x3-
23854 & x4+
x2*x10-
x2*x7-2*
x2*x6-6*x3*x4-6*x3*x10-2*x3*x9+x3*x8-2*
23855 & x3*x7-4*x3*x6+x3*x5-6*x4**2-6*x4*x10-2*x4*x9-4*x4*x7-2*x4
23856 & *x6+2*x4*x5-3*x10*x9-3*x10*x8-6*x10*x7-6*x10*x6+3*x10*x5-
23857 & x9*x6-2*x8*x7-3*x8*x6-6*x7*x6+x7*x5-6*x6**2+2*x6*x5)+4*(
23859 &
x1*x4*x8-3*
x1*x4*x5+
x1*x10*x9+
x1*x10*x8-2*
x1*x10*x5+
x1*x9
23860 & *x6+
x1*x8*x7+
x1*x8*x6-
x2*x4*x7+
x2*x4*x6-
x2*x10*x7-
x2*x10*
23861 & x6-2*
x2*x7*x6-
x2*x6**2-3*x3*x4*x5-3*x3*x10*x5+x3*x7*x5-3*
23862 & x3*x6*x5-3*x4**2*x5-3*x4*x10*x5-x4*x6*x5)
23863 fm(3,3)=64*pq**6+16*pq**4*ph**2+32*pq**4*(
x1+
x2+2*x3+x8+x6
23864 & +2*x5)+8*pq**2*ph**2*(-
x1+2*x3-x6)+16*pq**2*(
x2*x5-2*x3*
23865 & x8-2*x3*x6+4*x3*x5+x8*x5)+8*ph**2*x3*x6-16*x3*x8*x5
23866 fm(3,4)=16*pq**4*(-4*
x1-x3+x8-x6)+4*pq**2*ph**2*(-2*
x1-x3-
23867 & x6)+16*pq**2*(-2*
x1**2-3*
x1*
x2-2*
x1*x3-3*
x1*x8-2*
x1*x6-3*
23868 &
x1*x5-2*
x2*x3-2*x6*x5)-8*ph**2*x3*x6+8*(-
x1*
x2*x8-2*
x1*
x2
23869 & *x5-
x1*x8**2-
x1*x8*x5+
x2**2*x6-
x2*x3*x5+
x2*x8*x6-
x2*x6*x5
23870 & +x3*x8*x5+x3*x5**2)
23871 fm(3,5)=8*pq**4*(-2*
x1+x10-x8-2*x6)+4*pq**2*(4*
x1**2+2*
x1*
23873 & x5+4*
x2*x3+3*
x2*x10+2*
x2*x6-4*x3**2-4*x3*x10+3*x3*x9+2*x3
23874 & *x7-3*x4*x8-2*x4*x6+x10*x5+3*x9*x6-x8*x7+4*x7*x6)+8*(-
x1
23876 & *x5+
x1*x4*x8+
x1*x4*x5+
x1*x10*x8-
x1*x9*x6+
x1*x8*x7+
x2*x3*
23877 & x7-
x2*x3*x6-
x2*x4*x6-
x2*x10*x6-x3**2*x5-x3*x10*x5-x3*x7*
23879 fm(3,6)=16*pq**6+4*pq**4*ph**2+16*pq**4*(-
x1-
x2+2*x3+2*x4+
23880 & x10-x9-x8-x7-x6+x5)+4*pq**2*ph**2*(
x1+2*x3+2*x4+x10+x7+x6
23881 & )+8*pq**2*(4*
x1*x3+4*
x1*x4+4*
x1*x10+4*
x2*x3+4*
x2*x4+4*
x2*
23882 & x10-
x2*x5+4*x3*x5+4*x4*x5+2*x10*x5-x9*x5-x8*x5)-(8*ph**2*
23883 &
x1)*(x3+x4+x10)+16*
x2*x5*(x3+x4+x10)
23884 fm(3,7)=8*pq**4*(3*x3+6*x4+3*x10+x9+2*x8+2*x7+x6)+2*pq**2*
23885 & ph**2*(x3+2*x4+2*x10-2*x7-x6)+4*pq**2*(4*
x1*x3+8*
x1*x4+4*
23887 &
x2*x8+2*
x2*x7+4*
x2*x6-7*x3*x9+2*x3*x8-8*x3*x7+4*x3*x6+4*
23888 & x3*x5+5*x4*x8+4*x4*x6+8*x4*x5+5*x10*x5-x9*x8-x9*x6+x9*x5+
23889 & x8**2-x8*x7+2*x8*x6+2*x8*x5)+2*ph**2*(-
x1*x10+x3*x7-2*x3*
23891 & *x7+2*
x2**2*x6+3*
x2*x4*x5+2*
x2*x10*x5-2*
x2*x9*x6+
x2*x8*x7
23892 & +
x2*x8*x6-2*x3*x9*x5+x3*x8*x5+x4*x8*x5)
23893 fm(3,8)=8*pq**4*(3*x3+6*x4+3*x10+2*x9+x8+2*x7+x6)+2*pq**2*
23894 & ph**2*(3*x3+6*x4+3*x10-2*x7-x6)+4*pq**2*(4*
x1*x3+8*
x1*x4+
23895 & 4*
x1*x10+4*
x2*x3+8*
x2*x4+4*
x2*x10-8*x3*x9+4*x3*x8-8*x3*x7
23896 & +4*x3*x6+6*x3*x5+4*x4*x8+4*x4*x6+12*x4*x5+6*x10*x5+2*x9*
23897 & x5+x8*x5)+4*ph**2*(-
x1*x3-2*
x1*x4-
x1*x10+2*x3*x7-x3*x6-x4
23898 & *x6)+8*x5*(
x2*x3+2*
x2*x4+
x2*x10-2*x3*x9+x3*x8+x4*x8)
23899 fm(4,4)=64*pq**6+16*pq**4*ph**2+32*pq**4*(
x1+2*
x2+x3+x8+2*
23900 & x6+x5)+8*pq**2*ph**2*(-
x1-x3+2*x6)+16*pq**2*(
x2*x8+4*
x2*
23901 & x6+
x2*x5-2*x3*x6-2*x8*x6)+8*ph**2*x3*x6-16*
x2*x8*x6
23902 fm(4,5)=16*pq**6+8*pq**4*(-2*
x1+
x2-2*x3-2*x4-4*x10-x9+x8-4
23903 & *x7+2*x6+x5)+8*pq**2*(-2*
x1*
x2-2*
x2*x3-2*
x2*x10-2*
x2*x7+
23904 &
x2*x6+2*x3*x6-2*x4*x6+4*x10*x6-x9*x6-x8*x6)+16*
x2*x6*(x3+
23906 fm(4,6)=16*pq**6-4*pq**4*ph**2+8*pq**4*(-2*
x1+2*
x2-4*x3-2*
23907 & x4-8*x10+x9+x8-4*x7-2*x6+2*x5)-(4*pq**2*ph**2)*(
x1+x3+x10
23909 & -4*
x2*x3-5*
x2*x10+
x2*x9-3*
x2*x7-
x2*x6+
x2*x5+x3*x9+2*x3*x7
23910 & -3*x3*x5+x4*x8+2*x4*x6-x4*x5-5*x10*x5+x9*x8+x9*x6+x8*x7+
23911 & x8*x5-4*x7*x5+x5**2)-(16*
x2*x5)*(
x1+x3+x10+x7)
23912 fm(4,7)=8*pq**4*(-x3-2*x4-3*x10-2*x9-x8-6*x7-3*x6)+2*pq**2
23913 & *ph**2*(x3+2*x4-3*x10-6*x7-3*x6)+4*pq**2*(-4*
x1*x10-8*
x1*
23914 & x7-4*
x1*x6-6*
x2*x10-2*
x2*x9-
x2*x8-12*
x2*x7-6*
x2*x6-4*x3*
23915 & x7-4*x3*x6+8*x4*x6-4*x10*x5+8*x9*x6-4*x8*x7-4*x8*x6-8*x7*
23916 & x5-4*x6*x5)+4*ph**2*(
x1*x10+2*
x1*x7+
x1*x6+x3*x7+x3*x6-2*
23917 & x4*x6)+8*
x2*(-x10*x5+2*x9*x6-x8*x7-x8*x6-2*x7*x5-x6*x5)
23918 fm(4,8)=8*pq**4*(-x3-2*x4-3*x10-x9-2*x8-6*x7-3*x6)+2*pq**2
23919 & *ph**2*(x3+2*x4-2*x10-2*x7-x6)+4*pq**2*(-4*
x1*x10-2*
x1*x9
23921 & *
x2*x6+x3*x9-2*x3*x8-4*x3*x7-4*x3*x6-4*x3*x5+x4*x8+8*x4*
23922 & x6-2*x4*x5-5*x10*x5+x9*x8+7*x9*x6-2*x9*x5-x8**2-5*x8*x7-2
23923 & *x8*x6-x8*x5-10*x7*x5-2*x6*x5)+2*ph**2*(
x1*x10-x3*x7+2*x3
23924 & *x6-x4*x6)+4*(-
x1*x9*x8+
x1*x9*x5+
x1*x8**2+2*
x1*x8*x5-2*
x2
23925 & *x10*x5+2*
x2*x9*x6-
x2*x8*x7-
x2*x8*x6-3*
x2*x7*x5+2*x3*x9*
23926 & x5-x3*x8*x5-2*x3*x5**2-x4*x8*x5-x4*x5**2)
23927 fm(5,5)=16*pq**6+16*pq**4*(-
x1-x3+x4-x10-x7+x6)+16*pq**2*(
23928 & x3*x6+x4*x10+x4*x7+x4*x6+x10*x6)-16*x4*x10*x6
23929 fm(5,6)=16*pq**6+8*pq**4*(-2*
x1+
x2-4*x3+2*x4-4*x10+x9-x8-2
23930 & *x7-2*x6+x5)+8*pq**2*(-2*
x1*x5-2*x3*x5+4*x4*x10-x4*x9-x4*
23931 & x8+2*x4*x7-2*x4*x6+x4*x5-2*x10*x5-2*x7*x5)+16*x4*x5*(x10+
23933 fm(5,7)=8*pq**4*(-2*x3-x4-3*x10-2*x7-x6)+4*pq**2*(2*
x1*x3+
23935 & x4-3*
x2*x10-2*
x2*x7-
x2*x6+6*x3**2+6*x3*x4+6*x3*x10+x3*x9+
23936 & 3*x3*x8+2*x3*x7+4*x3*x6+2*x3*x5+6*x4*x10+2*x4*x8+4*x4*x7+
23937 & 2*x4*x6+x4*x5+3*x10*x9+3*x10*x8+6*x10*x7+6*x10*x6-x10*x5+
23938 & 2*x9*x7+2*x9*x6-x8*x6+6*x7**2+6*x7*x6-2*x7*x5-x6*x5)+4*(-
23940 & *x9-
x1*x3*x8-
x1*x3*x5-
x1*x4*x8+
x1*x4*x5-
x1*x10*x9-
x1*x10*
23941 & x8-
x1*x9*x7+
x1*x8*x7+
x2*x3*x7+3*
x2*x3*x6-
x2*x4*x6+3*
x2*
23942 & x10*x7+3*
x2*x10*x6+3*
x2*x7**2+3*
x2*x7*x6+x3**2*x5+2*x3*x4
23943 & *x5+x3*x10*x5-x3*x7*x5+x4*x10*x5+x4*x7*x5)
23944 fm(5,8)=8*pq**4*(-2*x3-x4-3*x10-2*x7-x6)+4*pq**2*(2*
x1*x3+
23946 & x4-
x2*x10+2*
x2*x7+
x2*x6+6*x3**2+6*x3*x4+6*x3*x10+2*x3*x8+
23947 & 2*x3*x7+4*x3*x6-2*x3*x5+6*x4*x10-x4*x9+2*x4*x8+4*x4*x7+2*
23948 & x4*x6-x4*x5+3*x10*x9+3*x10*x8+6*x10*x7+6*x10*x6-3*x10*x5+
23949 & 3*x9*x7+2*x9*x6+x8*x7+6*x7**2+6*x7*x6-2*x7*x5-x6*x5)+4*(
23951 &
x1*x3*x5+3*
x1*x4*x5-
x1*x10*x9-
x1*x10*x8+2*
x1*x10*x5-
x1*x9
23952 & *x7-
x1*x9*x6-
x1*x8*x7-
x2*x3*x7+
x2*x3*x6+
x2*x10*x7+
x2*x10*
23953 & x6+
x2*x7**2+2*
x2*x7*x6+3*x3**2*x5+3*x3*x4*x5+3*x3*x10*x5+
23954 & x3*x7*x5+3*x4*x10*x5+3*x4*x7*x5-x4*x6*x5)
23955 fm(6,6)=64*pq**6+16*pq**4*ph**2+32*pq**4*(
x1+
x2+2*x4+x9+x7
23956 & +2*x5)+8*pq**2*ph**2*(-
x1+2*x4-x7)+16*pq**2*(
x2*x5-2*x4*
23957 & x9-2*x4*x7+4*x4*x5+x9*x5)+8*ph**2*x4*x7-16*x4*x9*x5
23958 fm(6,7)=8*pq**4*(-6*x3-3*x4-3*x10-2*x9-x8-x7-2*x6)+2*pq**2
23959 & *ph**2*(-2*x3-x4-2*x10+x7+2*x6)+4*pq**2*(-8*
x1*x3-4*
x1*x4
23961 & -2*
x2*x8-4*
x2*x7-2*
x2*x6-5*x3*x9-4*x3*x7-8*x3*x5-2*x4*x9+
23962 & 7*x4*x8-4*x4*x7+8*x4*x6-4*x4*x5-5*x10*x5-x9**2+x9*x8-2*x9
23963 & *x7+x9*x6-2*x9*x5+x8*x7-x8*x5)+2*ph**2*(
x1*x10-x3*x7+2*x4
23965 & **2*x7-
x2**2*x6-3*
x2*x3*x5-2*
x2*x10*x5-
x2*x9*x7-
x2*x9*x6+
23966 & 2*
x2*x8*x7-x3*x9*x5-x4*x9*x5+2*x4*x8*x5)
23967 fm(6,8)=8*pq**4*(-6*x3-3*x4-3*x10-x9-2*x8-x7-2*x6)+2*pq**2
23968 & *ph**2*(-6*x3-3*x4-3*x10+x7+2*x6)+4*pq**2*(-8*
x1*x3-4*
x1*
23969 & x4-4*
x1*x10-8*
x2*x3-4*
x2*x4-4*
x2*x10-4*x3*x9-4*x3*x7-12*
23970 & x3*x5-4*x4*x9+8*x4*x8-4*x4*x7+8*x4*x6-6*x4*x5-6*x10*x5-x9
23971 & *x5-2*x8*x5)+4*ph**2*(2*
x1*x3+
x1*x4+
x1*x10+x3*x7+x4*x7-2*
23972 & x4*x6)+8*x5*(-2*
x2*x3-
x2*x4-
x2*x10-x3*x9-x4*x9+2*x4*x8)
23973 fm(7,7)=72*pq**4*x10+18*pq**2*ph**2*x10+8*pq**2*(
x1*x10+9*
23974 &
x2*x10+7*x3*x7+2*x3*x6+2*x4*x7+7*x4*x6+x10*x5+2*x9*x7+7*
23975 & x9*x6+7*x8*x7+2*x8*x6)+2*ph**2*(-
x1*x10-7*x3*x7-2*x3*x6-2
23976 & *x4*x7-7*x4*x6)+4*
x2*(x10*x5+2*x9*x7+7*x9*x6+7*x8*x7+2*x8
23978 fm(7,8)=72*pq**4*x10+2*pq**2*ph**2*x10+4*pq**2*(2*
x1*x10+
23979 & 10*
x2*x10+7*x3*x9+2*x3*x8+14*x3*x7+4*x3*x6+2*x4*x9+7*x4*
23980 & x8+4*x4*x7+14*x4*x6+10*x10*x5+x9**2+7*x9*x8+2*x9*x7+7*x9*
23981 & x6+x8**2+7*x8*x7+2*x8*x6)+2*ph**2*(7*
x1*x10-7*x3*x7-2*x3*
23982 & x6-2*x4*x7-7*x4*x6)+2*(-2*
x1*x9**2-14*
x1*x9*x8-2*
x1*x8**2
23983 & +2*
x2*x10*x5+2*
x2*x9*x7+7*
x2*x9*x6+7*
x2*x8*x7+2*
x2*x8*x6+
23984 & 7*x3*x9*x5+2*x3*x8*x5+2*x4*x9*x5+7*x4*x8*x5)
23985 fm(8,8)=72*pq**4*x10+18*pq**2*ph**2*x10+8*pq**2*(
x1*x10+
x2
23986 & *x10+7*x3*x9+2*x3*x8+7*x3*x7+2*x3*x6+2*x4*x9+7*x4*x8+2*x4
23987 & *x7+7*x4*x6+9*x10*x5)+2*ph**2*(-
x1*x10-7*x3*x7-2*x3*x6-2*
23988 & x4*x7-7*x4*x6)+4*x5*(
x2*x10+7*x3*x9+2*x3*x8+2*x4*x9+7*x4*
23990 fm(9,9)=-4*pq**4*x10-pq**2*ph**2*x10+4*pq**2*(-
x1*x10-
x2*x10+
23991 & x3*x7+x4*x6-x10*x5+x9*x6+x8*x7)+ph**2*(
x1*x10-x3*x7-x4*x6
23992 & )+2*
x2*(-x10*x5+x9*x6+x8*x7)
23993 fm(9,10)=-4*pq**4*x10-pq**2*ph**2*x10+2*pq**2*(-2*
x1*x10-2*
x2*
23994 & x10+2*x3*x9+2*x3*x7+2*x4*x6-2*x10*x5+x9*x8+2*x8*x7)+ph**2
23995 & *(
x1*x10-x3*x7-x4*x6)+2*(-
x1*x9*x8-
x2*x10*x5+
x2*x8*x7+x3*
23997 fmxx=-4*pq**4*x10-pq**2*ph**2*x10+2*pq**2*(-2*
x1*x10-2*
x2*
23998 & x10+2*x4*x8+2*x4*x6+2*x3*x7-2*x10*x5+x9*x8+2*x9*x6)+ph**2
23999 & *(
x1*x10-x3*x7-x4*x6)+2*(-
x1*x9*x8-
x2*x10*x5+
x2*x9*x6+x4*
24001 fm(9,10)=0.5d0*(fmxx+fm(9,10))
24002 fm(10,10)=-4*pq**4*x10-pq**2*ph**2*x10+4*pq**2*(-
x1*x10-
x2*x10+
24003 & x3*x7+x4*x6-x10*x5+x9*x3+x8*x4)+ph**2*(
x1*x10-x3*x7-x4*x6
24004 & )+2*x5*(-x10*
x2+x9*x3+x8*x4)
24012 rm(7,7)=fm(7,7)-2d0*fm(9,9)
24013 rm(7,8)=fm(7,8)-2d0*fm(9,10)
24014 rm(8,8)=fm(8,8)-2d0*fm(10,10)
24021 wtqqbh=wtqqbh+rm(i,j)*fac*clr(i,j)/(
dx(i)*
dx(j))
24024 wtqqbh=-wtqqbh/256d0
24028 a11=-8d0*pq**4*x10-2d0*pq**2*ph**2*x10-(8d0*pq**2)*(
x2*x10+x3
24029 & *x7+x4*x6+x9*x6+x8*x7)+2d0*ph**2*(x3*x7+x4*x6)-(4d0*
x2)*(x9
24031 a12=-8d0*pq**4*x10+4d0*pq**2*(-
x2*x10-x3*x9-2d0*x3*x7-x4*x8-
24032 & 2d0*x4*x6-x10*x5-x9*x8-x9*x6-x8*x7)+2d0*ph**2*(-
x1*x10+x3*x7
24033 & +x4*x6)+2d0*(2d0*
x1*x9*x8-
x2*x9*x6-
x2*x8*x7-x3*x9*x5-x4*x8*
24035 a22=-8d0*pq**4*x10-2d0*pq**2*ph**2*x10-(8d0*pq**2)*(x3*x9+x3*
24036 & x7+x4*x8+x4*x6+x10*x5)+2d0*ph**2*(x3*x7+x4*x6)-(4d0*x5)*(x3
24041 a12=a12/(
dx(7)*
dx(8))
24043 wtqqbh=-(a11+a22+2d0*a12)/8d0
24059 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
24062 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
24064 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
24065 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
24066 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
24067 common/pypars/mstp(200),parp(200),msti(200),pari(200)
24068 common/pyint4/mwid(500),wids(500,5)
24069 common/pymssm/imss(0:99),rmss(0:99)
24070 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
24072 SAVE /
pydat1/,/pydat2/,/
pydat3/,/pypars/,/pyint4/,/pymssm/,
24077 DOUBLE PRECISION alfa,
beta
24078 DOUBLE PRECISION tanb,al,be,cosa,cosb,sina,sinb,xw,aem,fact
24080 INTEGER i,j,j1,j2,i1,i2,i3,iknt,k1
24081 INTEGER kc,lknt,idlam(200,3),idlam0(100,3),lknt0
24082 DOUBLE PRECISION xlam(0:200),xlam0(0:200),xall
24083 DOUBLE PRECISION wdtp(0:200),wdte(0:200,0:5)
24084 DOUBLE PRECISION aterm,tan2t,
theta,denom
24085 DOUBLE PRECISION xarg,cos2b,xmw2,xmz2
24086 DOUBLE PRECISION cosw,sinw,wdmin,wdmax
24087 DOUBLE PRECISION delm,xmdif,brlim
24088 DOUBLE PRECISION dx,
dy,ds,dmu2,dma2,dq2,du2,dd2,dl2,de2,dhu2,dhd2
24089 DOUBLE PRECISION arg,sgnmu,
r,gam
24090 INTEGER is1,is2,is3,is4,js1,js2,js3,js4,
ks1,
ks2,
ks3,ks4
24091 INTEGER imssm,kfhigg
24095 &1000001,2000001,1000002,2000002,1000003,2000003,
24096 &1000004,2000004,1000005,2000005,1000006,2000006,
24097 &1000011,2000011,1000012,2000012,1000013,2000013,
24098 &1000014,2000014,1000015,2000015,1000016,2000016,
24099 &1000021,1000022,1000023,1000025,1000035,1000024,
24100 &1000037,1000039, 25, 35, 36, 37/
24104 IF(imssm.EQ.0)
RETURN
24128 IF(imssm.EQ.1)
THEN
24129 IF(imss(9).EQ.0) rmss(22)=rmss(9)
24132 pmas(kc,1)=
sqrt(rmss(8)**2-(2d0*xmw2+xmz2)*cos2b/6d0)
24134 pmas(kc,1)=
sqrt(rmss(9)**2+(xmw2-xmz2)*cos2b/3d0)
24136 pmas(kc,1)=
sqrt(rmss(8)**2+(4d0*xmw2-xmz2)*cos2b/6d0)
24138 pmas(kc,1)=
sqrt(rmss(22)**2-(xmw2-xmz2)*cos2b*2d0/3d0)
24140 xarg=rmss(6)**2-pmas(24,1)**2*abs(
cos(2d0*
beta))
24141 IF(xarg.LT.0d0)
THEN
24142 WRITE(mstu(11),*)
' SNEUTRINO MASS IS NEGATIVE'//
24143 &
' FROM THE SUM RULE. '
24144 WRITE(mstu(11),*)
' TRY A SMALLER VALUE OF TAN(BETA). '
24150 pmas(
pycomp(ksusy1+i),1)=rmss(6)
24151 pmas(
pycomp(ksusy2+i),1)=rmss(7)
24152 pmas(
pycomp(ksusy1+i+1),1)=xarg
24153 pmas(
pycomp(ksusy2+i+1),1)=9999d0
24155 IF(imss(8).EQ.1)
THEN
24161 ELSEIF(imssm.EQ.2)
THEN
24166 IF(imss(7).EQ.1)
THEN
24171 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
24172 WRITE(mstu(11),*)
'C NEW DTERMS ADDED TO SCALAR MASSES '
24173 WRITE(mstu(11),*)
'C IN A U(B-L) THEORY '
24174 WRITE(mstu(11),*)
'C DX = ',
dx
24175 WRITE(mstu(11),*)
'C DY = ',
dy
24176 WRITE(mstu(11),*)
'C DS = ',ds
24177 WRITE(mstu(11),*)
'C '
24178 dy=
r*
dy-4d0/33d0*(1d0-
r)*
dx+(1d0-
r)/33d0*ds
24179 WRITE(mstu(11),*)
'C DY AT THE WEAK SCALE = ',
dy
24180 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
24181 dq2=
dy/6d0-
dx/3d0-ds/3d0
24182 du2=-2d0*
dy/3d0-
dx/3d0-ds/3d0
24183 dd2=
dy/3d0+
dx-2d0*ds/3d0
24184 dl2=-
dy/2d0+
dx-2d0*ds/3d0
24185 de2=
dy-
dx/3d0-ds/3d0
24186 dhu2=
dy/2d0+2d0*
dx/3d0+2d0*ds/3d0
24187 dhd2=-
dy/2d0-2d0*
dx/3d0+ds
24188 dmu2=(-
dy/2d0-2d0/3d0*
dx+(cosb**2-2d0*sinb**2/3d0)*ds)
24190 dma2 = 2d0*dmu2+dhu2+dhd2
24193 pmas(kc,1)=
sqrt(pmas(kc,1)**2+dq2)
24195 pmas(kc,1)=
sqrt(pmas(kc,1)**2+dd2)
24197 pmas(kc,1)=
sqrt(pmas(kc,1)**2+dq2)
24199 pmas(kc,1)=
sqrt(pmas(kc,1)**2+du2)
24203 pmas(kc,1)=
sqrt(pmas(kc,1)**2+dl2)
24205 pmas(kc,1)=
sqrt(pmas(kc,1)**2+de2)
24207 pmas(kc,1)=
sqrt(pmas(kc,1)**2+dl2)
24209 IF(rmss(4)**2+dmu2.LT.0d0)
THEN
24210 WRITE(mstu(11),*)
' MU2 DRIVEN NEGATIVE '
24213 sgnmu=sign(1d0,rmss(4))
24214 rmss(4)=sgnmu*
sqrt(rmss(4)**2+dmu2)
24215 arg=rmss(10)**2*sign(1d0,rmss(10))+dq2
24216 rmss(10)=sign(
sqrt(abs(arg)),arg)
24217 arg=rmss(11)**2*sign(1d0,rmss(11))+dd2
24218 rmss(11)=sign(
sqrt(abs(arg)),arg)
24219 arg=rmss(12)**2*sign(1d0,rmss(12))+du2
24220 rmss(12)=sign(
sqrt(abs(arg)),arg)
24221 arg=rmss(13)**2*sign(1d0,rmss(13))+dl2
24222 rmss(13)=sign(
sqrt(abs(arg)),arg)
24223 arg=rmss(14)**2*sign(1d0,rmss(14))+de2
24224 rmss(14)=sign(
sqrt(abs(arg)),arg)
24225 IF( rmss(19)**2 + dma2 .LE. 50d0 )
THEN
24226 WRITE(mstu(11),*)
' MA DRIVEN TOO LOW '
24229 rmss(19)=
sqrt(rmss(19)**2+dma2)
24230 rmss(6)=
sqrt(rmss(6)**2+dl2)
24231 rmss(7)=
sqrt(rmss(7)**2+de2)
24232 WRITE(mstu(11),*)
' MTL = ',rmss(10)
24233 WRITE(mstu(11),*)
' MBR = ',rmss(11)
24234 WRITE(mstu(11),*)
' MTR = ',rmss(12)
24235 WRITE(mstu(11),*)
' SEL = ',rmss(6),rmss(13)
24236 WRITE(mstu(11),*)
' SER = ',rmss(7),rmss(14)
24241 xarg=rmss(13)**2-pmas(24,1)**2*abs(cos2b)
24242 IF(xarg.LT.0d0)
THEN
24243 WRITE(mstu(11),*)
' TAU SNEUTRINO MASS IS NEGATIVE FROM'//
24244 &
' THE SUM RULE. '
24245 WRITE(mstu(11),*)
' TRY A SMALLER VALUE OF TAN(BETA). '
24262 IF(imssm.EQ.2.AND.mstp(122).GT.0)
THEN
24263 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
24264 WRITE(mstu(11),*)
' USING APPROXIMATE SUGRA RELATIONS '
24265 WRITE(mstu(11),*)
' M0 = ',rmss(8)
24266 WRITE(mstu(11),*)
' M1/2=',rmss(1)
24267 WRITE(mstu(11),*)
' TANB=',rmss(5)
24268 WRITE(mstu(11),*)
' MU = ',rmss(4)
24269 WRITE(mstu(11),*)
' AT = ',rmss(16)
24270 WRITE(mstu(11),*)
' MA = ',rmss(19)
24271 WRITE(mstu(11),*)
' MTOP=',pmas(6,1)
24272 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
24274 IF(imss(20).EQ.1)
THEN
24275 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
24276 WRITE(mstu(11),*)
' DEBUG MODE '
24277 WRITE(mstu(11),*)
' UMIX = ',umix(1,1),umix(1,2),
24278 & umix(2,1),umix(2,2)
24279 WRITE(mstu(11),*)
' VMIX = ',vmix(1,1),vmix(1,2),
24280 & vmix(2,1),vmix(2,2)
24281 WRITE(mstu(11),*)
' ZMIX = ',zmix
24282 WRITE(mstu(11),*)
' ALFA = ',alfa
24283 WRITE(mstu(11),*)
' BETA = ',
beta
24284 WRITE(mstu(11),*)
' STOP = ',(sfmix(6,i),i=1,4)
24285 WRITE(mstu(11),*)
' SBOT = ',(sfmix(5,i),i=1,4)
24286 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
24302 paru(161)=sina/cosb
24304 paru(162)=-cosa/sinb
24306 paru(163)=paru(161)
24308 paru(164)=
sin(be-al)
24310 paru(165)=paru(164)
24312 paru(168)=-
sin(be-al)-
cos(2d0*be)*
sin(be+al)/2d0/(1d0-xw)
24316 paru(171)=-cosa/cosb
24318 paru(172)=-sina/sinb
24320 paru(173)=paru(171)
24322 paru(174)=
cos(be-al)
24324 paru(175)=paru(174)
24326 paru(176)=
cos(2d0*al)*
cos(be+al)-2d0*
sin(2d0*al)*
sin(be+al)
24328 paru(177)=
cos(2d0*be)*
cos(be+al)
24330 paru(178)=-
cos(be-al)+
cos(2d0*be)*
cos(be+al)/2d0/(1d0-xw)
24336 paru(182)=1d0/paru(181)
24338 paru(183)=paru(181)
24342 paru(186)=
cos(be-al)
24344 paru(187)=
sin(be-al)
24351 paru(195)=
cos(be-al)
24360 IF( imss(11) .NE. 0 )
THEN
24361 pmas(kc,1)=rmss(21)/1000000000d0
24362 pmas(kc,2)=0.0001d0
24364 WRITE(mstu(11),*)
' ALLOWING DECAYS TO GRAVITINOS '
24371 pmchi1=pmas(
pycomp(ksusy1+22),1)
24380 IF((i.EQ.15.OR.i.EQ.19.OR.i.EQ.23).AND.
24381 & pmas(kc,1).LT.pmchi1)
THEN
24383 CALL
pysfdc(kf,xlam,idlam,lknt)
24387 ELSEIF(i.EQ.25)
THEN
24388 CALL
pyglui(kf,xlam,idlam,lknt)
24391 ELSEIF(i.GE.26.AND.i.LE.29)
THEN
24392 CALL
pynjdc(kf,xlam,idlam,lknt)
24394 IF(i.EQ.26.AND.irprty.EQ.1)
THEN
24401 ELSEIF(i.GE.30.AND.i.LE.31)
THEN
24402 CALL
pycjdc(kf,xlam,idlam,lknt)
24405 ELSEIF(i.EQ.32)
THEN
24410 ELSEIF(i.GE.33.AND.i.LE.36)
THEN
24412 CALL
pywidt(kf,pmas(kc,1)**2,wdtp,wdte)
24417 DO 170 i1=1,mdcy(kc,3)
24419 IF(iabs(kfdp(k1,1)).GT.ksusy1.OR.
24420 & iabs(kfdp(k1,2)).GT.ksusy1) goto 170
24422 xlam(0)=xlam(0)+xlam(i1)
24424 idlam(i1,j1)=kfdp(k1,j1)
24429 CALL
pyhext(kf,xlam,idlam,lknt)
24442 idc=mdcy(kc,2)+mdcy(kc,3)-1
24447 IF(idc.EQ.mdcy(kc,2)+mdcy(kc,3)) idc=mdcy(kc,2)
24448 IF(idlam(il,1).EQ.kfdp(idc,1).AND.idlam(il,2).EQ.
24449 & kfdp(idc,2).AND.idlam(il,3).EQ.kfdp(idc,3))
THEN
24450 brat(idc)=xlam(il)/xlam(0)
24452 IF(mdme(idc,1).GE.1)
THEN
24453 xmdif=xmdif-pmas(
pycomp(kfdp(idc,1)),1)-
24454 & pmas(
pycomp(kfdp(idc,2)),1)
24455 IF(kfdp(idc,3).NE.0) xmdif=xmdif-
24456 & pmas(
pycomp(kfdp(idc,3)),1)
24459 IF(xmdif.GE.0d0)
THEN
24460 delm=
min(delm,xmdif)
24462 WRITE(mstu(11),*)
' ERROR WITH DELM ',delm,xmdif
24463 WRITE(mstu(11),*)
' KF = ',kf
24464 WRITE(mstu(11),*)
' KF(decay) = ',(kfdp(idc,j),j=1,3)
24468 ELSEIF(idc.EQ.idcsv)
THEN
24469 WRITE(mstu(11),*)
' Error in PYMSIN: SUSY decay ',
24470 &
'channel not recognized:'
24471 WRITE(mstu(11),*) kf,
' -> ',(idlam(i,j),j=1,3)
24480 IF(pmas(kc,2).LT.0.1d0*delm)
THEN
24481 pmas(kc,3)=pmas(kc,2)*10d0
24483 pmas(kc,3)=0.95d0*delm
24485 IF(pmas(kc,2).NE.0d0)
THEN
24486 pmas(kc,4)=paru(3)/pmas(kc,2)*1
d-12
24504 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
24507 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
24509 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
24510 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
24511 common/pymssm/imss(0:99),rmss(0:99)
24512 SAVE /
pydat1/,/pydat2/,/pymssm/
24531 xmer=
sqrt(xm02+0.15d0*xmg2-xw*dterm)
24532 xmel=
sqrt(xm02+0.52d0*xmg2-(0.5d0-xw)*dterm)
24537 xmul=
sqrt(
pyrnmq(1,(0.5d0-2d0/3d0*xw)*dterm))
24538 xmdl=
sqrt(
pyrnmq(1,-(0.5d0-1d0/3d0*xw)*dterm))
24540 pmas(
pycomp(ksusy1+i),1)=xmdl
24541 pmas(
pycomp(ksusy2+i),1)=xmdr
24542 pmas(
pycomp(ksusy1+i+1),1)=xmul
24543 pmas(
pycomp(ksusy2+i+1),1)=xmur
24545 xarg=xmel**2-xmw2*abs(
cos(2d0*
beta))
24546 IF(xarg.LT.0d0)
THEN
24547 WRITE(mstu(11),*)
' SNEUTRINO MASS IS NEGATIVE'//
24548 &
' FROM THE SUM RULE. '
24549 WRITE(mstu(11),*)
' TRY A SMALLER VALUE OF TAN(BETA). '
24555 pmas(
pycomp(ksusy1+i),1)=xmel
24556 pmas(
pycomp(ksusy2+i),1)=xmer
24557 pmas(
pycomp(ksusy1+i+1),1)=xarg
24558 pmas(
pycomp(ksusy2+i+1),1)=9999d0
24563 xtop=(rmt/150d0/sinb)**2*(.9d0*xm02+2.1d0*xmg2+
24564 &(1d0-(rmt/190d0/sinb)**3)*(.24d0*at**2+at*xmg))
24566 xbot=(rmb/150d0/cosb)**2*(.9d0*xm02+2.1d0*xmg2+
24567 &(1d0-(rmb/190d0/cosb)**3)*(.24d0*at**2+at*xmg))
24568 xtau=1
d-4/cosb**2*(xm02+0.15d0*xmg2+at**2/3d0)
24569 atp=at*(1d0-(rmt/190d0/sinb)**2)+xmg*(3.47d0-1.9d0*(rmt/190d0/
24572 xmu2=-xm02-0.52d0*xmg2-0.5d0*xmz2+xtop/(1d0-1d0/tanb**2)
24573 xma2=(xmnu**2+xmu2-xbot-xtau/3d0)/sinb**2
24574 xmu=sign(
sqrt(xmu2),rmss(4))
24576 rmss(19)=
sqrt(xma2)
24577 arg=xm02+0.15d0*xmg2-2d0*xtau/3d0-xw*dterm
24578 IF(arg.GT.0d0)
THEN
24581 WRITE(mstu(11),*)
' RIGHT STAU MASS < 0 '
24584 arg=xm02+0.52d0*xmg2-xtau/3d0-(0.5d0-xw)*dterm
24585 IF(arg.GT.0d0)
THEN
24588 WRITE(mstu(11),*)
' LEFT STAU MASS < 0 '
24591 arg=
pyrnmq(1,-(xbot+xtop)/3d0)
24592 IF(arg.GT.0d0)
THEN
24595 rmss(10)=-
sqrt(-arg)
24597 arg=
pyrnmq(2,-2d0*xtop/3d0)
24598 IF(arg.GT.0d0)
THEN
24601 rmss(12)=-
sqrt(-arg)
24603 arg=
pyrnmq(3,-2d0*xbot/3d0)
24604 IF(arg.GT.0d0)
THEN
24607 rmss(11)=-
sqrt(-arg)
24621 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
24624 common/pymssm/imss(0:99),rmss(0:99)
24628 DOUBLE PRECISION pi,
r
24629 DOUBLE PRECISION tol
24630 DOUBLE PRECISION ci(3)
24633 DATA pi,
r/3.141592654d0,.61803399d0/
24634 DATA ci/0.47d0,0.07d0,0.02d0/
24638 ag=(0.71d0)**2/4d0/pi
24645 as=
pyalps(xm02+6d0*xmg2)
24646 cg=8d0/9d0*((as/ag)**2-1d0)
24647 bx=xm02+(ca+cg)*xmg2+dterm
24648 ax=
min(50d0**2,0.5d0*bx)
24649 cx=
max(2000d0**2,2d0*bx)
24653 IF(abs(cx-bx).GT.abs(bx-ax))
THEN
24661 cg=8d0/9d0*((as1/ag)**2-1d0)
24662 f1=abs(xm02+(ca+cg)*xmg2+dterm-
x1)
24664 cg=8d0/9d0*((as2/ag)**2-1d0)
24665 f2=abs(xm02+(ca+cg)*xmg2+dterm-
x2)
24666 100
IF(abs(x3-x0).GT.tol*(abs(
x1)+abs(
x2)))
THEN
24673 cg=8d0/9d0*((as2/ag)**2-1d0)
24674 f2=abs(xm02+(ca+cg)*xmg2+dterm-
x2)
24681 cg=8d0/9d0*((as1/ag)**2-1d0)
24682 f1=abs(xm02+(ca+cg)*xmg2+dterm-
x1)
24705 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
24708 common/pymssm/imss(0:99),rmss(0:99)
24712 DOUBLE PRECISION xmt
24713 DOUBLE PRECISION pi,
r
24714 DOUBLE PRECISION tol
24717 DATA pi,
r/3.141592654d0,0.61803399d0/
24722 ax=
min(50d0,bx*0.5d0)
24723 cx=
max(300d0,2d0*bx)
24727 IF(abs(cx-bx).GT.abs(bx-ax))
THEN
24735 f1=abs(xmt/(1d0+4d0/3d0*as1+11d0*as1**2)-
x1)
24737 f2=abs(xmt/(1d0+4d0/3d0*as2+11d0*as2**2)-
x2)
24738 100
IF(abs(x3-x0).GT.tol*(abs(
x1)+abs(
x2)))
THEN
24745 f2=abs(xmt/(1d0+4d0/3d0*as2+11d0*as2**2)-
x2)
24752 f1=abs(xmt/(1d0+4d0/3d0*as1+11d0*as1**2)-
x1)
24776 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
24779 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
24781 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
24782 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
24783 common/pymssm/imss(0:99),rmss(0:99)
24784 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
24786 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/
24789 DOUBLE PRECISION beta
24791 DOUBLE PRECISION am2(2,2),rt(2,2),di(2,2)
24792 DOUBLE PRECISION xmz2,xmw2,tanb,xmu,cos2b,xmql2,xmqr2
24793 DOUBLE PRECISION xmf,xmf2,
diff,same,xmf12,xmf22,small
24794 DOUBLE PRECISION sin2t,cos2t,twot,atr,amqr,xxx,yyy,amql
24795 INTEGER id1(3),id2(3),id3(3),id4(3)
24796 INTEGER if,i,j,ii,jj,it,l
24822 xmql2=ctt2*xm12+stt2*xm22
24823 xmqr2=stt2*xm12+ctt2*xm22
24826 atop=-xmu/tanb+ctt*stt*(xm22-xm12)/
sqrt(xmf2)
24827 atmt=
sqrt(xmf2)*(atop+xmu/tanb)
24828 xtest=(xmql2-xmqr2)*(ctt2-stt2)
24829 IF(xtest.GT.4d0*stt*ctt*atmt)
THEN
24831 atop=-xmu/tanb+ctt*stt*(xm22-xm12)/
sqrt(xmf2)
24835 xmql2=xmql2-xmf2-(4d0*xmw2-xmz2)*cos2b/6d0
24836 xmqr2=xmqr2-xmf2+(xmw2-xmz2)*cos2b*2d0/3d0
24837 IF(xmql2.GE.0d0)
THEN
24838 rmss(10)=
sqrt(xmql2)
24840 rmss(10)=-
sqrt(-xmql2)
24842 IF(xmqr2.GE.0d0)
THEN
24843 rmss(12)=
sqrt(xmqr2)
24845 rmss(12)=-
sqrt(-xmqr2)
24855 xmql2=rmss(10)**2-(2d0*xmw2+xmz2)*cos2b/6d0+xmf2
24856 IF(abs(ctt).EQ.1d0)
THEN
24860 ELSEIF(ctt.EQ.0d0)
THEN
24864 xm22=(xmql2-ctt2*xm12)/stt2
24865 xmqr2=stt2*xm12+ctt2*xm22
24867 abot=-xmu*tanb+ctt*stt*(xm22-xm12)/
sqrt(xmf2)
24868 atmt=
sqrt(xmf2)*(abot+xmu*tanb)
24869 xtest=(xmql2-xmqr2)*(ctt2-stt2)
24870 IF(xtest.GT.4d0*stt*ctt*atmt)
THEN
24872 abot=-xmu*tanb+ctt*stt*(xm22-xm12)/
sqrt(xmf2)
24876 xmqr2=xmqr2-(xmw2-xmz2)*cos2b/3d0-xmf2
24877 IF(xmqr2.GE.0d0)
THEN
24878 rmss(11)=
sqrt(xmqr2)
24880 rmss(11)=-
sqrt(-xmqr2)
24886 IF(amql.LT.0d0)
THEN
24894 IF(l.EQ.2) xmf=
pyrnmt(xmf)
24898 IF(amqr.LT.0d0)
THEN
24903 am2(1,1)=xmql2+xmf2
24904 am2(2,2)=xmqr2+xmf2
24907 am2(1,1)=am2(1,1)-(2d0*xmw2+xmz2)*cos2b/6d0
24908 am2(2,2)=am2(2,2)+(xmw2-xmz2)*cos2b/3d0
24909 am2(1,2)=xmf*(atr+xmu*tanb)
24910 ELSEIF(l.EQ.2)
THEN
24911 am2(1,1)=am2(1,1)+(4d0*xmw2-xmz2)*cos2b/6d0
24912 am2(2,2)=am2(2,2)-(xmw2-xmz2)*cos2b*2d0/3d0
24913 am2(1,2)=xmf*(atr+xmu/tanb)
24914 ELSEIF(l.EQ.3)
THEN
24915 IF(imss(8).EQ.1)
THEN
24916 am2(1,1)=rmss(6)**2
24917 am2(2,2)=rmss(7)**2
24922 am2(1,2)=xmf*(atr+xmu*tanb)
24927 same=0.5d0*(am2(1,1)+am2(2,2))
24928 diff=0.5d0*
sqrt((am2(1,1)-am2(2,2))**2+4d0*am2(1,2)*am2(2,1))
24931 IF(xmf12.LT.0d0)
THEN
24932 WRITE(mstu(11),*)
' NEGATIVE**2 MASS FOR SFERMION '
24936 IF(xmf22-xmf12.GT.0d0)
THEN
24937 rt(1,1) =
sqrt((xmf22-am2(1,1))/(xmf22-xmf12))
24939 rt(1,2) = -sign(
sqrt(1d0-rt(1,1)**2),am2(1,2)/(xmf22-xmf12))
24955 di(i,jj)=di(i,jj)+rt(i,j)*am2(j,ii)*rt(jj,ii)
24961 IF(di(1,1).GT.di(2,2))
THEN
24962 WRITE(mstu(11),*)
' ERROR IN DIAGONALIZATION '
24963 WRITE(mstu(11),*) l,
sqrt(xmf12),
sqrt(xmf22)
24964 WRITE(mstu(11),*) am2
24965 WRITE(mstu(11),*) di
24966 WRITE(mstu(11),*) rt
24977 ELSEIF(abs(di(1,2)*di(2,1)/di(1,1)/di(2,2)).GT.small)
THEN
24978 WRITE(mstu(11),*)
' ERROR IN DIAGONALIZATION,'//
24979 &
' OFF DIAGONAL ELEMENTS '
24980 WRITE(mstu(11),*)
'MASSES = ',l,
sqrt(xmf12),
sqrt(xmf22)
24981 WRITE(mstu(11),*) di
24982 WRITE(mstu(11),*)
' ROTATION = ',rt
24984 ELSEIF(di(1,1).LT.0d0.OR.di(2,2).LT.0d0)
THEN
24985 WRITE(mstu(11),*)
' ERROR IN DIAGONALIZATION,'//
24986 &
' NEGATIVE MASSES '
24991 sfmix(
IF,1)=rt(1,1)
24992 sfmix(
IF,2)=rt(1,2)
24993 sfmix(
IF,3)=rt(2,1)
24994 sfmix(
IF,4)=rt(2,2)
25009 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
25012 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
25014 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
25015 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
25016 common/pymssm/imss(0:99),rmss(0:99)
25017 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
25019 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/
25022 DOUBLE PRECISION xmw,xmz
25023 DOUBLE PRECISION ar(4,4),wr(4),zr(4,4)
25024 DOUBLE PRECISION zp(4,4)
25025 DOUBLE PRECISION detx,xi(2,2)
25026 DOUBLE PRECISION xxx,yyy,xmh,xml
25027 DOUBLE PRECISION cosw,sinw
25028 DOUBLE PRECISION xmu
25029 DOUBLE PRECISION termb,termc,discr,xmh2,xml2
25030 DOUBLE PRECISION tanb,al,be,cosa,cosb,sina,sinb,xw
25031 DOUBLE PRECISION xm1,xm2,xm3,
beta
25032 DOUBLE PRECISION q2,aem,a1,a2,a3,aq,rm1,rm2
25033 DOUBLE PRECISION arg,x0,
x1,ax0,ax1,at,bt
25034 DOUBLE PRECISION y0,
y1,amgx0,am1x0,amgx1,am1x1
25035 DOUBLE PRECISION argx0,ar1x0,argx1,ar1x1
25038 INTEGER ierr,
index(4),i,j,k,l,iopt,ilr,kfnchi(4)
25039 DATA kfnchi/1000022,1000023,1000025,1000035/
25042 IF(imss(1).EQ.2)
THEN
25050 ELSEIF(iopt.GE.1)
THEN
25054 a1=aem/(1d0-paru(102))
25057 IF(imss(1).EQ.2) xm1=rmss(1)/rmss(20)*a1*5d0/3d0
25059 xm2=xm1*a2/a1*3d0/5d0
25060 ELSEIF(iopt.EQ.3)
THEN
25061 xm1=xm2*5d0/3d0*a1/a2
25064 IF(xm3.LE.0d0)
THEN
25065 WRITE(mstu(11),*)
' ERROR WITH M3 = ',xm3
25071 IF(imss(3).EQ.1)
THEN
25072 pmas(
pycomp(ksusy1+21),1)=xm3
25077 rm1=pmas(
pycomp(ilr*ksusy1+i),1)**2/xm3**2
25078 aq=aq+0.5d0*((2d0-rm1)*(rm1*
log(rm1)-1d0)
25079 & +(1d0-rm1)**2*
log(abs(1d0-rm1)))
25085 rm1=pmas(
pycomp(ilr*ksusy1+i),1)**2/xm3**2
25086 rm2=pmas(i,1)**2/xm3**2
25087 arg=(rm1-rm2-1d0)**2-4d0*rm2**2
25088 IF(arg.GE.0d0)
THEN
25089 x0=0.5d0*(1d0+rm2-rm1-
sqrt(arg))
25091 x1=0.5d0*(1d0+rm2-rm1+
sqrt(arg))
25096 ELSEIF(x0.EQ.0d0)
THEN
25100 at=0.5d0*
log(abs(1d0-x0))*(1d0-x0**2)+
25101 & 0.5d0*x0**2*
log(ax0)
25102 bt=(-1d0-2d0*x0)/4d0
25107 ELSEIF(
x1.EQ.0d0)
THEN
25111 at=0.5d0*
log(abs(1d0-
x1))*(1d0-
x1**2)+0.5d0*
25112 &
x1**2*
log(ax1)+at
25113 bt=(-1d0-2d0*
x1)/4d0+bt
25117 x0=0.5d0*(1d0+rm2-rm1)
25118 y0=-0.5d0*
sqrt(-arg)
25119 amgx0=
sqrt(x0**2+y0**2)
25120 am1x0=
sqrt((1d0-x0)**2+y0**2)
25121 argx0=atan2(-x0,-y0)
25122 ar1x0=atan2(1d0-x0,y0)
25127 argx1=atan2(-
x1,-
y1)
25128 ar1x1=atan2(1d0-
x1,
y1)
25129 at=0.5d0*
log(am1x0)*(1d0-x0**2+3d0*y0**2)
25130 & +0.5d0*(x0**2-y0**2)*
log(amgx0)
25131 bt=(-1d0-2d0*x0)/4d0+x0*y0*( ar1x0-argx0 )
25132 at=at+0.5d0*
log(am1x1)*(1d0-
x1**2+3d0*
y1**2)
25133 & +0.5d0*(
x1**2-
y1**2)*
log(amgx1)
25134 bt=bt+(-1d0-2d0*
x1)/4d0+
x1*
y1*( ar1x1-argx1 )
25139 pmas(
pycomp(ksusy1+21),1)=xm3*(1d0+
pyalps(xm3**2)/(2d0*paru(2))*
25147 sinw=
sqrt(paru(102))
25148 cosw=
sqrt(1d0-paru(102))
25159 ar(1,3) = -xmz*sinw*cosb
25161 ar(1,4) = xmz*sinw*sinb
25163 ar(2,3) = xmz*cosw*cosb
25165 ar(2,4) = -xmz*cosw*sinb
25172 pmas(
pycomp(kfnchi(i)),1)=abs(smz(i))
25175 IF(abs(zmix(i,j)).LT.1
d-6) zmix(i,j)=0d0
25182 ar(1,2) =
sqrt(2d0)*xmw*sinb
25183 ar(2,1) =
sqrt(2d0)*xmw*cosb
25184 termb=ar(1,1)**2+ar(2,2)**2+ar(1,2)**2+ar(2,1)**2
25185 termc=(ar(1,1)**2-ar(2,2)**2)**2+(ar(1,2)**2-ar(2,1)**2)**2
25186 termc=termc+2d0*(ar(1,1)**2+ar(2,2)**2)*
25187 &(ar(1,2)**2+ar(2,1)**2)+
25188 &8d0*ar(1,1)*ar(2,2)*ar(1,2)*ar(2,1)
25190 IF(discr.LT.0d0)
THEN
25191 WRITE(mstu(11),*)
' PROBLEM WITH DISCR '
25195 xml2=0.5d0*(termb-discr)
25196 xmh2=0.5d0*(termb+discr)
25199 pmas(
pycomp(ksusy1+24),1)=xml
25200 pmas(
pycomp(ksusy1+37),1)=xmh
25203 xxx=ar(1,1)**2+ar(2,1)**2
25204 yyy=ar(1,1)*ar(1,2)+ar(2,2)*ar(2,1)
25205 vmix(2,2) = yyy/
sqrt(yyy**2+(xml2-xxx)**2)
25206 vmix(1,1) = sign(vmix(2,2),ar(1,1)*ar(2,2)-0.5d0*ar(1,2)**2)
25207 vmix(2,1) = -(xml2-xxx)/
sqrt(yyy**2+(xml2-xxx)**2)
25208 vmix(1,2) = -sign(vmix(2,1),ar(1,1)*ar(2,2)-0.5d0*ar(1,2)**2)
25213 detx = ar(1,1)*ar(2,2)-ar(1,2)*ar(2,1)
25214 xi(1,1) = ar(2,2)/detx
25215 xi(2,2) = ar(1,1)/detx
25216 xi(1,2) = -ar(1,2)/detx
25217 xi(2,1) = -ar(2,1)/detx
25223 umix(i,j)=umix(i,j)+zr(i,k)*vmix(k,l)*xi(l,j)
25240 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
25244 DOUBLE PRECISION pi,
r
25245 DOUBLE PRECISION tol
25248 DATA pi,
r/3.141592654d0,0.61803399d0/
25253 ax=
min(50d0,bx*0.5d0)
25254 cx=
max(2000d0,2d0*bx)
25258 IF(abs(cx-bx).GT.abs(bx-ax))
THEN
25266 f1=abs(
x1-rgut*as1)
25268 f2=abs(
x2-rgut*as2)
25269 100
IF(abs(x3-x0).GT.tol*(abs(
x1)+abs(
x2)))
THEN
25276 f2=abs(
x2-rgut*as2)
25283 f1=abs(
x1-rgut*as1)
25305 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
25309 dimension
a(4,4),
w(4),
z(4,4),
x(4),
d(4,4),
e(4)
25313 b3=-(
a(1,1)+
a(2,2)+
a(3,3)+
a(4,4))
25317 b2=b2+
a(i,i)*
a(j,j)-
a(i,j)*
a(j,i)
25326 b1=b1+
a(i,i)*(-
a(i1,i1)*
a(i2,i2)+
a(i1,i2)*
a(i2,i1)+
25327 &
a(i1,i3)*
a(i3,i1)+
a(i2,i3)*
a(i3,i2))-
25328 &
a(i,i1)*
a(i1,i2)*
a(i2,i)-
a(i,i2)*
a(i2,i1)*
a(i1,i)
25329 b0=b0+(-1d0)**(i+1)*
a(1,i)*(
25330 &
a(2,i1)*(
a(3,i2)*
a(4,i3)-
a(3,i3)*
a(4,i2))+
25331 &
a(2,i2)*(
a(3,i3)*
a(4,i1)-
a(3,i1)*
a(4,i3))+
25332 &
a(2,i3)*(
a(3,i1)*
a(4,i2)-
a(3,i2)*
a(4,i1)))
25340 c0=-b1**2-b0*b3**2+4d0*b0*b2
25341 cq=
c1/3d0-c2**2/9d0
25342 cr=
c1*c2/6d0-c0/2d0-c2**3/27d0
25346 IF(cqr.GE.0d0)
THEN
25347 s1=(cr+
sqrt(cqr))**(1d0/3d0)
25348 s2=(cr-
sqrt(cqr))**(1d0/3d0)
25353 the=acos(cr/sabs**3)/3d0
25359 p1=b3/2d0-
sqrt(b3**2/4d0+u-b2)
25360 p2=b3/2d0+
sqrt(b3**2/4d0+u-b2)
25361 q1=u/2d0+
sqrt(u**2/4d0-b0)
25362 q2=u/2d0-
sqrt(u**2/4d0-b0)
25371 DO 130 i2=i1-1,1,-1
25372 IF(abs(
x(i1)).GE.abs(
w(i2))) goto 140
25381 d(j1,j1)=
a(j1,j1)-
w(i)
25392 IF(abs(
d(j1,j2)).LE.damax) goto 180
25395 damax=abs(
d(j1,j2))
25401 DO 210 j3=ja+1,ja+3
25403 rl=
d(j1,jb)/
d(ja,jb)
25405 d(j1,j2)=
d(j1,j2)-rl*
d(ja,j2)
25406 IF(abs(
d(j1,j2)).LE.damax) goto 200
25409 damax=abs(
d(j1,j2))
25415 DO 230 j3=jc+1,jc+3
25417 IF(j1.EQ.ja) goto 230
25418 rl=
d(j1,jd)/
d(jc,jd)
25420 IF(j2.EQ.jb) goto 220
25421 d(j1,j2)=
d(j1,j2)-rl*
d(jc,j2)
25422 IF(abs(
d(j1,j2)).LE.damax) goto 220
25424 damax=abs(
d(j1,j2))
25430 jf2=jd+2-4*((jd+1)/4)
25431 IF(jf1.EQ.jb) jf1=jd+3-4*((jd+2)/4)
25432 IF(jf2.EQ.jb) jf2=jd+3-4*((jd+2)/4)
25435 e(jd)=-(
d(jc,jf1)*
e(jf1)+
d(jc,jf2)*
e(jf2))/
d(jc,jd)
25436 e(jb)=-(
d(ja,jf1)*
e(jf1)+
d(ja,jf2)*
e(jf2)+
d(ja,jd)*
e(jd))/
25440 ea=
sqrt(
e(1)**2+
e(2)**2+
e(3)**2+
e(4)**2)
25441 sgn=(-1d0)**
int(
pyr(0)+0.5d0)
25458 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
25461 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
25463 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
25464 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
25465 common/pypars/mstp(200),parp(200),msti(200),pari(200)
25466 common/pymssm/imss(0:99),rmss(0:99)
25467 SAVE /
pydat1/,/pydat2/,/pypars/,/pymssm/
25470 DOUBLE PRECISION at,ab,xmu,tanb,xm32,xmt2
25471 DOUBLE PRECISION alpha
25472 INTEGER i,j,ihopt,ii,jj,it
25473 DOUBLE PRECISION dma,dtanb,dmq,dmur,dmtop,dau,dad
25474 DOUBLE PRECISION dmu,dmh,dhm,dmhch,dsa,dca,dtanba
25475 DOUBLE PRECISION dmc,dmdr,dmhp,dhmp,damp
25476 DOUBLE PRECISION dstop1,dstop2,dsbot1,dsbot2
25479 IF(ihopt.EQ.2)
THEN
25494 dmc=pmas(
pycomp(ksusy1+37),1)
25499 IF(ihopt.EQ.0)
THEN
25500 CALL
pysubh(dma,dtanb,dmq,dmur,dmtop,dau,dad,dmu,dmh,dhm,
25501 & dmhch,dsa,dca,dtanba)
25502 ELSEIF(ihopt.EQ.1)
THEN
25503 CALL
pysubh(dma,dtanb,dmq,dmur,dmtop,dau,dad,dmu,dmh,dhm,
25504 & dmhch,dsa,dca,dtanba)
25505 CALL
pypole(3,dmc,dma,dtanb,dmq,dmur,dmdr,dmtop,dau,dad,dmu,
25506 & dmh,dmhp,dhm,dhmp,damp,dsa,dca,
25507 & dstop1,dstop2,dsbot1,dsbot2,dtanba)
25565 SUBROUTINE pysubh (XMA,TANB,XMQ,XMUR,XMTOP,AU,AD,XMU,XMH,XHM,
25566 &xmhch,sa,ca,tanba)
25569 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
25572 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
25574 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
25575 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
25580 DOUBLE PRECISION tanb,xmq,xmur,xmtop,au,ad,xmu,xmh,xhm
25581 DOUBLE PRECISION xmhch,sa,ca
25582 DOUBLE PRECISION xma,aem,alp1,alp2,alph3z,v,pi
25583 DOUBLE PRECISION q02
25584 DOUBLE PRECISION tanba,tanbt,xmb,alp3
25585 DOUBLE PRECISION rmtop,xms,
t,sinb,cosb
25586 DOUBLE PRECISION xlam1,xlam2,xlam3,xlam4,xlam5,xlam6
25587 DOUBLE PRECISION xlam7,xau,xad,g1,g2,g3,hu,hd,hu2
25588 DOUBLE PRECISION hd2,hu4,hd4,sinbt,cosbt
25589 DOUBLE PRECISION trm2,detm2,xmh2,xhm2,xmhch2
25590 DOUBLE PRECISION sinalp,cosalp,aud,pi2,xms2,xms4,ad2
25591 DOUBLE PRECISION cos2bt,au2,xmu2,xmz,xms3
25596 alp1=aem/(1d0-paru(102))
25611 alp3 = alph3z/(1d0 +(11d0 - 10d0/3d0)/4d0/pi*alph3z*
25612 &
log(xmtop**2/xmz**2))
25615 rmtop = xmtop/(1d0+4d0*alp3/3d0/pi)
25616 xms = ((xmq**2 + xmur**2)/2d0 + xmtop**2)**0.5d0
25617 t =
log(xms**2/xmtop**2)
25618 sinb = tanb/((1d0 + tanb**2)**0.5d0)
25622 &tanba = tanbt*(1d0-3d0/32d0/pi**2*
25623 &(rmtop**2/v**2/sinb**2-xmb**2/v**2/cosb**2)*
25624 &
log(xma**2/xmtop**2))
25626 sinbt = tanbt/
sqrt(1d0 + tanbt**2)
25627 cosbt = 1d0/
sqrt(1d0 + tanbt**2)
25628 cos2bt = (tanbt**2 - 1d0)/(tanbt**2 + 1d0)
25629 g1 =
sqrt(alp1*4d0*pi)
25630 g2 =
sqrt(alp2*4d0*pi)
25631 g3 =
sqrt(alp3*4d0*pi)
25646 xau = (2d0*au2/xms2)*(1d0 - au2/12d0/xms2)
25647 xad = (2d0*ad2/xms2)*(1d0 - ad2/12d0/xms2)
25648 aud = (-6d0*xmu2/xms2 - ( xmu2- ad*au)**2/xms4
25649 &+ 3d0*(au + ad)**2/xms2)/6d0
25650 xlam1 = ((g1**2 + g2**2)/4d0)*(1d0-3d0*hd2*
t/8d0/pi2)
25651 &+(3d0*hd4/8d0/pi2) * (
t + xad/2d0 + (3d0*hd2/2d0 + hu2/2d0
25652 &- 8d0*g3**2) * (xad*
t +
t**2)/16d0/pi2)
25653 &-(3d0*hu4* xmu**4/96d0/pi2/xms4) * (1+ (9d0*hu2 -5d0* hd2
25654 &- 16d0*g3**2) *
t/16d0/pi2)
25655 xlam2 = ((g1**2 + g2**2)/4d0)*(1d0-3d0*hu2*
t/8d0/pi2)
25656 &+(3d0*hu4/8d0/pi2) * (
t + xau/2d0 + (3d0*hu2/2d0 + hd2/2d0
25657 &- 8d0*g3**2) * (xau*
t +
t**2)/16d0/pi2)
25658 &-(3d0*hd4* xmu**4/96d0/pi2/xms4) * (1+ (9d0*hd2 -5d0* hu2
25659 &- 16d0*g3**2) *
t/16d0/pi2)
25660 xlam3 = ((g2**2 - g1**2)/4d0)*(1d0-3d0*
25661 &(hu2 + hd2)*
t/16d0/pi2)
25662 &+(6d0*hu2*hd2/16d0/pi2) * (
t + aud/2d0 + (hu2 + hd2
25663 &- 8d0*g3**2) * (aud*
t +
t**2)/16d0/pi2)
25664 &+(3d0*hu4/96d0/pi2) * (3d0*xmu2/xms2 - xmu2*au2/
25665 &xms4)* (1d0+ (6d0*hu2 -2d0* hd2/2d0
25666 &- 16d0*g3**2) *
t/16d0/pi2)
25667 &+(3d0*hd4/96d0/pi2) * (3d0*xmu2/xms2 - xmu2*ad2/
25668 &xms4)*(1d0+ (6d0*hd2 -2d0* hu2
25669 &- 16d0*g3**2) *
t/16d0/pi2)
25670 xlam4 = (- g2**2/2d0)*(1d0-3d0*(hu2 + hd2)*
t/16d0/pi2)
25671 &-(6d0*hu2*hd2/16d0/pi2) * (
t + aud/2d0 + (hu2 + hd2
25672 &- 8d0*g3**2) * (aud*
t +
t**2)/16d0/pi2)
25673 &+(3d0*hu4/96d0/pi2) * (3d0*xmu2/xms2 - xmu2*au2/
25675 &(1+ (6d0*hu2 -2d0* hd2
25676 &- 16d0*g3**2) *
t/16d0/pi2)
25677 &+(3d0*hd4/96d0/pi2) * (3d0*xmu2/xms2 - xmu2*ad2/
25679 &(1+ (6d0*hd2 -2d0* hu2/2d0
25680 &- 16d0*g3**2) *
t/16d0/pi2)
25681 xlam5 = -(3d0*hu4* xmu2*au2/96d0/pi2/xms4) *
25682 &(1- (2d0*hd2 -6d0* hu2 + 16d0*g3**2) *
t/16d0/pi2)
25683 &-(3d0*hd4* xmu2*ad2/96d0/pi2/xms4) *
25684 &(1- (2d0*hu2 -6d0* hd2 + 16d0*g3**2) *
t/16d0/pi2)
25685 xlam6 = (3d0*hu4* xmu**3*au/96d0/pi2/xms4) *
25686 &(1- (7d0*hd2/2d0 -15d0* hu2/2d0 + 16d0*g3**2) *
t/16d0/pi2)
25687 &+(3d0*hd4* xmu *(ad**3/xms3 - 6d0*ad/xms )/96d0/pi2/xms) *
25688 &(1- (hu2/2d0 -9d0* hd2/2d0 + 16d0*g3**2) *
t/16d0/pi2)
25689 xlam7 = (3d0*hd4* xmu**3*ad/96d0/pi2/xms4) *
25690 &(1- (7d0*hu2/2d0 -15d0* hd2/2d0 + 16d0*g3**2) *
t/16d0/pi2)
25691 &+(3d0*hu4* xmu *(au**3/xms3 - 6d0*au/xms )/96d0/pi2/xms) *
25692 &(1- (hd2/2d0 -9d0* hu2/2d0 + 16d0*g3**2) *
t/16d0/pi2)
25693 trm2 = xma**2 + 2d0*v**2* (xlam1* cosbt**2 +
25694 &2d0* xlam6*sinbt*cosbt
25695 &+ xlam5*sinbt**2 + xlam2* sinbt**2 + 2d0* xlam7*sinbt*cosbt
25697 detm2 = 4d0*v**4*(-(sinbt*cosbt*(xlam3 + xlam4) +
25699 &+ xlam7* sinbt**2)**2 + (xlam1* cosbt**2 +
25700 &2d0* xlam6* cosbt*sinbt
25701 &+ xlam5*sinbt**2)*(xlam2* sinbt**2 +2d0* xlam7* cosbt*sinbt
25702 &+ xlam5*cosbt**2)) + xma**2*2d0*v**2 *
25703 &((xlam1* cosbt**2 +2d0*
25704 &xlam6* cosbt*sinbt + xlam5*sinbt**2)*cosbt**2 +
25705 &(xlam2* sinbt**2 +2d0* xlam7* cosbt*sinbt + xlam5*cosbt**2)
25707 &+2d0*sinbt*cosbt* (sinbt*cosbt*(xlam3
25708 &+ xlam4) + xlam6*cosbt**2
25709 &+ xlam7* sinbt**2))
25711 xmh2 = (trm2 -
sqrt(trm2**2 - 4d0* detm2))/2d0
25712 xhm2 = (trm2 +
sqrt(trm2**2 - 4d0* detm2))/2d0
25715 xmhch2 = xma**2 + (xlam5 - xlam4)* v**2
25716 xmhch =
sqrt(xmhch2)
25718 sinalp =
sqrt(((trm2**2 - 4d0* detm2)**0.5d0) -
25719 &((2d0*v**2*(xlam1* cosbt**2 + 2d0*
25720 &xlam6* cosbt*sinbt
25721 &+ xlam5*sinbt**2) + xma**2*sinbt**2)
25722 &- (2d0*v**2*(xlam2* sinbt**2 +2d0* xlam7* cosbt*sinbt
25723 &+ xlam5*cosbt**2) + xma**2*cosbt**2)))/
25724 &
sqrt(((trm2**2 - 4d0* detm2)**0.5d0))/2d0**0.5d0
25726 cosalp = (2d0*(2d0*v**2*(sinbt*cosbt*(xlam3 + xlam4) +
25727 &xlam6*cosbt**2 + xlam7* sinbt**2) -
25728 &xma**2*sinbt*cosbt))/2d0**0.5d0/
25729 &
sqrt(((trm2**2 - 4d0* detm2)**0.5d0)*
25730 &(((trm2**2 - 4d0* detm2)**0.5d0) -
25731 &((2d0*v**2*(xlam1* cosbt**2 + 2d0*
25732 &xlam6* cosbt*sinbt
25733 &+ xlam5*sinbt**2) + xma**2*sinbt**2)
25734 &- (2d0*v**2*(xlam2* sinbt**2 +2d0* xlam7* cosbt*sinbt
25735 &+ xlam5*cosbt**2) + xma**2*cosbt**2))))
25792 SUBROUTINE pypole(IHIGGS,XMC,XMA,TANB,XMQ,XMUR,XMDR,XMT,AT,AB,XMU,
25793 &xmh,xmhp,hm,hmp,amp,sa,ca,stop1,stop2,sbot1,sbot2,tanba)
25796 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
25799 CALL
pyvacu(ihiggs,xmc,xma,tanb,xmq,xmur,xmdr,xmt,at,ab,xmu,
25800 &xmh,xmhp,hm,hmp,amp,stop1,stop2,sbot1,sbot2,
25801 &sa,ca,stop1w,stop2w,tanba)
25802 sinb = tanb/(tanb**2+1d0)**0.5d0
25803 cosb = 1d0/(tanb**2+1d0)**0.5d0
25804 sinbma = sinb*ca - cosb*sa
25814 SUBROUTINE pyvacu(IHIGGS,XMC,XMA,TANB,XMQ,XMUR,XMDR,
25815 &xmt,at,ab,xmu,xmh,xmhp,hm,hmp,amp,stop1,stop2,
25816 &sbot1,sbot2,sa,ca,stop1w,stop2w,tanba)
25819 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
25823 dimension
delta(2,2),coupt(2,2),
t(2,2),sstop2(2),
25824 &ssbot2(2),
b(2,2),coupb(2,2),
25825 &hcoupt(2,2),hcoupb(2,2),
25826 &acoupt(2,2),acoupb(2,2),pr(3), polar(3)
25836 alp3=1d0/(1d0/alp3z+23d0/6d0/pi*
log(xmt/xmz))
25838 rxmt = xmt/(1d0+4*alp3/3d0/pi)
25841 CALL
pyrghm(xmc,xma,tanb,xmq,xmur,xmdr,xmt,at,ab,
25842 &xmu,xmh,hm,sa,ca,tanba)
25843 sinb = tanb/(tanb**2+1d0)**0.5d0
25844 cosb = 1d0/(tanb**2+1d0)**0.5d0
25845 cos2b = sinb**2 - cosb**2
25846 sinbpa = sinb*ca + cosb*sa
25847 cosbpa = cosb*ca - sinb*sa
25852 xmst11 = rxmt**2 + xmq2 - 0.35d0*xmz**2*cos2b
25853 xmst22 = rxmt**2 + xmur2 - 0.15d0*xmz**2*cos2b
25854 IF(xmst11.LT.0d0) goto 500
25855 IF(xmst22.LT.0d0) goto 500
25856 xmsb11 = rmbot**2 + xmq2 + 0.42d0*xmz**2*cos2b
25857 xmsb22 = rmbot**2 + xmdr2 + 0.08d0*xmz**2*cos2b
25858 IF(xmsb11.LT.0d0) goto 500
25859 IF(xmsb22.LT.0d0) goto 500
25860 wmst11 = rxmt**2 + xmq2
25861 wmst22 = rxmt**2 + xmur2
25862 xmst12 = rxmt*(at - xmu/tanb)
25863 xmsb12 = rmbot*(ab - xmu*tanb)
25869 stop12 = 0.5d0*(xmst11+xmst22) +
25870 &0.5d0*((xmst11+xmst22)**2 -
25871 &4d0*(xmst11*xmst22 - xmst12**2))**0.5d0
25872 stop22 = 0.5d0*(xmst11+xmst22) -
25873 &0.5d0*((xmst11+xmst22)**2 - 4d0*(xmst11*xmst22 -
25874 &xmst12**2))**0.5d0
25875 IF(stop22.LT.0d0) goto 500
25878 stop1 = stop12**0.5d0
25879 stop2 = stop22**0.5d0
25883 IF(xmst12.EQ.0d0) xst11 = 1d0
25884 IF(xmst12.EQ.0d0) xst12 = 0d0
25885 IF(xmst12.EQ.0d0) xst21 = 0d0
25886 IF(xmst12.EQ.0d0) xst22 = 1d0
25888 IF(xmst12.EQ.0d0) goto 110
25890 100 xst11 = xmst12/(xmst12**2+(xmst11-stop12)**2)**0.5d0
25891 xst12 = - (xmst11-stop12)/(xmst12**2+(xmst11-stop12)**2)**0.5d0
25892 xst21 = xmst12/(xmst12**2+(xmst11-stop22)**2)**0.5d0
25893 xst22 = - (xmst11-stop22)/(xmst12**2+(xmst11-stop22)**2)**0.5d0
25900 sbot12 = 0.5d0*(xmsb11+xmsb22) +
25901 &0.5d0*((xmsb11+xmsb22)**2 -
25902 &4d0*(xmsb11*xmsb22 - xmsb12**2))**0.5d0
25903 sbot22 = 0.5d0*(xmsb11+xmsb22) -
25904 &0.5d0*((xmsb11+xmsb22)**2 - 4d0*(xmsb11*xmsb22 -
25905 &xmsb12**2))**0.5d0
25906 IF(sbot22.LT.0d0) goto 500
25907 sbot1 = sbot12**0.5d0
25908 sbot2 = sbot22**0.5d0
25912 IF(xmsb12.EQ.0d0) xsb11 = 1d0
25913 IF(xmsb12.EQ.0d0) xsb12 = 0d0
25914 IF(xmsb12.EQ.0d0) xsb21 = 0d0
25915 IF(xmsb12.EQ.0d0) xsb22 = 1d0
25917 IF(xmsb12.EQ.0d0) goto 130
25919 120 xsb11 = xmsb12/(xmsb12**2+(xmsb11-sbot12)**2)**0.5d0
25920 xsb12 = - (xmsb11-sbot12)/(xmsb12**2+(xmsb11-sbot12)**2)**0.5d0
25921 xsb21 = xmsb12/(xmsb12**2+(xmsb11-sbot22)**2)**0.5d0
25922 xsb22 = - (xmsb11-sbot22)/(xmsb12**2+(xmsb11-sbot22)**2)**0.5d0
25938 IF(ihiggs.EQ.0) goto 490
25943 & sint*xmz**2*2d0*
sqr/174.1d0/3d0*sinbpa*(
delta(i,j) +
25944 & (3d0 - 8d0*sint)/4d0/sint*
t(1,i)*
t(1,j))
25945 & -rxmt**2/174.1d0**2*vp/sinb*ca*
delta(i,j)
25946 & -rxmt/vp/sinb*(at*ca + xmu*sa)*(
t(1,i)*
t(2,j) +
25955 & -sint*xmz**2*2d0*
sqr/174.1d0/6d0*sinbpa*(
delta(i,j) +
25956 & (3d0 - 4d0*sint)/2d0/sint*
b(1,i)*
b(1,j))
25957 & +rmbot**2/174.1d0**2*vp/cosb*sa*
delta(i,j)
25958 & +rmbot/vp/cosb*(ab*sa + xmu*ca)*(
b(1,i)*
b(2,j) +
25966 180 iter = iter + 1
25969 pr(i3)=prun+(i3-2)*eps/2
25974 polt = polt + coupt(i,j)**2*3d0*
25975 &
pyfint(
p2,sstop2(i),sstop2(j))/16d0/pi**2
25981 polb = polb + coupb(i,j)**2*3d0*
25982 &
pyfint(
p2,ssbot2(i),ssbot2(j))/16d0/pi**2
25989 & 3d0*rxmt**2/8d0/pi**2/ v **2*
25991 & (-2d0*xmt**2+0.5d0*
p2)*
25994 pol = polt + polb + poltt
25995 polar(i3) =
p2 - xmh**2 - pol
25997 deriv = (polar(3)-polar(1))/eps
25998 drun = - polar(2)/deriv
26001 IF( abs(drun) .LT. 1
d-4 ) goto 240
26011 250
IF(ihiggs.EQ.1) goto 490
26020 & -sint*xmz**2*2d0*
sqr/174.1d0/3d0*cosbpa*(
delta(i,j) +
26021 & (3d0 - 8d0*sint)/4d0/sint*
t(1,i)*
t(1,j))
26022 & -rxmt**2/174.1d0**2*vp/sinb*sa*
delta(i,j)
26023 & -rxmt/vp/sinb*(at*sa - xmu*ca)*(
t(1,i)*
t(2,j) +
26031 & sint*xmz**2*2d0*
sqr/174.1d0/6d0*cosbpa*(
delta(i,j) +
26032 & (3d0 - 4d0*sint)/2d0/sint*
b(1,i)*
b(1,j))
26033 & -rmbot**2/174.1d0**2*vp/cosb*ca*
delta(i,j)
26034 & -rmbot/vp/cosb*(ab*ca - xmu*sa)*(
b(1,i)*
b(2,j) +
26043 300 iter = iter + 1
26045 pr(i3)=prun+(i3-2)*eps/2
26051 hpolt = hpolt + hcoupt(i,j)**2*3d0*
26052 &
pyfint(hp2,sstop2(i),sstop2(j))/16d0/pi**2
26059 hpolb = hpolb + hcoupb(i,j)**2*3d0*
26060 &
pyfint(hp2,ssbot2(i),ssbot2(j))/16d0/pi**2
26068 & 3d0*rxmt**2/8d0/pi**2/ v **2*
26070 & (-2d0*xmt**2+0.5d0*hp2)*
26073 hpol = hpolt + hpolb + hpoltt
26074 polar(i3) =hp2-hm**2-hpol
26076 deriv = (polar(3)-polar(1))/eps
26077 drun = - polar(2)/deriv
26080 IF( abs(drun) .LT. 1
d-4 ) goto 360
26092 IF(ihiggs.EQ.2) goto 490
26101 & -rxmt/vp/sinb*(at*cosb + xmu*sinb)*
26102 & (
t(1,i)*
t(2,j) -
t(1,j)*
t(2,i))
26108 & rmbot/vp/cosb*(ab*sinb + xmu*cosb)*
26109 & (
b(1,i)*
b(2,j) -
b(1,j)*
b(2,i))
26116 420 iter = iter + 1
26118 pr(i3)=prun+(i3-2)*eps/2
26123 apolt = apolt + acoupt(i,j)**2*3d0*
26124 &
pyfint(ap2,sstop2(i),sstop2(j))/16d0/pi**2
26130 apolb = apolb + acoupb(i,j)**2*3d0*
26131 &
pyfint(ap2,ssbot2(i),ssbot2(j))/16d0/pi**2
26137 & 3d0*rxmt**2/8d0/pi**2/ v **2*
26138 & cosb**2/sinb**2 *
26141 apol = apolt + apolb + apoltt
26142 polar(i3) = ap2 - xma**2 -apol
26144 deriv = (polar(3)-polar(1))/eps
26145 drun = - polar(2)/deriv
26148 IF( abs(drun) .LT. 1
d-4 ) goto 480
26158 IF(ihiggs.EQ.3) goto 490
26171 SUBROUTINE pyrghm(XMC,XMA,TANB,XMQ,XMUR,XMDL,XMT,AU,AD,XMU,
26172 &xmhp,hmp,sa,ca,tanba)
26175 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
26179 dimension vh(2,2),xm2(2,2),xm2p(2,2)
26192 alp3 = alp3z/(1d0 +(11d0 - 10d0/3d0)/4d0/pi*alp3z*
26193 &
log(xmt**2/xmz**2))
26196 rxmt = xmt/(1d0+4d0*alp3/3d0/pi)
26197 tq =
log((xmq**2+xmt**2)/xmt**2)
26198 tu =
log((xmur**2 + xmt**2)/xmt**2)
26199 td =
log((xmdl**2 + xmt**2)/xmt**2)
26200 sinb = tanb/((1d0 + tanb**2)**0.5d0)
26203 &tanba = tanb*(1d0-3d0/32d0/pi**2*
26204 &(rxmt**2/v**2/sinb**2-xmb**2/v**2/cosb**2)*
26205 &
log(xma**2/xmt**2))
26206 IF(xma.LT.xmt.OR.xma.EQ.xmt) tanbt = tanba
26207 sinb = tanbt/((1d0 + tanbt**2)**0.5d0)
26208 cosb = 1d0/((1d0 + tanbt**2)**0.5d0)
26209 cos2b = (tanbt**2 - 1d0)/(tanbt**2 + 1d0)
26210 g1 = (alp1*4d0*pi)**0.5d0
26211 g2 = (alp2*4d0*pi)**0.5d0
26212 g3 = (alp3*4d0*pi)**0.5d0
26216 CALL
pygfxx(xma,tanba,xmq,xmur,xmdl,xmt,au,ad,
26217 &xmu,vh,stop1,stop2)
26219 IF(xmq.GT.xmur) tp = tq - tu
26220 IF(xmq.LT.xmur.OR.xmq.EQ.xmur) tp = tu - tq
26221 IF(xmq.GT.xmur) tdp = tu
26222 IF(xmq.LT.xmur.OR.xmq.EQ.xmur) tdp = tq
26223 IF(xmq.GT.xmdl) tpd = tq - td
26224 IF(xmq.LT.xmdl.OR.xmq.EQ.xmdl) tpd = td - tq
26225 IF(xmq.GT.xmdl) tdpd = td
26226 IF(xmq.LT.xmdl.OR.xmq.EQ.xmdl) tdpd = tq
26228 IF(xmq.GT.xmdl) dlam1 = 6d0/96d0/pi**2*g1**2*hd**2*tpd
26229 IF(xmq.LT.xmdl.OR.xmq.EQ.xmdl) dlam1 = 3d0/32d0/pi**2*
26230 &hd**2*(g1**2/3d0+g2**2)*tpd
26232 IF(xmq.GT.xmur) dlam2 =12d0/96d0/pi**2*g1**2*hu**2*tp
26233 IF(xmq.LT.xmur.OR.xmq.EQ.xmur) dlam2 = 3d0/32d0/pi**2*
26234 &hu**2*(-g1**2/3d0+g2**2)*tp
26239 IF(xmq.GT.xmdl) dlam3 = -1d0/32d0/pi**2*g1**2*hd**2*tpd
26240 IF(xmq.LT.xmdl.OR.xmq.EQ.xmdl) dlam3 = 3d0/64d0/pi**2*hd**2*
26241 &(g2**2-g1**2/3d0)*tpd
26243 IF(xmq.GT.xmur) dlam3 = dlam3 -
26244 &1d0/16d0/pi**2*g1**2*hu**2*tp
26245 IF(xmq.LT.xmur.OR.xmq.EQ.xmur) dlam3 = dlam3 +
26246 &3d0/64d0/pi**2*hu**2*(g2**2+g1**2/3d0)*tp
26248 IF(xmq.LT.xmur) dlam4 = -3d0/32d0/pi**2*g2**2*hu**2*tp
26249 IF(xmq.LT.xmdl) dlam4 = dlam4 - 3d0/32d0/pi**2*g2**2*
26252 xlam1 = ((g1**2 + g2**2)/4d0)*
26253 &(1d0-3d0*hd**2*(tpd + tdpd)/8d0/pi**2)
26254 &+(3d0*hd**4/16d0/pi**2) *tpd*(1d0
26255 &+ (3d0*hd**2/2d0 + hu**2/2d0
26256 &- 8d0*g3**2) * (tpd + 2d0*tdpd)/16d0/pi**2)
26257 &+(3d0*hd**4/8d0/pi**2) *tdpd*(1d0 + (3d0*hd**2/2d0 + hu**2/2d0
26258 &- 8d0*g3**2) * tdpd/16d0/pi**2) + dlam1
26259 xlam2 = ((g1**2 + g2**2)/4d0)*(1d0-3d0*hu**2*
26260 &(tp + tdp)/8d0/pi**2)
26261 &+(3d0*hu**4/16d0/pi**2) *tp*(1d0
26262 &+ (3d0*hu**2/2d0 + hd**2/2d0
26263 &- 8d0*g3**2) * (tp + 2d0*tdp)/16d0/pi**2)
26264 &+(3d0*hu**4/8d0/pi**2) *tdp*(1d0 + (3d0*hu**2/2d0 + hd**2/2d0
26265 &- 8d0*g3**2) * tdp/16d0/pi**2) + dlam2
26266 xlam3 = ((g2**2 - g1**2)/4d0)*(1d0-3d0*
26267 &(hu**2)*(tp + tdp)/16d0/pi**2 -3d0*
26268 &(hd**2)*(tpd + tdpd)/16d0/pi**2) +dlam3
26269 xlam4 = (- g2**2/2d0)*(1d0
26270 &-3d0*(hu**2)*(tp + tdp)/16d0/pi**2
26271 &-3d0*(hd**2)*(tpd + tdpd)/16d0/pi**2) +dlam4
26277 xm2(1,1) = 2d0*v**2*(xlam1*cosb**2+2d0*xlam6*
26278 &cosb*sinb + xlam5*sinb**2) + xma**2*sinb**2
26280 xm2(2,2) = 2d0*v**2*(xlam5*cosb**2+2d0*xlam7*
26281 &cosb*sinb + xlam2*sinb**2) + xma**2*cosb**2
26282 xm2(1,2) = 2d0*v**2*(xlam6*cosb**2+(xlam3+xlam4)*
26283 &cosb*sinb + xlam7*sinb**2) - xma**2*sinb*cosb
26285 xm2(2,1) = xm2(1,2)
26291 xmssu=(0.5d0*(xmq**2+xmur**2)+xmt**2)**0.5d0
26293 IF(xmc.GT.xmssu) goto 100
26294 IF(xmc.LT.xmt) xmc=xmt
26296 tchar=
log(xmssu**2/xmc**2)
26298 del12=(9d0/64d0/pi**2*g2**4+5d0/192d0/pi**2*g1**4)*tchar
26299 del3p4=(3d0/64d0/pi**2*g2**4+7d0/192d0/pi**2*g1**4
26300 &+4d0/32/pi**2*g1**2*g2**2)*tchar
26302 dem112=2d0*del12*v**2*cosb**2
26303 dem222=2d0*del12*v**2*sinb**2
26304 dem122=2d0*del3p4*v**2*sinb*cosb
26306 xm2(1,1)=xm2(1,1)+dem112
26307 xm2(2,2)=xm2(2,2)+dem222
26308 xm2(1,2)=xm2(1,2)+dem122
26309 xm2(2,1)=xm2(2,1)+dem122
26319 xm2p(i,j) = xm2(i,j) + vh(i,j)
26323 trm2p = xm2p(1,1) + xm2p(2,2)
26324 detm2p = xm2p(1,1)*xm2p(2,2) - xm2p(1,2)*xm2p(2,1)
26326 xmh2p = (trm2p - (trm2p**2 - 4d0* detm2p)**0.5d0)/2d0
26327 hm2p = (trm2p + (trm2p**2 - 4d0* detm2p)**0.5d0)/2d0
26329 IF(xmh2p.LT.0d0) goto 130
26330 xmhp = xmh2p**0.5d0
26331 s2alp = 2d0*xm2p(1,2)/(trm2p**2-4d0*detm2p)**0.5d0
26332 c2alp = (xm2p(1,1)-xm2p(2,2))/(trm2p**2-4d0*detm2p)**0.5d0
26333 IF(c2alp.GT.0d0) alp = asin(s2alp)/2d0
26334 IF(c2alp.LT.0d0) alp = -pi/2d0-asin(s2alp)/2d0
26337 sqbma = (sinb*ca - cosb*sa)**2
26349 SUBROUTINE pygfxx(XMA,TANB,XMQ,XMUR,XMDL,XMT,AT,AB,XMU,VH,
26353 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
26357 dimension diah(2),vh(2,2),vh1(2,2),vh2(2,2),
26358 &vh3t(2,2),vh3b(2,2),
26359 &hmix(2,2),al(2,2),xm2(2,2)
26364 IF(dabs(xmu).LT.0.000001d0) xmu = 0.000001d0
26369 sinba = tanba/(tanba**2+1d0)**0.5d0
26370 cosba = sinba/tanba
26372 sinb = tanb/(tanb**2+1d0)**0.5d0
26375 g2 = (0.0336d0*4d0*pi)**0.5d0
26376 g12 = (0.0101d0*4d0*pi)
26380 mw = (g2**2*v**2/2d0)**0.5d0
26381 alp3 = 0.12d0/(1d0+23/12d0/pi*0.12d0*
log(xmt**2/xmz**2))
26384 IF(xmq.GT.xmur) xmst = xmq
26385 IF(xmur.GT.xmq.OR.xmur.EQ.xmq) xmst = xmur
26387 xmsut = (xmst**2 + xmt**2)**0.5d0
26389 IF(xmq.GT.xmdl) xmsb = xmq
26390 IF(xmdl.GT.xmq.OR.xmdl.EQ.xmq) xmsb = xmdl
26392 xmsub = (xmsb**2 + xmb**2)**0.5d0
26394 tt =
log(xmsut**2/xmt**2)
26395 tb =
log(xmsub**2/xmt**2)
26397 rxmt = xmt/(1d0+4d0*alp3/3d0/pi)
26398 ht = rxmt/(174.1d0*sinb)
26399 htst = rxmt/174.1d0
26400 hb = xmb/174.1d0/cosb
26402 bt2 = -(8d0*g32 - 9d0*ht**2/2d0 - hb**2/2d0)/(4d0*pi)**2
26403 bb2 = -(8d0*g32 - 9d0*hb**2/2d0 - ht**2/2d0)/(4d0*pi)**2
26404 al2 = 3d0/8d0/pi**2*ht**2
26405 bt2st = -(8d0*g32 - 9d0*htst**2/2d0)/(4d0*pi)**2
26406 alst = 3d0/8d0/pi**2*htst**2
26407 al1 = 3d0/8d0/pi**2*hb**2
26410 al(1,2) = (al2+al1)/2d0
26411 al(2,1) = (al2+al1)/2d0
26414 xmt4 = rxmt**4*(1d0+2d0*bt2*
tt- al2*
tt)
26416 xmbot4 = xmb**4*(1d0+2d0*bb2*tb - al1*tb)
26417 xmbot2 =
sqrt(xmbot4)
26419 IF(xma.GT.xmt)
THEN
26420 vi = 174.1d0*(1d0 + 3d0/32d0/pi**2*htst**2*
26421 &
log(xmt**2/xma**2))
26424 h1t = h1i*(1d0+3d0/8d0/pi**2*hb**2*
log(xma**2/xmsut**2))**0.25d0
26425 h2t = h2i*(1d0+3d0/8d0/pi**2*ht**2*
log(xma**2/xmsut**2))**0.25d0
26426 h1b = h1i*(1d0+3d0/8d0/pi**2*hb**2*
log(xma**2/xmsub**2))**0.25d0
26427 h2b = h2i*(1d0+3d0/8d0/pi**2*ht**2*
log(xma**2/xmsub**2))**0.25d0
26432 h1t = h1i*(1d0+3d0/8d0/pi**2*hb**2*
log(xmt**2/xmsut**2))**0.25d0
26433 h2t = h2i*(1d0+3d0/8d0/pi**2*ht**2*
log(xmt**2/xmsut**2))**0.25d0
26434 h1b = h1i*(1d0+3d0/8d0/pi**2*hb**2*
log(xmt**2/xmsub**2))**0.25d0
26435 h2b = h2i*(1d0+3d0/8d0/pi**2*ht**2*
log(xmt**2/xmsub**2))**0.25d0
26439 sinbt = tanbst/(1d0+tanbst**2)**0.5d0
26440 cosbt = sinbt/tanbst
26443 sinbb = tanbsb/(1d0+tanbsb**2)**0.5d0
26444 cosbb = sinbb/tanbsb
26446 stop12 = (xmq2 + xmur2)*0.5d0 + xmt2
26447 &+1d0/8d0*(g2**2+g1**2)*(h1t**2-h2t**2)
26448 &+(((g2**2-5d0*g1**2/3d0)/4d0*(h1t**2-h2t**2) +
26449 &xmq2 - xmur2)**2*0.25d0 + xmt2*(at-xmu/tanbst)**2)**0.5d0
26450 stop22 = (xmq2 + xmur2)*0.5d0 + xmt2
26451 &+1d0/8d0*(g2**2+g1**2)*(h1t**2-h2t**2)
26452 &- (((g2**2-5d0*g1**2/3d0)/4d0*(h1t**2-h2t**2) +
26453 &xmq2 - xmur2)**2*0.25d0
26454 &+ xmt2*(at-xmu/tanbst)**2)**0.5d0
26455 IF(stop22.LT.0d0) goto 120
26456 sbot12 = (xmq2 + xmdl2)*0.5d0
26457 &- 1d0/8d0*(g2**2+g1**2)*(h1b**2-h2b**2)
26458 &+ (((g1**2/3d0-g2**2)/4d0*(h1b**2-h2b**2) +
26459 &xmq2 - xmdl2)**2*0.25d0 + xmbot2*(ab-xmu*tanbsb)**2)**0.5d0
26460 sbot22 = (xmq2 + xmdl2)*0.5d0
26461 &- 1d0/8d0*(g2**2+g1**2)*(h1b**2-h2b**2)
26462 &- (((g1**2/3d0-g2**2)/4d0*(h1b**2-h2b**2) +
26463 &xmq2 - xmdl2)**2*0.25d0 + xmbot2*(ab-xmu*tanbsb)**2)**0.5d0
26464 IF(sbot22.LT.0d0) goto 120
26466 stop1 = stop12**0.5d0
26467 stop2 = stop22**0.5d0
26468 sbot1 = sbot12**0.5d0
26469 sbot2 = sbot22**0.5d0
26471 vh1(1,1) = 1d0/tanbst
26478 vh2(2,2) = 1d0/tanbst
26485 f1t=(xmq2-xmur2)/(stop12-stop22)*(0.5d0-4d0/3d0*stw)*
26487 &+(0.5d0-2d0/3d0*stw)*
log(stop1*stop2/(xmq2+xmt2))
26488 &+ 2d0/3d0*stw*
log(stop1*stop2/(xmur2+xmt2))
26490 f1b=(xmq2-xmdl2)/(sbot12-sbot22)*(-0.5d0+2d0/3d0*stw)*
26492 &+(-0.5d0+1d0/3d0*stw)*
log(sbot1*sbot2/(xmq2+xmbot2))
26493 &- 1d0/3d0*stw*
log(sbot1*sbot2/(xmdl2+xmbot2))
26495 f2t=xmt2**0.5d0*(at-xmu/tanbst)/(stop12-stop22)*
26496 &(-0.5d0*
log(stop12/stop22)
26497 &+(4d0/3d0*stw-0.5d0)*(xmq2-xmur2)/(stop12-stop22)*
26500 f2b=xmbot2**0.5d0*(ab-xmu*tanbsb)/(sbot12-sbot22)*
26501 &(0.5d0*
log(sbot12/sbot22)
26502 &+(-2d0/3d0*stw+0.5d0)*(xmq2-xmdl2)/(sbot12-sbot22)*
26505 vh3b(1,1) = xmbot4/(cosbb**2)*(
log(sbot1**2*sbot2**2/
26506 &(xmq2+xmbot2)/(xmdl2+xmbot2))
26507 &+ 2d0*(ab*(ab-xmu*tanbsb)/(sbot1**2-sbot2**2))*
26508 &
log(sbot1**2/sbot2**2)) +
26509 &xmbot4/(cosbb**2)*(ab*(ab-xmu*tanbsb)/
26510 &(sbot1**2-sbot2**2))**2*g(sbot12,sbot22)
26513 &xmt4/(sinbt**2)*(xmu*(-at+xmu/tanbst)/(stop1**2
26514 &-stop2**2))**2*g(stop12,stop22)
26516 vh3b(1,1)=vh3b(1,1)+
26517 &xmz**2*(2*xmbot2*f1b-xmbot2**0.5d0*ab*f2b)
26519 vh3t(1,1) = vh3t(1,1) +
26520 &xmz**2*(xmt2**0.5d0*xmu/tanbst*f2t)
26522 vh3t(2,2) = xmt4/(sinbt**2)*(
log(stop1**2*stop2**2/
26523 &(xmq2+xmt2)/(xmur2+xmt2))
26524 &+ 2d0*(at*(at-xmu/tanbst)/(stop1**2-stop2**2))*
26525 &
log(stop1**2/stop2**2)) +
26526 &xmt4/(sinbt**2)*(at*(at-xmu/tanbst)/
26527 &(stop1**2-stop2**2))**2*g(stop12,stop22)
26530 &xmbot4/(cosbb**2)*(xmu*(-ab+xmu*tanbsb)/(sbot1**2
26531 &-sbot2**2))**2*g(sbot12,sbot22)
26533 vh3t(2,2)=vh3t(2,2)+
26534 &xmz**2*(-2*xmt2*f1t+xmt2**0.5d0*at*f2t)
26536 vh3b(2,2) = vh3b(2,2) -xmz**2*xmbot2**0.5d0*xmu*tanbsb*f2b
26539 &xmt4/(sinbt**2)*xmu*(at-xmu/tanbst)/
26540 &(stop1**2-stop2**2)*(
log(stop1**2/stop2**2) + at*
26541 &(at - xmu/tanbst)/(stop1**2-stop2**2)*g(stop12,stop22))
26544 &- xmbot4/(cosbb**2)*xmu*(at-xmu*tanbsb)/
26545 &(sbot1**2-sbot2**2)*(
log(sbot1**2/sbot2**2) + ab*
26546 &(ab - xmu*tanbsb)/(sbot1**2-sbot2**2)*g(sbot12,sbot22))
26548 vh3t(1,2)=vh3t(1,2) +
26549 &xmz**2*(xmt2/tanbst*f1t-xmt2**0.5d0*(at/tanbst+xmu)/2d0*f2t)
26551 vh3b(1,2)=vh3b(1,2)
26552 &+xmz**2*(-xmbot2*tanbsb*f1b+xmbot2**0.5d0*(ab*tanbsb+xmu)/2d0*f2b)
26554 vh3t(2,1) = vh3t(1,2)
26555 vh3b(2,1) = vh3b(1,2)
26557 tq =
log((xmq2 + xmt2)/xmt2)
26558 tu =
log((xmur2+xmt2)/xmt2)
26559 tqd =
log((xmq2 + xmb**2)/xmb**2)
26560 td =
log((xmdl2+xmb**2)/xmb**2)
26566 & 6d0/(8d0*pi**2*(h1t**2+h2t**2))
26567 & *vh3t(i,j)*0.5d0*(1d0-al(i,j)*
tt/2d0) +
26568 & 6d0/(8d0*pi**2*(h1b**2+h2b**2))
26569 & *vh3b(i,j)*0.5d0*(1d0-al(i,j)*tb/2d0)
26594 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
26597 common/pyints/xxm(20)
26619 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
26622 common/pyints/xxm(20)
26626 &(
x*(xxm(2)-xxm(3))+xxm(3)))
26639 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
26642 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
26644 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
26645 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
26646 common/pymssm/imss(0:99),rmss(0:99)
26647 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
26649 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/
26653 DOUBLE PRECISION xmi,xmj,xmf,xmsf1,xmsf2,xmw,xmw2,xmz,
26655 DOUBLE PRECISION xmi2,xmi3,xmj2,xma2,xmb2,xmfp
26656 DOUBLE PRECISION pylamf,xl
26657 DOUBLE PRECISION tanw,xw,aem,
c1,as
26658 DOUBLE PRECISION ca,cb,al,ar,bl,br,alp,arp,blp,brp
26659 DOUBLE PRECISION ch1,ch2,ch3,ch4
26660 DOUBLE PRECISION xmbot,xmtop
26661 DOUBLE PRECISION xlam(0:200)
26662 INTEGER idlam(200,3)
26663 INTEGER lknt,ix,ic,ilr,idu,j,ij,i,iknt,ifl,ifp,ii
26664 DOUBLE PRECISION sr2
26665 DOUBLE PRECISION cbeta,sbeta,gr,gl,f12k,f21k
26666 DOUBLE PRECISION cw
26667 DOUBLE PRECISION beta,alfa,xmu,at,ab,atrit,atrib,atril
26668 DOUBLE PRECISION cosa,sina,tanb
26670 DOUBLE PRECISION ghrr,ghll,ghlr,cf,xmb,blr
26671 INTEGER ig,kf1,kf2,ilr2,idp
26672 INTEGER igg(4),kfnchi(4),kfcchi(2)
26673 DATA igg/23,25,35,36/
26674 DATA pi/3.141592654d0/
26675 DATA sr2/1.4142136d0/
26676 DATA kfnchi/1000022,1000023,1000025,1000035/
26677 DATA kfcchi/1000024,1000037/
26683 IF(kfin.EQ.ksusy2+12.OR.kfin.EQ.ksusy2+14.OR.
26684 &kfin.EQ.ksusy2+16)
RETURN
26691 tanw =
sqrt(xw/(1d0-xw))
26699 ifl=
mod(kfin,ksusy1)
26729 IF(imss(11).EQ.1)
THEN
26732 xmgr=pmas(
pycomp(idg),1)
26733 xfac=(xmi2/(xmp*xmgr))**2*xmi/48d0/pi
26736 ELSEIF(ifl.EQ.6)
THEN
26741 IF(xmi.GT.xmgr+xmf)
THEN
26746 xlam(lknt)=xfac*(1d0-xmf**2/xmi2)**4
26765 IF(xmi.GE.axmj+xmfp)
THEN
26772 ELSEIF(ifl.LT.6)
THEN
26777 al=-xmfp*umix(ix,2)/sr2/xmw/cbeta
26778 br=-xmf*vmix(ix,2)/sr2/xmw/sbeta
26784 ELSEIF(ifl.LT.5)
THEN
26789 al=-xmfp*vmix(ix,2)/sr2/xmw/sbeta
26790 br=-xmf*umix(ix,2)/sr2/xmw/cbeta
26794 alp=sfmix(ifl,1)*al + sfmix(ifl,2)*ar
26795 blp=sfmix(ifl,1)*bl + sfmix(ifl,2)*br
26796 arp=sfmix(ifl,4)*ar + sfmix(ifl,3)*al
26797 brp=sfmix(ifl,4)*br + sfmix(ifl,3)*bl
26813 xl=
pylamf(xmi2,xma2,xmb2)
26815 xlam(lknt)=2d0*
c1/8d0/xmi3*
sqrt(xl)*((xmi2-xmb2-xma2)*
26816 & (ca**2+cb**2)-4d0*ca*cb*xmj*xmfp)
26819 idlam(lknt,1)=-kfcchi(ix)
26820 idlam(lknt,2)=ifl+1
26822 idlam(lknt,1)=kfcchi(ix)
26823 idlam(lknt,2)=ifl-1
26834 IF(xmi.GE.axmj+xmf)
THEN
26840 ELSEIF(ifl.LT.5)
THEN
26843 bl=-zmix(ix,2)+tanw*zmix(ix,1)*(2d0*ei+1)
26844 al=xmf*zmix(ix,3)/xmw/cbeta
26845 ar=-2d0*ei*tanw*zmix(ix,1)
26850 ELSEIF(ifl.LT.5)
THEN
26853 bl=zmix(ix,2)+tanw*zmix(ix,1)*(2d0*ei-1)
26854 al=xmf*zmix(ix,4)/xmw/sbeta
26855 ar=-2d0*ei*tanw*zmix(ix,1)
26859 alp=sfmix(ifl,1)*al + sfmix(ifl,2)*ar
26860 blp=sfmix(ifl,1)*bl + sfmix(ifl,2)*br
26861 arp=sfmix(ifl,4)*ar + sfmix(ifl,3)*al
26862 brp=sfmix(ifl,4)*br + sfmix(ifl,3)*bl
26878 xl=
pylamf(xmi2,xma2,xmb2)
26880 xlam(lknt)=
c1/8d0/xmi3*
sqrt(xl)*((xmi2-xmb2-xma2)*
26881 & (ca**2+cb**2)-4d0*ca*cb*xmj*xmf)
26882 idlam(lknt,1)=kfnchi(ix)
26892 IF(ilr.EQ.1) goto 120
26894 xmsf1=pmas(
pycomp(kfin-ksusy1),1)
26895 IF(xmi.LT.xmsf1+xmb) goto 120
26897 bl=-sign(.5d0,ei)/cw+ei*xw/cw
26900 ELSEIF(ig.EQ.25)
THEN
26903 ELSEIF(ifl.EQ.6)
THEN
26905 ELSEIF(ifl.LT.5)
THEN
26911 ghll=xmz/cw*(0.5d0-ei*xw)*(-
sin(alfa+
beta))+
26912 & xmf**2/xmw*cosa/sbeta
26913 ghrr=xmz/cw*(ei*xw)*(-
sin(alfa+
beta))+
26914 & xmf**2/xmw*cosa/sbeta
26916 ghll=xmz/cw*(0.5d0-ei*xw)*(-
sin(alfa+
beta))+
26917 & xmf**2/xmw*(-sina)/cbeta
26918 ghrr=xmz/cw*(ei*xw)*(-
sin(alfa+
beta))+
26919 & xmf**2/xmw*(-sina)/cbeta
26923 ELSEIF(ifl.EQ.6)
THEN
26925 ELSEIF(ifl.EQ.15)
THEN
26931 ghlr=xmf/2d0/xmw/sbeta*(-xmu*sina+
26934 ghlr=xmf/2d0/xmw/cbeta*(xmu*cosa-
26940 ELSEIF(ig.EQ.35)
THEN
26943 ELSEIF(ifl.EQ.6)
THEN
26945 ELSEIF(ifl.LT.5)
THEN
26951 ghll=xmz/cw*(0.5d0-ei*xw)*
cos(alfa+
beta)+
26952 & xmf**2/xmw*sina/sbeta
26953 ghrr=xmz/cw*(ei*xw)*
cos(alfa+
beta)+
26954 & xmf**2/xmw*sina/sbeta
26956 ghll=xmz/cw*(0.5d0-ei*xw)*
cos(alfa+
beta)+
26957 & xmf**2/xmw*cosa/cbeta
26958 ghrr=xmz/cw*(ei*xw)*
cos(alfa+
beta)+
26959 & xmf**2/xmw*cosa/cbeta
26963 ELSEIF(ifl.EQ.6)
THEN
26965 ELSEIF(ifl.EQ.15)
THEN
26971 ghlr=xmf/2d0/xmw/sbeta*(xmu*cosa+
26974 ghlr=xmf/2d0/xmw/cbeta*(xmu*sina+
26980 ELSEIF(ig.EQ.36)
THEN
26985 ELSEIF(ifl.EQ.6)
THEN
26987 ELSEIF(ifl.LT.5)
THEN
26994 ELSEIF(ifl.EQ.6)
THEN
26996 ELSEIF(ifl.EQ.15)
THEN
27002 ghlr=xmf/2d0/xmw*(-xmu+at/tanb)
27004 ghlr=xmf/2d0/xmw/(-xmu+at*tanb)
27010 al=sfmix(ifl,1)*sfmix(ifl,3)*bl+
27011 & sfmix(ifl,2)*sfmix(ifl,4)*br+
27012 & (sfmix(ifl,1)*sfmix(ifl,4)+sfmix(ifl,3)*sfmix(ifl,2))*blr
27013 xl=
pylamf(xmi2,xmsf1**2,xmb**2)
27016 xlam(lknt)=
c1/4d0/xmi3*xl**1.5d0/xmb**2*al**2
27018 xlam(lknt)=
c1/4d0/xmi3*
sqrt(xl)*al**2
27021 idlam(lknt,1)=kfin-ksusy1
27027 IF(
mod(ifl,2).EQ.0)
THEN
27033 xmsf1=pmas(
pycomp(kf1),1)
27034 xmsf2=pmas(
pycomp(kf2),1)
27035 IF(xmi.GT.xmb+xmsf1)
THEN
27036 IF(
mod(ifl,2).EQ.0)
THEN
27038 al=1d0/sr2*sfmix(ifl,1)*sfmix(ifl-1,1)
27040 al=1d0/sr2*sfmix(ifl,3)*sfmix(ifl-1,1)
27044 al=1d0/sr2*sfmix(ifl,1)*sfmix(ifl+1,1)
27046 al=1d0/sr2*sfmix(ifl,3)*sfmix(ifl+1,1)
27049 xl=
pylamf(xmi2,xmsf1**2,xmb**2)
27051 xlam(lknt)=
c1/4d0/xmi3*xl**1.5d0/xmb**2*al**2
27054 idlam(lknt,2)=sign(24,kchg(ifl,1))
27056 IF(xmi.GT.xmb+xmsf2)
THEN
27057 IF(
mod(ifl,2).EQ.0)
THEN
27059 al=1d0/sr2*sfmix(ifl,1)*sfmix(ifl-1,3)
27061 al=1d0/sr2*sfmix(ifl,3)*sfmix(ifl-1,3)
27065 al=1d0/sr2*sfmix(ifl,1)*sfmix(ifl+1,3)
27067 al=1d0/sr2*sfmix(ifl,3)*sfmix(ifl+1,3)
27070 xl=
pylamf(xmi2,xmsf2**2,xmb**2)
27072 xlam(lknt)=
c1/4d0/xmi3*xl**1.5d0/xmb**2*al**2
27075 idlam(lknt,2)=sign(24,kchg(ifl,1))
27080 IF(
mod(ifl,2).EQ.0)
THEN
27086 xmsf1=pmas(
pycomp(kf1),1)
27087 xmsf2=pmas(
pycomp(kf2),1)
27088 IF(xmi.GT.xmb+xmsf1)
THEN
27093 IF(
mod(ifl,2).EQ.0)
THEN
27096 ch1=-sfmix(ifl,1)*sfmix(ifl-1,1)
27097 ch2= sfmix(ifl,2)*sfmix(ifl-1,2)
27098 ch3=-sfmix(ifl,1)*sfmix(ifl-1,2)
27099 ch4=-sfmix(ifl,2)*sfmix(ifl-1,1)
27102 ch1= sfmix(ifl,3)*sfmix(ifl-1,1)
27103 ch2=-sfmix(ifl,4)*sfmix(ifl-1,2)
27104 ch3= sfmix(ifl,3)*sfmix(ifl-1,2)
27105 ch4= sfmix(ifl,4)*sfmix(ifl-1,1)
27116 ch1=-sfmix(ifl+1,1)*sfmix(ifl,1)
27117 ch2= sfmix(ifl+1,2)*sfmix(ifl,2)
27118 ch3=-sfmix(ifl+1,1)*sfmix(ifl,2)
27119 ch4=-sfmix(ifl+1,2)*sfmix(ifl,1)
27122 ch1= sfmix(ifl,3)*sfmix(ifl+1,1)
27123 ch2=-sfmix(ifl,4)*sfmix(ifl+1,2)
27124 ch3= sfmix(ifl,4)*sfmix(ifl+1,1)
27125 ch4= sfmix(ifl,3)*sfmix(ifl+1,2)
27134 xl=
pylamf(xmi2,xmsf1**2,xmb**2)
27136 al=ch1*(xmw2*2d0*cbeta*sbeta-xmfp**2*tanb-xmf**2/tanb)+
27137 & ch2*2d0*xmf*xmfp/(2d0*cbeta*sbeta)+
27138 & ch3*xmfp*(-xmu+ab*tanb)+ch4*xmf*(-xmu+at/tanb)
27139 xlam(lknt)=
c1/8d0/xmi3*
sqrt(xl)/xmw2*al**2
27142 idlam(lknt,2)=sign(37,kchg(ifl,1))
27144 IF(xmi.GT.xmb+xmsf2)
THEN
27149 IF(
mod(ifl,2).EQ.0)
THEN
27152 ch1= sfmix(ifl-1,3)*sfmix(ifl,1)
27153 ch2=-sfmix(ifl-1,4)*sfmix(ifl,2)
27154 ch3= sfmix(ifl-1,4)*sfmix(ifl,1)
27155 ch4= sfmix(ifl-1,3)*sfmix(ifl,2)
27158 ch1= -sfmix(ifl,3)*sfmix(ifl-1,3)
27159 ch2= sfmix(ifl,4)*sfmix(ifl-1,4)
27160 ch3= -sfmix(ifl,3)*sfmix(ifl-1,4)
27161 ch4= -sfmix(ifl,4)*sfmix(ifl-1,3)
27172 ch1= sfmix(ifl+1,3)*sfmix(ifl,1)
27173 ch2=-sfmix(ifl+1,4)*sfmix(ifl,2)
27174 ch3= sfmix(ifl+1,3)*sfmix(ifl,2)
27175 ch4= sfmix(ifl+1,4)*sfmix(ifl,1)
27178 ch1= -sfmix(ifl+1,3)*sfmix(ifl,3)
27179 ch2= sfmix(ifl+1,4)*sfmix(ifl,4)
27180 ch3= -sfmix(ifl+1,3)*sfmix(ifl,4)
27181 ch4= -sfmix(ifl+1,4)*sfmix(ifl,3)
27190 xl=
pylamf(xmi2,xmsf1**2,xmb**2)
27192 al=ch1*(xmw2*2d0*cbeta*sbeta-xmfp**2*tanb-xmf**2/tanb)+
27193 & ch2*2d0*xmf*xmfp/(2d0*cbeta*sbeta)+
27194 & ch3*xmfp*(-xmu+ab*tanb)+ch4*xmf*(-xmu+at/tanb)
27195 xlam(lknt)=
c1/8d0/xmi3*
sqrt(xl)/xmw2*al**2
27198 idlam(lknt,2)=sign(37,kchg(ifl,1))
27206 IF(ifl.EQ.6) xmf=pmas(6,1)
27207 IF(ifl.EQ.5) xmf=pmas(5,1)
27208 xmj=pmas(
pycomp(ksusy1+21),1)
27210 IF(xmi.GE.axmj+xmf)
THEN
27227 xl=
pylamf(xmi2,xma2,xmb2)
27228 xlam(lknt)=4d0/3d0*as/2d0/xmi3*
sqrt(xl)*((xmi2-xmb2-xma2)*
27229 & (ca**2+cb**2)-4d0*ca*cb*xmj*xmf)
27230 idlam(lknt,1)=ksusy1+21
27237 IF(kfin.EQ.ksusy1+6.AND.pmas(kcin,1).GT.
27238 &pmas(
pycomp(ksusy1+22),1)+pmas(4,1))
THEN
27245 xlam(lknt)=
c1**3/64d0/pi**2/xmi3*
sqrt(xl)
27246 IF(xlam(lknt).EQ.0) xlam(lknt)=1
d-3
27247 idlam(lknt,1)=ksusy1+22
27255 IF(xlam(i).LT.0d0) xlam(i)=0d0
27256 xlam(0)=xlam(0)+xlam(i)
27258 IF(xlam(0).EQ.0d0) xlam(0)=1
d-3
27271 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
27274 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
27276 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
27277 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
27278 common/pymssm/imss(0:99),rmss(0:99)
27279 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
27281 common/pyints/xxm(20)
27282 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/,/pyints/
27285 INTEGER kfin,kcin,kf
27286 DOUBLE PRECISION xmi,xmj,xmf,xmsf1,xmsf2,xmw,xmw2,
27287 &xmz,xmz2,axmj,axmi
27288 DOUBLE PRECISION xmi2,xmi3,xmj2,xma2,xmb2,xmfp
27289 DOUBLE PRECISION c1l,c1r,d1l,d1r
27290 DOUBLE PRECISION c2l,c2r,d2l,d2r
27291 DOUBLE PRECISION pylamf,xl
27292 DOUBLE PRECISION tanw,xw,aem,
c1,as,s12max,s12min
27293 DOUBLE PRECISION ca,cb,al,ar,bl,br
27294 DOUBLE PRECISION alfa,
beta
27295 DOUBLE PRECISION sw,cw,sinb,cosb,qt,t3
27296 DOUBLE PRECISION xlam(0:200)
27297 INTEGER idlam(200,3)
27298 INTEGER lknt,ix,ic,ilr,idu,j,ij,i,iknt,ifl
27299 DOUBLE PRECISION sr2
27300 DOUBLE PRECISION gam
27304 DOUBLE PRECISION prec
27305 INTEGER kfnchi(4),kfcchi(2)
27306 DATA pi/3.141592654d0/
27307 DATA sr2/1.4142136d0/
27309 DATA kfnchi/1000022,1000023,1000025,1000035/
27310 DATA kfcchi/1000024,1000037/
27314 IF(kfin.NE.ksusy1+21)
RETURN
27322 tanw =
sqrt(xw/(1d0-xw))
27335 IF(imss(11).EQ.1)
THEN
27338 xmgr=pmas(
pycomp(idg),1)
27339 xfac=(xmi2/(xmp*xmgr))**2*xmi/48d0/pi
27340 IF(axmi.GT.xmgr)
THEN
27353 xmj=pmas(
pycomp(ilr*ksusy1+ifl),1)
27356 idu=3-(1+
mod(ifl,2))
27357 IF(xmi.GE.axmj+xmf)
THEN
27374 xl=
pylamf(xmi2,xma2,xmb2)
27375 xlam(lknt)=4d0/8d0*as/4d0/xmi3*
sqrt(xl)*((xmi2+xmb2-xma2)*
27376 & (ca**2+cb**2)+4d0*ca*cb*xmi*xmf)
27377 idlam(lknt,1)=ilr*ksusy1+ifl
27381 xlam(lknt)=xlam(lknt-1)
27382 idlam(lknt,1)=-idlam(lknt-1,1)
27383 idlam(lknt,2)=-idlam(lknt-1,2)
27394 IF(xmi.GE.axmj)
THEN
27399 xxm(5)=pmas(
pycomp(ksusy1+1),1)
27400 xxm(6)=pmas(
pycomp(ksusy2+1),1)
27406 s12max=(xmi-axmj)**2
27411 xxm(14)=-sr2*(-0.5d0*zmix(ix,2)+tanw*zmix(ix,1)/6d0)
27413 xxm(16)=sr2*(-tanw*zmix(ix,1)/3d0)
27414 IF( xxm(5).LT.axmi .OR. xxm(6).LT.axmi ) goto 120
27415 IF(xmi.GE.axmj+2d0*pmas(1,1))
THEN
27417 xlam(lknt)=
c1*as/xmi3/(16d0*pi)*
27419 idlam(lknt,1)=kfnchi(ix)
27423 IF(xmi.GE.axmj+2d0*pmas(3,1))
THEN
27425 xlam(lknt)=xlam(lknt-1)
27426 idlam(lknt,1)=kfnchi(ix)
27431 IF( xxm(5).LT.axmi .OR. xxm(6).LT.axmi ) goto 130
27432 IF(xmi.GE.axmj+2d0*pmas(5,1))
THEN
27433 CALL
pytbbn(ix,80,-1d0/3d0,axmi,gam)
27436 idlam(lknt,1)=kfnchi(ix)
27442 xxm(5)=pmas(
pycomp(ksusy1+2),1)
27443 xxm(6)=pmas(
pycomp(ksusy2+2),1)
27445 xxm(14)=-sr2*(0.5d0*zmix(ix,2)+tanw*zmix(ix,1)/6d0)
27447 xxm(16)=sr2*(2d0*tanw*zmix(ix,1)/3d0)
27448 IF( xxm(5).LT.axmi .OR. xxm(6).LT.axmi ) goto 140
27449 IF(xmi.GE.axmj+2d0*pmas(2,1))
THEN
27451 xlam(lknt)=
c1*as/xmi3/(16d0*pi)*
27453 idlam(lknt,1)=kfnchi(ix)
27457 IF(xmi.GE.axmj+2d0*pmas(4,1))
THEN
27459 xlam(lknt)=xlam(lknt-1)
27460 idlam(lknt,1)=kfnchi(ix)
27467 IF(xmi.GE.pmas(
pycomp(ksusy1+6),1)+pmas(6,1)) goto 150
27469 IF(xmi.GE.axmj+2d0*xmf)
THEN
27470 CALL
pytbbn(ix,80,2d0/3d0,axmi,gam)
27473 idlam(lknt,1)=kfnchi(ix)
27485 IF(xmi.GE.axmj)
THEN
27487 s12max=(axmi-axmj)**2
27496 xxm(7)=umix(ix,1)*sr2
27497 xxm(8)=vmix(ix,1)*sr2
27498 xxm(11)=pmas(
pycomp(ksusy1+1),1)
27499 xxm(12)=pmas(
pycomp(ksusy1+2),1)
27500 IF( xxm(11).LT.axmi .OR. xxm(12).LT.axmi ) goto 170
27501 IF(xmi.GE.axmj+pmas(1,1)+pmas(2,1))
THEN
27503 xlam(lknt)=0.5d0*
c1*as/xmi3/(16d0*pi)*
27505 idlam(lknt,1)=kfcchi(ix)
27509 xlam(lknt)=xlam(lknt-1)
27510 idlam(lknt,1)=-idlam(lknt-1,1)
27511 idlam(lknt,2)=-idlam(lknt-1,2)
27512 idlam(lknt,3)=-idlam(lknt-1,3)
27514 IF(xmi.GE.axmj+pmas(3,1)+pmas(4,1))
THEN
27516 xlam(lknt)=xlam(lknt-1)
27517 idlam(lknt,1)=kfcchi(ix)
27521 xlam(lknt)=xlam(lknt-1)
27522 idlam(lknt,1)=-idlam(lknt-1,1)
27523 idlam(lknt,2)=-idlam(lknt-1,2)
27524 idlam(lknt,3)=-idlam(lknt-1,3)
27528 IF(xmi.GE.pmas(
pycomp(ksusy1+5),1)+pmas(5,1)) goto 180
27529 IF(xmi.GE.pmas(
pycomp(ksusy1+6),1)+pmas(6,1)) goto 180
27532 IF(xmi.GE.axmj+xmf+xmfp)
THEN
27533 CALL
pytbbc(ix,80,axmi,gam)
27536 idlam(lknt,1)=kfcchi(ix)
27540 xlam(lknt)=xlam(lknt-1)
27541 idlam(lknt,1)=-idlam(lknt-1,1)
27542 idlam(lknt,2)=-idlam(lknt-1,2)
27543 idlam(lknt,3)=-idlam(lknt-1,3)
27552 IF(xlam(i).LT.0d0) xlam(i)=0d0
27553 xlam(0)=xlam(0)+xlam(i)
27555 IF(xlam(0).EQ.0d0) xlam(0)=1
d-6
27569 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
27572 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
27574 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
27575 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
27576 common/pymssm/imss(0:99),rmss(0:99)
27577 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
27579 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/
27584 DOUBLE PRECISION cosd,sind,cosd2,sind2,cos2d,sin2d
27585 DOUBLE PRECISION hl,hr,fl,fr,hl2,hr2,fl2,fr2
27586 DOUBLE PRECISION xms2(2),xm,xm2,xmg,xmg2,xmr,xmr2
27587 DOUBLE PRECISION sbar,smin,
smax,xmqa,
w,grs,g(0:6),summe(0:100)
27588 DOUBLE PRECISION ff,
hh,hfl,hfr,hrfl,hlfr,xmq4,xm24
27589 DOUBLE PRECISION xln1,xln2,b1,b2
27590 DOUBLE PRECISION e,xmglu,gam
27592 DOUBLE PRECISION hrb(4),hlb(4),flb(4),frb(4)
27593 SAVE hrb,hlb,flb,frb
27594 DOUBLE PRECISION alphaw,alphas,gsu2
27595 DOUBLE PRECISION hlt(4),hrt(4),flt(4),frt(4)
27596 SAVE hlt,hrt,flt,frt
27597 DOUBLE PRECISION amc(2),amn(4),an(4,4),zn(3),flu(4),fru(4),
27599 SAVE amc,amn,an,zn,flu,fru,fld,frd
27600 DOUBLE PRECISION ambot,amsb(2),sinc,cosc
27601 DOUBLE PRECISION amtop,amst(2),sina,cosa
27603 DOUBLE PRECISION sinw,cosw,tanw,cosw2,sinw2
27604 DOUBLE PRECISION rot1(4,4)
27607 DATA ifirst/.true./
27610 sinb=tanb/
sqrt(1d0+tanb**2)
27624 fakt1=ambot/w2/amw/cosb
27625 fakt2=amtop/w2/amw/sinb
27636 rot1(2,1)=-rot1(1,2)
27637 rot1(2,2)=rot1(1,1)
27640 rot1(4,3)=-rot1(3,4)
27641 rot1(4,4)=rot1(3,3)
27645 an(ii,j)=an(ii,j)+zmix(ii,jj)*rot1(jj,j)
27650 zn(1)=-fakt2*(-sinb*an(j,3)+cosb*an(j,4))
27651 zn(2)=-2d0*w2/3d0*sinw*(tanw*an(j,2)-an(j,1))
27652 zn(3)=-2*w2/3d0*sinw*an(j,1)-w2*(0.5d0-2d0/3d0*
27654 hrt(j)=zn(1)*cosa-zn(3)*sina
27655 hlt(j)=zn(1)*cosa+zn(2)*sina
27656 flt(j)=zn(3)*cosa+zn(1)*sina
27657 frt(j)=zn(2)*cosa-zn(1)*sina
27660 zn(1)=-fakt1*(cosb*an(j,3)+sinb*an(j,4))
27661 zn(2)=w2/3d0*sinw*(tanw*an(j,2)-an(j,1))
27662 zn(3)=w2/3d0*sinw*an(j,1)+w2*(0.5d0-xw/3d0)*an(j,2)/cosw
27663 hrb(j)=zn(1)*cosc-zn(3)*sinc
27664 hlb(j)=zn(1)*cosc+zn(2)*sinc
27665 flb(j)=zn(3)*cosc+zn(1)*sinc
27666 frb(j)=zn(2)*cosc-zn(1)*sinc
27670 amst(1)=pmas(
pycomp(ksusy1+6),1)
27671 amst(2)=pmas(
pycomp(ksusy2+6),1)
27672 amsb(1)=pmas(
pycomp(ksusy1+5),1)
27673 amsb(2)=pmas(
pycomp(ksusy2+5),1)
27677 IF(
nint(3d0*
e).EQ.2)
THEN
27684 xms2(1)=pmas(
pycomp(ksusy1+6),1)**2
27685 xms2(2)=pmas(
pycomp(ksusy2+6),1)**2
27694 xms2(1)=pmas(
pycomp(ksusy1+5),1)**2
27695 xms2(2)=pmas(
pycomp(ksusy2+5),1)**2
27701 sin2d=sind*cosd*2d0
27720 xm24=(xmg2+xm2)*(xm2+xmr2)
27722 smax=(xmg-abs(xmr))**2
27723 xmqa=xmg2+2d0*xm2+xmr2
27725 sbar=smin+dble(lin)*(
smax-smin)/dble(nn)
27727 w=
pylamf(xmg2,xmr2,sbar)*(0.25d0-xm2/sbar)
27729 xln1=
log(abs((grs/2d0+xms2(1)-
w)/(grs/2d0+xms2(1)+
w)))
27730 xln2=
log(abs((grs/2d0+xms2(2)-
w)/(grs/2d0+xms2(2)+
w)))
27731 b1=1d0/(grs/2d0+xms2(1)-
w)-1d0/(grs/2d0+xms2(1)+
w)
27732 b2=1d0/(grs/2d0+xms2(2)-
w)-1d0/(grs/2d0+xms2(2)+
w)
27733 g(0)=-2d0*(hl2+fl2+hr2+fr2+(hfr-hfl)*sin2d
27734 & +2d0*(
ff*sind2-
hh*cosd2))*
w
27735 g(1)=((hl2+fl2)*(xmqa-2d0*xms2(1)-2d0*xm*xmg*sin2d)
27736 & +4d0*hfl*xm*xmr)*xln1
27737 & +((hl2+fl2)*((xmqa-xms2(1))*xms2(1)-xm24
27738 & +2d0*xm*xmg*(xm2+xmr2-xms2(1))*sin2d)
27739 & -4d0*hfl*xmr*xm*(xmg2+xm2-xms2(1))
27740 & +8d0*hfl*xmq4*sin2d)*b1
27741 g(2)=((hr2+fr2)*(xmqa-2d0*xms2(2)+2d0*xm*xmg*sin2d)
27742 & +4d0*hfr*xmr*xm)*xln2
27743 & +((hr2+fr2)*((xmqa-xms2(2))*xms2(2)-xm24
27744 & +2d0*xmg*xm*sin2d*(xms2(2)-xm2-xmr2))
27745 & +4d0*hfr*xm*xmr*(xms2(2)-xmg2-xm2)
27746 & -8d0*hfr*xmq4*sin2d)*b2
27747 g(3)=(2d0*hfl*sin2d*(xms2(1)*(grs+xms2(1))+xm2*(sbar-xmg2-xmr2)
27748 & +xmg2*xmr2+xm2*xm2)-2d0*xmr*xmg*(hl2*sind2+fl2*cosd2)*sbar
27749 & -2d0*xmg*xm*hfl*(sbar+xmr2-xmg2)
27750 & +xmr*xm*(hl2+fl2)*sin2d*(sbar+xmg2-xmr2)
27751 & -4d0*xmq4*(hl2-fl2)*cos2d)/(grs+2d0*xms2(1))*xln1
27752 g(4)=4d0*cos2d*xm*xmg/(xms2(1)-xms2(2))*
27753 & (((hlfr+hrfl)*(xm2+xmr2)+2d0*xm*xmr*(
hh+
ff))*(xln1-xln2)
27754 & +(hlfr+hrfl)*(xms2(2)*xln2-xms2(1)*xln1))
27755 g(5)=(2d0*(
hh*cosd2-
ff*sind2)
27756 & *((xms2(2)*(xms2(2)+grs)+xm2*xm2+xmg2*xmr2)*xln2
27757 & +(xms2(1)*(xms2(1)+grs)+xm2*xm2+xmg2*xmr2)*xln1)
27758 & +xm*((
hh-
ff)*sin2d*xmg-(hrfl-hlfr)*xmr)
27759 & *((grs+xms2(1)*2d0)*xln1-(grs+xms2(2)*2d0)*xln2)
27760 & +((hrfl-hlfr)*xmr*(sin2d*xmg*(sbar-4d0*xm2)
27761 & +cos2d*xm*(sbar+xmg2-xmr2))
27762 & +2d0*(
ff*cosd2-
hh*sind2)*xm2*(sbar-xmg2-xmr2))
27763 & *(xln1+xln2))/(grs+xms2(1)+xms2(2))
27764 g(6)=(-2d0*hfr*sin2d*(xms2(2)*(grs+xms2(2))+xm2*(sbar-xmg2-xmr2)
27765 & +xmg2*xmr2+xm2*xm2)-2d0*xmr*xmg*(hr2*sind2+fr2*cosd2)*sbar
27766 & -2d0*xmg*xm*hfr*(sbar+xmr2-xmg2)
27767 & -xmr*xm*(hr2+fr2)*sin2d*(sbar+xmg2-xmr2)
27768 & -4d0*xmq4*(hr2-fr2)*cos2d)/(grs+2d0*xms2(2))*xln2
27771 summe(lin)=summe(lin)+g(j)
27776 gam = alphaw * alphas *
pysimp(summe,smin,
smax,nn)
27777 &/ (16d0 * paru(1) * paru(102) * xmglu**3)
27791 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
27794 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
27796 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
27797 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
27798 common/pymssm/imss(0:99),rmss(0:99)
27799 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
27801 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/
27806 DOUBLE PRECISION xmg,xmg2,xmb,xmb2,xmr,xmr2
27807 DOUBLE PRECISION xmt,xmt2,xmst(4),xmsb(4)
27808 DOUBLE PRECISION ulr(2),vlr(2),xmq2,xmq4,am,
w,sbar,smin,
smax
27809 DOUBLE PRECISION summe(0:100),
a(4,8)
27810 DOUBLE PRECISION cos2a,sin2a,cos2c,sin2c
27811 DOUBLE PRECISION grs,xmq3,xmgbtr,xmgtbr,ant1,ant2,anb1,anb2
27812 DOUBLE PRECISION xmglu,gam
27814 DOUBLE PRECISION xx1(2),xx2(2),aaa(2),bbb(2),ccc(2),
27815 &ddd(2),eee(2),
fff(2)
27816 SAVE xx1,xx2,aaa,bbb,ccc,ddd,eee,
fff
27817 DOUBLE PRECISION alphaw,alphas,gsu2
27818 DOUBLE PRECISION amc(2),amn(4)
27820 DOUBLE PRECISION ambot,amsb(2),sinc,cosc
27821 DOUBLE PRECISION amtop,amst(2),sina,cosa
27823 DOUBLE PRECISION sinw,cosw,tanw,cosw2,sinw2
27826 DATA ifirst/.true./
27829 sinb=tanb/
sqrt(1d0+tanb**2)
27843 fakt1=ambot/w2/amw/cosb
27844 fakt2=amtop/w2/amw/sinb
27849 ccc(jj)=fakt1*umix(jj,2)*sinc-umix(jj,1)*cosc
27850 eee(jj)=fakt2*vmix(jj,2)*cosc
27851 ddd(jj)=fakt1*umix(jj,2)*cosc+umix(jj,1)*sinc
27852 fff(jj)=fakt2*vmix(jj,2)*sinc
27853 xx1(jj)=fakt2*vmix(jj,2)*sina-vmix(jj,1)*cosa
27854 aaa(jj)=fakt1*umix(jj,2)*cosa
27855 xx2(jj)=fakt2*vmix(jj,2)*cosa+vmix(jj,1)*sina
27856 bbb(jj)=fakt1*umix(jj,2)*sina
27858 amst(1)=pmas(
pycomp(ksusy1+6),1)
27859 amst(2)=pmas(
pycomp(ksusy2+6),1)
27860 amsb(1)=pmas(
pycomp(ksusy1+5),1)
27861 amsb(2)=pmas(
pycomp(ksusy2+5),1)
27866 ulr(1)=xx1(i)*xx1(i)+aaa(i)*aaa(i)
27867 ulr(2)=xx2(i)*xx2(i)+bbb(i)*bbb(i)
27868 vlr(1)=ccc(i)*ccc(i)+eee(i)*eee(i)
27869 vlr(2)=ddd(i)*ddd(i)+
fff(i)*
fff(i)
27871 cos2a=cosa**2-sina**2
27872 sin2a=sina*cosa*2d0
27873 cos2c=cosc**2-sinc**2
27874 sin2c=sinc*cosc*2d0
27886 xmq2=xmg2+xmt2+xmb2+xmr2
27887 xmq4=xmg*xmt*xmb*xmr
27888 xmq3=xmg2*xmr2+xmt2*xmb2
27889 xmgbtr=(xmg2+xmb2)*(xmt2+xmr2)
27890 xmgtbr=(xmg2+xmt2)*(xmb2+xmr2)
27892 xmst(1)=amst(1)*amst(1)
27893 xmst(2)=amst(1)*amst(1)
27894 xmst(3)=amst(2)*amst(2)
27895 xmst(4)=amst(2)*amst(2)
27896 xmsb(1)=amsb(1)*amsb(1)
27897 xmsb(2)=amsb(2)*amsb(2)
27898 xmsb(3)=amsb(1)*amsb(1)
27899 xmsb(4)=amsb(2)*amsb(2)
27901 a(1,1)=-cosa*sinc*ccc(i)*aaa(i)-sina*cosc*eee(i)*xx1(i)
27902 a(1,2)=xmg*xmb*(cosa*cosc*ccc(i)*aaa(i)+sina*sinc*eee(i)*xx1(i))
27903 a(1,3)=-xmg*xmr*(cosa*cosc*ccc(i)*xx1(i)+sina*sinc*eee(i)*aaa(i))
27904 a(1,4)=xmb*xmr*(cosa*sinc*ccc(i)*xx1(i)+sina*cosc*eee(i)*aaa(i))
27905 a(1,5)=xmg*xmt*(cosa*cosc*eee(i)*xx1(i)+sina*sinc*ccc(i)*aaa(i))
27906 a(1,6)=-xmt*xmb*(cosa*sinc*eee(i)*xx1(i)+sina*cosc*ccc(i)*aaa(i))
27907 a(1,7)=xmt*xmr*(cosa*sinc*eee(i)*aaa(i)+sina*cosc*ccc(i)*xx1(i))
27908 a(1,8)=-xmq4*(cosa*cosc*eee(i)*aaa(i)+sina*sinc*ccc(i)*xx1(i))
27910 a(2,1)=-cosa*cosc*ddd(i)*aaa(i)-sina*sinc*
fff(i)*xx1(i)
27911 a(2,2)=-xmg*xmb*(cosa*sinc*ddd(i)*aaa(i)+sina*cosc*
fff(i)*xx1(i))
27912 a(2,3)=xmg*xmr*(cosa*sinc*ddd(i)*xx1(i)+sina*cosc*
fff(i)*aaa(i))
27913 a(2,4)=xmb*xmr*(cosa*cosc*ddd(i)*xx1(i)+sina*sinc*
fff(i)*aaa(i))
27914 a(2,5)=xmg*xmt*(cosa*sinc*
fff(i)*xx1(i)+sina*cosc*ddd(i)*aaa(i))
27915 a(2,6)=xmt*xmb*(cosa*cosc*
fff(i)*xx1(i)+sina*sinc*ddd(i)*aaa(i))
27916 a(2,7)=-xmt*xmr*(cosa*cosc*
fff(i)*aaa(i)+sina*sinc*ddd(i)*xx1(i))
27917 a(2,8)=-xmq4*(cosa*sinc*
fff(i)*aaa(i)+sina*cosc*ddd(i)*xx1(i))
27919 a(3,1)=-cosa*cosc*eee(i)*xx2(i)-sina*sinc*ccc(i)*bbb(i)
27920 a(3,2)=xmg*xmb*(cosa*sinc*eee(i)*xx2(i)+sina*cosc*ccc(i)*bbb(i))
27921 a(3,3)=xmg*xmr*(cosa*sinc*eee(i)*bbb(i)+sina*cosc*ccc(i)*xx2(i))
27922 a(3,4)=-xmb*xmr*(cosa*cosc*eee(i)*bbb(i)+sina*sinc*ccc(i)*xx2(i))
27923 a(3,5)=-xmg*xmt*(cosa*sinc*ccc(i)*bbb(i)+sina*cosc*eee(i)*xx2(i))
27924 a(3,6)=xmt*xmb*(cosa*cosc*ccc(i)*bbb(i)+sina*sinc*eee(i)*xx2(i))
27925 a(3,7)=xmt*xmr*(cosa*cosc*ccc(i)*xx2(i)+sina*sinc*eee(i)*bbb(i))
27926 a(3,8)=-xmq4*(cosa*sinc*ccc(i)*xx2(i)+sina*cosc*eee(i)*bbb(i))
27928 a(4,1)=-cosa*sinc*
fff(i)*xx2(i)-sina*cosc*ddd(i)*bbb(i)
27929 a(4,2)=-xmg*xmb*(cosa*cosc*
fff(i)*xx2(i)+sina*sinc*ddd(i)*bbb(i))
27930 a(4,3)=-xmg*xmr*(cosa*cosc*
fff(i)*bbb(i)+sina*sinc*ddd(i)*xx2(i))
27931 a(4,4)=-xmb*xmr*(cosa*sinc*
fff(i)*bbb(i)+sina*cosc*ddd(i)*xx2(i))
27932 a(4,5)=-xmg*xmt*(cosa*cosc*ddd(i)*bbb(i)+sina*sinc*
fff(i)*xx2(i))
27933 a(4,6)=-xmt*xmb*(cosa*sinc*ddd(i)*bbb(i)+sina*cosc*
fff(i)*xx2(i))
27934 a(4,7)=-xmt*xmr*(cosa*sinc*ddd(i)*xx2(i)+sina*cosc*
fff(i)*bbb(i))
27935 a(4,8)=-xmq4*(cosa*cosc*ddd(i)*xx2(i)+sina*sinc*
fff(i)*bbb(i))
27937 smax=(xmg-abs(xmr))**2
27938 smin=(xmb+xmt)**2+0.1d0
27941 sbar=smin+dble(lin)*(
smax-smin)/dble(nn)
27942 am=(xmg2-xmr2)*(xmt2-xmb2)/2d0/sbar
27945 w=dsqrt(
w)/2d0/sbar
27946 ant1=
log(abs((grs/2d0+am+xmst(1)-
w)/(grs/2d0+am+xmst(1)+
w)))
27947 ant2=
log(abs((grs/2d0+am+xmst(3)-
w)/(grs/2d0+am+xmst(3)+
w)))
27948 anb1=
log(abs((grs/2d0-am+xmsb(1)-
w)/(grs/2d0-am+xmsb(1)+
w)))
27949 anb2=
log(abs((grs/2d0-am+xmsb(2)-
w)/(grs/2d0-am+xmsb(2)+
w)))
27950 summe(lin)=-ulr(1)*
w+(ulr(1)*(xmq2/2d0-xmst(1)-xmg*xmt*sin2a)
27951 & +2d0*xx1(i)*aaa(i)*xmr*xmb)*ant1
27952 & +(ulr(1)/2d0*(xmst(1)*(xmq2-xmst(1))-xmgtbr
27953 & -2d0*xmg*xmt*sin2a*(xmst(1)-xmb2-xmr2))
27954 & +2d0*xx1(i)*aaa(i)*xmr*xmb*(xmst(1)-xmg2-xmt2)
27955 & +4d0*sin2a*xx1(i)*aaa(i)*xmq4)
27956 & *(1d0/(grs/2d0+am+xmst(1)-
w)-1d0/(grs/2d0+am+xmst(1)+
w))
27957 summe(lin)=summe(lin)-ulr(2)*
w
27958 & +(ulr(2)*(xmq2/2d0-xmst(3)+xmg*xmt*sin2a)
27959 & -2d0*xx2(i)*bbb(i)*xmr*xmb)*ant2
27960 & +(ulr(2)/2d0*(xmst(3)*(xmq2-xmst(3))-xmgtbr
27961 & +2d0*xmg*xmt*sin2a*(xmst(3)-xmb2-xmr2))
27962 & -2d0*xx2(i)*bbb(i)*xmr*xmb*(xmst(3)-xmg2-xmt2)
27963 & +4d0*sin2a*xx2(i)*bbb(i)*xmq4)
27964 & *(1d0/(grs/2d0+am+xmst(3)-
w)-1d0/(grs/2d0+am+xmst(3)+
w))
27965 summe(lin)=summe(lin)-vlr(1)*
w
27966 & +(vlr(1)*(xmq2/2d0-xmsb(1)-xmg*xmb*sin2c)
27967 & +2d0*ccc(i)*eee(i)*xmr*xmt)*anb1
27968 & +(vlr(1)/2d0*(xmsb(1)*(xmq2-xmsb(1))-xmgbtr
27969 & -2d0*xmg*xmb*sin2c*(xmsb(1)-xmt2-xmr2))
27970 & +2d0*ccc(i)*eee(i)*xmr*xmt*(xmsb(1)-xmg2-xmb2)
27971 & +4d0*sin2c*ccc(i)*eee(i)*xmq4)
27972 & *(1d0/(grs/2d0-am+xmsb(1)-
w)-1d0/(grs/2d0-am+xmsb(1)+
w))
27973 summe(lin)=summe(lin)-vlr(2)*
w
27974 & +(vlr(2)*(xmq2/2d0-xmsb(2)+xmg*xmb*sin2c)
27975 & -2d0*ddd(i)*
fff(i)*xmr*xmt)*anb2
27976 & +(vlr(2)/2d0*(xmsb(2)*(xmq2-xmsb(2))-xmgbtr
27977 & +2d0*xmg*xmb*sin2c*(xmsb(2)-xmt2-xmr2))
27978 & -2d0*ddd(i)*
fff(i)*xmr*xmt*(xmsb(2)-xmg2-xmb2)
27979 & +4d0*sin2c*ddd(i)*
fff(i)*xmq4)
27980 & *(1d0/(grs/2d0-am+xmsb(2)-
w)-1d0/(grs/2d0-am+xmsb(2)+
w))
27981 summe(lin)=summe(lin)+2d0*xmg*xmt*cos2a/(xmst(3)-xmst(1))
27982 & *((aaa(i)*bbb(i)-xx1(i)*xx2(i))
27983 & *((xmst(3)-xmb2-xmr2)*ant2-(xmst(1)-xmb2-xmr2)*ant1)
27984 & +2d0*(aaa(i)*xx2(i)-xx1(i)*bbb(i))*xmb*xmr*(ant2-ant1))
27985 summe(lin)=summe(lin)+2d0*xmg*xmb*cos2c/(xmsb(2)-xmsb(1))
27986 & *((eee(i)*
fff(i)-ccc(i)*ddd(i))
27987 & *((xmsb(2)-xmt2-xmr2)*anb2-(xmsb(1)-xmt2-xmr2)*anb1)
27988 & +2d0*(eee(i)*ddd(i)-ccc(i)*
fff(i))*xmt*xmr*(anb2-anb1))
27990 summe(lin)=summe(lin)-2d0*
a(j,1)*
w
27991 & +((-
a(j,1)*(xmsb(j)*(grs+xmsb(j))+xmq3)
27992 & +
a(j,2)*(xmsb(j)-xmt2-xmr2)+
a(j,3)*(sbar-xmb2-xmt2)
27993 & +
a(j,4)*(xmsb(j)+sbar-xmb2-xmr2)
27994 & -
a(j,5)*(xmsb(j)+sbar-xmg2-xmt2)+
a(j,6)*(xmg2+xmr2-sbar)
27995 & -
a(j,7)*(xmsb(j)-xmg2-xmb2)+2d0*
a(j,8))
27996 & *
log(abs((grs/2d0+xmsb(j)-am-
w)/(grs/2d0+xmsb(j)-am+
w)))
27997 & -(
a(j,1)*(xmst(j)*(grs+xmst(j))+xmq3)
27998 & +
a(j,2)*(xmst(j)+sbar-xmg2-xmb2)-
a(j,3)*(sbar-xmb2-xmt2)
27999 & +
a(j,4)*(xmst(j)-xmg2-xmt2)-
a(j,5)*(xmst(j)-xmr2-xmb2)
28000 & -
a(j,6)*(xmg2+xmr2-sbar)
28001 & -
a(j,7)*(xmst(j)+sbar-xmt2-xmr2)-2d0*
a(j,8))
28002 & *
log(abs((grs/2d0+xmst(j)+am-
w)/(grs/2d0+xmst(j)+am+
w))))
28003 & /(grs+xmsb(j)+xmst(j))
28007 gam= alphaw * alphas *
pysimp(summe,smin,
smax,nn)
28008 &/ (16d0 * paru(1) * paru(102) * xmglu**3)
28032 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
28035 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
28037 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
28038 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
28039 common/pymssm/imss(0:99),rmss(0:99)
28040 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
28042 common/pyints/xxm(20)
28043 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/,/pyints/
28047 DOUBLE PRECISION xmi,xmj,xmf,xmsf1,xmsf2,xmw,xmw2,
28048 &xmz,xmz2,axmj,axmi
28049 DOUBLE PRECISION xmfp,xmf1,xmf2,xmsl,xmg,xmk
28050 DOUBLE PRECISION s12min,s12max
28051 DOUBLE PRECISION xmi2,xmi3,xmj2,xmh,xmh2,xmhp,xmhp2,xma2,xmb2
28052 DOUBLE PRECISION pylamf,xl,qij,rij
28053 DOUBLE PRECISION tanw,xw,aem,
c1,as,ei,t3
28055 DOUBLE PRECISION xlam(0:200)
28056 INTEGER idlam(200,3)
28057 INTEGER lknt,ix,ih,j,ij,i,iknt,fid
28058 INTEGER ith(3),kf1,kf2
28060 DOUBLE PRECISION etah(3),ch(3),dh(3),eh(3)
28061 DOUBLE PRECISION sr2
28062 DOUBLE PRECISION cbeta,sbeta,gr,gl,f12k,f21k
28063 DOUBLE PRECISION gamcon,xmt1,xmt2
28065 DOUBLE PRECISION al,bl,ar,br,alp,arp,blp,brp
28066 DOUBLE PRECISION rat1,rat2
28067 DOUBLE PRECISION t3t,ca,cb,fcol
28068 DOUBLE PRECISION alfa,
beta,tanb
28071 DOUBLE PRECISION prec
28072 INTEGER kfnchi(4),kfcchi(2)
28073 DATA etah/1d0,1d0,-1d0/
28077 DATA pi/3.141592654d0/
28078 DATA sr2/1.4142136d0/
28079 DATA kfnchi/1000022,1000023,1000025,1000035/
28080 DATA kfcchi/1000024,1000037/
28090 tanw =
sqrt(xw/(1d0-xw))
28095 IF(kfin.EQ.kfnchi(2)) ix=2
28096 IF(kfin.EQ.kfnchi(3)) ix=3
28097 IF(kfin.EQ.kfnchi(4)) ix=4
28116 IF(ix.EQ.1.AND.imss(11).EQ.0)
THEN
28121 IF(ix.EQ.2 .AND. imss(10).NE.0 )
THEN
28125 gamcon=aem**3/8d0/pi/xmw2/xw
28126 xmt1=(pmas(
pycomp(ksusy1+6),1)/pmas(6,1))**2
28127 xmt2=(pmas(
pycomp(ksusy2+6),1)/pmas(6,1))**2
28128 xlam(lknt)=
pyxxga(gamcon,axmi,axmj,xmt1,xmt2)
28129 idlam(lknt,1)=ksusy1+22
28132 WRITE(mstu(11),*)
'FORCED N2 -> N1 + GAMMA ',xlam(lknt)
28138 IF(imss(11).EQ.1)
THEN
28141 xmgr=pmas(
pycomp(idg),1)
28144 xfac=(xmi2/(xmp*xmgr))**2*axmi/48d0/pi
28145 IF(axmi.GT.xmgr+pmas(22,1))
THEN
28150 xlam(lknt)=xfac*(zmix(ix,1)*cosw+zmix(ix,2)*sinw)**2
28152 IF(axmi.GT.xmgr+xmz)
THEN
28157 xlam(lknt)=xfac*((zmix(ix,1)*sinw-zmix(ix,2)*cosw)**2 +
28158 $ .5d0*(zmix(ix,3)*cbeta-zmix(ix,4)*sbeta)**2)*(1d0-xmz2/xmi2)**4
28160 IF(axmi.GT.xmgr+pmas(25,1))
THEN
28165 xlam(lknt)=xfac*((zmix(ix,3)*salfa-zmix(ix,4)*calfa)**2)*
28166 $ .5d0*(1d0-pmas(25,1)**2/xmi2)**4
28168 IF(axmi.GT.xmgr+pmas(35,1))
THEN
28173 xlam(lknt)=xfac*((zmix(ix,3)*calfa+zmix(ix,4)*salfa)**2)*
28174 $ .5d0*(1d0-pmas(35,1)**2/xmi2)**4
28176 IF(axmi.GT.xmgr+pmas(36,1))
THEN
28181 xlam(lknt)=xfac*((zmix(ix,3)*sbeta+zmix(ix,4)*cbeta)**2)*
28182 $ .5d0*(1d0-pmas(36,1)**2/xmi2)**4
28192 IF(axmi.GE.axmj.AND.sbeta/cbeta.LE.2d0)
THEN
28193 rat1=zmix(ij,1)**2+zmix(ij,2)**2
28194 rat1=rat1/( 1
d-6+zmix(ix,3)**2+zmix(ix,4)**2 )
28195 rat2=zmix(ix,1)**2+zmix(ix,2)**2
28196 rat2=rat2/( 1
d-6+zmix(ij,3)**2+zmix(ij,4)**2 )
28197 IF((rat1.GT. 0.90d0 .AND. rat1.LT. 1.10d0) .OR.
28198 & (rat2.GT. 0.90d0 .AND. rat2.LT. 1.10d0))
THEN
28200 idlam(lknt,1)=kfnchi(ij)
28203 gamcon=aem**3/8d0/pi/xmw2/xw
28204 xmt1=(pmas(
pycomp(ksusy1+6),1)/pmas(6,1))**2
28205 xmt2=(pmas(
pycomp(ksusy2+6),1)/pmas(6,1))**2
28206 xlam(lknt)=
pyxxga(gamcon,axmi,axmj,xmt1,xmt2)
28211 IF(axmi.GE.axmj+xmz)
THEN
28213 gl=-0.5d0*(zmix(ix,3)*zmix(ij,3)-zmix(ix,4)*zmix(ij,4))
28215 xlam(lknt)=
pyx2xg(
c1/xmw2,xmi,xmj,xmz,gl,gr)
28216 idlam(lknt,1)=kfnchi(ij)
28219 ELSEIF(axmi.GE.axmj)
THEN
28227 xxm(5)=pmas(
pycomp(ksusy1+11),1)
28228 xxm(6)=pmas(
pycomp(ksusy2+11),1)
28231 xxm(9)=-0.5d0*(zmix(ix,3)*zmix(ij,3)-zmix(ix,4)*zmix(ij,4))
28233 xxm(11)=(t3-ei*xw)/(1d0-xw)
28234 xxm(12)=-ei*xw/(1d0-xw)
28235 xxm(13)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))
28236 xxm(14)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))
28237 xxm(15)=sr2*tanw*(ei*zmix(ix,1))
28238 xxm(16)=sr2*tanw*(ei*zmix(ij,1))
28240 s12max=(axmi-axmj)**2
28243 IF( xxm(5).LT.axmi )
THEN
28246 IF(xxm(6).LT.axmi )
THEN
28249 IF(axmi.GE.axmj+2d0*pmas(11,1))
THEN
28251 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28253 idlam(lknt,1)=kfnchi(ij)
28256 IF(axmi.GE.axmj+2d0*pmas(13,1))
THEN
28258 xlam(lknt)=xlam(lknt-1)
28259 idlam(lknt,1)=kfnchi(ij)
28265 IF(abs(sfmix(15,1)).GT.abs(sfmix(15,2)))
THEN
28266 xxm(5)=pmas(
pycomp(ksusy1+15),1)
28267 xxm(6)=pmas(
pycomp(ksusy2+15),1)
28269 xxm(6)=pmas(
pycomp(ksusy1+15),1)
28270 xxm(5)=pmas(
pycomp(ksusy2+15),1)
28272 IF( xxm(5).LT.axmi )
THEN
28275 IF(xxm(6).LT.axmi )
THEN
28279 IF(axmi.GE.axmj+2d0*pmas(15,1))
THEN
28281 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28283 idlam(lknt,1)=kfnchi(ij)
28293 xxm(5)=pmas(
pycomp(ksusy1+12),1)
28295 xxm(11)=(t3-ei*xw)/(1d0-xw)
28296 xxm(12)=-ei*xw/(1d0-xw)
28297 xxm(13)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))
28298 xxm(14)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))
28299 xxm(15)=sr2*tanw*(ei*zmix(ix,1))
28300 xxm(16)=sr2*tanw*(ei*zmix(ij,1))
28302 IF( xxm(5).LT.axmi )
THEN
28307 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28309 idlam(lknt,1)=kfnchi(ij)
28313 xlam(lknt)=xlam(lknt-1)
28314 idlam(lknt,1)=kfnchi(ij)
28318 xxm(5)=pmas(
pycomp(ksusy1+16),1)
28319 IF( xxm(5).LT.axmi )
THEN
28323 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28325 idlam(lknt,1)=kfnchi(ij)
28331 xxm(5)=pmas(
pycomp(ksusy1+1),1)
28332 xxm(6)=pmas(
pycomp(ksusy2+1),1)
28337 xxm(11)=(t3-ei*xw)/(1d0-xw)
28338 xxm(12)=-ei*xw/(1d0-xw)
28339 xxm(13)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))
28340 xxm(14)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))
28341 xxm(15)=sr2*tanw*(ei*zmix(ix,1))
28342 xxm(16)=sr2*tanw*(ei*zmix(ij,1))
28344 IF( xxm(5).LT.axmi .AND. xxm(6).LT.axmi ) goto 140
28345 IF( xxm(5).LT.axmi )
THEN
28347 ELSEIF( xxm(6).LT.axmi )
THEN
28350 IF(axmi.GE.axmj+2d0*pmas(1,1))
THEN
28352 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28354 idlam(lknt,1)=kfnchi(ij)
28357 IF(axmi.GE.axmj+2d0*pmas(3,1))
THEN
28359 xlam(lknt)=xlam(lknt-1)
28360 idlam(lknt,1)=kfnchi(ij)
28366 IF(abs(sfmix(5,1)).GT.abs(sfmix(5,2)))
THEN
28367 xxm(5)=pmas(
pycomp(ksusy1+5),1)
28368 xxm(6)=pmas(
pycomp(ksusy2+5),1)
28370 xxm(6)=pmas(
pycomp(ksusy1+5),1)
28371 xxm(5)=pmas(
pycomp(ksusy2+5),1)
28373 IF( xxm(5).LT.axmi .AND. xxm(6).LT.axmi ) goto 150
28374 IF(xxm(5).LT.axmi)
THEN
28376 ELSEIF(xxm(6).LT.axmi)
THEN
28379 IF(axmi.GE.axmj+2d0*pmas(5,1))
THEN
28381 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28383 idlam(lknt,1)=kfnchi(ij)
28390 xxm(5)=pmas(
pycomp(ksusy1+2),1)
28391 xxm(6)=pmas(
pycomp(ksusy2+2),1)
28396 xxm(11)=(t3-ei*xw)/(1d0-xw)
28397 xxm(12)=-ei*xw/(1d0-xw)
28398 xxm(13)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))
28399 xxm(14)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))
28400 xxm(15)=sr2*tanw*(ei*zmix(ix,1))
28401 xxm(16)=sr2*tanw*(ei*zmix(ij,1))
28403 IF( xxm(5).LT.axmi .AND. xxm(6).LT.axmi ) goto 160
28404 IF(xxm(5).LT.axmi)
THEN
28406 ELSEIF(xxm(6).LT.axmi)
THEN
28409 IF(axmi.GE.axmj+2d0*pmas(2,1))
THEN
28411 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28413 idlam(lknt,1)=kfnchi(ij)
28416 IF(axmi.GE.axmj+2d0*pmas(4,1))
THEN
28418 xlam(lknt)=xlam(lknt-1)
28419 idlam(lknt,1)=kfnchi(ij)
28435 qij=zmix(ix,3)*zmix(ij,2)+zmix(ij,3)*zmix(ix,2)-
28436 & tanw*(zmix(ix,3)*zmix(ij,1)+zmix(ij,3)*zmix(ix,1))
28437 rij=zmix(ix,4)*zmix(ij,2)+zmix(ij,4)*zmix(ix,2)-
28438 & tanw*(zmix(ix,4)*zmix(ij,1)+zmix(ij,4)*zmix(ix,1))
28441 xmh=pmas(ith(ih),1)
28443 IF(axmi.GE.axmj+xmh)
THEN
28445 xl=
pylamf(xmi2,xmj2,xmh2)
28446 f21k=0.5d0*(qij*eh(ih)+rij*dh(ih))
28450 IF(ih.EQ.3) xmk=-xmk
28451 xlam(lknt)=
pyx2xh(
c1,xmi,xmk,xmh,f12k,f21k)
28452 idlam(lknt,1)=kfnchi(ij)
28453 idlam(lknt,2)=ith(ih)
28464 IF(axmi.GE.axmj+xmw)
THEN
28466 gl=zmix(ix,2)*vmix(ij,1)-zmix(ix,4)*vmix(ij,2)/sr2
28467 gr=zmix(ix,2)*umix(ij,1)+zmix(ix,3)*umix(ij,2)/sr2
28468 xlam(lknt)=
pyx2xg(
c1/xmw2,xmi,xmj,xmw,gl,gr)
28469 idlam(lknt,1)=kfcchi(ij)
28473 xlam(lknt)=xlam(lknt-1)
28474 idlam(lknt,1)=-kfcchi(ij)
28477 ELSEIF(axmi.GE.axmj)
THEN
28479 s12max=(axmi-axmj)**2
28480 xxm(5)=zmix(ix,2)*vmix(ij,1)-zmix(ix,4)*vmix(ij,2)/sr2
28481 xxm(6)=zmix(ix,2)*umix(ij,1)+zmix(ix,3)*umix(ij,2)/sr2
28487 xxm(7)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))*umix(ij,1)
28491 xxm(8)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))*vmix(ij,1)
28499 xxm(11)=pmas(
pycomp(ksusy1+11),1)
28500 xxm(12)=pmas(
pycomp(ksusy1+12),1)
28501 IF( xxm(11).LT.axmi .AND. xxm(12).LT.axmi ) goto 190
28502 IF(xxm(11).LT.axmi)
THEN
28504 ELSEIF(xxm(12).LT.axmi)
THEN
28507 IF(axmi.GE.axmj+pmas(11,1)+pmas(12,1))
THEN
28509 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28511 idlam(lknt,1)=kfcchi(ij)
28515 xlam(lknt)=xlam(lknt-1)
28516 idlam(lknt,1)=-idlam(lknt-1,1)
28517 idlam(lknt,2)=-idlam(lknt-1,2)
28518 idlam(lknt,3)=-idlam(lknt-1,3)
28519 IF(axmi.GE.axmj+pmas(13,1)+pmas(14,1))
THEN
28521 xlam(lknt)=xlam(lknt-1)
28522 idlam(lknt,1)=kfcchi(ij)
28526 xlam(lknt)=xlam(lknt-1)
28527 idlam(lknt,1)=-idlam(lknt-1,1)
28528 idlam(lknt,2)=-idlam(lknt-1,2)
28529 idlam(lknt,3)=-idlam(lknt-1,3)
28533 IF(abs(sfmix(15,1)).GT.abs(sfmix(15,2)))
THEN
28534 xxm(11)=pmas(
pycomp(ksusy1+15),1)
28535 xxm(12)=pmas(
pycomp(ksusy1+16),1)
28537 xxm(11)=pmas(
pycomp(ksusy2+15),1)
28538 xxm(12)=pmas(
pycomp(ksusy1+16),1)
28541 IF(xxm(11).LT.axmi)
THEN
28544 IF(xxm(12).LT.axmi)
THEN
28547 IF(axmi.GE.axmj+pmas(15,1)+pmas(16,1))
THEN
28549 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28551 xlam(lknt)=xlam(lknt-1)
28552 idlam(lknt,1)=kfcchi(ij)
28556 xlam(lknt)=xlam(lknt-1)
28557 idlam(lknt,1)=-idlam(lknt-1,1)
28558 idlam(lknt,2)=-idlam(lknt-1,2)
28559 idlam(lknt,3)=-idlam(lknt-1,3)
28567 xxm(7)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))*umix(ij,1)
28571 xxm(8)=-sr2*(t3*zmix(ix,2)-tanw*(t3-ei)*zmix(ix,1))*vmix(ij,1)
28573 xxm(11)=pmas(
pycomp(ksusy1+1),1)
28574 xxm(12)=pmas(
pycomp(ksusy1+2),1)
28575 IF( xxm(11).LT.axmi .AND. xxm(12).LT.axmi ) goto 210
28576 IF(xxm(11).LT.axmi)
THEN
28578 ELSEIF(xxm(12).LT.axmi)
THEN
28581 IF(axmi.GE.axmj+pmas(2,1)+pmas(1,1))
THEN
28583 xlam(lknt)=3d0*
c1**2/xmi3/(16d0*pi)*
28585 idlam(lknt,1)=kfcchi(ij)
28589 xlam(lknt)=xlam(lknt-1)
28590 idlam(lknt,1)=-idlam(lknt-1,1)
28591 idlam(lknt,2)=-idlam(lknt-1,2)
28592 idlam(lknt,3)=-idlam(lknt-1,3)
28593 IF(axmi.GE.axmj+pmas(3,1)+pmas(4,1))
THEN
28595 xlam(lknt)=xlam(lknt-1)
28596 idlam(lknt,1)=kfcchi(ij)
28600 xlam(lknt)=xlam(lknt-1)
28601 idlam(lknt,1)=-idlam(lknt-1,1)
28602 idlam(lknt,2)=-idlam(lknt-1,2)
28603 idlam(lknt,3)=-idlam(lknt-1,3)
28618 IF(axmi.GE.axmj+xmhp)
THEN
28620 gl=cbeta*(zmix(ix,4)*vmix(ij,1)+(zmix(ix,2)+
28621 & zmix(ix,1)*tanw)*vmix(ij,2)/sr2)
28622 gr=sbeta*(zmix(ix,3)*umix(ij,1)-(zmix(ix,2)+
28623 & zmix(ix,1)*tanw)*umix(ij,2)/sr2)
28624 xlam(lknt)=
pyx2xh(
c1,xmi,xmj,xmhp,gl,gr)
28625 idlam(lknt,1)=kfcchi(ij)
28626 idlam(lknt,2)=-ithc
28629 xlam(lknt)=xlam(lknt-1)
28630 idlam(lknt,1)=-idlam(lknt-1,1)
28631 idlam(lknt,2)=-idlam(lknt-1,2)
28632 idlam(lknt,3)=-idlam(lknt-1,3)
28640 IF(j.GE.7.AND.j.LE.10) goto 250
28643 xmsf1=pmas(
pycomp(kf1),1)
28644 xmsf2=pmas(
pycomp(kf2),1)
28654 IF(j.EQ.12.OR.j.EQ.14.OR.j.EQ.16) t3t=1d0
28655 IF(
mod(j,2).EQ.0)
THEN
28656 bl=t3t*zmix(ix,2)+tanw*zmix(ix,1)*(2d0*ei-t3t)
28657 al=xmf*zmix(ix,4)/xmw/sbeta
28658 ar=-2d0*ei*tanw*zmix(ix,1)
28661 bl=t3t*zmix(ix,2)+tanw*zmix(ix,1)*(2d0*ei-t3t)
28662 al=xmf*zmix(ix,3)/xmw/cbeta
28663 ar=-2d0*ei*tanw*zmix(ix,1)
28668 IF(axmi.GE.xmf+xmsf1)
THEN
28672 xl=
pylamf(xmi2,xma2,xmb2)
28673 ca=al*sfmix(j,1)+ar*sfmix(j,2)
28674 cb=bl*sfmix(j,1)+br*sfmix(j,2)
28675 xlam(lknt)=0.5d0*fcol*
c1/8d0/xmi3*
sqrt(xl)*( (xmi2+xmb2-xma2)*
28676 & (ca**2+cb**2)+4d0*ca*cb*xmf*xmi)
28681 xlam(lknt)=xlam(lknt-1)
28682 idlam(lknt,1)=-idlam(lknt-1,1)
28683 idlam(lknt,2)=-idlam(lknt-1,2)
28688 IF(axmi.GE.xmf+xmsf2)
THEN
28692 ca=al*sfmix(j,3)+ar*sfmix(j,4)
28693 cb=bl*sfmix(j,3)+br*sfmix(j,4)
28694 xl=
pylamf(xmi2,xma2,xmb2)
28695 xlam(lknt)=0.5d0*fcol*
c1/8d0/xmi3*
sqrt(xl)*( (xmi2+xmb2-xma2)*
28696 & (ca**2+cb**2)+4d0*ca*cb*xmf*xmi)
28701 xlam(lknt)=xlam(lknt-1)
28702 idlam(lknt,1)=-idlam(lknt-1,1)
28703 idlam(lknt,2)=-idlam(lknt-1,2)
28709 xmj=pmas(
pycomp(ksusy1+21),1)
28710 IF(axmi.GE.xmj)
THEN
28716 xxm(5)=pmas(
pycomp(ksusy1+1),1)
28717 xxm(6)=pmas(
pycomp(ksusy2+1),1)
28723 s12max=(axmi-axmj)**2
28728 xxm(14)=-sr2*(-0.5d0*zmix(ix,2)+tanw*zmix(ix,1)/6d0)
28730 xxm(16)=sr2*(-tanw*zmix(ix,1)/3d0)
28731 IF( xxm(5).LT.axmi .OR. xxm(6).LT.axmi ) goto 260
28732 IF(axmi.GE.axmj+2d0*pmas(1,1))
THEN
28734 xlam(lknt)=4d0*
c1*as/xmi3/(16d0*pi)*
28736 idlam(lknt,1)=ksusy1+21
28739 IF(axmi.GE.axmj+2d0*pmas(3,1))
THEN
28741 xlam(lknt)=xlam(lknt-1)
28742 idlam(lknt,1)=ksusy1+21
28748 IF(abs(sfmix(5,1)).GT.abs(sfmix(5,2)))
THEN
28749 xxm(5)=pmas(
pycomp(ksusy1+5),1)
28750 xxm(6)=pmas(
pycomp(ksusy2+5),1)
28752 xxm(6)=pmas(
pycomp(ksusy1+5),1)
28753 xxm(5)=pmas(
pycomp(ksusy2+5),1)
28755 IF( xxm(5).LT.axmi .OR. xxm(6).LT.axmi ) goto 270
28756 IF(axmi.GE.axmj+2d0*pmas(5,1))
THEN
28758 xlam(lknt)=0.5d0*
c1*as/xmi3/(16d0*pi)*
28760 idlam(lknt,1)=ksusy1+21
28766 xxm(5)=pmas(
pycomp(ksusy1+2),1)
28767 xxm(6)=pmas(
pycomp(ksusy2+2),1)
28769 xxm(14)=-sr2*(0.5d0*zmix(ix,2)+tanw*zmix(ix,1)/6d0)
28771 xxm(16)=sr2*(2d0*tanw*zmix(ix,1)/3d0)
28772 IF( xxm(5).LT.axmi .OR. xxm(6).LT.axmi ) goto 280
28773 IF(axmi.GE.axmj+2d0*pmas(2,1))
THEN
28775 xlam(lknt)=0.5d0*
c1*as/xmi3/(16d0*pi)*
28777 idlam(lknt,1)=ksusy1+21
28780 IF(axmi.GE.axmj+2d0*pmas(4,1))
THEN
28782 xlam(lknt)=xlam(lknt-1)
28783 idlam(lknt,1)=ksusy1+21
28794 IF(xlam(i).LT.0d0) xlam(i)=0d0
28795 xlam(0)=xlam(0)+xlam(i)
28797 IF(xlam(0).EQ.0d0) xlam(0)=1
d-6
28820 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
28823 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
28825 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
28826 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
28827 common/pymssm/imss(0:99),rmss(0:99)
28828 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
28830 common/pyints/xxm(20)
28831 SAVE /
pydat1/,/pydat2/,/pymssm/,/pyssmt/,/pyints/
28835 DOUBLE PRECISION xmi,xmj,xmf,xmsf1,xmsf2,xmw,xmw2,
28836 &xmz,xmz2,axmj,axmi
28837 DOUBLE PRECISION xmfp,xmf1,xmf2,xmsl,xmg
28838 DOUBLE PRECISION s12min,s12max
28839 DOUBLE PRECISION xmi2,xmi3,xmj2,xmh,xmh2,xmhp,xmhp2,xma2,xmb2,xmk
28840 DOUBLE PRECISION pylamf,xl
28841 DOUBLE PRECISION tanw,xw,aem,
c1,as,ei,t3,
beta,alfa
28843 DOUBLE PRECISION xlam(0:200)
28844 INTEGER idlam(200,3)
28845 INTEGER lknt,ix,ih,j,ij,i,iknt,fid
28848 DOUBLE PRECISION etah(3),ch(3),dh(3),eh(3)
28849 DOUBLE PRECISION sr2
28850 DOUBLE PRECISION cbeta,sbeta,gr,gl,f12k,f21k,tanb
28853 DOUBLE PRECISION al,bl,ar,br,alp,blp,arp,brp
28854 DOUBLE PRECISION ca,cb,fcol
28855 INTEGER kf1,kf2,isf
28856 INTEGER kfnchi(4),kfcchi(2)
28858 DOUBLE PRECISION temp
28861 DOUBLE PRECISION prec
28864 DATA etah/1d0,1d0,-1d0/
28865 DATA sr2/1.4142136d0/
28866 DATA pi/3.141592654d0/
28868 DATA kfnchi/1000022,1000023,1000025,1000035/
28869 DATA kfcchi/1000024,1000037/
28878 tanw =
sqrt(xw/(1d0-xw))
28882 IF(kfin.EQ.kfcchi(2)) ix=2
28900 IF(imss(11).EQ.1)
THEN
28903 xmgr=pmas(
pycomp(idg),1)
28906 xfac=(xmi2/(xmp*xmgr))**2*axmi/48d0/pi
28907 IF(axmi.GT.xmgr+xmw)
THEN
28912 xlam(lknt)=xfac*(.5d0*(vmix(ix,1)**2+umix(ix,1)**2)+
28913 & .5d0*((vmix(ix,2)*sbeta)**2+(umix(ix,2)*cbeta)**2))*
28914 & (1d0-xmw2/xmi2)**4
28916 IF(axmi.GT.xmgr+pmas(37,1))
THEN
28921 xlam(lknt)=xfac*(.5d0*((vmix(ix,2)*cbeta)**2+
28922 & (umix(ix,2)*sbeta)**2))
28923 & *(1d0-pmas(37,1)**2/xmi2)**4
28928 IF(ix.EQ.1) goto 150
28934 IF(axmi.GE.axmj+xmz)
THEN
28936 gl=vmix(2,1)*vmix(1,1)+0.5d0*vmix(2,2)*vmix(1,2)
28937 gr=umix(2,1)*umix(1,1)+0.5d0*umix(2,2)*umix(1,2)
28938 xlam(lknt)=
pyx2xg(
c1/xmw2,xmi,xmj,xmz,gl,gr)
28939 idlam(lknt,1)=kfcchi(1)
28944 ELSEIF(axmi.GE.axmj)
THEN
28945 xxm(5)=-(vmix(2,1)*vmix(1,1)+0.5d0*vmix(2,2)*vmix(1,2))
28946 xxm(6)=-(umix(2,1)*umix(1,1)+0.5d0*umix(2,2)*umix(1,2))
28954 s12max=(axmj-axmi)**2
28955 xxm(7)= (-0.5d0+xw)/(1d0-xw)
28956 xxm(8)= xw/(1d0-xw)
28957 xxm(11)=pmas(
pycomp(ksusy1+12),1)
28958 xxm(12)=vmix(2,1)*vmix(1,1)
28959 IF( xxm(11).LT.axmi )
THEN
28962 IF(axmi.GE.axmj+2d0*pmas(11,1))
THEN
28964 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28966 idlam(lknt,1)=kfcchi(1)
28969 IF(axmi.GE.axmj+2d0*pmas(13,1))
THEN
28971 xlam(lknt)=xlam(lknt-1)
28972 idlam(lknt,1)=kfcchi(1)
28975 IF(axmi.GE.axmj+2d0*pmas(15,1))
THEN
28977 xlam(lknt)=xlam(lknt-1)
28978 idlam(lknt,1)=kfcchi(1)
28987 xxm(7)= (0.5d0)/(1d0-xw)
28989 xxm(11)=pmas(
pycomp(ksusy1+11),1)
28990 xxm(12)=umix(2,1)*umix(1,1)
28991 IF( xxm(11).LT.axmi )
THEN
28994 IF(axmi.GE.axmj+2d0*pmas(12,1))
THEN
28996 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*
28998 idlam(lknt,1)=kfcchi(1)
29002 xlam(lknt)=xlam(lknt-1)
29003 idlam(lknt,1)=kfcchi(1)
29007 xlam(lknt)=xlam(lknt-1)
29008 idlam(lknt,1)=kfcchi(1)
29015 xxm(7)= (-0.5d0+xw/3d0)/(1d0-xw)
29016 xxm(8)= xw/3d0/(1d0-xw)
29017 xxm(11)=pmas(
pycomp(ksusy1+2),1)
29018 xxm(12)=vmix(2,1)*vmix(1,1)
29019 IF( xxm(11).LT.axmi ) goto 120
29020 IF(axmi.GE.axmj+2d0*pmas(1,1))
THEN
29022 xlam(lknt)=3d0*
c1**2/xmi3/(16d0*pi)*
29024 idlam(lknt,1)=kfcchi(1)
29027 IF(axmi.GE.axmj+2d0*pmas(3,1))
THEN
29029 xlam(lknt)=xlam(lknt-1)
29030 idlam(lknt,1)=kfcchi(1)
29033 IF(axmi.GE.axmj+2d0*pmas(5,1))
THEN
29035 xlam(lknt)=xlam(lknt-1)
29036 idlam(lknt,1)=kfcchi(1)
29045 xxm(7)= (0.5d0-2d0*xw/3d0)/(1d0-xw)
29046 xxm(8)= -2d0*xw/3d0/(1d0-xw)
29047 xxm(11)=pmas(
pycomp(ksusy1+1),1)
29048 xxm(12)=umix(2,1)*umix(1,1)
29049 IF( xxm(11).LT.axmi ) goto 130
29050 IF(axmi.GE.axmj+2d0*pmas(2,1))
THEN
29052 xlam(lknt)=3d0*
c1**2/xmi3/(16d0*pi)*
29054 idlam(lknt,1)=kfcchi(1)
29057 IF(axmi.GE.axmj+2d0*pmas(4,1))
THEN
29059 xlam(lknt)=xlam(lknt-1)
29060 idlam(lknt,1)=kfcchi(1)
29076 xmh=pmas(ith(ih),1)
29079 IF(axmi.GE.axmj+xmh)
THEN
29081 xl=
pylamf(xmi2,xmj2,xmh2)
29082 f21k=(vmix(2,1)*umix(1,2)*eh(ih) -
29083 & vmix(2,2)*umix(1,1)*dh(ih))/sr2
29084 f12k=(vmix(1,1)*umix(2,2)*eh(ih) -
29085 & vmix(1,2)*umix(2,1)*dh(ih))/sr2
29087 xlam(lknt)=
pyx2xh(
c1,xmi,xmk,xmh,f12k,f21k)
29088 idlam(lknt,1)=kfcchi(1)
29089 idlam(lknt,2)=ith(ih)
29102 IF(axmi.GE.axmj+xmw)
THEN
29104 gl=zmix(ij,2)*vmix(ix,1)-zmix(ij,4)*vmix(ix,2)/sr2
29105 gr=zmix(ij,2)*umix(ix,1)+zmix(ij,3)*umix(ix,2)/sr2
29106 xlam(lknt)=
pyx2xg(
c1/xmw2,xmi,xmj,xmw,gl,gr)
29107 idlam(lknt,1)=kfnchi(ij)
29112 ELSEIF(axmi.GE.axmj)
THEN
29115 s12min=(xmf1+xmf2)**2
29116 s12max=(axmj-axmi)**2
29117 xxm(5)=-1d0/sr2*zmix(ij,4)*vmix(ix,2)+zmix(ij,2)*vmix(ix,1)
29118 xxm(6)= 1d0/sr2*zmix(ij,3)*umix(ix,2)+zmix(ij,2)*umix(ix,1)
29122 xxm(7)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))*umix(ix,1)
29126 xxm(8)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))*vmix(ix,1)
29134 xxm(11)=pmas(
pycomp(ksusy1+11),1)
29135 xxm(12)=pmas(
pycomp(ksusy1+12),1)
29140 IF(xxm(11).LT.axmi)
THEN
29143 IF(xxm(12).LT.axmi)
THEN
29146 IF(axmi.GE.axmj+pmas(11,1)+pmas(12,1))
THEN
29149 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*temp
29150 idlam(lknt,1)=kfnchi(ij)
29155 IF( imss(12).NE. 0 ) goto 220
29156 IF(axmi.GE.axmj+pmas(13,1)+pmas(14,1))
THEN
29158 xxm(11)=pmas(
pycomp(ksusy1+13),1)
29159 xxm(12)=pmas(
pycomp(ksusy1+14),1)
29160 IF(xxm(11).LT.axmi)
THEN
29162 ELSEIF(xxm(12).LT.axmi)
THEN
29166 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*temp
29167 idlam(lknt,1)=kfnchi(ij)
29170 IF(axmi.GE.axmj+pmas(15,1)+pmas(16,1))
THEN
29172 IF(abs(sfmix(15,1)).GT.abs(sfmix(15,2)))
THEN
29173 xxm(11)=pmas(
pycomp(ksusy1+15),1)
29175 xxm(11)=pmas(
pycomp(ksusy2+15),1)
29177 xxm(12)=pmas(
pycomp(ksusy1+16),1)
29178 IF(xxm(11).LT.axmi)
THEN
29181 IF(xxm(12).LT.axmi)
THEN
29185 xlam(lknt)=
c1**2/xmi3/(16d0*pi)*temp
29186 idlam(lknt,1)=kfnchi(ij)
29198 xxm(7)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))*umix(ix,1)
29202 xxm(8)=-sr2*(t3*zmix(ij,2)-tanw*(t3-ei)*zmix(ij,1))*vmix(ix,1)
29204 xxm(11)=pmas(
pycomp(ksusy1+1),1)
29205 xxm(12)=pmas(
pycomp(ksusy1+2),1)
29206 IF( xxm(11).LT.axmi .AND. xxm(12).LT.axmi ) goto 170
29207 IF(xxm(11).LT.axmi)
THEN
29209 ELSEIF(xxm(12).LT.axmi)
THEN
29212 IF(axmi.GE.axmj+pmas(1,1)+pmas(2,1))
THEN
29214 xlam(lknt)=3d0*
c1**2/xmi3/(16d0*pi)*
29216 idlam(lknt,1)=kfnchi(ij)
29219 IF(axmi.GE.axmj+pmas(3,1)+pmas(4,1))
THEN
29221 xlam(lknt)=xlam(lknt-1)
29222 idlam(lknt,1)=kfnchi(ij)
29238 IF(axmi.GE.axmj+xmhp)
THEN
29240 gl=cbeta*(zmix(ij,4)*vmix(ix,1)+(zmix(ij,2)+
29241 & zmix(ij,1)*tanw)*vmix(ix,2)/sr2)
29242 gr=sbeta*(zmix(ij,3)*umix(ix,1)-(zmix(ij,2)+
29243 & zmix(ij,1)*tanw)*umix(ix,2)/sr2)
29244 xlam(lknt)=
pyx2xh(
c1,xmi,xmj,xmhp,gl,gr)
29245 idlam(lknt,1)=kfnchi(ij)
29255 IF(j.GE.7.AND.j.LE.10) goto 200
29256 IF(
mod(j,2).EQ.0)
THEN
29262 xmsf1=pmas(
pycomp(kf1),1)
29263 xmsf2=pmas(
pycomp(kf2),1)
29272 IF(
mod(j,2).EQ.0)
THEN
29275 bl=-xmf*vmix(ix,2)/xmw/sbeta/sr2
29276 ar=-xmfp*umix(ix,2)/xmw/cbeta/sr2
29282 bl=-xmf*umix(ix,2)/xmw/cbeta/sr2
29284 ar=-xmfp*vmix(ix,2)/xmw/sbeta/sr2
29289 IF(axmi.GE.xmf+xmsf1)
THEN
29293 xl=
pylamf(xmi2,xma2,xmb2)
29294 ca=al*sfmix(isf,1)+ar*sfmix(isf,2)
29295 cb=bl*sfmix(isf,1)+br*sfmix(isf,2)
29296 xlam(lknt)=fcol*
c1/8d0/xmi3*
sqrt(xl)*( (xmi2+xmb2-xma2)*
29297 & (ca**2+cb**2)+4d0*ca*cb*xmf*xmi)
29299 IF(
mod(j,2).EQ.0)
THEN
29309 IF(axmi.GE.xmf+xmsf2)
THEN
29313 ca=al*sfmix(isf,3)+ar*sfmix(isf,4)
29314 cb=bl*sfmix(isf,3)+br*sfmix(isf,4)
29315 xl=
pylamf(xmi2,xma2,xmb2)
29316 xlam(lknt)=fcol*
c1/8d0/xmi3*
sqrt(xl)*( (xmi2+xmb2-xma2)*
29317 & (ca**2+cb**2)+4d0*ca*cb*xmf*xmi)
29319 IF(
mod(j,2).EQ.0)
THEN
29331 xmj=pmas(
pycomp(ksusy1+21),1)
29332 IF(axmi.GE.xmj)
THEN
29335 s12max=(axmi-axmj)**2
29344 xxm(7)=umix(ix,1)*sr2
29345 xxm(8)=vmix(ix,1)*sr2
29346 xxm(11)=pmas(
pycomp(ksusy1+1),1)
29347 xxm(12)=pmas(
pycomp(ksusy1+2),1)
29348 IF( xxm(11).LT.axmi .OR. xxm(12).LT.axmi ) goto 210
29349 IF(axmi.GE.axmj+pmas(1,1)+pmas(2,1))
THEN
29351 xlam(lknt)=4d0*
c1*as/xmi3/(16d0*pi)*
29353 idlam(lknt,1)=ksusy1+21
29356 IF(axmi.GE.axmj+pmas(3,1)+pmas(4,1))
THEN
29358 xlam(lknt)=xlam(lknt-1)
29359 idlam(lknt,1)=ksusy1+21
29370 xlam(0)=xlam(0)+xlam(i)
29371 IF(xlam(i).LT.0d0)
THEN
29372 WRITE(mstu(11),*)
' XLAM(I) = ',xlam(i),kcin,
29373 & (idlam(i,j),j=1,3)
29377 IF(xlam(0).EQ.0d0)
THEN
29379 WRITE(mstu(11),*)
' XLAM(0) = ',xlam(0)
29380 WRITE(mstu(11),*) lknt
29381 WRITE(mstu(11),*) (xlam(j),j=1,lknt)
29395 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
29398 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
29400 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
29401 common/pyints/xxm(20)
29406 DOUBLE PRECISION xm12,xm22,xm32,
s,s23,s13,wprop2
29407 DOUBLE PRECISION ww,wf1,wf2,wfl1,wfl2
29408 DOUBLE PRECISION sij
29409 DOUBLE PRECISION sr2,ol,or,fld,flu,xmv,xmg,xmsu,xmsd
29410 DOUBLE PRECISION le,re,le2,re2,ol2,or2,fli,flj,fri,frj
29411 DOUBLE PRECISION s23min,s23max,s23ave,s23del
29413 DATA sr2/1.4142136d0/
29435 s23ave=xm22+xm32-0.5d0/
x*(
x+xm32-xm12)*(
x+xm22-
s)
29436 s23del=0.5d0/
x*
sqrt( ( (
x-xm12-xm32)**2-4d0*xm12*xm32)*
29437 &( (
x-xm22-
s)**2 -4d0*xm22*
s ) )
29439 s23min=(s23ave-s23del)
29440 s23max=(s23ave+s23del)
29459 wprop2=(s13-xmv**2)**2+(xmv*xmg)**2
29460 sij=2d0*xxm(2)*xxm(4)*s13
29462 IF(xmv.LE.1000d0)
THEN
29463 ww=2d0*(le2+re2)*(ol2)*( 2d0*tint(s23max,s23min,xm22,
s)
29464 & +sij*(s23max-s23min) )/wprop2
29465 IF(xxm(5).LE.10000d0)
THEN
29466 wfl1=2d0*fli*flj*ol*le*( 2d0*tint2(s23max,s23min,xm22,
s,xmsd)
29467 & + sij*tprop(s23max,s23min,xmsd) )
29468 wfl1=wfl1*(s13-xmv**2)/wprop2
29472 IF(xxm(6).LE.10000d0)
THEN
29473 wfl2=2d0*fri*frj*or*re*( 2d0*tint2(s23max,s23min,xm22,
s,xmsu)
29474 & + sij*tprop(s23max,s23min,xmsu) )
29475 wfl2=wfl2*(s13-xmv**2)/wprop2
29484 IF(xxm(5).LE.10000d0)
THEN
29485 wf1=0.5d0*(fli*flj)**2*( 2d0*tint3(s23max,s23min,xm22,
s,xmsd)
29486 & + sij*utint(s23max,s23min,xmsd,xm22+
s-s13-xmsd) )
29490 IF(xxm(6).LE.10000d0)
THEN
29491 wf2=0.5d0*(fri*frj)**2*( 2d0*tint3(s23max,s23min,xm22,
s,xmsu)
29492 & + sij*utint(s23max,s23min,xmsu,xm22+
s-s13-xmsu) )
29499 pyxxz5=(ww+wf1+wf2+wfl1+wfl2)
29501 WRITE(mstu(11),*)
' NEGATIVE WT IN PYXXZ5 '
29502 WRITE(mstu(11),*) xxm(1),xxm(2),xxm(3),xxm(4)
29503 WRITE(mstu(11),*) (xxm(i),i=5,8)
29504 WRITE(mstu(11),*) (xxm(i),i=9,12)
29505 WRITE(mstu(11),*) (xxm(i),i=13,16)
29506 WRITE(mstu(11),*) ww,wf1,wf2,wfl1,wfl2
29507 WRITE(mstu(11),*) s23min,s23max
29522 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
29525 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
29527 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
29528 common/pyints/xxm(20)
29533 DOUBLE PRECISION xm12,xm22,xm32,
s,s23,s13,s12,wprop2
29534 DOUBLE PRECISION ww,wu,wd,wwu,wwd,wud
29535 DOUBLE PRECISION sr2,ol,or,fld,flu,xmv,xmg,xmsd,xmsu
29536 DOUBLE PRECISION sij
29537 DOUBLE PRECISION s23min,s23max,s23ave,s23del
29541 DATA sr2/1.4142136d0/
29562 IF(xxm(1).EQ.0.AND.xxm(3).EQ.0d0)
THEN
29563 s23ave=0.5d0*(xm22+
s-s13)
29564 s23del=0.5d0*
sqrt( (
x-xm22-
s)**2-4d0*xm22*
s )
29566 s23ave=xm22+xm32-0.5d0/
x*(
x+xm32-xm12)*(
x+xm22-
s)
29567 s23del=0.5d0/
x*
sqrt( ( (
x-xm12-xm32)**2-4d0*xm12*xm32)*
29568 & ( (
x-xm22-
s)**2 -4d0*xm22*
s ) )
29570 s23min=(s23ave-s23del)
29571 s23max=(s23ave+s23del)
29572 IF(s23del.LT.1
d-3)
THEN
29585 wprop2=((s13-xmv**2)**2+(xmv*xmg)**2)
29586 sij=s13*xxm(2)*xxm(4)
29587 IF(xmv.LE.1000d0)
THEN
29588 ww=(or**2+ol**2)*tint(s23max,s23min,xm22,
s)
29589 & -2d0*ol*or*sij*(s23max-s23min)
29591 IF(xxm(11).LE.10000d0)
THEN
29592 wwd=ol*sij*tprop(s23max,s23min,xmsd)
29593 & -or*tint2(s23max,s23min,xm22,
s,xmsd)
29595 wwd=wwd*(s13-xmv**2)/wprop2
29599 IF(xxm(12).LE.10000d0)
THEN
29600 wwu=or*sij*tprop(s23max,s23min,xmsu)
29601 & -ol*tint2(s23max,s23min,xm22,
s,xmsu)
29603 wwu=wwu*(s13-xmv**2)/wprop2
29612 IF(xxm(12).LE.10000d0)
THEN
29613 wu=0.5d0*flu**2*tint3(s23max,s23min,xm22,
s,xmsu)
29617 IF(xxm(11).LE.10000d0)
THEN
29618 wd=0.5d0*fld**2*tint3(s23max,s23min,xm22,
s,xmsd)
29622 IF(xxm(11).LE.10000d0.AND.xxm(12).LE.10000d0)
THEN
29623 wud=flu*fld*sij*utint(s23max,s23min,xmsd,xm22+
s-s13-xmsu)
29628 pyxxw5=ww+wu+wd+wwu+wwd+wud
29632 WRITE(mstu(11),*)
' NEGATIVE WT IN PYXXW5 '
29633 WRITE(mstu(11),*) ww,wu,wd
29634 WRITE(mstu(11),*) wwd,wwu,wud
29635 WRITE(mstu(11),*)
sqrt(s13)
29636 WRITE(mstu(11),*) tint(s23max,s23min,xm22,
s)
29653 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
29657 DOUBLE PRECISION pyxxga,c0,xm1,xm2,xmtr,xmtl
29658 DOUBLE PRECISION f1,
f2
29660 f1=(1d0+xmtr/(1d0-xmtr)*
log(xmtr))/(1d0-xmtr)
29661 f2=(1d0+xmtl/(1d0-xmtl)*
log(xmtl))/(1d0-xmtl)
29662 pyxxga=c0*((xm1**2-xm2**2)/xm1)**3
29676 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
29680 DOUBLE PRECISION pyx2xg,xm1,xm2,xm3,gl,gr
29682 DOUBLE PRECISION xmi2,xmj2,xmv2,xmi3
29688 xl=
pylamf(xmi2,xmj2,xmv2)
29690 &*((gl**2+gr**2)*(xl+3d0*xmv2*(xmi2+xmj2-xmv2))-
29691 &12d0*gl*gr*xm1*xm2*xmv2)
29704 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
29708 DOUBLE PRECISION pyx2xh,xm1,xm2,xm3,gl,gr
29710 DOUBLE PRECISION xmi2,xmj2,xmv2,xmi3
29716 xl=
pylamf(xmi2,xmj2,xmv2)
29718 &*((gl**2+gr**2)*(xmi2+xmj2-xmv2)+
29719 &4d0*gl*gr*xm1*xm2)
29732 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
29735 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
29737 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
29738 common/pyints/xxm(20)
29743 DOUBLE PRECISION xm12,xm22,xm32,
s,s23,s13,s12,wprop2
29744 DOUBLE PRECISION ww,wu,wd,wwu,wwd,wud
29745 DOUBLE PRECISION sr2,ol,or,fld,flu,xmv,xmg,xmsl
29746 DOUBLE PRECISION sij
29747 DOUBLE PRECISION le,re,le2,re2,ol2,or2,ct
29748 DOUBLE PRECISION s23min,s23max,s23ave,s23del
29750 DATA sr2/1.4142136d0/
29769 IF(xxm(1).EQ.0.AND.xxm(3).EQ.0d0)
THEN
29770 s23ave=0.5d0*(xm22+
s-s13)
29771 s23del=0.5d0*
sqrt( (
x-xm22-
s)**2-4d0*xm22*
s )
29773 s23ave=xm22+xm32-0.5d0/
x*(
x+xm32-xm12)*(
x+xm22-
s)
29774 s23del=0.5d0/
x*
sqrt( ( (
x-xm12-xm32)**2-4d0*xm12*xm32)*
29775 & ( (
x-xm22-
s)**2 -4d0*xm22*
s ) )
29777 s23min=(s23ave-s23del)
29778 s23max=(s23ave+s23del)
29779 IF(s23del.LT.1
d-3)
THEN
29797 wprop2=(s13-xmv**2)**2+(xmv*xmg)**2
29798 sij=xxm(2)*xxm(4)*s13
29799 ww=(le2+re2)*(or2+ol2)*2d0*tint(s23max,s23min,xm22,
s)
29800 &- 4d0*(le2+re2)*ol*or*sij*(s23max-s23min)
29802 IF(xmsl.GT.1d4*
s)
THEN
29806 wd=0.5d0*ct**2*tint3(s23max,s23min,xm22,
s,xmsl)
29807 wwd=ol*tint2(s23max,s23min,xm22,
s,xmsl)-
29808 & or*sij*tprop(s23max,s23min,xmsl)
29809 wwd=2d0*wwd*le*ct*(s13-xmv**2)/wprop2
29814 WRITE(mstu(11),*)
' NEGATIVE WT IN PYXXZ2 '
29815 WRITE(mstu(11),*) ww,wd,wwd
29816 WRITE(mstu(11),*) s23min,s23max
29817 WRITE(mstu(11),*) (xxm(i),i=1,4)
29818 WRITE(mstu(11),*) (xxm(i),i=5,8)
29819 WRITE(mstu(11),*) (xxm(i),i=9,12)
29834 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
29837 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
29839 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
29840 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
29841 common/pypars/mstp(200),parp(200),msti(200),pari(200)
29842 common/pymssm/imss(0:99),rmss(0:99)
29843 common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
29845 SAVE /
pydat1/,/pydat2/,/pypars/,/pymssm/,/pyssmt/
29849 DOUBLE PRECISION xmi,xmj,xmf,xmsf1,xmsf2,xmw,xmw2,
29850 &xmz,xmz2,axmj,axmi
29851 DOUBLE PRECISION xmfp,xmf1,xmf2,xmsl,xmg
29852 DOUBLE PRECISION s12min,s12max
29853 DOUBLE PRECISION xmi2,xmi3,xmj2,xmh,xmh2,xmhp,xmhp2,xma2,xmb2
29854 DOUBLE PRECISION pylamf,xl,cf,ei
29855 INTEGER idu,ic,ilr,ifl
29856 DOUBLE PRECISION tanw,xw,aem,
c1,as
29857 DOUBLE PRECISION pyh2xx,ghll,ghrr,ghlr
29858 DOUBLE PRECISION xlam(0:200)
29859 INTEGER idlam(200,3)
29860 INTEGER lknt,ix,ih,j,ij,i,iknt,ik
29862 INTEGER kfnchi(4),kfcchi(2)
29863 DOUBLE PRECISION etah(3),ch(3),dh(3),eh(3)
29864 DOUBLE PRECISION sr2
29865 DOUBLE PRECISION beta,alfa
29866 DOUBLE PRECISION cbeta,sbeta,gr,gl,f12k,f21k,tanb
29868 DOUBLE PRECISION al,bl,ar,br,alp,arp,blp,brp,alr
29869 DOUBLE PRECISION xmk,axmk,xmk2,cosa,sina,cw,xml
29870 DOUBLE PRECISION xmuz,atrit,atrib,atril
29871 DOUBLE PRECISION xmjl,xmjr,xm1,xm2
29872 DATA ith/25,35,36,37/
29873 DATA etah/1d0,1d0,-1d0/
29874 DATA sr2/1.4142136d0/
29875 DATA pi/3.141592654d0/
29876 DATA kfnchi/1000022,1000023,1000025,1000035/
29877 DATA kfcchi/1000024,1000037/
29887 tanw =
sqrt(xw/(1d0-xw))
29892 IF(kfin.EQ.ith(2)) ih=2
29893 IF(kfin.EQ.ith(3)) ih=3
29894 IF(kfin.EQ.ith(4)) ih=4
29916 IF(ih.EQ.4) goto 180
29932 IF(axmi.GE.axmj+axmk)
THEN
29935 & eh(ih)*( zmix(ik,3)*zmix(ij,2)+zmix(ij,3)*zmix(ik,2)
29936 & -tanw*(zmix(ik,3)*zmix(ij,1)+zmix(ij,3)*zmix(ik,1)) )+
29937 & 0.5d0*dh(ih)*( zmix(ik,4)*zmix(ij,2)+zmix(ij,4)*zmix(ik,2)
29938 & -tanw*(zmix(ik,4)*zmix(ij,1)+zmix(ij,4)*zmix(ik,1)) )
29940 & eh(ih)*(zmix(ij,3)*zmix(ik,2)+zmix(ik,3)*zmix(ij,2)
29941 & -tanw*(zmix(ij,3)*zmix(ik,1)+zmix(ik,3)*zmix(ij,1)))+
29942 & 0.5d0*dh(ih)*( zmix(ij,4)*zmix(ik,2)+zmix(ik,4)*zmix(ij,2)
29943 & -tanw*(zmix(ij,4)*zmix(ik,1)+zmix(ik,4)*zmix(ij,1)) )
29946 xlam(lknt)=
pyh2xx(
c1,xmi,xmj,xml,f12k,f21k)
29947 IF(ij.EQ.ik) xlam(lknt)=xlam(lknt)*0.5d0
29948 idlam(lknt,1)=kfnchi(ij)
29949 idlam(lknt,2)=kfnchi(ik)
29962 IF(axmi.GE.axmj+axmk)
THEN
29964 f21k=(vmix(ij,1)*umix(ik,2)*eh(ih) -
29965 & vmix(ij,2)*umix(ik,1)*dh(ih))/sr2
29966 f12k=(vmix(ik,1)*umix(ij,2)*eh(ih) -
29967 & vmix(ik,2)*umix(ij,1)*dh(ih))/sr2
29969 xlam(lknt)=
pyh2xx(
c1,xmi,xmj,xml,f12k,f21k)
29970 idlam(lknt,1)=kfcchi(ij)
29971 idlam(lknt,2)=-kfcchi(ik)
29979 IF(ifl.GE.7.AND.ifl.LE.10) goto 160
29982 xmjr=pmas(
pycomp(ij+ksusy1),1)
29983 IF(axmi.GE.2d0*
min(xmjl,xmjr))
THEN
29986 xl=
pylamf(xmi2,xmj2,xmj2)
29993 ghll=-xmz/cw*(0.5d0+ei*xw)*
sin(alfa+
beta)+
29994 & xmf**2/xmw*sina/cbeta
29995 ghrr=xmz/cw*(ei*xw)*
sin(alfa+
beta)+
29996 & xmf**2/xmw*sina/cbeta
29998 ghlr=-xmf/2d0/xmw/cbeta*(xmuz*cosa-
30000 ELSEIF(ifl.EQ.15)
THEN
30001 ghlr=-xmf/2d0/xmw/cbeta*(xmuz*cosa-
30007 ghll=xmz/cw*(0.5d0-ei*xw)*
sin(alfa+
beta)-
30008 & xmf**2/xmw*cosa/sbeta
30009 ghrr=xmz/cw*(ei*xw)*
sin(alfa+
beta)-
30010 & xmf**2/xmw*cosa/sbeta
30012 ghlr=xmf/2d0/xmw/sbeta*(xmuz*sina-
30019 ELSEIF(ih.EQ.2)
THEN
30021 ghll=xmz/cw*(0.5d0+ei*xw)*
cos(alfa+
beta)-
30022 & xmf**2/xmw*cosa/cbeta
30023 ghrr=-xmz/cw*(ei*xw)*
cos(alfa+
beta)-
30024 & xmf**2/xmw*cosa/cbeta
30026 ghlr=-xmf/2d0/xmw/cbeta*(xmuz*sina+
30028 ELSEIF(ifl.EQ.15)
THEN
30029 ghlr=-xmf/2d0/xmw/cbeta*(xmuz*sina+
30035 ghll=-xmz/cw*(0.5d0-ei*xw)*
cos(alfa+
beta)-
30036 & xmf**2/xmw*sina/sbeta
30037 ghrr=-xmz/cw*(ei*xw)*
cos(alfa+
beta)-
30038 & xmf**2/xmw*sina/sbeta
30040 ghlr=-xmf/2d0/xmw/sbeta*(xmuz*cosa+
30047 ELSEIF(ih.EQ.3)
THEN
30053 ghlr=xmf/2d0/xmw*(atrib*tanb-xmuz)
30054 ELSEIF(ifl.EQ.15)
THEN
30055 ghlr=xmf/2d0/xmw*(atril*tanb-xmuz)
30059 ghlr=xmf/2d0/xmw*(atrit/tanb-xmuz)
30063 IF(ih.EQ.3) goto 140
30067 alr=sfmix(ifl,1)*sfmix(ifl,2)
30074 IF(axmi.GE.2d0*xmj)
THEN
30076 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*
30078 & +2d0*ghlr*alr)**2
30084 IF(axmi.GE.2d0*xmjr)
THEN
30088 alr=sfmix(ifl,3)*sfmix(ifl,4)
30091 xl=
pylamf(xmi2,xmj2,xmj2)
30092 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*
30094 & +2d0*ghlr*alr)**2
30095 idlam(lknt,1)=ij+ksusy1
30096 idlam(lknt,2)=-(ij+ksusy1)
30101 IF(axmi.GE.xmjl+xmjr)
THEN
30103 al=sfmix(ifl,1)*sfmix(ifl,3)
30104 ar=sfmix(ifl,2)*sfmix(ifl,4)
30105 alr=sfmix(ifl,1)*sfmix(ifl,4)+sfmix(ifl,2)*sfmix(ifl,3)
30108 xl=
pylamf(xmi2,xmj2,xmjl**2)
30109 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*
30110 & (ghll*al+ghrr*ar)**2
30112 idlam(lknt,2)=-(ij+ksusy1)
30116 idlam(lknt,2)=ij+ksusy1
30118 xlam(lknt)=xlam(lknt-1)
30137 IF(axmi.GE.axmj+axmk)
THEN
30139 gl=cbeta*(zmix(ij,4)*vmix(ik,1)+(zmix(ij,2)+zmix(ij,1)*
30140 & tanw)*vmix(ik,2)/sr2)
30141 gr=sbeta*(zmix(ij,3)*umix(ik,1)-(zmix(ij,2)+zmix(ij,1)*
30142 & tanw)*umix(ik,2)/sr2)
30143 xlam(lknt)=
pyh2xx(
c1,xmi,xmj,-xmk,gl,gr)
30144 idlam(lknt,1)=kfnchi(ij)
30145 idlam(lknt,2)=kfcchi(ik)
30151 gl=-xmw/sr2*(
sin(2d0*
beta)-pmas(6,1)**2/tanb/xmw2)
30152 gr=-pmas(6,1)/sr2/xmw*(xmuz-atrit/tanb)
30158 xm1=pmas(
pycomp(ksusy1+6),1)
30159 xm2=pmas(
pycomp(ksusy1+5),1)
30160 IF(xmi.GE.xm1+xm2)
THEN
30161 xl=
pylamf(xmi2,xm1**2,xm2**2)
30163 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*
30164 & (gl*sfmix(6,1)*sfmix(5,1)+gr*sfmix(6,2)*sfmix(5,1))**2
30165 idlam(lknt,1)=ksusy1+6
30166 idlam(lknt,2)=-(ksusy1+5)
30171 xm1=pmas(
pycomp(ksusy2+6),1)
30172 xm2=pmas(
pycomp(ksusy1+5),1)
30173 IF(xmi.GE.xm1+xm2)
THEN
30174 xl=
pylamf(xmi2,xm1**2,xm2**2)
30176 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*
30177 & (gl*sfmix(6,3)*sfmix(5,1)+gr*sfmix(6,4)*sfmix(5,1))**2
30178 idlam(lknt,1)=ksusy2+6
30179 idlam(lknt,2)=-(ksusy1+5)
30184 xm1=pmas(
pycomp(ksusy1+6),1)
30185 xm2=pmas(
pycomp(ksusy2+5),1)
30186 IF(xmi.GE.xm1+xm2)
THEN
30187 xl=
pylamf(xmi2,xm1**2,xm2**2)
30189 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*
30190 & (gl*sfmix(6,1)*sfmix(5,3)+gr*sfmix(6,2)*sfmix(5,3))**2
30191 idlam(lknt,1)=ksusy1+6
30192 idlam(lknt,2)=-(ksusy2+5)
30197 xm1=pmas(
pycomp(ksusy2+6),1)
30198 xm2=pmas(
pycomp(ksusy2+5),1)
30199 IF(xmi.GE.xm1+xm2)
THEN
30200 xl=
pylamf(xmi2,xm1**2,xm2**2)
30202 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*
30203 & (gl*sfmix(6,3)*sfmix(5,3)+gr*sfmix(6,4)*sfmix(5,3))**2
30204 idlam(lknt,1)=ksusy2+6
30205 idlam(lknt,2)=-(ksusy2+5)
30212 xm1=pmas(
pycomp(ksusy1+ij),1)
30213 xm2=pmas(
pycomp(ksusy1+ij+1),1)
30214 IF(xmi.GE.xm1+xm2)
THEN
30215 xl=
pylamf(xmi2,xm1**2,xm2**2)
30217 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*(gl)**2
30218 idlam(lknt,1)=-(ksusy1+ij)
30219 idlam(lknt,2)=ksusy1+ij+1
30227 xm1=pmas(
pycomp(ksusy1+ij),1)
30228 xm2=pmas(
pycomp(ksusy1+ij+1),1)
30229 IF(xmi.GE.xm1+xm2)
THEN
30230 xl=
pylamf(xmi2,xm1**2,xm2**2)
30232 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*(gl)**2
30233 idlam(lknt,1)=-(ksusy1+ij)
30234 idlam(lknt,2)=ksusy1+ij+1
30240 xm1=pmas(
pycomp(ksusy1+15),1)
30241 xm2=pmas(
pycomp(ksusy1+16),1)
30242 IF(xmi.GE.xm1+xm2)
THEN
30243 xl=
pylamf(xmi2,xm1**2,xm2**2)
30245 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*(gl)**2*sfmix(15,1)**2
30246 idlam(lknt,1)=-(ksusy1+15)
30247 idlam(lknt,2)= ksusy1+16
30252 xm1=pmas(
pycomp(ksusy2+15),1)
30253 xm2=pmas(
pycomp(ksusy1+16),1)
30254 IF(xmi.GE.xm1+xm2)
THEN
30255 xl=
pylamf(xmi2,xm1**2,xm2**2)
30257 xlam(lknt)=cf*
sqrt(xl)/4d0*
c1/xmi3*(gl)**2*sfmix(15,3)**2
30258 idlam(lknt,1)=-(ksusy2+15)
30259 idlam(lknt,2)= ksusy1+16
30267 IF(xlam(i).LE.0d0) xlam(i)=0d0
30268 xlam(0)=xlam(0)+xlam(i)
30270 IF(xlam(0).EQ.0d0) xlam(0)=1
d-6
30283 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30286 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
30290 DOUBLE PRECISION pyh2xx,xm1,xm2,xm3,gl,gr
30292 DOUBLE PRECISION xmi2,xmj2,xmk2,xmi3
30298 xl=
pylamf(xmi2,xmj2,xmk2)
30300 &*((gl**2+gr**2)*(xmi2-xmj2-xmk2)-
30301 &4d0*gl*gr*xm3*xm2)
30303 WRITE(mstu(11),*)
' NEGATIVE WIDTH IN PYH2XX '
30304 WRITE(mstu(11),*) xmi2,xmj2,xmk2,gl,gr,xm1,xm2,xm3
30320 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30325 DOUBLE PRECISION w(12),
x(12)
30326 DATA x( 1) /9.6028985649753623
d-1/,
w( 1) /1.0122853629037626
d-1/
30327 DATA x( 2) /7.9666647741362674
d-1/,
w( 2) /2.2238103445337447
d-1/
30328 DATA x( 3) /5.2553240991632899
d-1/,
w( 3) /3.1370664587788729
d-1/
30329 DATA x( 4) /1.8343464249564980
d-1/,
w( 4) /3.6268378337836198
d-1/
30330 DATA x( 5) /9.8940093499164993
d-1/,
w( 5) /2.7152459411754095
d-2/
30331 DATA x( 6) /9.4457502307323258
d-1/,
w( 6) /6.2253523938647893
d-2/
30332 DATA x( 7) /8.6563120238783174
d-1/,
w( 7) /9.5158511682492785
d-2/
30333 DATA x( 8) /7.5540440835500303
d-1/,
w( 8) /1.2462897125553387
d-1/
30334 DATA x( 9) /6.1787624440264375
d-1/,
w( 9) /1.4959598881657673
d-1/
30335 DATA x(10) /4.5801677765722739
d-1/,
w(10) /1.6915651939500254
d-1/
30336 DATA x(11) /2.8160355077925891
d-1/,
w(11) /1.8260341504492359
d-1/
30337 DATA x(12) /9.5012509837637440
d-2/,
w(12) /1.8945061045506850
d-1/
30341 IF(
b .EQ.
a) go to 140
30353 s8 = s8 +
w(i) * (
f(
c1+u) +
f(
c1-u))
30358 s16 = s16 +
w(i) * (
f(
c1+u) +
f(
c1-u))
30361 IF(dabs(s16-c2*s8) .LE. eps*(1d0+dabs(s16)))
THEN
30363 IF(bb .NE.
b) go to 100
30366 IF(1d0 +
const*abs(c2) .NE. 1d0) go to 110
30368 CALL
pyerrm(18,
'(PYGAUS:) too high accuracy required')
30385 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30389 DOUBLE PRECISION y,x0,
x1,h,
s
30395 s=
s+
y(i)+4d0*
y(i+1)+
y(i+2)
30410 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30430 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30433 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
30435 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
30436 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
30437 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
30438 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
30439 common/pypars/mstp(200),parp(200),msti(200),pari(200)
30443 DOUBLE PRECISION xm(5)
30444 DOUBLE PRECISION s12min,s12max,yjaco1,s23ave,s23df1,s23df2
30445 DOUBLE PRECISION d1,d2,d3,
p1,
p2,
p3,cthe1,sthe1,cthe3,sthe3
30446 DOUBLE PRECISION cphi1,sphi1
30447 DOUBLE PRECISION s23del,eps
30448 DOUBLE PRECISION golden,ax,bx,cx,tol,
xmin,
r,
c
30449 parameter(
r=0.61803399d0,
c=1d0-
r,tol=1
d-3)
30450 DOUBLE PRECISION f1,
f2,x0,
x1,
x2,x3
30454 s12min=(xm(1)+xm(2))**2
30455 s12max=(xm(5)-xm(3))**2
30456 yjaco1=s12max-s12min
30461 bx=s12min+0.5d0*yjaco1
30464 IF(abs(cx-bx).GT.abs(bx-ax))
THEN
30473 s23df1=(
x1-xm(2)**2-xm(1)**2)**2
30474 &-(2d0*xm(1)*xm(2))**2
30475 s23df2=(
x1-xm(3)**2-xm(5)**2)**2
30476 &-(2d0*xm(3)*xm(5))**2
30479 s23del=
sqrt(s23df1*s23df2)/(2d0*
x1)
30481 s23df1=(
x2-xm(2)**2-xm(1)**2)**2
30482 &-(2d0*xm(1)*xm(2))**2
30483 s23df2=(
x2-xm(3)**2-xm(5)**2)**2
30484 &-(2d0*xm(3)*xm(5))**2
30487 s23del=
sqrt(s23df1*s23df2)/(2d0*
x2)
30490 100
IF(abs(x3-x0).GT.tol*(abs(
x1)+abs(
x2)))
THEN
30496 s23df1=(
x2-xm(2)**2-xm(1)**2)**2
30497 & -(2d0*xm(1)*xm(2))**2
30498 s23df2=(
x2-xm(3)**2-xm(5)**2)**2
30499 & -(2d0*xm(3)*xm(5))**2
30502 s23del=
sqrt(s23df1*s23df2)/(2d0*
x2)
30509 s23df1=(
x1-xm(2)**2-xm(1)**2)**2
30510 & -(2d0*xm(1)*xm(2))**2
30511 s23df2=(
x1-xm(3)**2-xm(5)**2)**2
30512 & -(2d0*xm(3)*xm(5))**2
30515 s23del=
sqrt(s23df1*s23df2)/(2d0*
x1)
30530 110 s12=s12min+
pyr(0)*yjaco1
30533 s23ave=xm(2)**2+xm(3)**2-(s12+xm(2)**2-xm(1)**2)
30534 &*(s12+xm(3)**2-xm(5)**2)/(2d0*s12)
30535 s23df1=(s12-xm(2)**2-xm(1)**2)**2
30536 &-(2d0*xm(1)*xm(2))**2
30537 s23df2=(s12-xm(3)**2-xm(5)**2)**2
30538 &-(2d0*xm(3)*xm(5))**2
30541 s23del=
sqrt(s23df1*s23df2)/(2d0*s12)
30543 s23min=s23ave-s23del
30544 s23max=s23ave+s23del
30545 yjaco2=s23max-s23min
30546 s23=s23min+
pyr(0)*yjaco2
30549 IF(iknt.GT.100)
THEN
30550 WRITE(mstu(11),*)
' IKNT > 100 IN PYTBDY '
30553 IF(yjaco2.LT.
pyr(0)*golden) goto 110
30554 120 d3=(xm(5)**2+xm(3)**2-s12)/(2d0*xm(5))
30555 d1=(xm(5)**2+xm(1)**2-s23)/(2d0*xm(5))
30560 cthe1=2d0*
pyr(0)-1d0
30561 ang1=2d0*
pyr(0)*paru(1)
30565 IF(arg.LT.0d0.AND.arg.GT.-1
d-3) arg=0d0
30567 p(
n+1,1)=
p1*sthe1*cphi1
30568 p(
n+1,2)=
p1*sthe1*sphi1
30573 ang3=2d0*
pyr(0)*paru(1)
30578 IF(arg.LT.0d0.AND.arg.GT.-1
d-3) arg=0d0
30580 p(
n+3,1)=-
p3*sthe3*cphi3*cthe1*cphi1
30581 &+
p3*sthe3*sphi3*sphi1
30582 &+
p3*cthe3*sthe1*cphi1
30583 p(
n+3,2)=-
p3*sthe3*cphi3*cthe1*sphi1
30584 &-
p3*sthe3*sphi3*cphi1
30585 &+
p3*cthe3*sthe1*sphi1
30586 p(
n+3,3)=
p3*sthe3*cphi3*sthe1
30591 p(
n+2,i)=-
p(
n+1,i)-
p(
n+3,i)
30606 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30609 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
30610 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
30611 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
30616 IF(mstu(12).GE.1) CALL
pylist(0)
30617 ipa=
max(1,iabs(ip))
30618 IF(ipa.GT.mstu(4)) CALL
pyerrm(21,
30619 &
'(PY1ENT:) writing outside PYJETS memory')
30621 IF(kc.EQ.0) CALL
pyerrm(12,
'(PY1ENT:) unknown flavour code')
30625 IF(mstu(10).EQ.1) pm=
p(ipa,5)
30626 IF(mstu(10).GE.2) pm=
pymass(kf)
30635 IF(ip.LT.0) k(ipa,1)=2
30638 p(ipa,4)=
max(pe,pm)
30639 pa=
sqrt(
p(ipa,4)**2-
p(ipa,5)**2)
30642 p(ipa,3)=pa*
cos(the)
30660 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30663 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
30664 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
30665 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
30670 IF(mstu(12).GE.1) CALL
pylist(0)
30671 ipa=
max(1,iabs(ip))
30672 IF(ipa.GT.mstu(4)-1) CALL
pyerrm(21,
30673 &
'(PY2ENT:) writing outside PYJETS memory')
30676 IF(kc1.EQ.0.OR.kc2.EQ.0) CALL
pyerrm(12,
30677 &
'(PY2ENT:) unknown flavour code')
30681 IF(mstu(10).EQ.1) pm1=
p(ipa,5)
30682 IF(mstu(10).GE.2) pm1=
pymass(kf1)
30684 IF(mstu(10).EQ.1) pm2=
p(ipa+1,5)
30685 IF(mstu(10).GE.2) pm2=
pymass(kf2)
30695 kq1=kchg(kc1,2)*isign(1,kf1)
30696 kq2=kchg(kc2,2)*isign(1,kf2)
30697 IF(mstu(19).EQ.1)
THEN
30700 IF(kq1+kq2.NE.0.AND.kq1+kq2.NE.4) CALL
pyerrm(2,
30701 &
'(PY2ENT:) unphysical flavour combination')
30709 IF(kq1.NE.0.AND.kq2.NE.0) k(ipa,1)=2
30716 k(ipa,4)=mstu(5)*(ipa+1)
30718 k(ipa+1,4)=mstu(5)*ipa
30719 k(ipa+1,5)=k(ipa+1,4)
30723 IF(pecm.LE.pm1+pm2) CALL
pyerrm(13,
30724 &
'(PY2ENT:) energy smaller than sum of masses')
30725 pa=
sqrt(
max(0d0,(pecm**2-pm1**2-pm2**2)**2-(2d0*pm1*pm2)**2))/
30728 p(ipa,4)=
sqrt(pm1**2+pa**2)
30731 p(ipa+1,4)=
sqrt(pm2**2+pa**2)
30751 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30754 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
30755 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
30756 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
30761 IF(mstu(12).GE.1) CALL
pylist(0)
30762 ipa=
max(1,iabs(ip))
30763 IF(ipa.GT.mstu(4)-2) CALL
pyerrm(21,
30764 &
'(PY3ENT:) writing outside PYJETS memory')
30768 IF(kc1.EQ.0.OR.kc2.EQ.0.OR.kc3.EQ.0) CALL
pyerrm(12,
30769 &
'(PY3ENT:) unknown flavour code')
30773 IF(mstu(10).EQ.1) pm1=
p(ipa,5)
30774 IF(mstu(10).GE.2) pm1=
pymass(kf1)
30776 IF(mstu(10).EQ.1) pm2=
p(ipa+1,5)
30777 IF(mstu(10).GE.2) pm2=
pymass(kf2)
30779 IF(mstu(10).EQ.1) pm3=
p(ipa+2,5)
30780 IF(mstu(10).GE.2) pm3=
pymass(kf3)
30790 kq1=kchg(kc1,2)*isign(1,kf1)
30791 kq2=kchg(kc2,2)*isign(1,kf2)
30792 kq3=kchg(kc3,2)*isign(1,kf3)
30793 IF(mstu(19).EQ.1)
THEN
30795 ELSEIF(kq1.EQ.0.AND.kq2.EQ.0.AND.kq3.EQ.0)
THEN
30796 ELSEIF(kq1.NE.0.AND.kq2.EQ.2.AND.(kq1+kq3.EQ.0.OR.
30797 & kq1+kq3.EQ.4))
THEN
30799 CALL
pyerrm(2,
'(PY3ENT:) unphysical flavour combination')
30808 IF(kq1.NE.0.AND.(kq2.NE.0.OR.kq3.NE.0)) k(ipa,1)=2
30810 IF(kq2.NE.0.AND.kq3.NE.0) k(ipa+1,1)=2
30819 IF(kq1.EQ.-1) kcs=5
30820 k(ipa,kcs)=mstu(5)*(ipa+1)
30821 k(ipa,9-kcs)=mstu(5)*(ipa+2)
30822 k(ipa+1,kcs)=mstu(5)*(ipa+2)
30823 k(ipa+1,9-kcs)=mstu(5)*ipa
30824 k(ipa+2,kcs)=mstu(5)*ipa
30825 k(ipa+2,9-kcs)=mstu(5)*(ipa+1)
30830 IF(0.5d0*
x1*pecm.LE.pm1.OR.0.5d0*(2d0-
x1-x3)*pecm.LE.pm2.OR.
30831 &0.5d0*x3*pecm.LE.pm3) mkerr=1
30832 pa1=
sqrt(
max(1
d-10,(0.5d0*
x1*pecm)**2-pm1**2))
30833 pa2=
sqrt(
max(1
d-10,(0.5d0*(2d0-
x1-x3)*pecm)**2-pm2**2))
30834 pa3=
sqrt(
max(1
d-10,(0.5d0*x3*pecm)**2-pm3**2))
30835 cthe2=(pa3**2-pa1**2-pa2**2)/(2d0*pa1*pa2)
30836 cthe3=(pa2**2-pa1**2-pa3**2)/(2d0*pa1*pa3)
30837 IF(abs(cthe2).GE.1.001d0.OR.abs(cthe3).GE.1.001d0) mkerr=1
30838 cthe3=
max(-1d0,
min(1d0,cthe3))
30839 IF(mkerr.NE.0) CALL
pyerrm(13,
30840 &
'(PY3ENT:) unphysical kinematical variable setup')
30844 p(ipa,4)=
sqrt(pa1**2+pm1**2)
30846 p(ipa+2,1)=pa3*
sqrt(1d0-cthe3**2)
30847 p(ipa+2,3)=pa3*cthe3
30848 p(ipa+2,4)=
sqrt(pa3**2+pm3**2)
30850 p(ipa+1,1)=-
p(ipa+2,1)
30851 p(ipa+1,3)=-
p(ipa,3)-
p(ipa+2,3)
30852 p(ipa+1,4)=
sqrt(
p(ipa+1,1)**2+
p(ipa+1,3)**2+pm2**2)
30869 SUBROUTINE py4ent(IP,KF1,KF2,KF3,KF4,PECM,X1,X2,X4,X12,X14)
30872 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
30875 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
30876 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
30877 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
30882 IF(mstu(12).GE.1) CALL
pylist(0)
30883 ipa=
max(1,iabs(ip))
30884 IF(ipa.GT.mstu(4)-3) CALL
pyerrm(21,
30885 &
'(PY4ENT:) writing outside PYJETS momory')
30890 IF(kc1.EQ.0.OR.kc2.EQ.0.OR.kc3.EQ.0.OR.kc4.EQ.0) CALL
pyerrm(12,
30891 &
'(PY4ENT:) unknown flavour code')
30895 IF(mstu(10).EQ.1) pm1=
p(ipa,5)
30896 IF(mstu(10).GE.2) pm1=
pymass(kf1)
30898 IF(mstu(10).EQ.1) pm2=
p(ipa+1,5)
30899 IF(mstu(10).GE.2) pm2=
pymass(kf2)
30901 IF(mstu(10).EQ.1) pm3=
p(ipa+2,5)
30902 IF(mstu(10).GE.2) pm3=
pymass(kf3)
30904 IF(mstu(10).EQ.1) pm4=
p(ipa+3,5)
30905 IF(mstu(10).GE.2) pm4=
pymass(kf4)
30915 kq1=kchg(kc1,2)*isign(1,kf1)
30916 kq2=kchg(kc2,2)*isign(1,kf2)
30917 kq3=kchg(kc3,2)*isign(1,kf3)
30918 kq4=kchg(kc4,2)*isign(1,kf4)
30919 IF(mstu(19).EQ.1)
THEN
30921 ELSEIF(kq1.EQ.0.AND.kq2.EQ.0.AND.kq3.EQ.0.AND.kq4.EQ.0)
THEN
30922 ELSEIF(kq1.NE.0.AND.kq2.EQ.2.AND.kq3.EQ.2.AND.(kq1+kq4.EQ.0.OR.
30923 & kq1+kq4.EQ.4))
THEN
30924 ELSEIF(kq1.NE.0.AND.kq1+kq2.EQ.0.AND.kq3.NE.0.AND.kq3+kq4.EQ.0d0)
30927 CALL
pyerrm(2,
'(PY4ENT:) unphysical flavour combination')
30937 IF(kq1.NE.0.AND.(kq2.NE.0.OR.kq3.NE.0.OR.kq4.NE.0)) k(ipa,1)=2
30939 IF(kq2.NE.0.AND.kq1+kq2.NE.0.AND.(kq3.NE.0.OR.kq4.NE.0))
30942 IF(kq3.NE.0.AND.kq4.NE.0) k(ipa+2,1)=2
30947 ELSEIF(kq1+kq2.NE.0)
THEN
30953 IF(kq1.EQ.-1) kcs=5
30954 k(ipa,kcs)=mstu(5)*(ipa+1)
30955 k(ipa,9-kcs)=mstu(5)*(ipa+3)
30956 k(ipa+1,kcs)=mstu(5)*(ipa+2)
30957 k(ipa+1,9-kcs)=mstu(5)*ipa
30958 k(ipa+2,kcs)=mstu(5)*(ipa+3)
30959 k(ipa+2,9-kcs)=mstu(5)*(ipa+1)
30960 k(ipa+3,kcs)=mstu(5)*ipa
30961 k(ipa+3,9-kcs)=mstu(5)*(ipa+2)
30969 k(ipa,4)=mstu(5)*(ipa+1)
30971 k(ipa+1,4)=mstu(5)*ipa
30972 k(ipa+1,5)=k(ipa+1,4)
30973 k(ipa+2,4)=mstu(5)*(ipa+3)
30974 k(ipa+2,5)=k(ipa+2,4)
30975 k(ipa+3,4)=mstu(5)*(ipa+2)
30976 k(ipa+3,5)=k(ipa+3,4)
30981 IF(0.5d0*
x1*pecm.LE.pm1.OR.0.5d0*
x2*pecm.LE.pm2.OR.
30982 &0.5d0*(2d0-
x1-
x2-x4)*pecm.LE.pm3.OR.0.5d0*x4*pecm.LE.pm4)
30984 pa1=
sqrt(
max(1
d-10,(0.5d0*
x1*pecm)**2-pm1**2))
30985 pa2=
sqrt(
max(1
d-10,(0.5d0*
x2*pecm)**2-pm2**2))
30986 pa4=
sqrt(
max(1
d-10,(0.5d0*x4*pecm)**2-pm4**2))
30987 x24=
x1+
x2+x4-1d0-x12-x14+(pm3**2-pm1**2-pm2**2-pm4**2)/pecm**2
30988 cthe4=(
x1*x4-2d0*x14)*pecm**2/(4d0*pa1*pa4)
30989 IF(abs(cthe4).GE.1.002d0) mkerr=1
30990 cthe4=
max(-1d0,
min(1d0,cthe4))
30991 sthe4=
sqrt(1d0-cthe4**2)
30992 cthe2=(
x1*
x2-2d0*x12)*pecm**2/(4d0*pa1*pa2)
30993 IF(abs(cthe2).GE.1.002d0) mkerr=1
30994 cthe2=
max(-1d0,
min(1d0,cthe2))
30995 sthe2=
sqrt(1d0-cthe2**2)
30996 cphi2=((
x2*x4-2d0*x24)*pecm**2-4d0*pa2*cthe2*pa4*cthe4)/
30997 &
max(1
d-8*pecm**2,4d0*pa2*sthe2*pa4*sthe4)
30998 IF(abs(cphi2).GE.1.05d0) mkerr=1
30999 cphi2=
max(-1d0,
min(1d0,cphi2))
31000 IF(mkerr.EQ.1) CALL
pyerrm(13,
31001 &
'(PY4ENT:) unphysical kinematical variable setup')
31005 p(ipa,4)=
sqrt(pa1**2+pm1**2)
31007 p(ipa+3,1)=pa4*sthe4
31008 p(ipa+3,3)=pa4*cthe4
31009 p(ipa+3,4)=
sqrt(pa4**2+pm4**2)
31011 p(ipa+1,1)=pa2*sthe2*cphi2
31012 p(ipa+1,2)=pa2*sthe2*
sqrt(1d0-cphi2**2)*(-1d0)**
int(
pyr(0)+0.5d0)
31013 p(ipa+1,3)=pa2*cthe2
31014 p(ipa+1,4)=
sqrt(pa2**2+pm2**2)
31016 p(ipa+2,1)=-
p(ipa+1,1)-
p(ipa+3,1)
31017 p(ipa+2,2)=-
p(ipa+1,2)
31018 p(ipa+2,3)=-
p(ipa,3)-
p(ipa+1,3)-
p(ipa+3,3)
31019 p(ipa+2,4)=
sqrt(
p(ipa+2,1)**2+
p(ipa+2,2)**2+
p(ipa+2,3)**2+pm3**2)
31038 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
31041 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
31042 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
31043 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
31049 IF(njoin.LT.2) goto 120
31053 IF(i.LE.0.OR.i.GT.
n) goto 120
31054 IF(k(i,1).LT.1.OR.k(i,1).GT.3) goto 120
31056 IF(kc.EQ.0) goto 120
31057 kq=kchg(kc,2)*isign(1,k(i,2))
31058 IF(kq.EQ.0) goto 120
31059 IF(ijn.NE.1.AND.ijn.NE.njoin.AND.kq.NE.2) goto 120
31060 IF(kq.NE.2) kqsum=kqsum+kq
31061 IF(ijn.EQ.1) kqs=kq
31063 IF(kqsum.NE.0) goto 120
31067 IF(kqs.EQ.2) kcs=
int(4.5d0+
pyr(0))
31071 IF(ijn.NE.1) ip=ijoin(ijn-1)
31072 IF(ijn.EQ.1) ip=ijoin(njoin)
31073 IF(ijn.NE.njoin)
in=ijoin(ijn+1)
31074 IF(ijn.EQ.njoin)
in=ijoin(1)
31075 k(i,kcs)=mstu(5)*
in
31076 k(i,9-kcs)=mstu(5)*ip
31077 IF(ijn.EQ.1.AND.kqs.NE.2) k(i,9-kcs)=0
31078 IF(ijn.EQ.njoin.AND.kqs.NE.2) k(i,kcs)=0
31084 &
'(PYJOIN:) given entries can not be joined by one string')
31097 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
31100 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
31101 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
31102 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
31103 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
31104 common/pydat4/chaf(500,2)
31106 common/pydatr/mrpy(6),rrpy(100)
31107 common/pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
31108 common/pypars/mstp(200),parp(200),msti(200),pari(200)
31109 common/pyint1/mint(400),vint(400)
31110 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
31111 common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
31112 common/pyint4/mwid(500),wids(500,5)
31113 common/pyint5/ngenpd,ngen(0:500,3),xsec(0:500,3)
31114 common/pyint6/proc(0:500)
31116 common/pyint7/sigt(0:6,0:6,0:5)
31117 common/pyint8/xpvmd(-6:6),xpanl(-6:6),xpanh(-6:6),xpbeh(-6:6),
31119 common/pymssm/imss(0:99),rmss(0:99)
31121 &/pysubs/,/pypars/,/pyint1/,/pyint2/,/pyint3/,/pyint4/,
31122 &/pyint5/,/pyint6/,/pyint7/,/pyint8/,/pymssm/
31124 CHARACTER chin*(*),chfix*104,chbit*104,chold*8,chnew*8,chold2*28,
31125 &chnew2*28,chnam*6,chvar(49)*6,chalp(2)*26,chind*8,chini*10,
31127 dimension msvar(49,8)
31131 DATA chvar/
'N',
'K',
'P',
'V',
'MSTU',
'PARU',
'MSTJ',
'PARJ',
'KCHG',
31132 &
'PMAS',
'PARF',
'VCKM',
'MDCY',
'MDME',
'BRAT',
'KFDP',
'CHAF',
'MRPY',
31133 &
'RRPY',
'MSEL',
'MSUB',
'KFIN',
'CKIN',
'MSTP',
'PARP',
'MSTI',
'PARI',
31134 &
'MINT',
'VINT',
'ISET',
'KFPR',
'COEF',
'ICOL',
'XSFX',
'ISIG',
'SIGH',
31135 &
'MWID',
'WIDS',
'NGEN',
'XSEC',
'PROC',
'SIGT',
'XPVMD',
'XPANL',
31136 &
'XPANH',
'XPBEH',
'XPDIR',
'IMSS',
'RMSS'/
31137 DATA ((msvar(i,j),j=1,8),i=1,49)/ 1,7*0, 1,2,1,4000,1,5,2*0,
31138 &2,2,1,4000,1,5,2*0, 2,2,1,4000,1,5,2*0, 1,1,1,200,4*0,
31139 &2,1,1,200,4*0, 1,1,1,200,4*0, 2,1,1,200,4*0,
31140 &1,2,1,500,1,4,2*0, 2,2,1,500,1,4,2*0, 2,1,1,2000,4*0,
31141 &2,2,1,4,1,4,2*0, 1,2,1,500,1,3,2*0, 1,2,1,4000,1,2,2*0,
31142 &2,1,1,4000,4*0, 1,2,1,4000,1,5,2*0, 3,2,1,500,1,2,2*0,
31143 &1,1,1,6,4*0, 2,1,1,100,4*0,
31144 &1,7*0, 1,1,1,500,4*0, 1,2,1,2,-40,40,2*0, 2,1,1,200,4*0,
31145 &1,1,1,200,4*0, 2,1,1,200,4*0, 1,1,1,200,4*0, 2,1,1,200,4*0,
31146 &1,1,1,400,4*0, 2,1,1,400,4*0, 1,1,1,500,4*0,
31147 &1,2,1,500,1,2,2*0, 2,2,1,500,1,20,2*0, 1,3,1,40,1,4,1,2,
31148 &2,2,1,2,-40,40,2*0, 1,2,1,1000,1,3,2*0, 2,1,1,1000,4*0,
31149 &1,1,1,500,4*0, 2,2,1,500,1,5,2*0, 1,2,0,500,1,3,2*0,
31150 &2,2,0,500,1,3,2*0, 4,1,0,500,4*0, 2,3,0,6,0,6,0,5,
31151 &2,1,-6,6,4*0, 2,1,-6,6,4*0, 2,1,-6,6,4*0,
31152 &2,1,-6,6,4*0, 2,1,-6,6,4*0, 1,1,0,99,4*0, 2,1,0,99,4*0/
31153 DATA chalp/
'abcdefghijklmnopqrstuvwxyz',
31154 &
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
31157 IF(mstu(12).GE.1) CALL
pylist(0)
31161 IF(chbit(lbit:lbit).EQ.
' ') goto 100
31164 IF(chbit(lcom:lcom).EQ.
' ') goto 110
31166 chfix(ltot:ltot)=chbit(lcom:lcom)
31171 IF(lhig.LE.ltot.AND.chfix(lhig:lhig).NE.
';') goto 130
31173 chbit(1:lbit)=chfix(llow+1:lhig-1)
31178 IF(chbit(lnam:lnam).NE.
'('.AND.chbit(lnam:lnam).NE.
'='.AND.
31179 &lnam.LE.6) goto 140
31180 chnam=chbit(1:lnam-1)//
' '
31181 DO 160 lcom=1,lnam-1
31183 IF(chnam(lcom:lcom).EQ.chalp(1)(lalp:lalp)) chnam(lcom:lcom)=
31184 & chalp(2)(lalp:lalp)
31189 IF(chnam.EQ.chvar(iv)) ivar=iv
31192 CALL
pyerrm(18,
'(PYGIVE:) do not recognize variable '//chnam)
31194 IF(llow.LT.ltot) goto 120
31203 IF(chbit(lnam:lnam).EQ.
'(')
THEN
31206 IF(chbit(lind:lind).NE.
')'.AND.chbit(lind:lind).NE.
',') goto 180
31208 IF((chbit(lnam+1:lnam+1).EQ.
'C'.OR.chbit(lnam+1:lnam+1).EQ.
'c')
31209 & .AND.(ivar.EQ.9.OR.ivar.EQ.10.OR.ivar.EQ.13.OR.ivar.EQ.17))
31211 chind(lnam-lind+11:8)=chbit(lnam+2:lind-1)
31212 READ(chind,
'(I8)') kf
31214 ELSEIF(chbit(lnam+1:lnam+1).EQ.
'C'.OR.chbit(lnam+1:lnam+1).EQ.
31216 CALL
pyerrm(18,
'(PYGIVE:) not allowed to use C index for '//
31219 IF(llow.LT.ltot) goto 120
31222 chind(lnam-lind+10:8)=chbit(lnam+1:lind-1)
31223 READ(chind,
'(I8)') i1
31226 IF(chbit(lnam:lnam).EQ.
')') lnam=lnam+1
31229 IF(chbit(lnam:lnam).EQ.
',')
THEN
31232 IF(chbit(lind:lind).NE.
')'.AND.chbit(lind:lind).NE.
',') goto 190
31234 chind(lnam-lind+10:8)=chbit(lnam+1:lind-1)
31235 READ(chind,
'(I8)') i2
31237 IF(chbit(lnam:lnam).EQ.
')') lnam=lnam+1
31240 IF(chbit(lnam:lnam).EQ.
',')
THEN
31243 IF(chbit(lind:lind).NE.
')'.AND.chbit(lind:lind).NE.
',') goto 200
31245 chind(lnam-lind+10:8)=chbit(lnam+1:lind-1)
31246 READ(chind,
'(I8)') i3
31253 IF(nindx.NE.msvar(ivar,2)) ierr=1
31254 IF(nindx.GE.1.AND.(i1.LT.msvar(ivar,3).OR.i1.GT.msvar(ivar,4)))
31256 IF(nindx.GE.2.AND.(i2.LT.msvar(ivar,5).OR.i2.GT.msvar(ivar,6)))
31258 IF(nindx.EQ.3.AND.(i3.LT.msvar(ivar,7).OR.i3.GT.msvar(ivar,8)))
31260 IF(chbit(lnam:lnam).NE.
'=') ierr=5
31262 CALL
pyerrm(18,
'(PYGIVE:) unallowed indices for '//
31265 IF(llow.LT.ltot) goto 120
31272 ELSEIF(ivar.EQ.2)
THEN
31274 ELSEIF(ivar.EQ.3)
THEN
31276 ELSEIF(ivar.EQ.4)
THEN
31278 ELSEIF(ivar.EQ.5)
THEN
31280 ELSEIF(ivar.EQ.6)
THEN
31282 ELSEIF(ivar.EQ.7)
THEN
31284 ELSEIF(ivar.EQ.8)
THEN
31286 ELSEIF(ivar.EQ.9)
THEN
31288 ELSEIF(ivar.EQ.10)
THEN
31290 ELSEIF(ivar.EQ.11)
THEN
31292 ELSEIF(ivar.EQ.12)
THEN
31294 ELSEIF(ivar.EQ.13)
THEN
31296 ELSEIF(ivar.EQ.14)
THEN
31298 ELSEIF(ivar.EQ.15)
THEN
31300 ELSEIF(ivar.EQ.16)
THEN
31302 ELSEIF(ivar.EQ.17)
THEN
31304 ELSEIF(ivar.EQ.18)
THEN
31306 ELSEIF(ivar.EQ.19)
THEN
31308 ELSEIF(ivar.EQ.20)
THEN
31310 ELSEIF(ivar.EQ.21)
THEN
31312 ELSEIF(ivar.EQ.22)
THEN
31314 ELSEIF(ivar.EQ.23)
THEN
31316 ELSEIF(ivar.EQ.24)
THEN
31318 ELSEIF(ivar.EQ.25)
THEN
31320 ELSEIF(ivar.EQ.26)
THEN
31322 ELSEIF(ivar.EQ.27)
THEN
31324 ELSEIF(ivar.EQ.28)
THEN
31326 ELSEIF(ivar.EQ.29)
THEN
31328 ELSEIF(ivar.EQ.30)
THEN
31330 ELSEIF(ivar.EQ.31)
THEN
31332 ELSEIF(ivar.EQ.32)
THEN
31334 ELSEIF(ivar.EQ.33)
THEN
31335 iold=icol(i1,i2,i3)
31336 ELSEIF(ivar.EQ.34)
THEN
31338 ELSEIF(ivar.EQ.35)
THEN
31340 ELSEIF(ivar.EQ.36)
THEN
31342 ELSEIF(ivar.EQ.37)
THEN
31344 ELSEIF(ivar.EQ.38)
THEN
31346 ELSEIF(ivar.EQ.39)
THEN
31348 ELSEIF(ivar.EQ.40)
THEN
31350 ELSEIF(ivar.EQ.41)
THEN
31352 ELSEIF(ivar.EQ.42)
THEN
31353 rold=sigt(i1,i2,i3)
31354 ELSEIF(ivar.EQ.43)
THEN
31356 ELSEIF(ivar.EQ.44)
THEN
31358 ELSEIF(ivar.EQ.45)
THEN
31360 ELSEIF(ivar.EQ.46)
THEN
31362 ELSEIF(ivar.EQ.47)
THEN
31364 ELSEIF(ivar.EQ.48)
THEN
31366 ELSEIF(ivar.EQ.49)
THEN
31371 IF(lnam.GE.lbit)
THEN
31373 chbit(15:60)=
' has the value '
31374 IF(msvar(ivar,1).EQ.1)
THEN
31375 WRITE(chbit(51:60),
'(I10)') iold
31376 ELSEIF(msvar(ivar,1).EQ.2)
THEN
31377 WRITE(chbit(47:60),
'(F14.5)') rold
31378 ELSEIF(msvar(ivar,1).EQ.3)
THEN
31383 IF(mstu(13).GE.1)
WRITE(mstu(11),5000) chbit(1:60)
31385 IF(llow.LT.ltot) goto 120
31390 IF(msvar(ivar,1).EQ.1)
THEN
31392 chini(lnam-lbit+11:10)=chbit(lnam+1:lbit)
31393 READ(chini,
'(I10)') inew
31394 ELSEIF(msvar(ivar,1).EQ.2)
THEN
31396 chinr(lnam-lbit+17:16)=chbit(lnam+1:lbit)
31398 ELSEIF(msvar(ivar,1).EQ.3)
THEN
31399 chnew=chbit(lnam+1:lbit)//
' '
31401 chnew2=chbit(lnam+1:lbit)//
' '
31407 ELSEIF(ivar.EQ.2)
THEN
31409 ELSEIF(ivar.EQ.3)
THEN
31411 ELSEIF(ivar.EQ.4)
THEN
31413 ELSEIF(ivar.EQ.5)
THEN
31415 ELSEIF(ivar.EQ.6)
THEN
31417 ELSEIF(ivar.EQ.7)
THEN
31419 ELSEIF(ivar.EQ.8)
THEN
31421 ELSEIF(ivar.EQ.9)
THEN
31423 ELSEIF(ivar.EQ.10)
THEN
31425 ELSEIF(ivar.EQ.11)
THEN
31427 ELSEIF(ivar.EQ.12)
THEN
31429 ELSEIF(ivar.EQ.13)
THEN
31431 ELSEIF(ivar.EQ.14)
THEN
31433 ELSEIF(ivar.EQ.15)
THEN
31435 ELSEIF(ivar.EQ.16)
THEN
31437 ELSEIF(ivar.EQ.17)
THEN
31439 ELSEIF(ivar.EQ.18)
THEN
31441 ELSEIF(ivar.EQ.19)
THEN
31443 ELSEIF(ivar.EQ.20)
THEN
31445 ELSEIF(ivar.EQ.21)
THEN
31447 ELSEIF(ivar.EQ.22)
THEN
31449 ELSEIF(ivar.EQ.23)
THEN
31451 ELSEIF(ivar.EQ.24)
THEN
31453 ELSEIF(ivar.EQ.25)
THEN
31455 ELSEIF(ivar.EQ.26)
THEN
31457 ELSEIF(ivar.EQ.27)
THEN
31459 ELSEIF(ivar.EQ.28)
THEN
31461 ELSEIF(ivar.EQ.29)
THEN
31463 ELSEIF(ivar.EQ.30)
THEN
31465 ELSEIF(ivar.EQ.31)
THEN
31467 ELSEIF(ivar.EQ.32)
THEN
31469 ELSEIF(ivar.EQ.33)
THEN
31470 icol(i1,i2,i3)=inew
31471 ELSEIF(ivar.EQ.34)
THEN
31473 ELSEIF(ivar.EQ.35)
THEN
31475 ELSEIF(ivar.EQ.36)
THEN
31477 ELSEIF(ivar.EQ.37)
THEN
31479 ELSEIF(ivar.EQ.38)
THEN
31481 ELSEIF(ivar.EQ.39)
THEN
31483 ELSEIF(ivar.EQ.40)
THEN
31485 ELSEIF(ivar.EQ.41)
THEN
31487 ELSEIF(ivar.EQ.42)
THEN
31488 sigt(i1,i2,i3)=rnew
31489 ELSEIF(ivar.EQ.43)
THEN
31491 ELSEIF(ivar.EQ.44)
THEN
31493 ELSEIF(ivar.EQ.45)
THEN
31495 ELSEIF(ivar.EQ.46)
THEN
31497 ELSEIF(ivar.EQ.47)
THEN
31499 ELSEIF(ivar.EQ.48)
THEN
31501 ELSEIF(ivar.EQ.49)
THEN
31507 chbit(15:60)=
' changed from to '
31508 IF(msvar(ivar,1).EQ.1)
THEN
31509 WRITE(chbit(33:42),
'(I10)') iold
31510 WRITE(chbit(51:60),
'(I10)') inew
31511 IF(mstu(13).GE.1)
WRITE(mstu(11),5000) chbit(1:60)
31512 ELSEIF(msvar(ivar,1).EQ.2)
THEN
31513 WRITE(chbit(29:42),
'(F14.5)') rold
31514 WRITE(chbit(47:60),
'(F14.5)') rnew
31515 IF(mstu(13).GE.1)
WRITE(mstu(11),5000) chbit(1:60)
31516 ELSEIF(msvar(ivar,1).EQ.3)
THEN
31519 IF(mstu(13).GE.1)
WRITE(mstu(11),5000) chbit(1:60)
31521 chbit(15:88)=
' changed from '//chold2//
' to '//chnew2
31522 IF(mstu(13).GE.1)
WRITE(mstu(11),5100) chbit(1:88)
31525 IF(llow.LT.ltot) goto 120
31528 5000
FORMAT(5
x,a60)
31529 5100
FORMAT(5
x,a88)
31542 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
31545 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
31546 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
31547 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
31548 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
31549 common/pyint4/mwid(500),wids(500,5)
31552 dimension ps(2,6),ijoin(100)
31556 IF(mstu(12).GE.1) CALL
pylist(0)
31557 mstu(31)=mstu(31)+1
31561 IF(mstu(17).LE.0) mstu(90)=0
31572 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 130
31574 ps(1,j)=ps(1,j)+
p(i,j)
31576 ps(1,6)=ps(1,6)+
pychge(k(i,2))
31589 IF(k(ip,1).GT.0.AND.k(ip,1).LE.10) kc=
pycomp(k(ip,2))
31594 ELSEIF(mwid(kc).NE.0)
THEN
31596 IF(kchg(kc,2).NE.0.AND.k(i,1).NE.3)
THEN
31599 IF(ibeg.GE.2.AND.k(ibeg,1).EQ.2) goto 160
31600 IF(k(ibeg,1).NE.2) ibeg=ibeg+1
31603 IF(iend.LT.
n.AND.k(iend,1).EQ.2) goto 170
31604 IF(iend.LT.
n.AND.kchg(
pycomp(k(iend,2)),2).EQ.0) goto 170
31607 IF(kchg(
pycomp(k(iend,2)),2).NE.0)
THEN
31618 ELSEIF(kchg(kc,2).EQ.0)
THEN
31619 IF(mstj(21).GE.1.AND.mdcy(kc,1).GE.1.AND.(mstj(51).LE.0.OR.mbe
31620 & .EQ.2.OR.pmas(kc,2).GE.parj(91).OR.iabs(k(ip,2)).EQ.311))
31624 IF(mstj(92).GT.0)
THEN
31626 qmax=
sqrt(
max(0d0,(
p(ip1,4)+
p(ip1+1,4))**2-(
p(ip1,1)+
p(ip1+1,
31627 & 1))**2-(
p(ip1,2)+
p(ip1+1,2))**2-(
p(ip1,3)+
p(ip1+1,3))**2))
31628 CALL
pyshow(ip1,ip1+1,qmax)
31631 ELSEIF(mstj(92).LT.0)
THEN
31639 ELSEIF(k(ip,1).EQ.1.OR.k(ip,1).EQ.2)
THEN
31641 IF(mfrag.GE.1.AND.k(ip,1).EQ.1) mfrag=2
31642 IF(mstj(21).GE.2.AND.k(ip,1).EQ.2.AND.
n.GT.ip)
THEN
31643 IF(k(ip+1,1).EQ.1.AND.k(ip+1,3).EQ.k(ip,3).AND.
31644 & k(ip,3).GT.0.AND.k(ip,3).LT.ip)
THEN
31645 IF(kchg(
pycomp(k(k(ip,3),2)),2).EQ.0) mfrag=
min(1,mfrag)
31648 IF(mfrag.EQ.1) CALL
pystrf(ip)
31649 IF(mfrag.EQ.2) CALL
pyindf(ip)
31650 IF(mfrag.EQ.2.AND.k(ip,1).EQ.1) mcons=0
31651 IF(mfrag.EQ.2.AND.(mstj(3).LE.0.OR.
mod(mstj(3),5).EQ.0)) mcons=0
31655 IF(mstu(24).NE.0.AND.mstu(21).GE.2)
THEN
31656 ELSEIF(ip.LT.
n.AND.
n.LT.mstu(4)-20-mstu(32))
THEN
31658 ELSEIF(ip.LT.
n)
THEN
31659 CALL
pyerrm(11,
'(PYEXEC:) no more memory left in PYJETS')
31663 IF(mbe.EQ.1.AND.mstj(51).GE.1)
THEN
31670 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 200
31672 ps(2,j)=ps(2,j)+
p(i,j)
31674 ps(2,6)=ps(2,6)+
pychge(k(i,2))
31676 pdev=(abs(ps(2,1)-ps(1,1))+abs(ps(2,2)-ps(1,2))+abs(ps(2,3)-
31677 &ps(1,3))+abs(ps(2,4)-ps(1,4)))/(1d0+abs(ps(2,4))+abs(ps(1,4)))
31678 IF(mcons.EQ.1.AND.pdev.GT.paru(11)) CALL
pyerrm(15,
31679 &
'(PYEXEC:) four-momentum was not conserved')
31680 IF(mcons.EQ.1.AND.abs(ps(2,6)-ps(1,6)).GT.0.1d0) CALL
pyerrm(15,
31681 &
'(PYEXEC:) charge was not conserved')
31695 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
31698 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
31699 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
31700 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
31701 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
31704 dimension dps(5),dpc(5),ue(3)
31709 DO 120 i=
max(1,ip),
n
31710 IF(k(i,1).NE.3) goto 120
31712 IF(kc.EQ.0) goto 120
31714 IF(kq.EQ.0.OR.(mqgst.EQ.1.AND.kq.EQ.2)) goto 120
31718 IF(kq*isign(1,k(i,2)).LT.0) kcs=5
31722 IF(nstp.GT.4*
n)
THEN
31723 CALL
pyerrm(14,
'(PYPREP:) caught in infinite loop')
31728 IF(k(ia,1).EQ.3)
THEN
31729 IF(i1.GE.mstu(4)-mstu(32)-5)
THEN
31730 CALL
pyerrm(11,
'(PYPREP:) no more memory left in PYJETS')
31735 IF(nstp.GE.2.AND.kchg(
pycomp(k(ia,2)),2).NE.2) k(i1,1)=1
31745 IF(k(i1,1).EQ.1) goto 120
31750 IF(
mod(k(ib,kcs)/mstu(5)**2,2).EQ.0.AND.
mod(k(ib,kcs),mstu(5))
31752 ia=
mod(k(ib,kcs),mstu(5))
31753 k(ib,kcs)=k(ib,kcs)+mstu(5)**2
31756 IF(k(ib,kcs).GE.2*mstu(5)**2.OR.
mod(k(ib,kcs)/mstu(5),
31757 & mstu(5)).EQ.0) kcs=9-kcs
31758 ia=
mod(k(ib,kcs)/mstu(5),mstu(5))
31759 k(ib,kcs)=k(ib,kcs)+2*mstu(5)**2
31762 IF(ia.LE.0.OR.ia.GT.
n)
THEN
31763 CALL
pyerrm(12,
'(PYPREP:) colour rearrangement failed')
31766 IF(
mod(k(ia,4)/mstu(5),mstu(5)).EQ.ib.OR.
mod(k(ia,5)/mstu(5),
31767 & mstu(5)).EQ.ib)
THEN
31768 IF(mrev.EQ.1) kcs=9-kcs
31769 IF(
mod(k(ia,kcs)/mstu(5),mstu(5)).NE.ib) kcs=9-kcs
31770 k(ia,kcs)=k(ia,kcs)+2*mstu(5)**2
31772 IF(mrev.EQ.0) kcs=9-kcs
31773 IF(
mod(k(ia,kcs),mstu(5)).NE.ib) kcs=9-kcs
31774 k(ia,kcs)=k(ia,kcs)+mstu(5)**2
31776 IF(ia.NE.i) goto 100
31781 IF(mstj(14).LT.0)
RETURN
31784 IF(mstj(14).EQ.0) goto 320
31789 DO 190 i=
max(1,ip),
ns
31790 IF(k(i,1).NE.1.AND.k(i,1).NE.2)
THEN
31791 ELSEIF(k(i,1).EQ.2.AND.ic.EQ.0)
THEN
31799 ELSEIF(k(i,1).EQ.2)
THEN
31801 dps(j)=dps(j)+
p(i,j)
31803 ELSEIF(ic.NE.0.AND.kchg(
pycomp(k(i,2)),2).NE.0)
THEN
31805 dps(j)=dps(j)+
p(i,j)
31808 dps(5)=dps(5)+
pymass(k(i,2))
31809 pd=
sqrt(
max(0d0,dps(4)**2-dps(1)**2-dps(2)**2-dps(3)**2))-
31824 IF(pdm.GE.parj(32)) goto 320
31828 pecm=
sqrt(
max(0d0,dpc(4)**2-dpc(1)**2-dpc(2)**2-dpc(3)**2))
31843 IF(mstu(16).NE.2)
THEN
31854 IF(iabs(k(ic1,2)).NE.21)
THEN
31857 IF(kc1.EQ.0.OR.kc2.EQ.0) goto 320
31858 kq1=kchg(kc1,2)*isign(1,k(ic1,2))
31859 kq2=kchg(kc2,2)*isign(1,k(ic2,2))
31860 IF(kq1+kq2.NE.0) goto 320
31861 200 CALL
pykfdi(k(ic1,2),0,kfln,k(
n+2,2))
31862 CALL
pykfdi(k(ic2,2),-kfln,kfldmp,k(
n+3,2))
31863 IF(k(
n+2,2).EQ.0.OR.k(
n+3,2).EQ.0) goto 200
31865 IF(iabs(k(ic2,2)).NE.21) goto 320
31866 210 CALL
pykfdi(1+
int((2d0+parj(2))*
pyr(0)),0,kfln,kfdmp)
31867 CALL
pykfdi(kfln,0,kflm,k(
n+2,2))
31868 CALL
pykfdi(-kfln,-kflm,kfldmp,k(
n+3,2))
31869 IF(k(
n+2,2).EQ.0.OR.k(
n+3,2).EQ.0) goto 210
31873 IF(
p(
n+2,5)+
p(
n+3,5)+parj(64).GE.pecm.AND.nsin.EQ.1) goto 320
31874 IF(
p(
n+2,5)+
p(
n+3,5)+parj(64).GE.pecm) goto 260
31877 IF(pecm.GE.0.02d0*dpc(4))
THEN
31878 pa=
sqrt((pecm**2-(
p(
n+2,5)+
p(
n+3,5))**2)*(pecm**2-
31879 & (
p(
n+2,5)-
p(
n+3,5))**2))/(2d0*pecm)
31880 ue(3)=2d0*
pyr(0)-1d0
31891 CALL
pyrobo(
n+2,
n+3,0d0,0d0,dpc(1)/dpc(4),dpc(2)/dpc(4),
31896 IF(k(i,1).EQ.1.OR.k(i,1).EQ.2) np=np+1
31898 ha=
p(ic1,4)*
p(ic2,4)-
p(ic1,1)*
p(ic2,1)-
p(ic1,2)*
p(ic2,2)-
31899 &
p(ic1,3)*
p(ic2,3)
31900 IF(np.GE.3.OR.ha.LE.1.25d0*
p(ic1,5)*
p(ic2,5)) goto 260
31901 hd1=0.5d0*(
p(
n+2,5)**2-
p(ic1,5)**2)
31902 hd2=0.5d0*(
p(
n+3,5)**2-
p(ic2,5)**2)
31903 hr=
sqrt(
max(0d0,((ha-hd1-hd2)**2-(
p(
n+2,5)*
p(
n+3,5))**2)/
31904 & (ha**2-(
p(ic1,5)*
p(ic2,5))**2)))-1d0
31905 hc=
p(ic1,5)**2+2d0*ha+
p(ic2,5)**2
31906 hk1=((
p(ic2,5)**2+ha)*hr+hd1-hd2)/hc
31907 hk2=((
p(ic1,5)**2+ha)*hr+hd2-hd1)/hc
31909 p(
n+2,j)=(1d0+hk1)*
p(ic1,j)-hk2*
p(ic2,j)
31910 p(
n+3,j)=(1d0+hk2)*
p(ic2,j)-hk1*
p(ic1,j)
31926 IF(iabs(k(ic1,2)).GT.100.AND.iabs(k(ic2,2)).GT.100)
THEN
31928 ELSEIF(iabs(k(ic1,2)).NE.21)
THEN
31929 CALL
pykfdi(k(ic1,2),k(ic2,2),kfldmp,k(
n+2,2))
31931 kfln=1+
int((2d0+parj(2))*
pyr(0))
31932 CALL
pykfdi(kfln,-kfln,kfldmp,k(
n+2,2))
31934 IF(k(
n+2,2).EQ.0) goto 260
31942 IF(ir.NE.0) goto 280
31943 DO 270 i=
max(1,ip),
n
31944 IF(k(i,1).LE.0.OR.k(i,1).GT.10.OR.(i.GE.ic1.AND.i.LE.ic2
31945 & .AND.k(i,1).GE.1.AND.k(i,1).LE.2)) goto 270
31946 IF(mcomb.EQ.1) kci=
pycomp(k(i,2))
31947 IF(mcomb.EQ.1.AND.kci.EQ.0) goto 270
31948 IF(mcomb.EQ.1.AND.kchg(kci,2).EQ.0.AND.i.LE.
ns) goto 270
31949 IF(mcomb.EQ.2.AND.iabs(k(i,2)).GT.10.AND.iabs(k(i,2)).LE.100)
31951 hcr=dpc(4)*
p(i,4)-dpc(1)*
p(i,1)-dpc(2)*
p(i,2)-dpc(3)*
p(i,3)
31952 hsr=2d0*hcr+pecm**2-
p(
n+2,5)**2-2d0*
p(
n+2,5)*
p(i,5)
31953 IF(hsr.GT.hsm)
THEN
31966 hk2=0.5d0*(hb*
sqrt(
max(0d0,((hb+hc)**2-4d0*(hb+hd)*
p(
n+2,5)**2)/
31967 & (ha**2-(pecm*
p(ir,5))**2)))-(hb+hc))/(hb+hd)
31968 hk1=(0.5d0*(
p(
n+2,5)**2-pecm**2)+hd*hk2)/hb
31970 p(
n+2,j)=(1d0+hk1)*dpc(j)-hk2*
p(ir,j)
31971 p(ir,j)=(1d0+hk2)*
p(ir,j)-hk1*dpc(j)
31979 CALL
pyerrm(3,
'(PYPREP:) no match for collapsing cluster')
31984 300
DO 310 i=ic1,ic2
31985 IF((k(i,1).EQ.1.OR.k(i,1).EQ.2).AND.kchg(
pycomp(k(i,2)),2).NE.0)
31988 IF(mstu(16).NE.2)
THEN
31997 IF(
n.LT.mstu(4)-mstu(32)-5) goto 140
32006 DO 360 i=
max(1,ip),
n
32007 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 360
32009 IF(kc.EQ.0) goto 360
32010 kq=kchg(kc,2)*isign(1,k(i,2))
32011 IF(kq.EQ.0) goto 360
32017 dps(5)=dps(5)+
pymass(k(i,2))
32020 dps(j)=dps(j)+
p(i,j)
32022 IF(k(i,1).EQ.1)
THEN
32023 IF(np.NE.1.AND.(kfn.EQ.1.OR.kfn.GE.3.OR.kqs.NE.0)) CALL
32024 &
pyerrm(2,
'(PYPREP:) unphysical flavour combination')
32025 IF(np.NE.1.AND.dps(4)**2-dps(1)**2-dps(2)**2-dps(3)**2.LT.
32026 & (0.9d0*parj(32)+dps(5))**2) CALL
pyerrm(3,
32027 &
'(PYPREP:) too small mass in jet system')
32049 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
32052 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
32053 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
32054 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
32057 dimension dps(5),kfl(3),pmq(3),
px(3),
py(3),gam(3),ie(2),pr(2),
32058 &
in(9),dhm(4),dhg(4),dp(5,5),irank(2),mju(4),iju(3),pju(5,5),
32059 &tju(5),kfjh(2),njs(2),kfjs(2),pjs(4,5),mstu9t(8),paru9t(8)
32062 four(i,j)=
p(i,4)*
p(j,4)-
p(i,1)*
p(j,1)-
p(i,2)*
p(j,2)-
p(i,3)*
p(j,3)
32063 dfour(i,j)=dp(i,4)*dp(j,4)-dp(i,1)*dp(j,1)-dp(i,2)*dp(j,2)-
32079 IF(i.GT.
min(
n,mstu(4)-mstu(32)))
THEN
32080 CALL
pyerrm(12,
'(PYSTRF:) failed to reconstruct jet system')
32081 IF(mstu(21).GE.1)
RETURN
32083 IF(k(i,1).NE.1.AND.k(i,1).NE.2.AND.k(i,1).NE.41) goto 110
32085 IF(kc.EQ.0) goto 110
32086 kq=kchg(kc,2)*isign(1,k(i,2))
32087 IF(kq.EQ.0) goto 110
32088 IF(
n+5*np+11.GT.mstu(4)-mstu(32)-5)
THEN
32089 CALL
pyerrm(11,
'(PYSTRF:) no more memory left in PYJETS')
32090 IF(mstu(21).GE.1)
RETURN
32098 IF(j.NE.4) dps(j)=dps(j)+
p(i,j)
32100 dps(4)=dps(4)+
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
32102 IF(kq.NE.2) kqsum=kqsum+kq
32103 IF(k(i,1).EQ.41)
THEN
32105 IF(kqsum.EQ.kq) mju(1)=
n+np
32106 IF(kqsum.NE.kq) mju(2)=
n+np
32108 IF(k(i,1).EQ.2.OR.k(i,1).EQ.41) goto 110
32109 IF(kqsum.NE.0)
THEN
32110 CALL
pyerrm(12,
'(PYSTRF:) unphysical flavour combination')
32111 IF(mstu(21).GE.1)
RETURN
32115 IF(abs(dps(3)).LT.0.99d0*dps(4))
THEN
32118 CALL
pyrobo(
n+1,
n+np,0d0,0d0,-dps(1)/dps(4),-dps(2)/dps(4),
32122 hhbz=
sqrt(
max(1
d-6,dps(4)+dps(3))/
max(1
d-6,dps(4)-dps(3)))
32124 hhpmt=
p(i,1)**2+
p(i,2)**2+
p(i,5)**2
32125 IF(
p(i,3).GT.0d0)
THEN
32126 hhpez=(
p(i,4)+
p(i,3))/hhbz
32127 p(i,3)=0.5d0*(hhpez-hhpmt/hhpez)
32128 p(i,4)=0.5d0*(hhpez+hhpmt/hhpez)
32130 hhpez=(
p(i,4)-
p(i,3))*hhbz
32131 p(i,3)=-0.5d0*(hhpez-hhpmt/hhpez)
32132 p(i,4)=0.5d0*(hhpez+hhpmt/hhpez)
32144 140
IF(nr.GE.3)
THEN
32147 IF(i.EQ.
n+nr.AND.iabs(k(
n+1,2)).NE.21) goto 150
32149 IF(i.EQ.
n+nr) i1=
n+1
32150 IF(k(i,1).EQ.41.OR.k(i1,1).EQ.41) goto 150
32151 IF(mju(1).NE.0.AND.i1.LT.mju(1).AND.iabs(k(i1,2)).NE.21)
32153 IF(mju(2).NE.0.AND.i.GT.mju(2).AND.iabs(k(i,2)).NE.21)
32155 pap=
sqrt((
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)*(
p(i1,1)**2+
32156 &
p(i1,2)**2+
p(i1,3)**2))
32157 pvp=
p(i,1)*
p(i1,1)+
p(i,2)*
p(i1,2)+
p(i,3)*
p(i1,3)
32158 pdr=4d0*(pap-pvp)**2/
max(1
d-6,paru13**2*pap+2d0*(pap-pvp))
32159 IF(pdr.LT.pdrmin)
THEN
32166 IF(pdrmin.LT.paru12.AND.ir.EQ.
n+nr)
THEN
32168 p(
n+1,j)=
p(
n+1,j)+
p(
n+nr,j)
32174 ELSEIF(pdrmin.LT.paru12)
THEN
32176 p(ir,j)=
p(ir,j)+
p(ir+1,j)
32178 p(ir,5)=
sqrt(
max(0d0,
p(ir,4)**2-
p(ir,1)**2-
p(ir,2)**2-
32180 DO 190 i=ir+1,
n+nr-1
32186 IF(ir.EQ.
n+nr-1) k(ir,2)=k(
n+nr,2)
32188 IF(mju(1).GT.ir) mju(1)=mju(1)-1
32189 IF(mju(2).GT.ir) mju(2)=mju(2)-1
32197 nrs=
max(5*nr+11,np)
32200 IF(ntry.GT.100.AND.ntryr.LE.4)
THEN
32204 ELSEIF(ntry.GT.100)
THEN
32205 CALL
pyerrm(14,
'(PYSTRF:) caught in infinite loop')
32206 IF(mstu(21).GE.1)
RETURN
32210 IF(mju(1).EQ.0.AND.mju(2).EQ.0) goto 580
32213 IF(mju(jt).EQ.0) goto 570
32224 DO 240 i1=
n+1+(jt-1)*(nr-1),
n+nr+(jt-1)*(1-nr),js
32225 IF(k(i1,2).NE.21.AND.iu.LE.2)
THEN
32230 pju(iu,j)=pju(iu,j)+
p(i1,j)
32234 pju(iu,5)=
sqrt(pju(iu,1)**2+pju(iu,2)**2+pju(iu,3)**2)
32236 IF(k(iju(3),2)/100.NE.10*k(iju(1),2)+k(iju(2),2).AND.
32237 & k(iju(3),2)/100.NE.10*k(iju(2),2)+k(iju(1),2))
THEN
32238 CALL
pyerrm(12,
'(PYSTRF:) unphysical flavour combination')
32239 IF(mstu(21).GE.1)
RETURN
32243 t12=(pju(1,1)*pju(2,1)+pju(1,2)*pju(2,2)+pju(1,3)*pju(2,3))/
32244 & (pju(1,5)*pju(2,5))
32245 t13=(pju(1,1)*pju(3,1)+pju(1,2)*pju(3,2)+pju(1,3)*pju(3,3))/
32246 & (pju(1,5)*pju(3,5))
32247 t23=(pju(2,1)*pju(3,1)+pju(2,2)*pju(3,2)+pju(2,3)*pju(3,3))/
32248 & (pju(2,5)*pju(3,5))
32249 t11=
sqrt((2d0/3d0)*(1d0-t12)*(1d0-t13)/(1d0-t23))
32250 t22=
sqrt((2d0/3d0)*(1d0-t12)*(1d0-t23)/(1d0-t13))
32251 tsq=
sqrt((2d0*t11*t22+t12-1d0)*(1d0+t12))
32252 t1f=(tsq-t22*(1d0+t12))/(1d0-t12**2)
32253 t2f=(tsq-t11*(1d0+t12))/(1d0-t12**2)
32255 tju(j)=-(t1f*pju(1,j)/pju(1,5)+t2f*pju(2,j)/pju(2,5))
32257 tju(4)=
sqrt(1d0+tju(1)**2+tju(2)**2+tju(3)**2)
32259 pju(iu,5)=tju(4)*pju(iu,4)-tju(1)*pju(iu,1)-tju(2)*pju(iu,2)-
32264 IF(pju(1,5)+pju(2,5).GT.pju(1,4)+pju(2,4))
THEN
32277 ns=iju(iu+1)-iju(iu)
32284 dp(1,j)=0.5d0*
p(is1,j)
32285 IF(is.EQ.1) dp(1,j)=
p(is1,j)
32286 dp(2,j)=0.5d0*
p(is2,j)
32287 IF(is.EQ.
ns) dp(2,j)=-pju(iu,j)
32289 IF(is.EQ.
ns) dp(2,4)=
sqrt(pju(iu,1)**2+pju(iu,2)**2+
32291 IF(is.EQ.
ns) dp(2,5)=0d0
32295 IF(dp(3,5)+2d0*dhkc+dp(4,5).LE.0d0)
THEN
32296 dp(1,4)=
sqrt(dp(1,1)**2+dp(1,2)**2+dp(1,3)**2)
32297 dp(2,4)=
sqrt(dp(2,1)**2+dp(2,2)**2+dp(2,3)**2)
32302 dhks=
sqrt(dhkc**2-dp(3,5)*dp(4,5))
32303 dhk1=0.5d0*((dp(4,5)+dhkc)/dhks-1d0)
32304 dhk2=0.5d0*((dp(3,5)+dhkc)/dhks-1d0)
32306 p(in1,5)=
sqrt(dp(3,5)+2d0*dhkc+dp(4,5))
32308 p(in1,j)=(1d0+dhk1)*dp(1,j)-dhk2*dp(2,j)
32309 p(in1+1,j)=(1d0+dhk2)*dp(2,j)-dhk1*dp(1,j)
32317 IF(ntry.GT.100.AND.ntryr.LE.4)
THEN
32321 ELSEIF(ntry.GT.100)
THEN
32322 CALL
pyerrm(14,
'(PYSTRF:) caught in infinite loop')
32323 IF(mstu(21).GE.1)
RETURN
32328 ie(1)=k(
n+1+(jt/2)*(np-1),3)
32333 DO 330 in1=
n+nr+2+jq,
n+nr+4*
ns-2+jq,4
32339 kfl(1)=k(iju(iu),2)
32350 dp(2,j)=
p(
in(4)+1,j)
32354 dp(1,4)=
sqrt(dp(1,1)**2+dp(1,2)**2+dp(1,3)**2)
32355 dp(2,4)=
sqrt(dp(2,1)**2+dp(2,2)**2+dp(2,3)**2)
32356 dp(5,1)=dp(1,1)/dp(1,4)-dp(2,1)/dp(2,4)
32357 dp(5,2)=dp(1,2)/dp(1,4)-dp(2,2)/dp(2,4)
32358 dp(5,3)=dp(1,3)/dp(1,4)-dp(2,3)/dp(2,4)
32359 IF(dp(5,1)**2.LE.dp(5,2)**2+dp(5,3)**2) dp(3,1)=1d0
32360 IF(dp(5,1)**2.GT.dp(5,2)**2+dp(5,3)**2) dp(3,3)=1d0
32361 IF(dp(5,2)**2.LE.dp(5,1)**2+dp(5,3)**2) dp(4,2)=1d0
32362 IF(dp(5,2)**2.GT.dp(5,1)**2+dp(5,3)**2) dp(4,3)=1d0
32364 dhcx1=dfour(3,1)/dhc12
32365 dhcx2=dfour(3,2)/dhc12
32366 dhcxx=1d0/
sqrt(1d0+2d0*dhcx1*dhcx2*dhc12)
32367 dhcy1=dfour(4,1)/dhc12
32368 dhcy2=dfour(4,2)/dhc12
32369 dhcyx=dhcxx*(dhcx1*dhcy2+dhcx2*dhcy1)*dhc12
32370 dhcyy=1d0/
sqrt(1d0+2d0*dhcy1*dhcy2*dhc12-dhcyx**2)
32372 dp(3,j)=dhcxx*(dp(3,j)-dhcx2*dp(1,j)-dhcx1*dp(2,j))
32374 p(
in(6)+1,j)=dhcyy*(dp(4,j)-dhcy2*dp(1,j)-dhcy1*dp(2,j)-
32380 IF(2*i-nsav.GE.mstu(4)-mstu(32)-5)
THEN
32381 CALL
pyerrm(11,
'(PYSTRF:) no more memory left in PYJETS')
32382 IF(mstu(21).GE.1)
RETURN
32391 390 CALL
pykfdi(kfl(1),0,kfl(3),k(i,2))
32392 IF(k(i,2).EQ.0) goto 320
32393 IF(mstj(12).GE.3.AND.irankj.EQ.1.AND.iabs(kfl(1)).LE.10.AND.
32394 & iabs(kfl(3)).GT.10)
THEN
32395 IF(
pyr(0).GT.parj(19)) goto 390
32399 pr(1)=
p(i,5)**2+(
px(1)+
px(3))**2+(
py(1)+
py(3))**2
32400 CALL
pyzdis(kfl(1),kfl(3),pr(1),
z)
32401 IF(iabs(kfl(1)).GE.4.AND.iabs(kfl(1)).LE.8.AND.
32402 & mstu(90).LT.8)
THEN
32403 mstu(90)=mstu(90)+1
32404 mstu(90+mstu(90))=i
32405 paru(90+mstu(90))=
z
32407 gam(3)=(1d0-
z)*(gam(1)+pr(1)/
z)
32413 IF(
in(1)+1.EQ.
in(2).AND.
z*
p(
in(1)+2,3)*
p(
in(2)+2,3)*
32414 &
p(
in(1),5)**2.GE.pr(1))
THEN
32416 p(
in(2)+2,4)=pr(1)/(
p(
in(1)+2,4)*
p(
in(1),5)**2)
32421 ELSEIF(
in(1)+1.EQ.
in(2))
THEN
32422 p(
in(2)+2,4)=
p(
in(2)+2,3)
32425 IF(
in(2).GT.
n+nr+4*
ns) goto 320
32426 IF(four(
in(1),
in(2)).LE.1
d-2)
THEN
32427 p(
in(1)+2,4)=
p(
in(1)+2,3)
32434 420
IF(
in(1).GT.
n+nr+4*
ns.OR.
in(2).GT.
n+nr+4*
ns.OR.
32435 &
in(1).GT.
in(2)) goto 320
32436 IF(
in(1).NE.
in(4).OR.
in(2).NE.
in(5))
THEN
32443 dp(1,4)=
sqrt(dp(1,1)**2+dp(1,2)**2+dp(1,3)**2)
32444 dp(2,4)=
sqrt(dp(2,1)**2+dp(2,2)**2+dp(2,3)**2)
32446 IF(dhc12.LE.1
d-2)
THEN
32447 p(
in(1)+2,4)=
p(
in(1)+2,3)
32453 dp(5,1)=dp(1,1)/dp(1,4)-dp(2,1)/dp(2,4)
32454 dp(5,2)=dp(1,2)/dp(1,4)-dp(2,2)/dp(2,4)
32455 dp(5,3)=dp(1,3)/dp(1,4)-dp(2,3)/dp(2,4)
32456 IF(dp(5,1)**2.LE.dp(5,2)**2+dp(5,3)**2) dp(3,1)=1d0
32457 IF(dp(5,1)**2.GT.dp(5,2)**2+dp(5,3)**2) dp(3,3)=1d0
32458 IF(dp(5,2)**2.LE.dp(5,1)**2+dp(5,3)**2) dp(4,2)=1d0
32459 IF(dp(5,2)**2.GT.dp(5,1)**2+dp(5,3)**2) dp(4,3)=1d0
32460 dhcx1=dfour(3,1)/dhc12
32461 dhcx2=dfour(3,2)/dhc12
32462 dhcxx=1d0/
sqrt(1d0+2d0*dhcx1*dhcx2*dhc12)
32463 dhcy1=dfour(4,1)/dhc12
32464 dhcy2=dfour(4,2)/dhc12
32465 dhcyx=dhcxx*(dhcx1*dhcy2+dhcx2*dhcy1)*dhc12
32466 dhcyy=1d0/
sqrt(1d0+2d0*dhcy1*dhcy2*dhc12-dhcyx**2)
32468 dp(3,j)=dhcxx*(dp(3,j)-dhcx2*dp(1,j)-dhcx1*dp(2,j))
32470 p(
in(3)+1,j)=dhcyy*(dp(4,j)-dhcy2*dp(1,j)-dhcy1*dp(2,j)-
32474 pxp=-(
px(3)*four(
in(6),
in(3))+
py(3)*four(
in(6)+1,
in(3)))
32476 IF(abs(pxp**2+
pyp**2-
px(3)**2-
py(3)**2).LT.0.01d0)
THEN
32486 &
py(3)*
p(
in(3)+1,j)
32487 DO 450 in1=
in(4),
in(1)-4,4
32488 p(i,j)=
p(i,j)+
p(in1+2,3)*
p(in1,j)
32490 DO 460 in2=
in(5),
in(2)-4,4
32491 p(i,j)=
p(i,j)+
p(in2+2,3)*
p(in2,j)
32495 dhm(2)=2d0*four(i,
in(1))
32496 dhm(3)=2d0*four(i,
in(2))
32497 dhm(4)=2d0*four(
in(1),
in(2))
32500 DO 490 in2=
in(1)+1,
in(2),4
32501 DO 480 in1=
in(1),in2-1,4
32502 dhc=2d0*four(in1,in2)
32503 dhg(1)=dhg(1)+
p(in1+2,1)*
p(in2+2,1)*dhc
32504 IF(in1.EQ.
in(1)) dhg(2)=dhg(2)-
p(in2+2,1)*dhc
32505 IF(in2.EQ.
in(2)) dhg(3)=dhg(3)+
p(in1+2,1)*dhc
32506 IF(in1.EQ.
in(1).AND.in2.EQ.
in(2)) dhg(4)=dhg(4)-dhc
32511 dhs1=dhm(3)*dhg(4)-dhm(4)*dhg(3)
32512 IF(abs(dhs1).LT.1
d-4) goto 320
32513 dhs2=dhm(4)*(gam(3)-dhg(1))-dhm(2)*dhg(3)-dhg(4)*
32514 & (
p(i,5)**2-dhm(1))+dhg(2)*dhm(3)
32515 dhs3=dhm(2)*(gam(3)-dhg(1))-dhg(2)*(
p(i,5)**2-dhm(1))
32516 p(
in(2)+2,4)=0.5d0*(
sqrt(
max(0d0,dhs2**2-4d0*dhs1*dhs3))/
32517 & abs(dhs1)-dhs2/dhs1)
32518 IF(dhm(2)+dhm(4)*
p(
in(2)+2,4).LE.0d0) goto 320
32519 p(
in(1)+2,4)=(
p(i,5)**2-dhm(1)-dhm(3)*
p(
in(2)+2,4))/
32520 & (dhm(2)+dhm(4)*
p(
in(2)+2,4))
32523 IF(
p(
in(2)+2,4).GT.
p(
in(2)+2,3))
THEN
32524 p(
in(2)+2,4)=
p(
in(2)+2,3)
32527 IF(
in(2).GT.
n+nr+4*
ns) goto 320
32528 IF(four(
in(1),
in(2)).LE.1
d-2)
THEN
32529 p(
in(1)+2,4)=
p(
in(1)+2,3)
32534 ELSEIF(
p(
in(1)+2,4).GT.
p(
in(1)+2,3))
THEN
32535 p(
in(1)+2,4)=
p(
in(1)+2,3)
32543 p(i,j)=
p(i,j)+
p(
in(1)+2,4)*
p(
in(1),j)+
32544 &
p(
in(2)+2,4)*
p(
in(2),j)
32545 pju(iu+3,j)=pju(iu+3,j)+
p(i,j)
32547 IF(
p(i,4).LT.
p(i,5)) goto 320
32548 pju(iu+3,5)=tju(4)*pju(iu+3,4)-tju(1)*pju(iu+3,1)-
32549 & tju(2)*pju(iu+3,2)-tju(3)*pju(iu+3,3)
32550 IF(pju(iu+3,5).LT.pju(iu,5))
THEN
32555 IF(
in(3).NE.
in(6))
THEN
32558 p(
in(6)+1,j)=
p(
in(3)+1,j)
32563 p(
in(jq)+2,3)=
p(
in(jq)+2,3)-
p(
in(jq)+2,4)
32564 p(
in(jq)+2,1)=
p(
in(jq)+2,1)-(3-2*jq)*
p(
in(jq)+2,4)
32570 IF(iabs(kfl(1)).GT.10) goto 320
32574 pju(iu+3,j)=pju(iu+3,j)-
p(i+1,j)
32580 kfjs(jt)=k(k(mju(jt+2),3),2)
32581 kfls=2*
int(
pyr(0)+3d0*parj(4)/(1d0+3d0*parj(4)))+1
32582 IF(kfjh(1).EQ.kfjh(2)) kfls=3
32583 IF(ista.NE.i) kfjs(jt)=isign(1000*
max(iabs(kfjh(1)),
32584 & iabs(kfjh(2)))+100*
min(iabs(kfjh(1)),iabs(kfjh(2)))+
32587 pjs(jt,j)=pju(1,j)+pju(2,j)+
p(mju(jt),j)
32588 pjs(jt+2,j)=pju(4,j)+pju(5,j)
32590 pjs(jt,5)=
sqrt(
max(0d0,pjs(jt,4)**2-pjs(jt,1)**2-pjs(jt,2)**2-
32595 580
IF(mju(1).NE.0.AND.mju(2).NE.0)
THEN
32598 ELSEIF(mju(1).NE.0)
THEN
32601 ELSEIF(mju(2).NE.0)
THEN
32604 ELSEIF(iabs(k(
n+1,2)).NE.21)
THEN
32611 p(
n+nr+is,1)=0.5d0*four(
n+is,
n+is+1-nr*(is/nr))
32612 w2sum=w2sum+
p(
n+nr+is,1)
32617 w2sum=w2sum-
p(
n+nr+nb,1)
32618 IF(w2sum.GT.w2ran.AND.nb.LT.nr) goto 600
32623 is1=
n+is+nb-1-nr*((is+nb-2)/nr)
32624 is2=
n+is+nb-nr*((is+nb-1)/nr)
32627 IF(iabs(k(is1,2)).EQ.21) dp(1,j)=0.5d0*dp(1,j)
32628 IF(is1.EQ.mju(1)) dp(1,j)=pjs(1,j)-pjs(3,j)
32630 IF(iabs(k(is2,2)).EQ.21) dp(2,j)=0.5d0*dp(2,j)
32631 IF(is2.EQ.mju(2)) dp(2,j)=pjs(2,j)-pjs(4,j)
32636 IF(dp(3,5)+2d0*dhkc+dp(4,5).LE.0d0)
THEN
32639 dp(1,4)=
sqrt(dp(1,1)**2+dp(1,2)**2+dp(1,3)**2+dp(1,5)**2)
32640 dp(2,4)=
sqrt(dp(2,1)**2+dp(2,2)**2+dp(2,3)**2+dp(2,5)**2)
32643 dhks=
sqrt(dhkc**2-dp(3,5)*dp(4,5))
32644 dhk1=0.5d0*((dp(4,5)+dhkc)/dhks-1d0)
32645 dhk2=0.5d0*((dp(3,5)+dhkc)/dhks-1d0)
32647 p(in1,5)=
sqrt(dp(3,5)+2d0*dhkc+dp(4,5))
32649 p(in1,j)=(1d0+dhk1)*dp(1,j)-dhk2*dp(2,j)
32650 p(in1+1,j)=(1d0+dhk2)*dp(2,j)-dhk1*dp(1,j)
32658 IF(ntry.GT.100.AND.ntryr.LE.4)
THEN
32662 ELSEIF(ntry.GT.100)
THEN
32663 CALL
pyerrm(14,
'(PYSTRF:) caught in infinite loop')
32664 IF(mstu(21).GE.1)
RETURN
32671 p(
n+nrs,j)=
p(
n+nrs,j)+
p(
n+is,j)
32676 IF(mju(jt).NE.0) irank(jt)=njs(jt)
32677 IF(
ns.GT.nr) irank(jt)=1
32678 ie(jt)=k(
n+1+(jt/2)*(np-1),3)
32679 in(3*jt+1)=
n+nr+1+4*(jt/2)*(
ns-1)
32680 in(3*jt+2)=
in(3*jt+1)+1
32681 in(3*jt+3)=
n+nr+4*
ns+2*jt-1
32682 DO 670 in1=
n+nr+2+jt,
n+nr+4*
ns-2+jt,4
32693 IF(
ns.EQ.1.AND.mju(1)+mju(2).EQ.0) CALL
pyptdi(0,
px(1),
py(1))
32697 kfl(jt)=k(ie(jt),2)
32698 IF(mju(jt).NE.0) kfl(jt)=kfjs(jt)
32706 kfl(3)=
int(1d0+(2d0+parj(2))*
pyr(0))*(-1)**
int(
pyr(0)+0.5d0)
32707 CALL
pykfdi(kfl(3),0,kfl(1),kdump)
32709 IF(iabs(kfl(1)).GT.10.AND.
pyr(0).GT.0.5d0)
THEN
32710 kfl(2)=-(kfl(1)+isign(10000,kfl(1)))
32711 ELSEIF(iabs(kfl(1)).GT.10)
THEN
32712 kfl(1)=-(kfl(2)+isign(10000,kfl(2)))
32717 pr3=
min(25d0,0.1d0*
p(
n+nr+1,5)**2)
32718 700 CALL
pyzdis(kfl(1),kfl(2),pr3,
z)
32719 zr=pr3/(
z*
p(
n+nr+1,5)**2)
32720 IF(zr.GE.1d0) goto 700
32724 gam(jt)=pr3*(1d0-
z)/
z
32725 in1=
n+nr+3+4*(jt/2)*(
ns-1)
32728 p(in1,3)=(2-jt)*(1d0-
z)+(jt-1)*
z
32731 p(in1+1,3)=(2-jt)*(1d0-zr)+(jt-1)*zr
32737 IF(jt.EQ.1.OR.
ns.EQ.nr-1)
THEN
32746 dp(1,4)=
sqrt(dp(1,1)**2+dp(1,2)**2+dp(1,3)**2)
32747 dp(2,4)=
sqrt(dp(2,1)**2+dp(2,2)**2+dp(2,3)**2)
32748 dp(5,1)=dp(1,1)/dp(1,4)-dp(2,1)/dp(2,4)
32749 dp(5,2)=dp(1,2)/dp(1,4)-dp(2,2)/dp(2,4)
32750 dp(5,3)=dp(1,3)/dp(1,4)-dp(2,3)/dp(2,4)
32751 IF(dp(5,1)**2.LE.dp(5,2)**2+dp(5,3)**2) dp(3,1)=1d0
32752 IF(dp(5,1)**2.GT.dp(5,2)**2+dp(5,3)**2) dp(3,3)=1d0
32753 IF(dp(5,2)**2.LE.dp(5,1)**2+dp(5,3)**2) dp(4,2)=1d0
32754 IF(dp(5,2)**2.GT.dp(5,1)**2+dp(5,3)**2) dp(4,3)=1d0
32756 dhcx1=dfour(3,1)/dhc12
32757 dhcx2=dfour(3,2)/dhc12
32758 dhcxx=1d0/
sqrt(1d0+2d0*dhcx1*dhcx2*dhc12)
32759 dhcy1=dfour(4,1)/dhc12
32760 dhcy2=dfour(4,2)/dhc12
32761 dhcyx=dhcxx*(dhcx1*dhcy2+dhcx2*dhcy1)*dhc12
32762 dhcyy=1d0/
sqrt(1d0+2d0*dhcy1*dhcy2*dhc12-dhcyx**2)
32764 dp(3,j)=dhcxx*(dp(3,j)-dhcx2*dp(1,j)-dhcx1*dp(2,j))
32766 p(in3+1,j)=dhcyy*(dp(4,j)-dhcy2*dp(1,j)-dhcy1*dp(2,j)-
32771 p(in3+2,j)=
p(in3,j)
32772 p(in3+3,j)=
p(in3+1,j)
32778 IF(mju(1)+mju(2).GT.0)
THEN
32780 IF(njs(jt).EQ.0) goto 770
32782 p(
n+nrs,j)=
p(
n+nrs,j)-pjs(jt+2,j)
32789 IF(2*i-nsav.GE.mstu(4)-mstu(32)-5)
THEN
32790 CALL
pyerrm(11,
'(PYSTRF:) no more memory left in PYJETS')
32791 IF(mstu(21).GE.1)
RETURN
32794 IF(iabs(kfl(3-jt)).GT.10) jt=3-jt
32795 IF(iabs(kfl(3-jt)).GE.4.AND.iabs(kfl(3-jt)).LE.8) jt=3-jt
32798 irank(jt)=irank(jt)+1
32805 790 CALL
pykfdi(kfl(jt),0,kfl(3),k(i,2))
32806 IF(k(i,2).EQ.0) goto 640
32807 IF(mstj(12).GE.3.AND.irank(jt).EQ.1.AND.iabs(kfl(jt)).LE.10.AND.
32808 &iabs(kfl(3)).GT.10)
THEN
32809 IF(
pyr(0).GT.parj(19)) goto 790
32813 pr(jt)=
p(i,5)**2+(
px(jt)+
px(3))**2+(
py(jt)+
py(3))**2
32819 IF(mstj(11).EQ.2) parjst=parj(34)
32820 wmin=parjst+pmq(1)+pmq(2)+parj(36)*pmq(3)
32821 IF(iabs(kfl(jt)).GT.10.AND.iabs(kfl(3)).GT.10) wmin=
32822 &wmin-0.5d0*parj(36)*pmq(3)
32823 wrem2=four(
n+nrs,
n+nrs)
32824 IF(wrem2.LT.0.10d0) goto 640
32825 IF(wrem2.LT.
max(wmin*(1d0+(2d0*
pyr(0)-1d0)*parj(37)),
32826 &parj(32)+pmq(1)+pmq(2))**2) goto 940
32829 CALL
pyzdis(kfl(jt),kfl(3),pr(jt),
z)
32830 IF(iabs(kfl(jt)).GE.4.AND.iabs(kfl(jt)).LE.8.AND.
32831 &mstu(90).LT.8)
THEN
32832 mstu(90)=mstu(90)+1
32833 mstu(90+mstu(90))=i
32834 paru(90+mstu(90))=
z
32838 IF(
max(
mod(kfl1a,10),
mod(kfl1a/1000,10),
mod(kfl2a,10),
32839 &
mod(kfl2a/1000,10)).GE.4)
THEN
32840 pr(jr)=(pmq(jr)+pmq(3))**2+(
px(jr)-
px(3))**2+(
py(jr)-
py(3))**2
32841 pw12=
sqrt(
max(0d0,(wrem2-pr(1)-pr(2))**2-4d0*pr(1)*pr(2)))
32842 z=(wrem2+pr(jt)-pr(jr)+pw12*(2d0*
z-1d0))/(2d0*wrem2)
32843 pr(jr)=(pmq(jr)+parjst)**2+(
px(jr)-
px(3))**2+(
py(jr)-
py(3))**2
32844 IF((1d0-
z)*(wrem2-pr(jt)/
z).LT.pr(jr)) goto 940
32846 gam(3)=(1d0-
z)*(gam(jt)+pr(jt)/
z)
32852 IF(
in(1)+1.EQ.
in(2).AND.
z*
p(
in(1)+2,3)*
p(
in(2)+2,3)*
32853 &
p(
in(1),5)**2.GE.pr(jt))
THEN
32854 p(
in(jt)+2,4)=
z*
p(
in(jt)+2,3)
32855 p(
in(jr)+2,4)=pr(jt)/(
p(
in(jt)+2,4)*
p(
in(1),5)**2)
32860 ELSEIF(
in(1)+1.EQ.
in(2))
THEN
32861 p(
in(jr)+2,4)=
p(
in(jr)+2,3)
32864 IF(js*
in(jr).GT.js*
in(4*jr)) goto 640
32865 IF(four(
in(1),
in(2)).LE.1
d-2)
THEN
32866 p(
in(jt)+2,4)=
p(
in(jt)+2,3)
32873 820
IF(js*
in(1).GT.js*
in(3*jr+1).OR.js*
in(2).GT.js*
in(3*jr+2).OR.
32874 &
in(1).GT.
in(2)) goto 640
32875 IF(
in(1).NE.
in(3*jt+1).OR.
in(2).NE.
in(3*jt+2))
THEN
32882 dp(1,4)=
sqrt(dp(1,1)**2+dp(1,2)**2+dp(1,3)**2)
32883 dp(2,4)=
sqrt(dp(2,1)**2+dp(2,2)**2+dp(2,3)**2)
32885 IF(dhc12.LE.1
d-2)
THEN
32886 p(
in(jt)+2,4)=
p(
in(jt)+2,3)
32892 dp(5,1)=dp(1,1)/dp(1,4)-dp(2,1)/dp(2,4)
32893 dp(5,2)=dp(1,2)/dp(1,4)-dp(2,2)/dp(2,4)
32894 dp(5,3)=dp(1,3)/dp(1,4)-dp(2,3)/dp(2,4)
32895 IF(dp(5,1)**2.LE.dp(5,2)**2+dp(5,3)**2) dp(3,1)=1d0
32896 IF(dp(5,1)**2.GT.dp(5,2)**2+dp(5,3)**2) dp(3,3)=1d0
32897 IF(dp(5,2)**2.LE.dp(5,1)**2+dp(5,3)**2) dp(4,2)=1d0
32898 IF(dp(5,2)**2.GT.dp(5,1)**2+dp(5,3)**2) dp(4,3)=1d0
32899 dhcx1=dfour(3,1)/dhc12
32900 dhcx2=dfour(3,2)/dhc12
32901 dhcxx=1d0/
sqrt(1d0+2d0*dhcx1*dhcx2*dhc12)
32902 dhcy1=dfour(4,1)/dhc12
32903 dhcy2=dfour(4,2)/dhc12
32904 dhcyx=dhcxx*(dhcx1*dhcy2+dhcx2*dhcy1)*dhc12
32905 dhcyy=1d0/
sqrt(1d0+2d0*dhcy1*dhcy2*dhc12-dhcyx**2)
32907 dp(3,j)=dhcxx*(dp(3,j)-dhcx2*dp(1,j)-dhcx1*dp(2,j))
32909 p(
in(3)+1,j)=dhcyy*(dp(4,j)-dhcy2*dp(1,j)-dhcy1*dp(2,j)-
32913 pxp=-(
px(3)*four(
in(3*jt+3),
in(3))+
py(3)*
32914 & four(
in(3*jt+3)+1,
in(3)))
32916 & four(
in(3*jt+3)+1,
in(3)+1))
32917 IF(abs(pxp**2+
pyp**2-
px(3)**2-
py(3)**2).LT.0.01d0)
THEN
32926 p(i,j)=
px(jt)*
p(
in(3*jt+3),j)+
py(jt)*
p(
in(3*jt+3)+1,j)+
32928 DO 850 in1=
in(3*jt+1),
in(1)-4*js,4*js
32929 p(i,j)=
p(i,j)+
p(in1+2,3)*
p(in1,j)
32931 DO 860 in2=
in(3*jt+2),
in(2)-4*js,4*js
32932 p(i,j)=
p(i,j)+
p(in2+2,3)*
p(in2,j)
32936 dhm(2)=2d0*four(i,
in(1))
32937 dhm(3)=2d0*four(i,
in(2))
32938 dhm(4)=2d0*four(
in(1),
in(2))
32941 DO 890 in2=
in(1)+1,
in(2),4
32942 DO 880 in1=
in(1),in2-1,4
32943 dhc=2d0*four(in1,in2)
32944 dhg(1)=dhg(1)+
p(in1+2,jt)*
p(in2+2,jt)*dhc
32945 IF(in1.EQ.
in(1)) dhg(2)=dhg(2)-js*
p(in2+2,jt)*dhc
32946 IF(in2.EQ.
in(2)) dhg(3)=dhg(3)+js*
p(in1+2,jt)*dhc
32947 IF(in1.EQ.
in(1).AND.in2.EQ.
in(2)) dhg(4)=dhg(4)-dhc
32952 dhs1=dhm(jr+1)*dhg(4)-dhm(4)*dhg(jr+1)
32953 IF(abs(dhs1).LT.1
d-4) goto 640
32954 dhs2=dhm(4)*(gam(3)-dhg(1))-dhm(jt+1)*dhg(jr+1)-dhg(4)*
32955 &(
p(i,5)**2-dhm(1))+dhg(jt+1)*dhm(jr+1)
32956 dhs3=dhm(jt+1)*(gam(3)-dhg(1))-dhg(jt+1)*(
p(i,5)**2-dhm(1))
32957 p(
in(jr)+2,4)=0.5d0*(
sqrt(
max(0d0,dhs2**2-4d0*dhs1*dhs3))/
32958 &abs(dhs1)-dhs2/dhs1)
32959 IF(dhm(jt+1)+dhm(4)*
p(
in(jr)+2,4).LE.0d0) goto 640
32960 p(
in(jt)+2,4)=(
p(i,5)**2-dhm(1)-dhm(jr+1)*
p(
in(jr)+2,4))/
32961 &(dhm(jt+1)+dhm(4)*
p(
in(jr)+2,4))
32964 IF(
p(
in(jr)+2,4).GT.
p(
in(jr)+2,3))
THEN
32965 p(
in(jr)+2,4)=
p(
in(jr)+2,3)
32968 IF(js*
in(jr).GT.js*
in(4*jr)) goto 640
32969 IF(four(
in(1),
in(2)).LE.1
d-2)
THEN
32970 p(
in(jt)+2,4)=
p(
in(jt)+2,3)
32975 ELSEIF(
p(
in(jt)+2,4).GT.
p(
in(jt)+2,3))
THEN
32976 p(
in(jt)+2,4)=
p(
in(jt)+2,3)
32985 p(
n+nrs,j)=
p(
n+nrs,j)-
p(i,j)
32987 IF(
p(i,4).LT.
p(i,5)) goto 640
32993 IF(
in(3).NE.
in(3*jt+3))
THEN
32995 p(
in(3*jt+3),j)=
p(
in(3),j)
32996 p(
in(3*jt+3)+1,j)=
p(
in(3)+1,j)
33001 p(
in(jq)+2,3)=
p(
in(jq)+2,3)-
p(
in(jq)+2,4)
33002 p(
in(jq)+2,jt)=
p(
in(jq)+2,jt)-js*(3-2*jq)*
p(
in(jq)+2,4)
33012 CALL
pykfdi(kfl(jr),-kfl(3),kfldmp,k(i,2))
33013 IF(k(i,2).EQ.0) goto 640
33015 pr(jr)=
p(i,5)**2+(
px(jr)-
px(3))**2+(
py(jr)-
py(3))**2
33019 IF(
p(
in(4)+2,3)*
p(
in(5)+2,3)*four(
in(4),
in(5)).LT.
p(
in(7),3)*
33020 &
p(
in(8),3)*four(
in(7),
in(8))) jq=2
33021 dhc12=four(
in(3*jq+1),
in(3*jq+2))
33022 dhr1=four(
n+nrs,
in(3*jq+2))/dhc12
33023 dhr2=four(
n+nrs,
in(3*jq+1))/dhc12
33024 IF(
in(4).NE.
in(7).OR.
in(5).NE.
in(8))
THEN
33025 px(3-jq)=-four(
n+nrs,
in(3*jq+3))-
px(jq)
33026 py(3-jq)=-four(
n+nrs,
in(3*jq+3)+1)-
py(jq)
33027 pr(3-jq)=
p(i+(jt+jq-3)**2-1,5)**2+(
px(3-jq)+(2*jq-3)*js*
33028 &
px(3))**2+(
py(3-jq)+(2*jq-3)*js*
py(3))**2
33032 wrem2=wrem2+(
px(1)+
px(2))**2+(
py(1)+
py(2))**2
33034 IF(mju(1)+mju(2).NE.0.AND.i.EQ.isav+2.AND.
fd.GE.1d0) goto 200
33035 IF(
fd.GE.1d0) goto 640
33036 fa=wrem2+pr(jt)-pr(jr)
33037 IF(mstj(11).NE.2) prev=0.5d0*
exp(
max(-50d0,
log(
fd)*parj(38)*
33038 &(pr(1)+pr(2))**2))
33039 IF(mstj(11).EQ.2) prev=0.5d0*
fd**parj(39)
33040 fb=sign(
sqrt(
max(0d0,fa**2-4d0*wrem2*pr(jt))),js*(
pyr(0)-prev))
33043 IF(
max(
mod(kfl1a,10),
mod(kfl1a/1000,10),
mod(kfl2a,10),
33044 &
mod(kfl2a/1000,10)).GE.6) fb=sign(
sqrt(
max(0d0,fa**2-
33045 &4d0*wrem2*pr(jt))),dble(js))
33047 p(i-1,j)=(
px(jt)+
px(3))*
p(
in(3*jq+3),j)+(
py(jt)+
py(3))*
33048 &
p(
in(3*jq+3)+1,j)+0.5d0*(dhr1*(fa+fb)*
p(
in(3*jq+1),j)+
33049 & dhr2*(fa-fb)*
p(
in(3*jq+2),j))/wrem2
33050 p(i,j)=
p(
n+nrs,j)-
p(i-1,j)
33052 IF(
p(i-1,4).LT.
p(i-1,5).OR.
p(i,4).LT.
p(i,5)) goto 640
33056 DO 960 i=nsav+1,nsav+np
33059 IF(mstu(16).NE.2)
THEN
33079 p(nsav,5)=
sqrt(
max(0d0,dps(4)**2-dps(1)**2-dps(2)**2-dps(3)**2))
33083 k(i,j)=k(i+nrs-1,j)
33084 p(i,j)=
p(i+nrs-1,j)
33089 DO 1000
iz=mstu90+1,mstu91
33090 mstu9t(
iz)=mstu(90+
iz)-nrs+1-nsav+
n
33091 paru9t(
iz)=paru(90+
iz)
33098 k(i-nsav+
n,j)=k(i,j)
33099 p(i-nsav+
n,j)=
p(i,j)
33103 DO 1050 i=
n+1,2*
n-nsav
33104 IF(k(i,3).NE.ie(1)) goto 1050
33110 IF(mstu(16).NE.2) k(i1,3)=nsav
33111 DO 1040
iz=mstu90+1,mstu91
33112 IF(mstu9t(
iz).EQ.i)
THEN
33113 mstu(90)=mstu(90)+1
33114 mstu(90+mstu(90))=i1
33115 paru(90+mstu(90))=paru9t(
iz)
33119 DO 1080 i=2*
n-nsav,
n+1,-1
33120 IF(k(i,3).EQ.ie(1)) goto 1080
33126 IF(mstu(16).NE.2) k(i1,3)=nsav
33127 DO 1070
iz=mstu90+1,mstu91
33128 IF(mstu9t(
iz).EQ.i)
THEN
33129 mstu(90)=mstu(90)+1
33130 mstu(90+mstu(90))=i1
33131 paru(90+mstu(90))=paru9t(
iz)
33139 CALL
pyrobo(nsav+1,
n,0d0,0d0,dps(1)/dps(4),dps(2)/dps(4),
33143 hhpmt=
p(i,1)**2+
p(i,2)**2+
p(i,5)**2
33144 IF(
p(i,3).GT.0d0)
THEN
33145 hhpez=(
p(i,4)+
p(i,3))*hhbz
33146 p(i,3)=0.5d0*(hhpez-hhpmt/hhpez)
33147 p(i,4)=0.5d0*(hhpez+hhpmt/hhpez)
33149 hhpez=(
p(i,4)-
p(i,3))/hhbz
33150 p(i,3)=-0.5d0*(hhpez-hhpmt/hhpez)
33151 p(i,4)=0.5d0*(hhpez+hhpmt/hhpez)
33173 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
33176 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
33177 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
33178 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
33181 dimension dps(5),
psi(4),nfi(3),nfl(3),ifet(3),kflf(3),
33182 &kflo(2),pxo(2),pyo(2),wo(2)
33194 IF(i.GT.
min(
n,mstu(4)-mstu(32)))
THEN
33195 CALL
pyerrm(12,
'(PYINDF:) failed to reconstruct jet system')
33196 IF(mstu(21).GE.1)
RETURN
33198 IF(k(i,1).NE.1.AND.k(i,1).NE.2) goto 110
33200 IF(kc.EQ.0) goto 110
33201 kq=kchg(kc,2)*isign(1,k(i,2))
33202 IF(kq.EQ.0) goto 110
33204 IF(kq.NE.2) kqsum=kqsum+kq
33206 k(nsav+njet,j)=k(i,j)
33207 p(nsav+njet,j)=
p(i,j)
33208 dps(j)=dps(j)+
p(i,j)
33211 IF(k(i,1).EQ.2.OR.(mstj(3).LE.5.AND.
n.GT.i.AND.
33212 &k(i+1,1).EQ.2)) goto 110
33213 IF(njet.NE.1.AND.kqsum.NE.0)
THEN
33214 CALL
pyerrm(12,
'(PYINDF:) unphysical flavour combination')
33215 IF(mstu(21).GE.1)
RETURN
33221 CALL
pyrobo(nsav+1,nsav+njet,0d0,0d0,-dps(1)/dps(4),
33222 & -dps(2)/dps(4),-dps(3)/dps(4))
33228 DO 140 i=nsav+1,nsav+njet
33232 nfi(kfa)=nfi(kfa)+isign(1,k(i,2))
33233 ELSEIF(kfa.GT.1000)
THEN
33234 kfla=
mod(kfa/1000,10)
33235 kflb=
mod(kfa/100,10)
33236 IF(kfla.LE.3) nfi(kfla)=nfi(kfla)+isign(1,k(i,2))
33237 IF(kflb.LE.3) nfi(kflb)=nfi(kflb)+isign(1,k(i,2))
33244 IF(ntry.GT.200)
THEN
33245 CALL
pyerrm(14,
'(PYINDF:) caught in infinite loop')
33246 IF(mstu(21).GE.1)
RETURN
33257 DO 230 ip1=nsav+1,nsav+njet
33263 kflh=iabs(k(ip1,2))
33264 IF(kflh.GT.10) kflh=
mod(kflh/1000,10)
33266 wf=
p(ip1,4)+
sqrt(
p(ip1,1)**2+
p(ip1,2)**2+
p(ip1,3)**2)
33269 170
IF(iabs(k(ip1,2)).NE.21)
THEN
33272 CALL
pyptdi(0,pxo(1),pyo(1))
33276 ELSEIF(mstj(2).LE.2)
THEN
33278 IF(mstj(2).EQ.2) mstj(91)=1
33279 kflo(1)=
int(1d0+(2d0+parj(2))*
pyr(0))*(-1)**
int(
pyr(0)+0.5d0)
33280 CALL
pyptdi(0,pxo(1),pyo(1))
33287 IF(mstj(2).EQ.4) mstj(91)=1
33288 kflo(1)=
int(1d0+(2d0+parj(2))*
pyr(0))*(-1)**
int(
pyr(0)+0.5d0)
33290 CALL
pyptdi(0,pxo(1),pyo(1))
33293 wo(1)=wf*
pyr(0)**(1d0/3d0)
33309 IF(i.GE.mstu(4)-mstu(32)-njet-5)
THEN
33310 CALL
pyerrm(11,
'(PYINDF:) no more memory left in PYJETS')
33311 IF(mstu(21).GE.1)
RETURN
33318 200 CALL
pykfdi(kfl1,0,kfl2,k(i,2))
33319 IF(k(i,2).EQ.0) goto 180
33320 IF(mstj(12).GE.3.AND.irank.EQ.1.AND.iabs(kfl1).LE.10.AND.
33321 & iabs(kfl2).GT.10)
THEN
33322 IF(
pyr(0).GT.parj(19)) goto 200
33327 CALL
pyptdi(kfl1,px2,py2)
33330 pr=
p(i,5)**2+
p(i,1)**2+
p(i,2)**2
33333 IF(iabs(kfl1).GE.4.AND.iabs(kfl1).LE.8.AND.mstu(90).LT.8)
THEN
33335 mstu(90)=mstu(90)+1
33336 mstu(90+mstu(90))=i
33337 paru(90+mstu(90))=
z
33341 IF(mstj(3).GE.1.AND.irank.EQ.1.AND.kflh.GE.4.AND.
33342 &
p(i,3).LE.0.001d0)
THEN
33343 IF(
w.GE.
p(i,5)+0.5d0*parj(32)) goto 180
33359 IF(mstj(3).GE.0.AND.
p(i,3).LT.0d0)
THEN
33361 IF(mzsav.EQ.1) mstu(90)=mstu(90)-1
33363 IF(
w.GT.parj(31)) goto 190
33366 IF(
mod(mstj(3),5).EQ.4.AND.
n.EQ.nsav1) wf=wf+0.1d0*parj(32)
33367 IF(
mod(mstj(3),5).EQ.4.AND.
n.EQ.nsav1) goto 170
33374 k(k(ip1,3),4)=nsav1+1
33379 IF(njet.EQ.1.OR.mstj(3).LE.0) goto 490
33380 IF(
mod(mstj(3),5).NE.0.AND.
n-nsav-njet.LT.2) goto 150
33383 DO 240 i=nsav+njet+1,
n
33385 kfla=
mod(kfa/1000,10)
33386 kflb=
mod(kfa/100,10)
33387 kflc=
mod(kfa/10,10)
33389 IF(kflb.LE.3) nfl(kflb)=nfl(kflb)-isign(1,k(i,2))*(-1)**kflb
33390 IF(kflc.LE.3) nfl(kflc)=nfl(kflc)+isign(1,k(i,2))*(-1)**kflb
33392 IF(kfla.LE.3) nfl(kfla)=nfl(kfla)-isign(1,k(i,2))
33393 IF(kflb.LE.3) nfl(kflb)=nfl(kflb)-isign(1,k(i,2))
33394 IF(kflc.LE.3) nfl(kflc)=nfl(kflc)-isign(1,k(i,2))
33397 nreq=(iabs(nfl(1))+iabs(nfl(2))+iabs(nfl(3))-iabs(nfl(1)+
33398 &nfl(2)+nfl(3)))/2+iabs(nfl(1)+nfl(2)+nfl(3))/3
33399 IF(nreq.EQ.0) goto 320
33405 DO 260 i=nsav+njet+1,
n
33406 p2=
p(i,1)**2+
p(i,2)**2+
p(i,3)**2
33407 IF(k(i,1).EQ.1.AND.
p2.LT.p2min) irem=i
33408 IF(k(i,1).EQ.1.AND.
p2.LT.p2min) p2min=
p2
33410 IF(irem.EQ.0) goto 150
33412 kfa=iabs(k(irem,2))
33413 kfla=
mod(kfa/1000,10)
33414 kflb=
mod(kfa/100,10)
33415 kflc=
mod(kfa/10,10)
33416 IF(kfla.GE.4.OR.kflb.GE.4) k(irem,1)=8
33417 IF(k(irem,1).EQ.8) goto 250
33419 isgn=isign(1,k(irem,2))*(-1)**kflb
33420 IF(kflb.LE.3) nfl(kflb)=nfl(kflb)+isgn
33421 IF(kflc.LE.3) nfl(kflc)=nfl(kflc)-isgn
33423 IF(kfla.LE.3) nfl(kfla)=nfl(kfla)+isign(1,k(irem,2))
33424 IF(kflb.LE.3) nfl(kflb)=nfl(kflb)+isign(1,k(irem,2))
33425 IF(kflc.LE.3) nfl(kflc)=nfl(kflc)+isign(1,k(irem,2))
33428 nreq=(iabs(nfl(1))+iabs(nfl(2))+iabs(nfl(3))-iabs(nfl(1)+
33429 &nfl(2)+nfl(3)))/2+iabs(nfl(1)+nfl(2)+nfl(3))/3
33430 IF(nreq.GT.nrem) goto 250
33431 DO 270 i=nsav+njet+1,
n
33432 IF(k(i,1).EQ.8) k(i,1)=1
33437 IF(nfl(1)+nfl(2)+nfl(3).NE.0) nfet=3
33438 IF(nreq.LT.nrem) nfet=1
33439 IF(iabs(nfl(1))+iabs(nfl(2))+iabs(nfl(3)).EQ.0) nfet=0
33441 ifet(j)=1+(iabs(nfl(1))+iabs(nfl(2))+iabs(nfl(3)))*
pyr(0)
33442 kflf(j)=isign(1,nfl(1))
33443 IF(ifet(j).GT.iabs(nfl(1))) kflf(j)=isign(2,nfl(2))
33444 IF(ifet(j).GT.iabs(nfl(1))+iabs(nfl(2))) kflf(j)=isign(3,nfl(3))
33446 IF(nfet.EQ.2.AND.(ifet(1).EQ.ifet(2).OR.kflf(1)*kflf(2).GT.0))
33448 IF(nfet.EQ.3.AND.(ifet(1).EQ.ifet(2).OR.ifet(1).EQ.ifet(3).OR.
33449 &ifet(2).EQ.ifet(3).OR.kflf(1)*kflf(2).LT.0.OR.kflf(1)*kflf(3)
33450 &.LT.0.OR.kflf(1)*(nfl(1)+nfl(2)+nfl(3)).LT.0)) goto 280
33451 IF(nfet.EQ.0) kflf(1)=1+
int((2d0+parj(2))*
pyr(0))
33452 IF(nfet.EQ.0) kflf(2)=-kflf(1)
33453 IF(nfet.EQ.1) kflf(2)=isign(1+
int((2d0+parj(2))*
pyr(0)),-kflf(1))
33454 IF(nfet.LE.2) kflf(3)=0
33455 IF(kflf(3).NE.0)
THEN
33456 kflfc=isign(1000*
max(iabs(kflf(1)),iabs(kflf(3)))+
33457 & 100*
min(iabs(kflf(1)),iabs(kflf(3)))+1,kflf(1))
33458 IF(kflf(1).EQ.kflf(3).OR.(1d0+3d0*parj(4))*
pyr(0).GT.1d0)
33459 & kflfc=kflfc+isign(2,kflfc)
33463 CALL
pykfdi(kflfc,kflf(2),kfldmp,kf)
33464 IF(kf.EQ.0) goto 280
33465 DO 300 j=1,
max(2,nfet)
33466 nfl(iabs(kflf(j)))=nfl(iabs(kflf(j)))-isign(1,kflf(j))
33471 DO 310 i=nsav+njet+1,
n
33472 IF(k(i,1).EQ.7) npos=npos-1
33473 IF(k(i,1).EQ.1.OR.npos.NE.0) goto 310
33477 p(i,4)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
33480 nreq=(iabs(nfl(1))+iabs(nfl(2))+iabs(nfl(3))-iabs(nfl(1)+
33481 &nfl(2)+nfl(3)))/2+iabs(nfl(1)+nfl(2)+nfl(3))/3
33482 IF(nrem.GT.0) goto 280
33485 320
IF(
mod(mstj(3),5).NE.0.AND.
mod(mstj(3),5).NE.4)
THEN
33488 DO 330 i=nsav+njet+1,
n
33494 DO 350 i=nsav+njet+1,
n
33495 IF(
mod(mstj(3),5).EQ.1) pws=pws+
p(i,4)
33496 IF(
mod(mstj(3),5).EQ.2) pws=pws+
sqrt(
p(i,5)**2+(
psi(1)*
p(i,1)+
33498 IF(
mod(mstj(3),5).EQ.3) pws=pws+1d0
33500 DO 370 i=nsav+njet+1,
n
33501 IF(
mod(mstj(3),5).EQ.1) pw=
p(i,4)
33502 IF(
mod(mstj(3),5).EQ.2) pw=
sqrt(
p(i,5)**2+(
psi(1)*
p(i,1)+
33504 IF(
mod(mstj(3),5).EQ.3) pw=1d0
33506 p(i,j)=
p(i,j)-
psi(j)*pw/pws
33508 p(i,4)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
33512 ELSEIF(
mod(mstj(3),5).EQ.4)
THEN
33513 DO 390 i=
n+1,
n+njet
33519 DO 410 i=nsav+njet+1,
n
33522 k(ir2,1)=k(ir2,1)+1
33523 pls=(
p(i,1)*
p(ir1,1)+
p(i,2)*
p(ir1,2)+
p(i,3)*
p(ir1,3))/
33524 & (
p(ir1,1)**2+
p(ir1,2)**2+
p(ir1,3)**2)
33526 p(ir2,j)=
p(ir2,j)+
p(i,j)-pls*
p(ir1,j)
33528 p(ir2,4)=
p(ir2,4)+
p(i,4)
33529 p(ir2,5)=
p(ir2,5)+pls
33532 DO 420 i=
n+1,
n+njet
33533 IF(k(i,1).NE.0) pss=pss+
p(i,4)/(pecm*(0.8d0*
p(i,5)+0.2d0))
33535 DO 440 i=nsav+njet+1,
n
33538 pls=(
p(i,1)*
p(ir1,1)+
p(i,2)*
p(ir1,2)+
p(i,3)*
p(ir1,3))/
33539 & (
p(ir1,1)**2+
p(ir1,2)**2+
p(ir1,3)**2)
33541 p(i,j)=
p(i,j)-
p(ir2,j)/k(ir2,1)+(1d0/(
p(ir2,5)*pss)-1d0)*
33544 p(i,4)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
33549 IF(
mod(mstj(3),5).NE.0)
THEN
33553 DO 450 i=nsav+njet+1,
n
33556 pqs=pqs+
p(i,5)**2/
p(i,4)
33558 IF(pms.GE.pecm) goto 150
33561 pfac=(pecm-pqs)/(pes-pqs)
33564 DO 480 i=nsav+njet+1,
n
33568 p(i,4)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
33570 pqs=pqs+
p(i,5)**2/
p(i,4)
33572 IF(neco.LT.10.AND.abs(pecm-pes).GT.2
d-6*pecm) goto 460
33576 490
DO 500 i=nsav+njet+1,
n
33577 IF(mstu(16).NE.2) k(i,3)=nsav+1
33578 IF(mstu(16).EQ.2) k(i,3)=k(k(i,3),3)
33580 DO 510 i=nsav+1,nsav+njet
33583 IF(mstu(16).NE.2)
THEN
33587 k(i1,4)=k(i1,4)-njet+1
33588 k(i1,5)=k(i1,5)-njet+1
33589 IF(k(i1,5).LT.k(i1,4))
THEN
33607 p(nsav,5)=
sqrt(
max(0d0,dps(4)**2-dps(1)**2-dps(2)**2-dps(3)**2))
33609 DO 540 i=nsav+njet,
n
33611 k(i-njet+1,j)=k(i,j)
33612 p(i-njet+1,j)=
p(i,j)
33613 v(i-njet+1,j)=v(i,j)
33617 DO 550
iz=mstu90+1,mstu(90)
33618 mstu(90+
iz)=mstu(90+
iz)-njet+1
33622 IF(njet.NE.1) CALL
pyrobo(nsav+1,
n,0d0,0d0,dps(1)/dps(4),
33623 &dps(2)/dps(4),dps(3)/dps(4))
33641 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
33644 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
33645 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
33646 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
33647 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
33650 dimension vdcy(4),kflo(4),kfl1(4),pv(10,5),rord(10),ue(3),be(3),
33651 &wtcor(10),ptau(4),pcmtau(4),dbetau(3)
33653 DATA wtcor/2d0,5d0,15d0,60d0,250d0,1500d0,1.2d4,1.2d5,150d0,16d0/
33657 four(i,j)=
p(i,4)*
p(j,4)-
p(i,1)*
p(j,1)-
p(i,2)*
p(j,2)-
p(i,3)*
p(j,3)
33663 kfs=isign(1,k(ip,2))
33668 IF(k(ip,1).EQ.5)
THEN
33670 ELSEIF(k(ip,1).NE.4)
THEN
33671 v(ip,5)=-pmas(kc,4)*
log(
pyr(0))
33674 vdcy(j)=v(ip,j)+v(ip,5)*
p(ip,j)/
p(ip,5)
33679 IF(mstj(22).EQ.2)
THEN
33680 IF(pmas(kc,4).GT.parj(71)) mout=1
33681 ELSEIF(mstj(22).EQ.3)
THEN
33682 IF(vdcy(1)**2+vdcy(2)**2+vdcy(3)**2.GT.parj(72)**2) mout=1
33683 ELSEIF(mstj(22).EQ.4)
THEN
33684 IF(vdcy(1)**2+vdcy(2)**2.GT.parj(73)**2) mout=1
33685 IF(abs(vdcy(3)).GT.parj(74)) mout=1
33687 IF(mout.EQ.1.AND.k(ip,1).NE.5)
THEN
33693 IF(kfa.EQ.15.AND.mstj(28).GE.1)
THEN
33699 pcmtau(j)=
p(itau,j)
33704 120 imtau=k(imtau,3)
33706 IF(imtau.EQ.0)
THEN
33711 ELSEIF(k(imtau,2).EQ.k(itau,2))
THEN
33713 IF(k(k(imtau,4),2).EQ.22)
THEN
33715 pcmtau(j)=pcmtau(j)+
p(k(imtau,4),j)
33717 ELSEIF(k(k(imtau,5),2).EQ.22)
THEN
33719 pcmtau(j)=pcmtau(j)+
p(k(imtau,5),j)
33724 ELSEIF(iabs(k(imtau,2)).GT.100)
THEN
33727 kforig=-isign(24,k(itau,2))
33729 DO 160 ii=k(imtau,4),k(imtau,5)
33730 IF(k(ii,2)*isign(1,k(itau,2)).EQ.-16)
THEN
33732 pcmtau(j)=pcmtau(j)+
p(ii,j)
33742 DO 170 ii=imtau+1,ip-1
33743 IF(k(ii,2).EQ.kforig.AND.k(ii,3).EQ.iorig.AND.
33744 & abs(
p(ii,5)-
p(iorig,5)).LT.1
d-5*
p(iorig,5)) iorig=ii
33747 pcmtau(j)=
p(iorig,j)
33754 dbetau(j)=pcmtau(j)/pcmtau(4)
33756 IF(kforig.NE.0) CALL
pyrobo(itau,itau,0d0,0d0,-dbetau(1),
33757 & -dbetau(2),-dbetau(3))
33758 phitau=
pyangl(
p(itau,1),
p(itau,2))
33759 CALL
pyrobo(itau,itau,0d0,-phitau,0d0,0d0,0d0)
33760 thetau=
pyangl(
p(itau,3),
p(itau,1))
33761 CALL
pyrobo(itau,itau,-thetau,0d0,0d0,0d0,0d0)
33764 IF(kforig.NE.0.OR.mstj(28).EQ.2)
THEN
33765 CALL
pytaud(itau,iorig,kforig,ndecay)
33766 DO 200 ii=nsav+1,nsav+ndecay
33779 IF(kforig.NE.0.OR.mstj(28).EQ.2)
THEN
33780 CALL
pyrobo(nsav+1,
n,thetau,phitau,0d0,0d0,0d0)
33781 IF(kforig.NE.0) CALL
pyrobo(nsav+1,
n,0d0,0d0,dbetau(1),
33782 & dbetau(2),dbetau(3))
33794 IF((kfa.EQ.511.OR.kfa.EQ.531).AND.mstj(26).GE.1)
THEN
33796 IF(kfa.EQ.531) xbbmix=parj(77)
33797 IF(
sin(0.5d0*xbbmix*v(ip,5)/pmas(kc,4))**2.GT.
pyr(0)) mmix=1
33798 IF(mmix.EQ.1) kfs=-kfs
33803 IF(mdcy(kc,2).GT.0)
THEN
33804 mdmdcy=mdme(mdcy(kc,2),2)
33805 IF(mdmdcy.GT.80.AND.mdmdcy.LE.90) kca=mdmdcy
33807 IF(mdcy(kca,2).LE.0.OR.mdcy(kca,3).LE.0)
THEN
33808 CALL
pyerrm(9,
'(PYDECY:) no decay channel defined')
33811 IF(
mod(kfa/1000,10).EQ.0.AND.kca.EQ.85) kfs=-kfs
33812 IF(kchg(kc,3).EQ.0)
THEN
33815 IF(
pyr(0).GT.0.5d0) kfs=-kfs
33816 ELSEIF(kfs.GT.0)
THEN
33827 DO 230 idl=mdcy(kca,2),mdcy(kca,2)+mdcy(kca,3)-1
33828 IF(mdme(idl,1).NE.1.AND.kfsp*mdme(idl,1).NE.2.AND.
33829 & kfsn*mdme(idl,1).NE.3) goto 230
33830 IF(mdme(idl,2).GT.100) goto 230
33832 brsu=brsu+brat(idl)
33835 CALL
pyerrm(2,
'(PYDECY:) all decay channels closed by user')
33840 240 rbr=brsu*
pyr(0)
33843 IF(mdme(idl,1).NE.1.AND.kfsp*mdme(idl,1).NE.2.AND.
33844 &kfsn*mdme(idl,1).NE.3)
THEN
33845 IF(idl.LT.mdcy(kca,2)+mdcy(kca,3)-1) goto 250
33846 ELSEIF(mdme(idl,2).GT.100)
THEN
33847 IF(idl.LT.mdcy(kca,2)+mdcy(kca,3)-1) goto 250
33851 IF(idl.LT.mdcy(kca,2)+mdcy(kca,3)-1.AND.rbr.GT.0d0) goto 250
33857 IF(
mod(ntry,200).EQ.0)
THEN
33858 WRITE(cidc,
'(I4)') idc
33859 CALL
pyerrm(4,
'(PYDECY:) caught in loop for decay channel'//
33863 IF(ntry.GT.1000)
THEN
33864 CALL
pyerrm(14,
'(PYDECY:) caught in infinite loop')
33865 IF(mstu(21).GE.1)
RETURN
33871 IF(mmat.GE.11.AND.
p(ip,4).GT.20d0*
p(ip,5)) mbst=1
33874 IF(mbst.EQ.0) pv(1,j)=
p(ip,j)
33876 IF(mbst.EQ.1) pv(1,4)=
p(ip,5)
33882 IF(kfa.GT.80) mhaddy=1
33886 IF(mdme(idc+1,2).EQ.101) jtmax=10
33888 IF(jt.LE.5) kp=kfdp(idc,jt)
33889 IF(jt.GE.6) kp=kfdp(idc+1,jt-5)
33890 IF(kp.EQ.0) goto 280
33893 IF(kpa.GT.80) mhaddy=1
33894 IF(kchg(kcp,3).EQ.0.AND.kpa.NE.81.AND.kpa.NE.82)
THEN
33896 ELSEIF(kpa.NE.81.AND.kpa.NE.82)
THEN
33898 ELSEIF(kpa.EQ.81.AND.
mod(kfa/1000,10).EQ.0)
THEN
33899 kfp=-kfs*
mod(kfa/10,10)
33900 ELSEIF(kpa.EQ.81.AND.
mod(kfa/100,10).GE.
mod(kfa/10,10))
THEN
33901 kfp=kfs*(100*
mod(kfa/10,100)+3)
33902 ELSEIF(kpa.EQ.81)
THEN
33903 kfp=kfs*(1000*
mod(kfa/10,10)+100*
mod(kfa/100,10)+1)
33904 ELSEIF(kp.EQ.82)
THEN
33905 CALL
pykfdi(-kfs*
int(1d0+(2d0+parj(2))*
pyr(0)),0,kfp,kdump)
33906 IF(kfp.EQ.0) goto 260
33908 IF(pv(1,5).LT.parj(32)+2d0*
pymass(kfp)) goto 260
33909 ELSEIF(kp.EQ.-82)
THEN
33911 IF(iabs(kfp).GT.10) kfp=kfp+isign(10000,kfp)
33913 IF(kpa.EQ.81.OR.kpa.EQ.82) kcp=
pycomp(
mod(kfp,10000))
33918 IF(mmat.GE.11.AND.mmat.LE.30.AND.kqp.NE.0)
THEN
33922 psq=psq+
pymass(kflo(nq))
33923 ELSEIF((mmat.EQ.42.OR.mmat.EQ.43.OR.mmat.EQ.48).AND.np.EQ.3.AND.
33924 &
mod(nq,2).EQ.1)
THEN
33929 CALL
pykfdi(kfp,kfi,kfldmp,k(i,2))
33930 IF(k(i,2).EQ.0) goto 260
33937 IF(mmat.NE.33.AND.kqp.NE.0) nq=nq+1
33938 IF(mmat.EQ.33.AND.kqp.NE.0.AND.kqp.NE.2) nq=nq+1
33940 IF(mmat.EQ.4.AND.jt.LE.2.AND.kfp.EQ.21) k(i,1)=2
33941 IF(mmat.EQ.4.AND.jt.EQ.3) k(i,1)=1
33952 IF(mhaddy.EQ.0)
THEN
33953 IF(ps+parj(64).GT.pv(1,5)) goto 240
33957 290
IF(mmat.GE.11.AND.mmat.LE.30)
THEN
33959 cnde=parj(61)*
log(
max((pv(1,5)-ps-psq)/parj(62),1.1d0))
33960 IF(mmat.EQ.12) cnde=cnde+parj(63)
33962 IF(ntry.GT.1000)
THEN
33963 CALL
pyerrm(14,
'(PYDECY:) caught in infinite loop')
33964 IF(mstu(21).GE.1)
RETURN
33966 IF(mmat.LE.20)
THEN
33969 nd=0.5d0+0.5d0*np+0.25d0*nq+cnde+gauss
33970 IF(nd.LT.np+nq/2.OR.nd.LT.2.OR.nd.GT.10) goto 300
33971 IF(mmat.EQ.13.AND.nd.EQ.2) goto 300
33972 IF(mmat.EQ.14.AND.nd.LE.3) goto 300
33973 IF(mmat.EQ.15.AND.nd.LE.4) goto 300
33982 IF(nd.EQ.np+nq/2) goto 330
33983 DO 320 i=
n+np+1,
n+nd-nq/2
33985 CALL
pykfdi(kfl1(jt),0,kfl2,k(i,2))
33986 IF(k(i,2).EQ.0) goto 300
33992 IF(nq.EQ.4.AND.
pyr(0).LT.parj(66)) jt=4
33993 IF(jt.EQ.4.AND.isign(1,kfl1(1)*(10-iabs(kfl1(1))))*
33994 & isign(1,kfl1(jt)*(10-iabs(kfl1(jt)))).GT.0) jt=3
33997 CALL
pykfdi(kfl1(1),kfl1(jt),kfldmp,k(
n+nd-nq/2+1,2))
33998 IF(k(
n+nd-nq/2+1,2).EQ.0) goto 300
33999 IF(nq.EQ.4) CALL
pykfdi(kfl1(jt2),kfl1(jt3),kfldmp,k(
n+nd,2))
34000 IF(nq.EQ.4.AND.k(
n+nd,2).EQ.0) goto 300
34004 DO 340 i=
n+np+1,
n+nd
34012 IF(ps+parj(64).GT.pv(1,5)) goto 300
34015 ELSEIF((mmat.EQ.31.OR.mmat.EQ.33.OR.mmat.EQ.44)
34016 & .AND.np.GE.3)
THEN
34018 pqt=(
p(
n+np,5)+parj(65))/pv(1,5)
34020 p(
n+np,j)=pqt*pv(1,j)
34021 pv(1,j)=(1d0-pqt)*pv(1,j)
34023 IF(ps+parj(64).GT.pv(1,5)) goto 260
34029 IF(np.GE.2.AND.ps+parj(64).GT.pv(1,5)) goto 260
34039 IF(im.LT.0.OR.im.GE.ip) im=0
34040 IF(im.NE.0) kfam=iabs(k(im,2))
34042 DO 360 il=
max(ip-2,im+1),
min(ip+2,
n)
34043 IF(k(il,3).EQ.im) nm=nm+1
34044 IF(k(il,3).EQ.im.AND.il.NE.ip) isis=il
34046 IF(nm.NE.2.OR.kfam.LE.100.OR.
mod(kfam,10).NE.1.OR.
34047 &
mod(kfam/1000,10).NE.0) nm=0
34049 kfas=iabs(k(isis,2))
34050 IF((kfas.LE.100.OR.
mod(kfas,10).NE.1.OR.
34051 &
mod(kfas/1000,10).NE.0).AND.kfas.NE.22) nm=0
34067 wtmax=1d0/wtcor(nd-2)
34068 pmax=pv(1,5)-ps+
p(
n+nd,5)
34070 DO 380 il=nd-1,1,-1
34071 pmax=pmax+
p(
n+il,5)
34072 pmin=pmin+
p(
n+il+1,5)
34073 wtmax=wtmax*pawt(pmax,pmin,
p(
n+il,5))
34078 390
IF(nd.EQ.2)
THEN
34079 ELSEIF(mmat.EQ.2)
THEN
34080 pmes=4d0*pmas(11,1)**2
34081 pmrho2=pmas(131,1)**2
34082 pgrho2=pmas(131,2)**2
34083 400 pmst=pmes*(
p(ip,5)**2/pmes)**
pyr(0)
34084 wt=(1+0.5d0*pmes/pmst)*
sqrt(
max(0d0,1d0-pmes/pmst))*
34085 & (1d0-pmst/
p(ip,5)**2)**3*(1d0+pgrho2/pmrho2)/
34086 & ((1d0-pmst/pmrho2)**2+pgrho2/pmrho2)
34087 IF(wt.LT.
pyr(0)) goto 400
34088 pv(2,5)=
max(2.00001d0*pmas(11,1),
sqrt(pmst))
34095 DO 420 il2=il1-1,1,-1
34096 IF(rsav.LE.rord(il2)) goto 430
34097 rord(il2+1)=rord(il2)
34099 430 rord(il2+1)=rsav
34103 DO 450 il=nd-1,1,-1
34104 pv(il,5)=pv(il+1,5)+
p(
n+il,5)+(rord(il)-rord(il+1))*
34106 wt=wt*pawt(pv(il,5),pv(il+1,5),
p(
n+il,5))
34108 IF(wt.LT.
pyr(0)*wtmax) goto 410
34112 460
DO 480 il=1,nd-1
34113 pa=pawt(pv(il,5),pv(il+1,5),
p(
n+il,5))
34114 ue(3)=2d0*
pyr(0)-1d0
34120 pv(il+1,j)=-pa*ue(j)
34122 p(
n+il,4)=
sqrt(pa**2+
p(
n+il,5)**2)
34123 pv(il+1,4)=
sqrt(pa**2+pv(il+1,5)**2)
34130 DO 530 il=nd-1,1,-1
34132 be(j)=pv(il,j)/pv(il,4)
34134 ga=pv(il,4)/pv(il,5)
34136 bep=be(1)*
p(i,1)+be(2)*
p(i,2)+be(3)*
p(i,3)
34138 p(i,j)=
p(i,j)+ga*(ga*bep/(1d0+ga)+
p(i,4))*be(j)
34140 p(i,4)=ga*(
p(i,4)+bep)
34146 IF(ntry.GT.800) goto 560
34150 wt=(
p(
n+1,5)*
p(
n+2,5)*
p(
n+3,5))**2-(
p(
n+1,5)*four(
n+2,
n+3))**2
34151 & -(
p(
n+2,5)*four(
n+1,
n+3))**2-(
p(
n+3,5)*four(
n+1,
n+2))**2
34152 & +2d0*four(
n+1,
n+2)*four(
n+1,
n+3)*four(
n+2,
n+3)
34153 IF(
max(wt*wtcor(9)/
p(ip,5)**6,0.001d0).LT.
pyr(0)) goto 390
34156 ELSEIF(mmat.EQ.2)
THEN
34157 four12=four(
n+1,
n+2)
34158 four13=four(
n+1,
n+3)
34159 wt=(pmst-0.5d0*pmes)*(four12**2+four13**2)+
34160 & pmes*(four12*four13+four12**2+four13**2)
34161 IF(wt.LT.
pyr(0)*0.25d0*pmst*(
p(ip,5)**2-pmst)**2) goto 460
34166 ELSEIF(mmat.EQ.3.AND.nm.EQ.2)
THEN
34168 four12=four(ip,
n+1)
34169 four02=four(im,
n+1)
34173 IF(kfas.NE.22) hnum=(four10*four12-pms1*four02)**2
34174 IF(kfas.EQ.22) hnum=pms1*(2d0*four10*four12*four02-
34175 & pms1*four02**2-pms0*four12**2-pms2*four10**2+pms1*pms0*pms2)
34176 hnum=
max(1
d-6*pms1**2*pms0*pms2,hnum)
34177 hden=(four10**2-pms1*pms0)*(four12**2-pms1*pms2)
34178 IF(hnum.LT.
pyr(0)*hden) goto 460
34181 ELSEIF(mmat.EQ.4)
THEN
34182 hx1=2d0*four(ip,
n+1)/
p(ip,5)**2
34183 hx2=2d0*four(ip,
n+2)/
p(ip,5)**2
34184 hx3=2d0*four(ip,
n+3)/
p(ip,5)**2
34185 wt=((1d0-hx1)/(hx2*hx3))**2+((1d0-hx2)/(hx1*hx3))**2+
34186 & ((1d0-hx3)/(hx1*hx2))**2
34187 IF(wt.LT.2d0*
pyr(0)) goto 390
34188 IF(k(ip+1,2).EQ.22.AND.(1d0-hx1)*
p(ip,5)**2.LT.4d0*parj(32)**2)
34192 ELSEIF(mmat.EQ.41)
THEN
34193 hx1=2d0*four(ip,
n+1)/
p(ip,5)**2
34194 hxm=
min(0.75d0,2d0*(1d0-ps/
p(ip,5)))
34195 IF(hx1*(3d0-2d0*hx1).LT.
pyr(0)*hxm*(3d0-2d0*hxm)) goto 390
34198 ELSEIF((mmat.EQ.42.OR.mmat.EQ.43.OR.mmat.EQ.44.OR.mmat.EQ.48)
34199 & .AND.nd.EQ.3)
THEN
34200 IF(mbst.EQ.0) wt=four(ip,
n+1)*four(
n+2,
n+3)
34201 IF(mbst.EQ.1) wt=
p(ip,5)*
p(
n+1,4)*four(
n+2,
n+3)
34202 IF(wt.LT.
pyr(0)*
p(ip,5)*pv(1,5)**3/wtcor(10)) goto 390
34203 ELSEIF(mmat.EQ.42.OR.mmat.EQ.43.OR.mmat.EQ.44.OR.mmat.EQ.48)
THEN
34207 p(
n+np+1,j)=
p(
n+np+1,j)+
p(is,j)
34210 IF(mbst.EQ.0) wt=four(ip,
n+1)*four(
n+2,
n+np+1)
34211 IF(mbst.EQ.1) wt=
p(ip,5)*
p(
n+1,4)*four(
n+2,
n+np+1)
34212 IF(wt.LT.
pyr(0)*
p(ip,5)*pv(1,5)**3/wtcor(10)) goto 390
34216 560
IF(mrem.EQ.1)
THEN
34218 pv(1,j)=pv(1,j)/(1d0-pqt)
34226 IF(mmat.EQ.31.AND.nd.EQ.3)
THEN
34231 IF(
p(
n+2,5)**2+
p(
n+3,5)**2+2d0*four(
n+2,
n+3).GE.
34232 & (parj(32)+pm2+pm3)**2) goto 630
34235 CALL
pykfdi(kftemp,k(
n+3,2),kfldmp,k(
n+2,2))
34236 IF(k(
n+2,2).EQ.0) goto 260
34238 ps=
p(
n+1,5)+
p(
n+2,5)
34243 ELSEIF(mmat.EQ.44)
THEN
34248 IF(
p(
n+3,5)**2+
p(
n+4,5)**2+2d0*four(
n+3,
n+4).GE.
34249 & (parj(32)+pm3+pm4)**2) goto 600
34252 CALL
pykfdi(kftemp,k(
n+4,2),kfldmp,k(
n+3,2))
34253 IF(k(
n+3,2).EQ.0) goto 260
34256 p(
n+3,j)=
p(
n+3,j)+
p(
n+4,j)
34259 ha=
p(
n+1,4)**2-
p(
n+2,4)**2
34260 hb=ha-(
p(
n+1,5)**2-
p(
n+2,5)**2)
34261 hc=(
p(
n+1,1)-
p(
n+2,1))**2+(
p(
n+1,2)-
p(
n+2,2))**2+
34262 & (
p(
n+1,3)-
p(
n+2,3))**2
34263 hd=(pv(1,4)-
p(
n+3,4))**2
34264 he=ha**2-2d0*hd*(
p(
n+1,4)**2+
p(
n+2,4)**2)+hd**2
34267 hh=(
sqrt(hg**2+he*hf)-hg)/(2d0*hf)
34269 pcor=
hh*(
p(
n+1,j)-
p(
n+2,j))
34270 p(
n+1,j)=
p(
n+1,j)+pcor
34271 p(
n+2,j)=
p(
n+2,j)-pcor
34279 600
IF((mmat.EQ.42.OR.mmat.EQ.43.OR.mmat.EQ.44.OR.mmat.EQ.48)
34280 &.AND.iabs(k(
n+1,2)).LT.10)
THEN
34281 pmr=
sqrt(
max(0d0,
p(
n+1,5)**2+
p(
n+2,5)**2+2d0*four(
n+1,
n+2)))
34286 IF(pmr.GT.parj(32)+pm1+pm2) goto 610
34287 kfldum=
int(1.5d0+
pyr(0))
34288 CALL
pykfdi(k(
n+1,2),-isign(kfldum,k(
n+1,2)),kfldmp,kf1)
34289 CALL
pykfdi(k(
n+2,2),-isign(kfldum,k(
n+2,2)),kfldmp,kf2)
34290 IF(kf1.EQ.0.OR.kf2.EQ.0) goto 260
34292 IF((mmat.EQ.42.OR.mmat.EQ.48).AND.pmr.GT.parj(64)+psm) goto 610
34293 IF(mmat.GE.43.AND.pmr.GT.0.2d0*parj(32)+psm) goto 610
34294 IF(mmat.EQ.48) goto 390
34295 IF(nd.EQ.4.OR.kfa.EQ.15) goto 260
34298 CALL
pykfdi(kftemp,k(
n+2,2),kfldmp,k(
n+1,2))
34299 IF(k(
n+1,2).EQ.0) goto 260
34303 ps=
p(
n+1,5)+
p(
n+2,5)
34304 IF(ps+parj(64).GT.pv(1,5)) goto 260
34312 610
IF((mmat.EQ.42.OR.mmat.EQ.48).AND.iabs(k(
n+1,2)).LT.10)
THEN
34318 pv(1,j)=
p(
n+1,j)+
p(
n+2,j)
34338 be(j)=
p(ip,j)/
p(ip,4)
34342 bep=be(1)*
p(i,1)+be(2)*
p(i,2)+be(3)*
p(i,3)
34344 p(i,j)=
p(i,j)+ga*(ga*bep/(1d0+ga)+
p(i,4))*be(j)
34346 p(i,4)=ga*(
p(i,4)+bep)
34359 IF(mstj(23).GE.1.AND.mmat.EQ.4.AND.k(nsav+1,2).EQ.21)
THEN
34363 k(nsav+1,4)=mstu(5)*(nsav+2)
34364 k(nsav+1,5)=mstu(5)*(nsav+3)
34365 k(nsav+2,4)=mstu(5)*(nsav+3)
34366 k(nsav+2,5)=mstu(5)*(nsav+1)
34367 k(nsav+3,4)=mstu(5)*(nsav+1)
34368 k(nsav+3,5)=mstu(5)*(nsav+2)
34370 ELSEIF(mstj(23).GE.1.AND.mmat.EQ.4)
THEN
34373 k(nsav+2,4)=mstu(5)*(nsav+3)
34374 k(nsav+2,5)=mstu(5)*(nsav+3)
34375 k(nsav+3,4)=mstu(5)*(nsav+2)
34376 k(nsav+3,5)=mstu(5)*(nsav+2)
34378 ELSEIF(mstj(23).GE.1.AND.(mmat.EQ.32.OR.mmat.EQ.44).AND.
34379 & iabs(k(nsav+1,2)).LE.10.AND.iabs(k(nsav+2,2)).LE.10)
THEN
34382 k(nsav+1,4)=mstu(5)*(nsav+2)
34383 k(nsav+1,5)=mstu(5)*(nsav+2)
34384 k(nsav+2,4)=mstu(5)*(nsav+1)
34385 k(nsav+2,5)=mstu(5)*(nsav+1)
34387 ELSEIF(mstj(23).GE.1.AND.(mmat.EQ.32.OR.mmat.EQ.44).AND.
34388 & iabs(k(nsav+1,2)).LE.20.AND.iabs(k(nsav+2,2)).LE.20)
THEN
34390 ELSEIF(mstj(23).GE.1.AND.mmat.EQ.33.AND.iabs(k(nsav+2,2)).EQ.21)
34396 kqp=kchg(kcp,2)*isign(1,k(nsav+1,2))
34398 IF(kqp.LT.0) jcon=5
34399 k(nsav+1,jcon)=mstu(5)*(nsav+2)
34400 k(nsav+2,9-jcon)=mstu(5)*(nsav+1)
34401 k(nsav+2,jcon)=mstu(5)*(nsav+3)
34402 k(nsav+3,9-jcon)=mstu(5)*(nsav+2)
34404 ELSEIF(mstj(23).GE.1.AND.mmat.EQ.33)
THEN
34407 k(nsav+1,4)=mstu(5)*(nsav+3)
34408 k(nsav+1,5)=mstu(5)*(nsav+3)
34409 k(nsav+3,4)=mstu(5)*(nsav+1)
34410 k(nsav+3,5)=mstu(5)*(nsav+1)
34415 IF(k(ip,1).EQ.5) k(ip,1)=15
34416 IF(k(ip,1).LE.10) k(ip,1)=11
34417 IF(mmix.EQ.1.AND.mstj(26).EQ.2.AND.k(ip,1).EQ.11) k(ip,1)=12
34432 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
34435 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
34436 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
34444 IF(kf1a.EQ.0)
RETURN
34446 IF(kf1a.LE.10.AND.kf2a.LE.10.AND.kfl1*kfl2.GT.0)
RETURN
34447 IF(kf1a.GT.10.AND.kf2a.GT.10)
RETURN
34448 IF((kf1a.GT.10.OR.kf2a.GT.10).AND.kfl1*kfl2.LT.0)
RETURN
34452 IF(mstj(15).EQ.1)
THEN
34454 IF(kf1a.GE.1.AND.kf1a.LE.6) ktab1=kf1a
34455 kfl1a=
mod(kf1a/1000,10)
34456 kfl1b=
mod(kf1a/100,10)
34458 IF(kfl1a.GE.1.AND.kfl1a.LE.4.AND.kfl1b.GE.1.AND.kfl1b.LE.4)
34459 & ktab1=6+kfl1a*(kfl1a-2)+2*kfl1b+(kfl1s-1)/2
34460 IF(kfl1a.GE.1.AND.kfl1a.LE.4.AND.kfl1a.EQ.kfl1b) ktab1=ktab1-1
34461 IF(kf1a.GE.1.AND.kf1a.LE.6) kfl1a=kf1a
34465 IF(kf2a.GE.1.AND.kf2a.LE.6) ktab2=kf2a
34466 kfl2a=
mod(kf2a/1000,10)
34467 kfl2b=
mod(kf2a/100,10)
34469 IF(kfl2a.GE.1.AND.kfl2a.LE.4.AND.kfl2b.GE.1.AND.kfl2b.LE.4)
34470 & ktab2=6+kfl2a*(kfl2a-2)+2*kfl2b+(kfl2s-1)/2
34471 IF(kfl2a.GE.1.AND.kfl2a.LE.4.AND.kfl2a.EQ.kfl2b) ktab2=ktab2-1
34473 IF(ktab1.GE.0.AND.ktab2.GE.0) goto 150
34480 IF(mstj(12).GE.2)
THEN
34481 par3m=
sqrt(parj(3))
34482 par4m=1d0/(3d0*
sqrt(parj(4)))
34483 pardm=parj(7)/(parj(7)+par3m*parj(6))
34484 pars0=parj(5)*(2d0+(1d0+par2*par3m*parj(7))*(1d0+par4m))
34485 pars1=parj(7)*pars0/(2d0*par3m)+parj(5)*(parj(6)*(1d0+par4m)+
34486 & par2*par3m*parj(6)*parj(7))
34487 pars2=parj(5)*2d0*parj(6)*parj(7)*(par2*parj(7)+
34488 & (1d0+par4m)/par3m)
34489 parsm=
max(pars0,pars1,pars2)
34490 par4=par4*(1d0+parsm)/(1d0+parsm/(3d0*par4m))
34496 IF(kf1a.LE.10)
THEN
34497 IF(kf2a.EQ.0.AND.mstj(12).GE.1.AND.(1d0+parj(1))*
pyr(0).GT.1d0)
34499 IF(kf2a.GT.10) mbary=2
34500 IF(kf2a.GT.10.AND.kf2a.LE.10000) kfda=kf2a
34503 IF(kf1a.LE.10000) kfda=kf1a
34507 IF(kfda.NE.0.AND.mstj(12).GE.2)
THEN
34508 kflda=
mod(kfda/1000,10)
34509 kfldb=
mod(kfda/100,10)
34512 IF(
max(kflda,kfldb).EQ.3) wtdq=pars1
34513 IF(
min(kflda,kfldb).EQ.3) wtdq=pars2
34514 IF(kflds.EQ.1) wtdq=wtdq/(3d0*par4m)
34515 IF((1d0+wtdq)*
pyr(0).GT.1d0) mbary=-1
34516 IF(mbary.EQ.-1.AND.kf2a.NE.0)
RETURN
34520 IF(mbary.LE.0)
THEN
34522 IF(mbary.EQ.0)
THEN
34523 IF(kf2a.EQ.0) kfl3=isign(1+
int((2d0+par2)*
pyr(0)),-kfl1)
34524 kfla=
max(kf1a,kf2a+iabs(kfl3))
34525 kflb=
min(kf1a,kf2a+iabs(kfl3))
34526 IF(kfla.NE.kf1a) kfs=-kfs
34530 kfl1a=
mod(kf1a/1000,10)
34531 kfl1b=
mod(kf1a/100,10)
34532 120 kfl1d=kfl1a+
int(
pyr(0)+0.5d0)*(kfl1b-kfl1a)
34533 kfl1e=kfl1a+kfl1b-kfl1d
34534 IF((kfl1d.EQ.3.AND.
pyr(0).GT.pardm).OR.(kfl1e.EQ.3.AND.
34535 &
pyr(0).LT.pardm))
THEN
34536 kfl1d=kfl1a+kfl1b-kfl1d
34537 kfl1e=kfl1a+kfl1b-kfl1e
34539 kfl3a=1+
int((2d0+par2*par3m*parj(7))*
pyr(0))
34540 IF((kfl1e.NE.kfl3a.AND.
pyr(0).GT.(1d0+par4m)/
34541 &
max(2d0,1d0+par4m)).OR.(kfl1e.EQ.kfl3a.AND.
pyr(0).GT.
34542 & 2d0/
max(2d0,1d0+par4m))) goto 120
34544 IF(kfl1e.NE.kfl3a) kflds=2*
int(
pyr(0)+1d0/(1d0+par4m))+1
34545 kfl3=isign(10000+1000*
max(kfl1e,kfl3a)+100*
min(kfl1e,kfl3a)+
34547 kfla=
max(kfl1d,kfl3a)
34548 kflb=
min(kfl1d,kfl3a)
34549 IF(kfla.NE.kfl1d) kfs=-kfs
34553 IF(kfla.LE.2) kmul=
int(parj(11)+
pyr(0))
34554 IF(kfla.EQ.3) kmul=
int(parj(12)+
pyr(0))
34555 IF(kfla.GE.4) kmul=
int(parj(13)+
pyr(0))
34556 IF(kmul.EQ.0.AND.parj(14).GT.0d0)
THEN
34557 IF(
pyr(0).LT.parj(14)) kmul=2
34558 ELSEIF(kmul.EQ.1.AND.parj(15)+parj(16)+parj(17).GT.0d0)
THEN
34560 IF(rmul.LT.parj(15)) kmul=3
34561 IF(kmul.EQ.1.AND.rmul.LT.parj(15)+parj(16)) kmul=4
34562 IF(kmul.EQ.1.AND.rmul.LT.parj(15)+parj(16)+parj(17)) kmul=5
34565 IF(kmul.EQ.0.OR.kmul.EQ.3) kfls=1
34566 IF(kmul.EQ.5) kfls=5
34567 IF(kfla.NE.kflb)
THEN
34568 kf=(100*kfla+10*kflb+kfls)*kfs*(-1)**kfla
34571 imix=2*kfla+10*kmul
34572 IF(kfla.LE.3) kf=110*(1+
int(rmix+parf(imix-1))+
34573 &
int(rmix+parf(imix)))+kfls
34574 IF(kfla.GE.4) kf=110*kfla+kfls
34576 IF(kmul.EQ.2.OR.kmul.EQ.3) kf=kf+isign(10000,kf)
34577 IF(kmul.EQ.4) kf=kf+isign(20000,kf)
34581 IF(
pyr(0).GT.parj(25)) goto 110
34582 ELSEIF(kf.EQ.331)
THEN
34583 IF(
pyr(0).GT.parj(26)) goto 110
34588 130
IF(kf1a.LE.10.AND.kf2a.EQ.0)
THEN
34590 140 kflb=1+
int((2d0+par2*par3)*
pyr(0))
34591 kflc=1+
int((2d0+par2*par3)*
pyr(0))
34593 IF(kflb.GE.kflc) kflds=3
34594 IF(kflds.EQ.1.AND.par4*
pyr(0).GT.1d0) goto 140
34595 IF(kflds.EQ.3.AND.par4.LT.
pyr(0)) goto 140
34596 kfl3=isign(1000*
max(kflb,kflc)+100*
min(kflb,kflc)+kflds,kfl1)
34599 ELSEIF(kf1a.LE.10)
THEN
34601 kflb=
mod(kf2a/1000,10)
34602 kflc=
mod(kf2a/100,10)
34607 IF(kf2a.EQ.0) kfl3=isign(1+
int((2d0+par2)*
pyr(0)),kfl1)
34608 kfla=kf2a+iabs(kfl3)
34609 kflb=
mod(kf1a/1000,10)
34610 kflc=
mod(kf1a/100,10)
34616 IF(kflds.EQ.3.AND.kflb.NE.kflc) kbary=5
34617 IF(kfla.NE.kflb.AND.kfla.NE.kflc) kbary=kbary+1
34618 wt=parf(60+kbary)+parj(18)*parf(70+kbary)
34619 IF(mbary.EQ.1.AND.mstj(12).GE.2)
THEN
34621 IF(
max(kflb,kflc).EQ.3) wtdq=pars1
34622 IF(
min(kflb,kflc).EQ.3) wtdq=pars2
34623 IF(kflds.EQ.1) wtdq=wtdq/(3d0*par4m)
34624 IF(kflds.EQ.1) wt=wt*(1d0+wtdq)/(1d0+parsm/(3d0*par4m))
34625 IF(kflds.EQ.3) wt=wt*(1d0+wtdq)/(1d0+parsm)
34627 IF(kf2a.EQ.0.AND.wt.LT.
pyr(0)) goto 130
34630 kfld=
max(kfla,kflb,kflc)
34631 kflf=
min(kfla,kflb,kflc)
34632 kfle=kfla+kflb+kflc-kfld-kflf
34634 IF((parf(60+kbary)+parj(18)*parf(70+kbary))*
pyr(0).GT.
34635 & parf(60+kbary)) kfls=4
34637 IF(kfls.EQ.2.AND.kfld.GT.kfle.AND.kfle.GT.kflf)
THEN
34638 IF(kflds.EQ.1.AND.kfla.EQ.kfld) kfll=1
34639 IF(kflds.EQ.1.AND.kfla.NE.kfld) kfll=
int(0.25d0+
pyr(0))
34640 IF(kflds.EQ.3.AND.kfla.NE.kfld) kfll=
int(0.75d0+
pyr(0))
34642 IF(kfll.EQ.0) kf=isign(1000*kfld+100*kfle+10*kflf+kfls,kfl1)
34643 IF(kfll.EQ.1) kf=isign(1000*kfld+100*kflf+10*kfle+kfls,kfl1)
34648 150
IF(ktab2.EQ.0.AND.mstj(12).LE.0)
THEN
34651 ELSEIF(ktab2.EQ.0.AND.ktab1.GE.7.AND.mstj(12).LE.1)
THEN
34654 ELSEIF(ktab2.EQ.0)
THEN
34663 DO 160 kt3=kt3l,kt3u
34664 rfl=rfl+parf(120+80*ktab1+25*kts+kt3)
34670 DO 180 kt3=kt3l,kt3u
34672 rfl=rfl-parf(120+80*ktab1+25*kts+kt3)
34673 IF(rfl.LE.0d0) goto 200
34679 IF(ktab3.LE.6)
THEN
34682 kfl3=isign(kfl3a,kfl1*(2*ktab1-13))
34685 IF(ktab3.GE.8) kfl3a=2
34686 IF(ktab3.GE.11) kfl3a=3
34687 IF(ktab3.GE.16) kfl3a=4
34688 kfl3b=(ktab3-6-kfl3a*(kfl3a-2))/2
34689 kfl3=1000*kfl3a+100*kfl3b+1
34690 IF(kfl3a.EQ.kfl3b.OR.ktab3.NE.6+kfl3a*(kfl3a-2)+2*kfl3b) kfl3=
34692 kfl3=isign(kfl3,kfl1*(13-2*ktab1))
34696 IF(kfl3a.EQ.kfl1a.AND.kfl3b.EQ.kfl1b.AND.(kfl3a.LE.3.OR.
34698 rfl=
pyr(0)*(parf(143+80*ktab1+25*ktabs)+parf(144+80*ktab1+
34699 & 25*ktabs)+parf(145+80*ktab1+25*ktabs))
34701 IF(rfl.GT.parf(143+80*ktab1+25*ktabs)) kf=220+2*ktabs+1
34702 IF(rfl.GT.parf(143+80*ktab1+25*ktabs)+parf(144+80*ktab1+
34703 & 25*ktabs)) kf=330+2*ktabs+1
34704 ELSEIF(ktab1.LE.6.AND.ktab3.LE.6)
THEN
34705 kfla=
max(ktab1,ktab3)
34706 kflb=
min(ktab1,ktab3)
34708 IF(kfla.NE.kf1a) kfs=-kfs
34709 kf=(100*kfla+10*kflb+2*ktabs+1)*kfs*(-1)**kfla
34710 ELSEIF(ktab1.GE.7.AND.ktab3.GE.7)
THEN
34712 IF(kfl1a.EQ.kfl3a)
THEN
34713 kfla=
max(kfl1b,kfl3b)
34714 kflb=
min(kfl1b,kfl3b)
34715 IF(kfla.NE.kfl1b) kfs=-kfs
34716 ELSEIF(kfl1a.EQ.kfl3b)
THEN
34720 ELSEIF(kfl1b.EQ.kfl3a)
THEN
34723 ELSEIF(kfl1b.EQ.kfl3b)
THEN
34724 kfla=
max(kfl1a,kfl3a)
34725 kflb=
min(kfl1a,kfl3a)
34726 IF(kfla.NE.kfl1a) kfs=-kfs
34728 CALL
pyerrm(2,
'(PYKFDI:) no matching flavours for qq -> qq')
34731 kf=(100*kfla+10*kflb+2*ktabs+1)*kfs*(-1)**kfla
34735 IF(ktab1.GE.7)
THEN
34744 kfld=
max(kfla,kflb,kflc)
34745 kflf=
min(kfla,kflb,kflc)
34746 kfle=kfla+kflb+kflc-kfld-kflf
34747 IF(ktabs.EQ.0) kf=isign(1000*kfld+100*kflf+10*kfle+2,kfl1)
34748 IF(ktabs.GE.1) kf=isign(1000*kfld+100*kfle+10*kflf+2*ktabs,kfl1)
34752 IF(kfl2.NE.0) kfl3=0
34755 CALL
pyerrm(2,
'(PYKFDI:) user-defined flavour probabilities '//
34771 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
34774 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
34780 IF(parj(23).GT.
pyr(0))
pt=parj(24)*
pt
34781 IF(mstj(91).EQ.1)
pt=parj(22)*
pt
34782 IF(kfla.EQ.0.AND.mstj(13).LE.0)
pt=0d0
34798 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
34801 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
34802 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
34809 IF(kfla.GE.10) kflh=
mod(kfla/1000,10)
34812 IF(mstj(11).EQ.1.OR.(mstj(11).EQ.3.AND.kflh.LE.3).OR.
34813 &mstj(11).GE.4)
THEN
34815 IF(mstj(91).EQ.1) fa=parj(43)
34816 IF(kflb.GE.10) fa=fa+parj(45)
34818 IF(mstj(91).EQ.1) fbb=parj(44)
34821 IF(kfla.GE.10) fc=fc-parj(45)
34822 IF(kflb.GE.10) fc=fc+parj(45)
34823 IF(mstj(11).GE.4.AND.kflh.GE.4.AND.kflh.LE.5)
THEN
34825 IF(mstj(11).EQ.5.AND.kflh.EQ.5) fred=parj(47)
34826 fc=fc+fred*fbb*parf(100+kflh)**2
34827 ELSEIF(mstj(11).GE.4.AND.kflh.GE.6.AND.kflh.LE.8)
THEN
34829 IF(mstj(11).EQ.5) fred=parj(48)
34830 fc=fc+fred*fbb*pmas(kflh,1)**2
34833 IF(abs(fc-1d0).GT.0.01d0) mc=2
34836 IF(fa.LT.0.02d0)
THEN
34839 IF(fc.GT.fb) zmax=fb/fc
34840 ELSEIF(abs(fc-fa).LT.0.01d0)
THEN
34845 zmax=0.5d0*(fb+fc-
sqrt((fb-fc)**2+4d0*fa*fb))/(fc-fa)
34846 IF(zmax.GT.0.9999d0.AND.fb.GT.100d0) zmax=
min(zmax,1d0-fa/fb)
34851 IF(zmax.LT.0.1d0)
THEN
34857 zdivc=zdiv**(1d0-fc)
34858 fint=1d0+(1d0-1d0/zdivc)/(fc-1d0)
34860 ELSEIF(zmax.GT.0.85d0.AND.fb.GT.1d0)
THEN
34862 fscb=
sqrt(4d0+(fc/fb)**2)
34863 zdiv=fscb-1d0/zmax-(fc/fb)*
log(zmax*0.5d0*(fscb+fc/fb))
34864 IF(ma.GE.2) zdiv=zdiv+(fa/fb)*
log(1d0-zmax)
34865 zdiv=
min(zmax,
max(0d0,zdiv))
34866 fint=1d0+fb*(1d0-zdiv)
34873 IF(fint*
pyr(0).LE.1d0)
THEN
34875 ELSEIF(mc.EQ.1)
THEN
34879 z=(zdivc+
z*(1d0-zdivc))**(1d0/(1d0-fc))
34882 ELSEIF(mmax.EQ.3)
THEN
34883 IF(fint*
pyr(0).LE.1d0)
THEN
34885 fpre=
exp(fb*(
z-zdiv))
34887 z=zdiv+
z*(1d0-zdiv)
34892 IF(
z.LE.0d0.OR.
z.GE.1d0) goto 100
34893 fexp=fc*
log(zmax/
z)+fb*(1d0/zmax-1d0/
z)
34896 IF(fval.LT.
pyr(0)*fpre) goto 100
34900 fc=parj(50+
max(1,kflh))
34901 IF(mstj(91).EQ.1) fc=parj(59)
34903 IF(fc.GE.0d0.AND.fc.LE.1d0)
THEN
34904 IF(fc.GT.
pyr(0))
z=1d0-
z**(1d0/3d0)
34905 ELSEIF(fc.GT.-1.AND.fc.LT.0d0)
THEN
34906 IF(-4d0*fc*
z*(1d0-
z)**2.LT.
pyr(0)*((1d0-
z)**2-fc*
z)**2)
34909 IF(fc.GT.0d0)
z=1d0-
z**(1d0/fc)
34910 IF(fc.LT.0d0)
z=
z**(-1d0/fc)
34925 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
34928 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
34929 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
34930 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
34933 dimension pmth(5,50),ps(5),pma(4),pmsd(4),iep(4),ipa(4),
34934 &kfla(4),kfld(4),kfl(4),itry(4),isi(4),isl(4),dp(4),dpt(5,4),
34935 &ksh(0:40),kcii(2),niis(2),iiis(2,2),theiis(2,2),phiiis(2,2),
34939 IF(mstj(41).LE.0.OR.(mstj(41).EQ.1.AND.qmax.LE.parj(82)).OR.
34940 &qmax.LE.
min(parj(82),parj(83)))
RETURN
34946 pmth(2,21)=
sqrt(pmth(1,21)**2+0.25d0*parj(82)**2)
34947 pmth(3,21)=2d0*pmth(2,21)
34948 pmth(4,21)=pmth(3,21)
34949 pmth(5,21)=pmth(3,21)
34951 pmth(2,22)=
sqrt(pmth(1,22)**2+0.25d0*parj(83)**2)
34952 pmth(3,22)=2d0*pmth(2,22)
34953 pmth(4,22)=pmth(3,22)
34954 pmth(5,22)=pmth(3,22)
34956 IF(mstj(41).GE.2) pmqth1=
min(parj(82),parj(83))
34958 IF(mstj(41).GE.2) pmqth2=
min(pmth(2,21),pmth(2,22))
34962 pmth(2,ifl)=
sqrt(pmth(1,ifl)**2+0.25d0*pmqth1**2)
34963 pmth(3,ifl)=pmth(2,ifl)+pmqth2
34964 pmth(4,ifl)=
sqrt(pmth(1,ifl)**2+0.25d0*parj(82)**2)+pmth(2,21)
34965 pmth(5,ifl)=
sqrt(pmth(1,ifl)**2+0.25d0*parj(83)**2)+pmth(2,22)
34968 IF(mstj(41).GE.2) ksh(ifl)=1
34970 pmth(2,ifl)=
sqrt(pmth(1,ifl)**2+0.25d0*parj(83)**2)
34971 pmth(3,ifl)=pmth(2,ifl)+pmth(2,22)
34972 pmth(4,ifl)=pmth(3,ifl)
34973 pmth(5,ifl)=pmth(3,ifl)
34975 pt2min=
max(0.5d0*parj(82),1.1d0*parj(81))**2
34977 alfm=
log(pt2min/alams)
34980 IF(ip1.GT.0.AND.ip1.LE.
min(
n,mstu(4)-mstu(32)).AND.ip2.EQ.0)
THEN
34983 ELSEIF(
min(ip1,ip2).GT.0.AND.
max(ip1,ip2).LE.
min(
n,mstu(4)-
34988 ELSEIF(ip1.GT.0.AND.ip1.LE.
min(
n,mstu(4)-mstu(32)).AND.ip2.LT.0
34989 & .AND.ip2.GE.-3)
THEN
34996 &
'(PYSHOW:) failed to reconstruct showering system')
34997 IF(mstu(21).GE.1)
RETURN
35007 kfla(i)=iabs(k(ipa(i),2))
35011 IF(kfla(i).GE.6.AND.kfla(i).LE.8)
THEN
35012 ifla=37+kfla(i)+isign(2,k(ipa(i),2))
35013 pmth(1,ifla)=pma(i)
35014 pmth(2,ifla)=
sqrt(pmth(1,ifla)**2+0.25d0*pmqth1**2)
35015 pmth(3,ifla)=pmth(2,ifla)+pmqth2
35016 pmth(4,ifla)=
sqrt(pmth(1,ifla)**2+0.25d0*parj(82)**2)+
35018 pmth(5,ifla)=
sqrt(pmth(1,ifla)**2+0.25d0*parj(83)**2)+
35021 IF(kfla(i).LE.40)
THEN
35022 IF(ksh(kfla(i)).EQ.1) pma(i)=pmth(3,ifla)
35025 IF(kfla(i).GT.40)
THEN
35028 IF(ksh(kfla(i)).EQ.0.OR.pma(i).GT.qmax) irej=irej+1
35031 ps(j)=ps(j)+
p(ipa(i),j)
35034 IF(irej.EQ.npa)
RETURN
35035 ps(5)=
sqrt(
max(0d0,ps(4)**2-ps(1)**2-ps(2)**2-ps(3)**2))
35036 IF(npa.EQ.1) ps(5)=ps(4)
35037 IF(ps(5).LE.pm+pmqth1)
RETURN
35041 IF(npa.EQ.2.AND.mstj(47).GE.1)
THEN
35042 IF(kfla(1).GE.1.AND.kfla(1).LE.8.AND.kfla(2).GE.1.AND.
35043 & kfla(2).LE.8) m3jc=1
35044 IF((kfla(1).EQ.11.OR.kfla(1).EQ.13.OR.kfla(1).EQ.15.OR.
35045 & kfla(1).EQ.17).AND.kfla(2).EQ.kfla(1)) m3jc=1
35046 IF((kfla(1).EQ.11.OR.kfla(1).EQ.13.OR.kfla(1).EQ.15.OR.
35047 & kfla(1).EQ.17).AND.kfla(2).EQ.kfla(1)+1) m3jc=1
35048 IF((kfla(1).EQ.12.OR.kfla(1).EQ.14.OR.kfla(1).EQ.16.OR.
35049 & kfla(1).EQ.18).AND.kfla(2).EQ.kfla(1)-1) m3jc=1
35050 IF(mstj(47).EQ.2.OR.mstj(47).EQ.4) m3jc=1
35052 IF(m3jc.EQ.1.AND.mstj(47).GE.3.AND.kfla(1).EQ.kfla(2))
THEN
35054 qme=(2d0*pmth(1,kfla(1))/ps(5))**2
35060 IF(mstj(50).GE.1.AND.mstj(50).LE.3.AND.npa.EQ.2) miis=mstj(50)
35065 IF(kca.NE.0) kcii(i)=kchg(kca,2)*isign(1,k(ipa(i),2))
35067 IF(kcii(i).NE.0)
THEN
35069 icsi=
mod(k(ipa(i),3+j)/mstu(5),mstu(5))
35070 IF(icsi.GT.0.AND.icsi.NE.ipa(1).AND.icsi.NE.ipa(2).AND.
35071 & (kcii(i).EQ.(-1)**(j+1).OR.kcii(i).EQ.2))
THEN
35073 iiis(i,niis(i))=icsi
35078 IF(niis(1)+niis(2).EQ.0) miis=0
35086 k(
n+i,j)=k(ipa(i),j)
35087 p(
n+i,j)=
p(ipa(i),j)
35091 DO 220 i=3,2+niis(1)
35093 k(
n+i,j)=k(iiis(1,i-2),j)
35094 p(
n+i,j)=
p(iiis(1,i-2),j)
35098 DO 240 i=3+niis(1),2+niis(1)+niis(2)
35100 k(
n+i,j)=k(iiis(2,i-2-niis(1)),j)
35101 p(
n+i,j)=
p(iiis(2,i-2-niis(1)),j)
35105 CALL
pyrobo(
n+1,
n+2+niis(1)+niis(2),0d0,0d0,-ps(1)/ps(4),
35106 & -ps(2)/ps(4),-ps(3)/ps(4))
35108 CALL
pyrobo(
n+1,
n+2+niis(1)+niis(2),0d0,-
phi,0d0,0d0,0d0)
35110 CALL
pyrobo(
n+1,
n+2+niis(1)+niis(2),-the,0d0,0d0,0d0,0d0)
35111 DO 250 i=3,2+niis(1)
35115 DO 260 i=3+niis(1),2+niis(1)+niis(2)
35116 theiis(2,i-2-niis(1))=paru(1)-
pyangl(
p(
n+i,3),
35118 phiiis(2,i-2-niis(1))=
pyangl(
p(
n+i,1),
p(
n+i,2))
35124 IF(
n.GT.mstu(4)-mstu(32)-5)
THEN
35125 CALL
pyerrm(11,
'(PYSHOW:) no more memory left in PYJETS')
35126 IF(mstu(21).GE.1)
RETURN
35146 IF(npa.EQ.1) im=
ns-1
35149 IF(im.GT.
n) goto 510
35151 IF(kflm.GT.40) goto 270
35152 IF(ksh(kflm).EQ.0) goto 270
35154 IF(kflm.GE.6.AND.kflm.LE.8) iflm=37+kflm+isign(2,k(im,2))
35155 IF(
p(im,5).LT.pmth(2,iflm)) goto 270
35160 IF(
n+nep.GT.mstu(4)-mstu(32)-5)
THEN
35161 CALL
pyerrm(11,
'(PYSHOW:) no more memory left in PYJETS')
35162 IF(mstu(21).GE.1)
RETURN
35169 IF(k(im-1,3).EQ.igm) iau=im-1
35170 IF(
n.GE.im+1.AND.k(im+1,3).EQ.igm) iau=im+1
35182 k(
n+i,2)=k(ipa(i),2)
35184 ELSEIF(kflm.NE.21)
THEN
35187 ELSEIF(k(im,5).EQ.21)
THEN
35200 kfld(ip)=iabs(k(
n+ip,2))
35201 IF(kchg(
pycomp(kfld(ip)),2).EQ.0) k(
n+ip,1)=1
35205 IF(kfld(ip).LE.40)
THEN
35206 IF(ksh(kfld(ip)).EQ.1) isi(ip)=1
35214 IF(npa.GE.3)
p(
n+i,4)=(ps(4)*
p(ipa(i),4)-ps(1)*
p(ipa(i),1)-
35215 & ps(2)*
p(ipa(i),2)-ps(3)*
p(ipa(i),3))/ps(5)
35216 p(
n+i,5)=
min(qmax,ps(5))
35217 IF(npa.GE.3)
p(
n+i,5)=
min(
p(
n+i,5),
p(
n+i,4))
35218 IF(isi(i).EQ.0)
p(
n+i,5)=
p(ipa(i),5)
35221 IF(mstj(43).LE.2) pem=v(im,2)
35222 IF(mstj(43).GE.3) pem=
p(im,4)
35223 p(
n+1,5)=
min(
p(im,5),v(im,1)*pem)
35224 p(
n+2,5)=
min(
p(im,5),(1d0-v(im,1))*pem)
35225 IF(k(
n+2,2).EQ.22)
p(
n+2,5)=pmth(1,22)
35229 IF(isi(i).EQ.1)
THEN
35231 IF(kfld(i).GE.6.AND.kfld(i).LE.8) ifld=37+kfld(i)+
35232 & isign(2,k(
n+i,2))
35233 IF(
p(
n+i,5).LE.pmth(3,ifld))
p(
n+i,5)=pmth(1,ifld)
35235 v(
n+i,5)=
p(
n+i,5)**2
35240 IF(nep.EQ.1) inum=1
35242 IF(inum.EQ.0.AND.isl(i).EQ.1) inum=i
35245 IF(inum.EQ.0.AND.itry(i).EQ.0.AND.isi(i).EQ.1)
THEN
35247 IF(kfld(i).GE.6.AND.kfld(i).LE.8) ifld=37+kfld(i)+
35248 & isign(2,k(
n+i,2))
35249 IF(
p(
n+i,5).GE.pmth(2,ifld)) inum=i
35255 IF(isi(i).EQ.1.AND.pmsd(i).GE.pmqth2)
THEN
35256 rpm=
p(
n+i,5)/pmsd(i)
35258 IF(kfld(i).GE.6.AND.kfld(i).LE.8) ifld=37+kfld(i)+
35259 & isign(2,k(
n+i,2))
35260 IF(rpm.GT.rmax.AND.
p(
n+i,5).GE.pmth(2,ifld))
THEN
35273 IF(iep(i).GT.
n+nep) iep(i)=
n+1
35276 kfl(i)=iabs(k(iep(i),2))
35278 itry(inum)=itry(inum)+1
35279 IF(itry(inum).GT.200)
THEN
35280 CALL
pyerrm(14,
'(PYSHOW:) caught in infinite loop')
35281 IF(mstu(21).GE.1)
RETURN
35284 IF(kfl(1).GT.40) goto 430
35285 IF(ksh(kfl(1)).EQ.0) goto 430
35287 IF(kfl(1).GE.6.AND.kfl(1).LE.8) ifl=37+kfl(1)+
35288 &isign(2,k(iep(1),2))
35289 IF(
p(iep(1),5).LT.pmth(2,ifl)) goto 430
35292 IF(miis.GE.1.AND.iep(1).LE.
ns+3)
THEN
35295 IF(iabs(kcii(iii)).EQ.1.AND.niis(iii).EQ.1)
THEN
35297 ELSEIF(kcii(iii).EQ.2.AND.niis(iii).EQ.1)
THEN
35298 IF(
pyr(0).GT.0.5d0) isii(iii)=1
35299 ELSEIF(kcii(iii).EQ.2.AND.niis(iii).EQ.2)
THEN
35301 IF(
pyr(0).GT.0.5d0) isii(iii)=2
35308 ELSEIF(igm.EQ.0.OR.mstj(43).LE.2)
THEN
35311 IF(inum.EQ.1) pmed=v(im,1)*pem
35312 IF(inum.EQ.2) pmed=(1d0-v(im,1))*pem
35314 IF(
mod(mstj(43),2).EQ.1)
THEN
35316 zce=pmth(2,22)/pmed
35318 zc=0.5d0*(1d0-
sqrt(
max(0d0,1d0-(2d0*pmth(2,21)/pmed)**2)))
35319 IF(zc.LT.1
d-4) zc=(pmth(2,21)/pmed)**2
35320 zce=0.5d0*(1d0-
sqrt(
max(0d0,1d0-(2d0*pmth(2,22)/pmed)**2)))
35321 IF(zce.LT.1
d-4) zce=(pmth(2,22)/pmed)**2
35324 zce=
min(zce,0.491d0)
35325 IF((mstj(41).EQ.1.AND.zc.GT.0.49d0).OR.(mstj(41).GE.2.AND.
35326 &
min(zc,zce).GT.0.49d0))
THEN
35327 p(iep(1),5)=pmth(1,ifl)
35328 v(iep(1),5)=
p(iep(1),5)**2
35333 IF(mstj(49).EQ.0.AND.kfl(1).EQ.21)
THEN
35334 fbr=6d0*
log((1d0-zc)/zc)+mstj(45)*(0.5d0-zc)
35335 ELSEIF(mstj(49).EQ.0)
THEN
35336 fbr=(8d0/3d0)*
log((1d0-zc)/zc)
35339 ELSEIF(mstj(49).EQ.1.AND.kfl(1).EQ.21)
THEN
35340 fbr=(parj(87)+mstj(45)*parj(88))*(1d0-2d0*zc)
35341 ELSEIF(mstj(49).EQ.1)
THEN
35342 fbr=(1d0-2d0*zc)/3d0
35343 IF(igm.EQ.0.AND.m3jc.EQ.1) fbr=4d0*fbr
35346 ELSEIF(kfl(1).EQ.21)
THEN
35347 fbr=6d0*mstj(45)*(0.5d0-zc)
35349 fbr=2d0*
log((1d0-zc)/zc)
35353 IF(kfl(1).GE.11.AND.kfl(1).LE.18) fbr=0d0
35356 IF(mstj(41).GE.2.AND.kfl(1).GE.1.AND.kfl(1).LE.18)
THEN
35357 fbre=(kchg(kfl(1),1)/3d0)**2*2d0*
log((1d0-zce)/zce)
35358 IF(mstj(41).EQ.10) fbre=parj(84)*fbre
35362 390 pms=v(iep(1),5)
35367 IF(kfl(i).LE.40)
THEN
35369 IF(kfl(i).GE.6.AND.kfl(i).LE.8) ifli=37+kfl(i)+
35370 & isign(2,k(iep(i),2))
35371 IF(ksh(kfl(i)).EQ.1) pm=pmth(2,ifli)
35375 pms=
min(pms,(
p(im,5)-pm2)**2)
35380 DO 410 iff=4,mstj(45)
35381 IF(pms.GT.4d0*pmth(2,iff)**2) b0=(33d0-2d0*iff)/6d0
35383 IF(fbr.LT.1
d-3)
THEN
35385 ELSEIF(mstj(44).LE.0)
THEN
35386 pmsqcd=pms*
exp(
max(-50d0,
log(
pyr(0))*paru(2)/(paru(111)*fbr)))
35387 ELSEIF(mstj(44).EQ.1)
THEN
35388 pmsqcd=4d0*alams*(0.25d0*pms/alams)**(
pyr(0)**(b0/fbr))
35392 IF(zc.GT.0.49d0.OR.pmsqcd.LE.pmth(4,ifl)**2) pmsqcd=pmth(2,ifl)**2
35397 IF(mstj(41).GE.2.AND.kfl(1).GE.1.AND.kfl(1).LE.18)
THEN
35398 pmsqed=pms*
exp(
max(-50d0,
log(
pyr(0))*paru(2)/(paru(101)*fbre)))
35399 IF(zce.GT.0.49d0.OR.pmsqed.LE.pmth(5,ifl)**2) pmsqed=
35401 IF(pmsqed.GT.pmsqcd)
THEN
35408 p(iep(1),5)=
sqrt(v(iep(1),5))
35409 IF(
p(iep(1),5).LE.pmth(3,ifl))
THEN
35410 p(iep(1),5)=pmth(1,ifl)
35411 v(iep(1),5)=
p(iep(1),5)**2
35417 z=1d0-(1d0-zce)*(zce/(1d0-zce))**
pyr(0)
35418 IF(1d0+
z**2.LT.2d0*
pyr(0)) goto 390
35422 ELSEIF(mstj(49).NE.1.AND.kfl(1).NE.21)
THEN
35423 z=1d0-(1d0-zc)*(zc/(1d0-zc))**
pyr(0)
35424 IF(1d0+
z**2.LT.2d0*
pyr(0)) goto 390
35426 ELSEIF(mstj(49).EQ.0.AND.mstj(45)*(0.5d0-zc).LT.
pyr(0)*fbr)
THEN
35427 z=(1d0-zc)*(zc/(1d0-zc))**
pyr(0)
35428 IF(
pyr(0).GT.0.5d0)
z=1d0-
z
35429 IF((1d0-
z*(1d0-
z))**2.LT.
pyr(0)) goto 390
35431 ELSEIF(mstj(49).NE.1)
THEN
35432 z=zc+(1d0-2d0*zc)*
pyr(0)
35433 IF(
z**2+(1d0-
z)**2.LT.
pyr(0)) goto 390
35434 kflb=1+
int(mstj(45)*
pyr(0))
35435 pmq=4d0*pmth(2,kflb)**2/v(iep(1),5)
35436 IF(pmq.GE.1d0) goto 390
35437 pmq0=4d0*pmth(2,21)**2/v(iep(1),5)
35438 IF(
mod(mstj(43),2).EQ.0.AND.(1d0+0.5d0*pmq)*
sqrt(1d0-pmq).LT.
35439 &
pyr(0)*(1d0+0.5d0*pmq0)*
sqrt(1d0-pmq0)) goto 390
35443 ELSEIF(kfl(1).NE.21)
THEN
35444 z=1d0-
sqrt(zc**2+
pyr(0)*(1d0-2d0*zc))
35446 ELSEIF(
pyr(0)*(parj(87)+mstj(45)*parj(88)).LE.parj(87))
THEN
35447 z=zc+(1d0-2d0*zc)*
pyr(0)
35450 z=zc+(1d0-2d0*zc)*
pyr(0)
35451 kflb=1+
int(mstj(45)*
pyr(0))
35452 pmq=4d0*pmth(2,kflb)**2/v(iep(1),5)
35453 IF(pmq.GE.1d0) goto 390
35456 IF(mce.EQ.1.AND.mstj(44).GE.2)
THEN
35457 IF(
z*(1d0-
z)*v(iep(1),5).LT.pt2min) goto 390
35458 IF(alfm/
log(v(iep(1),5)*
z*(1d0-
z)/alams).LT.
pyr(0)) goto 390
35462 IF(kfl(1).EQ.21)
THEN
35463 kflgd1=iabs(k(iep(1),5))
35467 kflgd2=iabs(k(iep(1),5))
35471 ELSEIF(nep.GE.3)
THEN
35473 ELSEIF(igm.EQ.0.OR.mstj(43).LE.2)
THEN
35474 ped=0.5d0*(v(im,5)+v(iep(1),5)-pm2**2)/
p(im,5)
35476 IF(iep(1).EQ.
n+1) ped=v(im,1)*pem
35477 IF(iep(1).EQ.
n+2) ped=(1d0-v(im,1))*pem
35479 IF(
mod(mstj(43),2).EQ.1)
THEN
35481 IF(kflgd1.GE.6.AND.kflgd1.LE.8) iflgd1=ifl
35482 pmqth3=0.5d0*parj(82)
35483 IF(kflgd2.EQ.22) pmqth3=0.5d0*parj(83)
35484 pmq1=(pmth(1,iflgd1)**2+pmqth3**2)/v(iep(1),5)
35485 pmq2=(pmth(1,kflgd2)**2+pmqth3**2)/v(iep(1),5)
35486 zd=
sqrt(
max(0d0,(1d0-v(iep(1),5)/ped**2)*((1d0-pmq1-pmq2)**2-
35490 zd=
sqrt(
max(0d0,1d0-v(iep(1),5)/ped**2))
35495 IF(
z.LT.zl.OR.
z.GT.zu) goto 390
35496 IF(kfl(1).EQ.21) v(iep(1),3)=
log(zu*(1d0-zl)/
max(1
d-20,zl*
35498 IF(kfl(1).NE.21) v(iep(1),3)=
log((1d0-zl)/
max(1
d-10,1d0-zu))
35501 IF(mstj(40).NE.0.AND.kfl(1).NE.21)
THEN
35503 eglu=0.5d0*ps(5)*(1d0-
z)*(1d0+v(iep(1),5)/v(
ns+1,5))
35507 chi=parj(89)**2/(parj(89)**2+eglu**2)
35508 IF(mstj(40).EQ.1)
THEN
35509 IF(chi.LT.
pyr(0)) goto 390
35510 ELSEIF(mstj(40).EQ.2)
THEN
35511 IF(1d0-chi.LT.
pyr(0)) goto 390
35516 IF(igm.EQ.0.AND.m3jc.EQ.1)
THEN
35517 x1=
z*(1d0+v(iep(1),5)/v(
ns+1,5))
35518 x2=1d0-v(iep(1),5)/v(
ns+1,5)
35519 x3=(1d0-
x1)+(1d0-
x2)
35522 ki2=k(ipa(3-inum),2)
35523 qf1=kchg(iabs(ki1),1)*isign(1,ki1)/3d0
35524 qf2=kchg(iabs(ki2),1)*isign(1,ki2)/3d0
35525 wshow=qf1**2*(1d0-
x1)/x3*(1d0+(
x1/(2d0-
x2))**2)+
35526 & qf2**2*(1d0-
x2)/x3*(1d0+(
x2/(2d0-
x1))**2)
35527 wme=(qf1*(1d0-
x1)/x3-qf2*(1d0-
x2)/x3)**2*(
x1**2+
x2**2)
35528 ELSEIF(mstj(49).NE.1)
THEN
35529 wshow=1d0+(1d0-
x1)/x3*(
x1/(2d0-
x2))**2+
35530 & (1d0-
x2)/x3*(
x2/(2d0-
x1))**2
35532 IF(m3jcm.EQ.1) wme=wme-qme*x3-0.5d0*qme**2-
35533 & (0.5d0*qme+0.25d0*qme**2)*((1d0-
x2)/
max(1
d-7,1d0-
x1)+
35536 wshow=4d0*x3*((1d0-
x1)/(2d0-
x2)**2+(1d0-
x2)/(2d0-
x1)**2)
35538 IF(mstj(102).GE.2) wme=x3**2-2d0*(1d0+x3)*(1d0-
x1)*(1d0-
x2)*
35541 IF(wme.LT.
pyr(0)*wshow) goto 390
35544 ELSEIF(mce.EQ.1.AND.igm.GT.0.AND.mstj(42).GE.2)
THEN
35547 IF(iep(1).EQ.
n+2) zm=1d0-v(im,1)
35548 the2id=
z*(1d0-
z)*(zm*
p(im,4))**2/v(iep(1),5)
35550 420
IF(k(iaom,5).EQ.22)
THEN
35552 IF(k(iaom,3).LE.
ns) maom=0
35553 IF(maom.EQ.1) goto 420
35556 the2im=v(iaom,1)*(1d0-v(iaom,1))*
p(iaom,4)**2/v(iaom,5)
35557 IF(the2id.LT.the2im) goto 390
35562 IF(mstj(48).EQ.1)
THEN
35563 IF(nep.EQ.1.AND.im.EQ.
ns)
THEN
35564 the2id=
z*(1d0-
z)*ps(4)**2/v(iep(1),5)
35565 IF(the2id.LT.1d0/parj(85)**2) goto 390
35566 ELSEIF(nep.EQ.2.AND.iep(1).EQ.
ns+2)
THEN
35567 the2id=
z*(1d0-
z)*(0.5d0*
p(im,4))**2/v(iep(1),5)
35568 IF(the2id.LT.1d0/parj(85)**2) goto 390
35569 ELSEIF(nep.EQ.2.AND.iep(1).EQ.
ns+3)
THEN
35570 the2id=
z*(1d0-
z)*(0.5d0*
p(im,4))**2/v(iep(1),5)
35571 IF(the2id.LT.1d0/parj(86)**2) goto 390
35577 IF(miis.GE.2.AND.iep(1).LE.
ns+3)
THEN
35578 the2d=
max((1d0-
z)/
z,
z/(1d0-
z))*v(iep(1),5)/(0.5d0*
p(im,4))**2
35579 IF(iep(1).EQ.
ns+2.AND.isii(1).GE.1)
THEN
35580 IF(the2d.GT.theiis(1,isii(1))**2) goto 390
35581 ELSEIF(iep(1).EQ.
ns+3.AND.isii(2).GE.1)
THEN
35582 IF(the2d.GT.theiis(2,isii(2))**2) goto 390
35590 IF(nep.EQ.1) goto 460
35591 IF(nep.EQ.2.AND.
p(iep(1),5)+
p(iep(2),5).GE.
p(im,5)) goto 330
35593 IF(itry(i).EQ.0.AND.kfld(i).LE.40)
THEN
35594 IF(ksh(kfld(i)).EQ.1)
THEN
35596 IF(kfld(i).GE.6.AND.kfld(i).LE.8) ifld=37+kfld(i)+
35597 & isign(2,k(
n+i,2))
35598 IF(
p(
n+i,5).GE.pmth(2,ifld)) goto 330
35605 pa1s=(
p(
n+1,4)+
p(
n+1,5))*(
p(
n+1,4)-
p(
n+1,5))
35606 pa2s=(
p(
n+2,4)+
p(
n+2,5))*(
p(
n+2,4)-
p(
n+2,5))
35607 pa3s=(
p(
n+3,4)+
p(
n+3,5))*(
p(
n+3,4)-
p(
n+3,5))
35608 pts=0.25d0*(2d0*pa1s*pa2s+2d0*pa1s*pa3s+2d0*pa2s*pa3s-
35609 & pa1s**2-pa2s**2-pa3s**2)/pa1s
35610 IF(pts.LE.0d0) goto 330
35611 ELSEIF(igm.EQ.0.OR.mstj(43).LE.2.OR.
mod(mstj(43),2).EQ.0)
THEN
35613 kflda=iabs(k(i1,2))
35614 IF(kflda.GT.40) goto 450
35615 IF(ksh(kflda).EQ.0) goto 450
35617 IF(kflda.GE.6.AND.kflda.LE.8) iflda=37+kflda+
35619 IF(
p(i1,5).LT.pmth(2,iflda)) goto 450
35620 IF(kflda.EQ.21)
THEN
35621 kflgd1=iabs(k(i1,5))
35625 kflgd2=iabs(k(i1,5))
35628 IF(igm.EQ.0.OR.mstj(43).LE.2)
THEN
35629 ped=0.5d0*(v(im,5)+v(i1,5)-v(i2,5))/
p(im,5)
35631 IF(i1.EQ.
n+1) zm=v(im,1)
35632 IF(i1.EQ.
n+2) zm=1d0-v(im,1)
35633 pml=
sqrt((v(im,5)-v(
n+1,5)-v(
n+2,5))**2-
35634 & 4d0*v(
n+1,5)*v(
n+2,5))
35635 ped=pem*(0.5d0*(v(im,5)-pml+v(i1,5)-v(i2,5))+pml*zm)/v(im,5)
35637 IF(
mod(mstj(43),2).EQ.1)
THEN
35638 pmqth3=0.5d0*parj(82)
35639 IF(kflgd2.EQ.22) pmqth3=0.5d0*parj(83)
35641 IF(kflgd1.GE.6.AND.kflgd1.LE.8) iflgd1=iflda
35642 pmq1=(pmth(1,iflgd1)**2+pmqth3**2)/v(i1,5)
35643 pmq2=(pmth(1,kflgd2)**2+pmqth3**2)/v(i1,5)
35644 zd=
sqrt(
max(0d0,(1d0-v(i1,5)/ped**2)*((1d0-pmq1-pmq2)**2-
35648 zd=
sqrt(
max(0d0,1d0-v(i1,5)/ped**2))
35653 IF(i1.EQ.
n+1.AND.(v(i1,1).LT.zl.OR.v(i1,1).GT.zu)) isl(1)=1
35654 IF(i1.EQ.
n+2.AND.(v(i1,1).LT.zl.OR.v(i1,1).GT.zu)) isl(2)=1
35655 IF(kflda.EQ.21) v(i1,4)=
log(zu*(1d0-zl)/
max(1
d-20,
35657 IF(kflda.NE.21) v(i1,4)=
log((1d0-zl)/
max(1
d-10,1d0-zu))
35659 IF(isl(1).EQ.1.AND.isl(2).EQ.1.AND.islm.NE.0)
THEN
35662 ELSEIF(isl(1).EQ.1.AND.isl(2).EQ.1)
THEN
35663 zdr1=
max(0d0,v(
n+1,3)/
max(1
d-6,v(
n+1,4))-1d0)
35664 zdr2=
max(0d0,v(
n+2,3)/
max(1
d-6,v(
n+2,4))-1d0)
35665 IF(zdr2.GT.
pyr(0)*(zdr1+zdr2)) isl(1)=0
35666 IF(isl(1).EQ.1) isl(2)=0
35667 IF(isl(1).EQ.0) islm=1
35668 IF(isl(2).EQ.0) islm=2
35670 IF(isl(1).EQ.1.OR.isl(2).EQ.1) goto 330
35673 IF(kfld(1).GE.6.AND.kfld(1).LE.8) ifld1=37+kfld(1)+
35676 IF(kfld(2).GE.6.AND.kfld(2).LE.8) ifld2=37+kfld(2)+
35678 IF(igm.GT.0.AND.
mod(mstj(43),2).EQ.1.AND.(
p(
n+1,5).GE.
35679 &pmth(2,ifld1).OR.
p(
n+2,5).GE.pmth(2,ifld2)))
THEN
35680 pmq1=v(
n+1,5)/v(im,5)
35681 pmq2=v(
n+2,5)/v(im,5)
35682 zd=
sqrt(
max(0d0,(1d0-v(im,5)/pem**2)*((1d0-pmq1-pmq2)**2-
35687 IF(v(im,1).LT.zl.OR.v(im,1).GT.zu) goto 330
35698 p(
n+1,4)=
p(ipa(1),4)
35700 ELSEIF(igm.EQ.0.AND.nep.EQ.2)
THEN
35701 ped1=0.5d0*(v(im,5)+v(
n+1,5)-v(
n+2,5))/
p(im,5)
35709 p(
n+2,4)=
p(im,5)-ped1
35712 ELSEIF(nep.EQ.3)
THEN
35718 p(
n+2,3)=0.5d0*(pa3s-pa2s-pa1s)/
p(
n+1,3)
35721 p(
n+3,3)=-(
p(
n+1,3)+
p(
n+2,3))
35729 pzm=
sqrt(
max(0d0,(pem+
p(im,5))*(pem-
p(im,5))))
35730 pmls=(v(im,5)-v(
n+1,5)-v(
n+2,5))**2-4d0*v(
n+1,5)*v(
n+2,5)
35731 IF(pzm.LE.0d0)
THEN
35733 ELSEIF(
mod(mstj(43),2).EQ.1)
THEN
35734 pts=(pem**2*(zm*(1d0-zm)*v(im,5)-(1d0-zm)*v(
n+1,5)-
35735 & zm*v(
n+2,5))-0.25d0*pmls)/pzm**2
35737 pts=pmls*(zm*(1d0-zm)*pem**2/v(im,5)-0.25d0)/pzm**2
35743 IF(mstj(49).NE.1.AND.
mod(mstj(46),2).EQ.1.AND.k(im,2).EQ.21
35744 & .AND.iau.NE.0)
THEN
35745 IF(k(igm,3).NE.0) mazip=1
35747 IF(iau.EQ.im+1) zau=1d0-v(igm,1)
35748 IF(mazip.EQ.0) zau=0d0
35749 IF(k(igm,2).NE.21)
THEN
35750 hazip=2d0*zau/(1d0+zau**2)
35752 hazip=(zau/(1d0-zau*(1d0-zau)))**2
35754 IF(k(
n+1,2).NE.21)
THEN
35755 hazip=hazip*(-2d0*zm*(1d0-zm))/(1d0-2d0*zm*(1d0-zm))
35757 hazip=hazip*(zm*(1d0-zm)/(1d0-zm*(1d0-zm)))**2
35764 IF(mstj(49).NE.2.AND.mstj(46).GE.2.AND.(k(
n+1,2).EQ.21.OR.
35765 & k(
n+2,2).EQ.21).AND.iau.NE.0)
THEN
35766 IF(k(igm,3).NE.0) mazic=
n+1
35767 IF(k(igm,3).NE.0.AND.k(
n+1,2).NE.21) mazic=
n+2
35768 IF(k(igm,3).NE.0.AND.k(
n+1,2).EQ.21.AND.k(
n+2,2).EQ.21.AND.
35769 & zm.GT.0.5d0) mazic=
n+2
35770 IF(k(iau,2).EQ.22) mazic=0
35772 IF(mazic.EQ.
n+2) zs=1d0-zm
35774 IF(iau.EQ.im-1) zgm=1d0-v(igm,1)
35775 IF(mazic.EQ.0) zgm=1d0
35776 IF(mazic.NE.0) hazic=(
p(im,5)/
p(igm,5))*
35777 &
sqrt((1d0-zs)*(1d0-zgm)/(zs*zgm))
35778 hazic=
min(0.95d0,hazic)
35783 470
IF(nep.EQ.2.AND.igm.GT.0)
THEN
35784 IF(
mod(mstj(43),2).EQ.1)
THEN
35785 p(
n+1,4)=pem*v(im,1)
35787 p(
n+1,4)=pem*(0.5d0*(v(im,5)-
sqrt(pmls)+v(
n+1,5)-v(
n+2,5))+
35788 &
sqrt(pmls)*zm)/v(im,5)
35793 IF(pzm.GT.0d0)
THEN
35794 p(
n+1,3)=0.5d0*(v(
n+2,5)-v(
n+1,5)-v(im,5)+
35795 & 2d0*pem*
p(
n+1,4))/pzm
35801 p(
n+2,3)=pzm-
p(
n+1,3)
35802 p(
n+2,4)=pem-
p(
n+1,4)
35803 IF(mstj(43).LE.2)
THEN
35804 v(
n+1,2)=(pem*
p(
n+1,4)-pzm*
p(
n+1,3))/
p(im,5)
35805 v(
n+2,2)=(pem*
p(
n+2,4)-pzm*
p(
n+2,3))/
p(im,5)
35811 IF(mstj(43).LE.2)
THEN
35812 bex=
p(igm,1)/
p(igm,4)
35813 bey=
p(igm,2)/
p(igm,4)
35814 bez=
p(igm,3)/
p(igm,4)
35815 ga=
p(igm,4)/
p(igm,5)
35816 gabep=ga*(ga*(bex*
p(im,1)+bey*
p(im,2)+bez*
p(im,3))/(1d0+ga)-
35825 the=
pyangl(
p(im,3)+gabep*bez,
sqrt((
p(im,1)+gabep*bex)**2+
35826 & (
p(im,2)+gabep*bey)**2))
35833 dp(3)=-
sin(the)*
p(i,1)+
cos(the)*
p(i,3)
35835 dbp=bex*dp(1)+bey*dp(2)+bez*dp(3)
35836 dgabp=ga*(ga*dbp/(1d0+ga)+dp(4))
35837 p(i,1)=dp(1)+dgabp*bex
35838 p(i,2)=dp(2)+dgabp*bey
35839 p(i,3)=dp(3)+dgabp*bez
35840 p(i,4)=ga*(dp(4)+dbp)
35845 IF(mazip.NE.0.OR.mazic.NE.0)
THEN
35851 dpma=dpt(1,1)*dpt(2,1)+dpt(1,2)*dpt(2,2)+dpt(1,3)*dpt(2,3)
35852 dpmd=dpt(1,1)*dpt(3,1)+dpt(1,2)*dpt(3,2)+dpt(1,3)*dpt(3,3)
35853 dpmm=dpt(1,1)**2+dpt(1,2)**2+dpt(1,3)**2
35855 dpt(4,j)=dpt(2,j)-dpma*dpt(1,j)/dpmm
35856 dpt(5,j)=dpt(3,j)-dpmd*dpt(1,j)/dpmm
35858 dpt(4,4)=
sqrt(dpt(4,1)**2+dpt(4,2)**2+dpt(4,3)**2)
35859 dpt(5,4)=
sqrt(dpt(5,1)**2+dpt(5,2)**2+dpt(5,3)**2)
35860 IF(
min(dpt(4,4),dpt(5,4)).GT.0.1d0*parj(82))
THEN
35861 cad=(dpt(4,1)*dpt(5,1)+dpt(4,2)*dpt(5,2)+
35862 & dpt(4,3)*dpt(5,3))/(dpt(4,4)*dpt(5,4))
35863 IF(mazip.NE.0)
THEN
35864 IF(1d0+hazip*(2d0*cad**2-1d0).LT.
pyr(0)*(1d0+abs(hazip)))
35867 IF(mazic.NE.0)
THEN
35868 IF(mazic.EQ.
n+2) cad=-cad
35869 IF((1d0-hazic)*(1d0-hazic*cad)/(1d0+hazic**2-2d0*hazic*cad)
35870 & .LT.
pyr(0)) goto 470
35876 IF(
mod(miis,2).EQ.1.AND.igm.EQ.
ns+1.AND.(k(
n+1,2).EQ.21.OR.
35877 &k(
n+2,2).EQ.21))
THEN
35879 IF(isii(iii).GE.1)
THEN
35881 IF(k(
n+1,2).NE.21) iaziid=
n+2
35882 IF(k(
n+1,2).EQ.21.AND.k(
n+2,2).EQ.21.AND.
35883 &
p(
n+1,4).GT.
p(
n+2,4)) iaziid=
n+2
35884 theiid=
pyangl(
p(iaziid,3),
sqrt(
p(iaziid,1)**2+
p(iaziid,2)**2))
35885 IF(iii.EQ.2) theiid=paru(1)-theiid
35886 phiiid=
pyangl(
p(iaziid,1),
p(iaziid,2))
35887 hazii=
min(0.95d0,theiid/theiis(iii,isii(iii)))
35888 cad=
cos(phiiid-phiiis(iii,isii(iii)))
35889 phirel=abs(phiiid-phiiis(iii,isii(iii)))
35890 IF(phirel.GT.paru(1)) phirel=paru(2)-phirel
35891 IF((1d0-hazii)*(1d0-hazii*cad)/(1d0+hazii**2-2d0*hazii*cad)
35892 & .LT.
pyr(0)) goto 470
35897 IF(igm.GE.0) k(im,1)=14
35900 IF(
n.GT.mstu(4)-mstu(32)-5)
THEN
35901 CALL
pyerrm(11,
'(PYSHOW:) no more memory left in PYJETS')
35902 IF(mstu(21).GE.1)
n=
ns
35903 IF(mstu(21).GE.1)
RETURN
35908 510
IF(npa.GE.2)
THEN
35912 IF(ip2.GT.0.AND.ip2.LT.ip1) k(
ns+1,3)=ip2
35921 DO 520 i=
ns+1+iim,
n
35922 IF(k(i,1).LE.10.AND.k(i,2).EQ.22)
THEN
35924 ELSEIF(k(i,1).LE.10.AND.iabs(k(i,2)).GE.11.AND.
35925 & iabs(k(i,2)).LE.18)
THEN
35927 ELSEIF(k(i,1).LE.10)
THEN
35928 k(i,4)=mstu(5)*(k(i,4)/mstu(5))
35929 k(i,5)=mstu(5)*(k(i,5)/mstu(5))
35930 ELSEIF(k(
mod(k(i,4),mstu(5))+1,2).NE.22)
THEN
35931 id1=
mod(k(i,4),mstu(5))
35932 IF(k(i,2).GE.1.AND.k(i,2).LE.8) id1=
mod(k(i,4),mstu(5))+1
35933 id2=2*
mod(k(i,4),mstu(5))+1-id1
35934 k(i,4)=mstu(5)*(k(i,4)/mstu(5))+id1
35935 k(i,5)=mstu(5)*(k(i,5)/mstu(5))+id2
35936 k(id1,4)=k(id1,4)+mstu(5)*i
35937 k(id1,5)=k(id1,5)+mstu(5)*id2
35938 k(id2,4)=k(id2,4)+mstu(5)*id1
35939 k(id2,5)=k(id2,5)+mstu(5)*i
35941 id1=
mod(k(i,4),mstu(5))
35943 k(i,4)=mstu(5)*(k(i,4)/mstu(5))+id1
35944 k(i,5)=mstu(5)*(k(i,5)/mstu(5))+id1
35945 IF(iabs(k(i,2)).LE.10.OR.k(id1,1).GE.11)
THEN
35946 k(id1,4)=k(id1,4)+mstu(5)*i
35947 k(id1,5)=k(id1,5)+mstu(5)*i
35963 gabep=ga*(ga*(bex*
p(ipa(1),1)+bey*
p(ipa(1),2)+bez*
p(ipa(1),3))
35964 & /(1d0+ga)-
p(ipa(1),4))
35972 &+gabep*bex)**2+(
p(ipa(1),2)+gabep*bey)**2))
35973 phi=
pyangl(
p(ipa(1),1)+gabep*bex,
p(ipa(1),2)+gabep*bey)
35976 &
sin(
phi)*(
p(ipa(2),2)+gabep*bey)-
sin(the)*(
p(ipa(2),3)+gabep*
35980 CALL
pyrobo(
ns+1,
n,0d0,chi,0d0,0d0,0d0)
35993 IF(
n.EQ.
ns+npa+iim)
THEN
35998 k(ipa(ip),4)=k(ipa(ip),4)+
ns+iim+ip
35999 k(ipa(ip),5)=k(ipa(ip),5)+
ns+iim+ip
36000 k(
ns+iim+ip,3)=ipa(ip)
36001 IF(iim.EQ.1.AND.mstu(16).NE.2) k(
ns+iim+ip,3)=
ns+1
36002 IF(k(
ns+iim+ip,1).NE.1)
THEN
36003 k(
ns+iim+ip,4)=mstu(5)*ipa(ip)+k(
ns+iim+ip,4)
36004 k(
ns+iim+ip,5)=mstu(5)*ipa(ip)+k(
ns+iim+ip,5)
36022 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36025 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
36026 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36029 dimension dps(4),kfbe(9),nbe(0:9),bei(100)
36030 DATA kfbe/211,-211,111,321,-321,130,310,221,331/
36033 IF((mstj(51).NE.1.AND.mstj(51).NE.2).OR.
n-nsav.LE.1)
RETURN
36039 IF(k(i,1).LE.10.AND.((kfa.GT.10.AND.kfa.LE.20).OR.kfa.EQ.22)
36040 & .AND.k(i,3).GT.0)
THEN
36041 kfma=iabs(k(k(i,3),2))
36042 IF(kfma.GT.10.AND.kfma.LE.80) k(i,1)=-k(i,1)
36044 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 120
36046 dps(j)=dps(j)+
p(i,j)
36049 CALL
pyrobo(0,0,0d0,0d0,-dps(1)/dps(4),-dps(2)/dps(4),
36053 IF(k(i,1).GE.1.AND.k(i,1).LE.10) pecm=pecm+
p(i,4)
36058 DO 160 ibe=1,
min(9,mstj(52))
36059 nbe(ibe)=nbe(ibe-1)
36061 IF(k(i,2).NE.kfbe(ibe)) goto 150
36062 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 150
36063 IF(nbe(ibe).GE.mstu(4)-mstu(32)-5)
THEN
36064 CALL
pyerrm(11,
'(PYBOEI:) no more memory left in PYJETS')
36067 nbe(ibe)=nbe(ibe)+1
36074 IF(nbe(
min(9,mstj(52)))-nbe(0).LE.1) goto 280
36077 DO 220 ibe=1,
min(9,mstj(52))
36078 IF(ibe.NE.1.AND.ibe.NE.4.AND.ibe.LE.7) goto 180
36079 IF(ibe.EQ.1.AND.
max(nbe(1)-nbe(0),nbe(2)-nbe(1),nbe(3)-nbe(2))
36081 IF(ibe.EQ.4.AND.
max(nbe(4)-nbe(3),nbe(5)-nbe(4),nbe(6)-nbe(5),
36082 & nbe(7)-nbe(6)).LE.1) goto 180
36083 IF(ibe.GE.8.AND.nbe(ibe)-nbe(ibe-1).LE.1) goto 180
36084 IF(ibe.EQ.1) pmhq=2d0*
pymass(211)
36085 IF(ibe.EQ.4) pmhq=2d0*
pymass(321)
36086 IF(ibe.EQ.8) pmhq=2d0*
pymass(221)
36087 IF(ibe.EQ.9) pmhq=2d0*
pymass(331)
36088 qdel=0.1d0*
min(pmhq,parj(93))
36089 IF(mstj(51).EQ.1)
THEN
36090 nbin=
min(100,
nint(9d0*parj(93)/qdel))
36091 beex=
exp(0.5d0*qdel/parj(93))
36092 bert=
exp(-qdel/parj(93))
36094 nbin=
min(100,
nint(3d0*parj(93)/qdel))
36097 qbin=qdel*(ibin-0.5d0)
36098 bei(ibin)=qdel*(qbin**2+qdel**2/12d0)/
sqrt(qbin**2+pmhq**2)
36099 IF(mstj(51).EQ.1)
THEN
36101 bei(ibin)=bei(ibin)*beex
36103 bei(ibin)=bei(ibin)*
exp(-(qbin/parj(93))**2)
36105 IF(ibin.GE.2) bei(ibin)=bei(ibin)+bei(ibin-1)
36109 180
DO 210 i1m=nbe(ibe-1)+1,nbe(ibe)-1
36111 DO 200 i2m=i1m+1,nbe(ibe)
36113 q2old=
max(0d0,(
p(i1,4)+
p(i2,4))**2-(
p(i1,1)+
p(i2,1))**2-
36114 & (
p(i1,2)+
p(i2,2))**2-(
p(i1,3)+
p(i2,3))**2-
36115 & (
p(i1,5)+
p(i2,5))**2)
36119 IF(qold.LT.1
d-3*qdel)
THEN
36121 ELSEIF(qold.LE.qdel)
THEN
36123 ELSEIF(qold.LT.(nbin-0.1d0)*qdel)
THEN
36126 rinp=(rbin**3-ibin**3)/(3*ibin*(ibin+1)+1)
36127 qmov=(bei(ibin)+rinp*(bei(ibin+1)-bei(ibin)))*
36128 &
sqrt(q2old+pmhq**2)/q2old
36130 qmov=bei(nbin)*
sqrt(q2old+pmhq**2)/q2old
36132 q2new=q2old*(qold/(qold+3d0*parj(92)*qmov))**(2d0/3d0)
36135 hc1=(
p(i1,4)+
p(i2,4))**2-(q2old-q2new)
36136 hc2=(q2old-q2new)*(
p(i1,4)-
p(i2,4))**2
36137 ha=0.5d0*(1d0-
sqrt(hc1*q2new/(hc1*q2old-hc2)))
36139 pd=ha*(
p(i2,j)-
p(i1,j))
36140 p(i1m,j)=
p(i1m,j)+pd
36141 p(i2m,j)=
p(i2m,j)-pd
36148 DO 240 im=nbe(0)+1,nbe(
min(9,mstj(52)))
36151 p(i,j)=
p(i,j)+
p(im,j)
36153 p(i,4)=
sqrt(
p(i,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
36160 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 250
36162 pqs=pqs+
p(i,5)**2/
p(i,4)
36164 fac=(pecm-pqs)/(pes-pqs)
36166 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 270
36170 p(i,4)=
sqrt(
p(i,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
36174 280 CALL
pyrobo(0,0,0d0,0d0,dps(1)/dps(4),dps(2)/dps(4),dps(3)/dps(4))
36176 IF(k(i,1).LT.0) k(i,1)=-k(i,1)
36190 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36193 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36194 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
36200 IF(kfa/10000.EQ.1.AND.
mod(kfa/10,10).EQ.0) kfa=kfa-10000
36201 kc=
pycomp(isign(kfa,kf))
36208 IF((mstj(93).EQ.1.OR.mstj(93).EQ.2).AND.
36209 &(kfa.LE.10.OR.
mod(kfa/10,10).EQ.0))
THEN
36210 parf(106)=pmas(6,1)
36211 parf(107)=pmas(7,1)
36212 parf(108)=pmas(8,1)
36216 ELSEIF(mstj(93).EQ.1)
THEN
36217 pymass=parf(100+
mod(kfa/1000,10))+parf(100+
mod(kfa/100,10))
36219 pymass=
max(0d0,pmas(kc,1)-parf(122)-2d0*parf(112)/3d0)
36229 IF(mstj(24).GE.1.AND.pmas(kc,2).GT.1
d-4)
THEN
36230 IF(mstj(24).EQ.1.OR.(mstj(24).EQ.2.AND.kfa.GT.100))
THEN
36232 & atan(2d0*pmas(kc,3)/pmas(kc,2)))
36235 pmlow=atan((
max(0d0,pm0-pmas(kc,3))**2-pm0**2)/
36236 & (pm0*pmas(kc,2)))
36237 pmupp=atan(((pm0+pmas(kc,3))**2-pm0**2)/(pm0*pmas(kc,2)))
36239 & (pmupp-pmlow)*
pyr(0))))
36255 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36258 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36259 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
36260 common/pydat4/chaf(500,2)
36262 SAVE /
pydat1/,/pydat2/,/pydat4/
36269 IF(kc.NE.0) chau=chaf(kc,(3-isign(1,kf))/2)
36283 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36286 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
36292 IF(kc.NE.0)
pychge=kchg(kc,1)*isign(1,kf)
36306 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36309 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36310 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
36313 dimension kford(100:500),kcord(101:500)
36314 SAVE kford,kcord,nford,kflast,kclast
36317 IF(mstu(20).EQ.0)
THEN
36322 IF(kfa.LE.100) goto 120
36324 DO 100 i1=nford-1,0,-1
36325 IF(kfa.GE.kford(i1)) goto 110
36326 kford(i1+1)=kford(i1)
36327 kcord(i1+1)=kcord(i1)
36329 110 kford(i1+1)=kfa
36338 IF(kf.EQ.kflast)
THEN
36348 IF(kfa.GT.kford(nford))
THEN
36349 ELSEIF(kfa.LE.100)
THEN
36356 130 iavg=(imin+imax)/2
36357 IF(kford(iavg).GT.kfa)
THEN
36359 IF(imax.GT.imin+1) goto 130
36360 ELSEIF(kford(iavg).LT.kfa)
THEN
36362 IF(imax.GT.imin+1) goto 130
36369 IF(
pycomp.NE.0.AND.kf.LT.0)
THEN
36388 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36391 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
36392 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36395 CHARACTER chmess*(*)
36398 IF(merr.LE.10)
THEN
36399 mstu(27)=mstu(27)+1
36401 IF(mstu(25).EQ.1.AND.mstu(27).LE.mstu(26))
WRITE(mstu(11),5000)
36402 & merr,mstu(31),chmess
36405 ELSEIF(merr.LE.20)
THEN
36406 mstu(23)=mstu(23)+1
36408 IF(mstu(21).GE.1.AND.mstu(23).LE.mstu(22))
WRITE(mstu(11),5100)
36409 & merr-10,mstu(31),chmess
36410 IF(mstu(21).GE.2.AND.mstu(23).GT.mstu(22))
THEN
36411 WRITE(mstu(11),5100) merr-10,mstu(31),chmess
36412 WRITE(mstu(11),5100) merr-10,mstu(31),chmess
36413 WRITE(mstu(11),5100) merr-10,mstu(31),chmess
36414 WRITE(mstu(11),5200)
36415 IF(merr.NE.17) CALL
pylist(2)
36416 IF(merr.NE.17) CALL
pylist(2)
36417 IF(merr.NE.17) CALL
pylist(2)
36418 WRITE(6,*)
' J.R. programme continuing without stop'
36424 WRITE(mstu(11),5300) merr-20,mstu(31),chmess
36429 5000
FORMAT(/5
x,
'Advisory warning type',i2,
' given after',i9,
36430 &
' PYEXEC calls:'/5
x,
a)
36431 5100
FORMAT(/5
x,
'Error type',i2,
' has occured after',i9,
36432 &
' PYEXEC calls:'/5
x,
a)
36433 5200
FORMAT(5
x,
'Execution will be stopped after listing of last ',
36435 5300
FORMAT(/5
x,
'Fatal error type',i2,
' has occured after',i9,
36436 &
' PYEXEC calls:'/5
x,
a/5
x,
'Execution will now be stopped!')
36449 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36452 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36459 aempi=paru(101)/(3d0*paru(1))
36460 IF(mstu(101).LE.0.OR.q2.LT.2
d-6)
THEN
36462 ELSEIF(mstu(101).EQ.2.AND.q2.LT.paru(104))
THEN
36464 ELSEIF(mstu(101).EQ.2)
THEN
36465 rpigg=1d0-paru(101)/paru(103)
36466 ELSEIF(q2.LT.0.09d0)
THEN
36467 rpigg=aempi*(13.4916d0+
log(q2))+0.00835d0*
log(1d0+q2)
36468 ELSEIF(q2.LT.9d0)
THEN
36469 rpigg=aempi*(16.3200d0+2d0*
log(q2))+
36470 & 0.00238d0*
log(1d0+3.927d0*q2)
36471 ELSEIF(q2.LT.1d4)
THEN
36472 rpigg=aempi*(13.4955d0+3d0*
log(q2))+0.00165d0+
36473 & 0.00299d0*
log(1d0+q2)
36475 rpigg=aempi*(13.4955d0+3d0*
log(q2))+0.00221d0+
36476 & 0.00293d0*
log(1d0+q2)
36480 pyalem=paru(101)/(1d0-rpigg)
36494 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36497 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36498 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
36502 IF(mstu(111).LE.0)
THEN
36504 mstu(118)=mstu(112)
36506 paru(118)=paru(111)
36512 IF(mstu(115).GE.2) q2eff=
max(q2,paru(114))
36515 100
IF(nf.GT.
max(2,mstu(113)))
THEN
36516 q2thr=paru(113)*pmas(nf,1)**2
36517 IF(q2eff.LT.q2thr)
THEN
36519 alam2=alam2*(q2thr/alam2)**(2d0/(33d0-2d0*nf))
36523 110
IF(nf.LT.
min(8,mstu(114)))
THEN
36524 q2thr=paru(113)*pmas(nf+1,1)**2
36525 IF(q2eff.GT.q2thr)
THEN
36527 alam2=alam2*(alam2/q2thr)**(2d0/(33d0-2d0*nf))
36531 IF(mstu(115).EQ.1) q2eff=q2eff+alam2
36532 paru(117)=
sqrt(alam2)
36535 b0=(33d0-2d0*nf)/6d0
36536 algq=
log(
max(1.0001d0,q2eff/alam2))
36537 IF(mstu(111).EQ.1)
THEN
36538 pyalps=
min(paru(115),paru(2)/(b0*algq))
36540 b1=(153d0-19d0*nf)/6d0
36541 pyalps=
min(paru(115),paru(2)/(b0*algq)*(1d0-b1*
log(algq)/
36558 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36561 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36566 IF(
r.LT.1
d-20)
RETURN
36567 IF(abs(
x)/
r.LT.0.8d0)
THEN
36571 IF(
x.LT.0d0.AND.
pyangl.GE.0d0)
THEN
36573 ELSEIF(
x.LT.0d0)
THEN
36590 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36593 common/pydatr/mrpy(6),rrpy(100)
36596 equivalence(mrpy1,mrpy(1)),(mrpy2,mrpy(2)),(mrpy3,mrpy(3)),
36597 &(mrpy4,mrpy(4)),(mrpy5,mrpy(5)),(mrpy6,mrpy(6)),
36598 &(rrpy98,rrpy(98)),(rrpy99,rrpy(99)),(rrpy00,rrpy(100))
36601 IF(mrpy2.EQ.0)
THEN
36602 ij=
mod(mrpy1/30082,31329)
36603 kl=
mod(mrpy1,30082)
36604 i=
mod(ij/177,177)+2
36606 k=
mod(kl/169,178)+1
36612 m=
mod(
mod(i*j,179)*k,179)
36617 IF(
mod(l*m,64).GE.32)
s=
s+
t
36624 twom24=0.5d0*twom24
36626 rrpy98=362436d0*twom24
36627 rrpy99=7654321d0*twom24
36628 rrpy00=16777213d0*twom24
36636 130 runi=rrpy(mrpy4)-rrpy(mrpy5)
36637 IF(runi.LT.0d0) runi=runi+1d0
36640 IF(mrpy4.EQ.0) mrpy4=97
36642 IF(mrpy5.EQ.0) mrpy5=97
36643 rrpy98=rrpy98-rrpy99
36644 IF(rrpy98.LT.0d0) rrpy98=rrpy98+rrpy00
36646 IF(runi.LT.0d0) runi=runi+1d0
36647 IF(runi.LE.0d0.OR.runi.GE.1d0) goto 130
36651 IF(mrpy3.EQ.1000000000)
THEN
36669 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36672 common/pydatr/mrpy(6),rrpy(100)
36679 nbck=
min(mrpy(6),-move)
36681 backspace(lfn,err=110,iostat=ierr)
36683 mrpy(6)=mrpy(6)-nbck
36687 WRITE(lfn,err=110,iostat=ierr) (mrpy(i1),i1=1,5),
36688 &(rrpy(i2),i2=1,100)
36693 110
WRITE(cherr,
'(I8)') ierr
36694 CALL
pyerrm(18,
'(PYRGET:) error when accessing file, IOSTAT ='//
36709 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36712 common/pydatr/mrpy(6),rrpy(100)
36719 nbck=
min(mrpy(6),-move)
36721 backspace(lfn,err=120,iostat=ierr)
36723 mrpy(6)=mrpy(6)-nbck
36729 READ(lfn,err=120,iostat=ierr) (mrpy(i1),i1=1,5),
36730 & (rrpy(i2),i2=1,100)
36732 mrpy(6)=mrpy(6)+nfor
36736 120
WRITE(cherr,
'(I8)') ierr
36737 CALL
pyerrm(18,
'(PYRSET:) error when accessing file, IOSTAT ='//
36751 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36754 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
36755 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36758 dimension rot(3,3),pr(3),vr(3),dp(4),dv(4)
36762 IF(imin.LE.0) imin=1
36763 IF(mstu(1).GT.0) imin=mstu(1)
36765 IF(imax.LE.0) imax=
n
36766 IF(mstu(2).GT.0) imax=mstu(2)
36767 IF(imin.GT.mstu(4).OR.imax.GT.mstu(4))
THEN
36768 CALL
pyerrm(11,
'(PYROBO:) range outside PYJETS memory')
36773 IF(mstu(33).NE.0)
THEN
36774 DO 110 i=
min(imin,mstu(4)),
min(imax,mstu(4))
36783 IF(the**2+
phi**2.GT.1
d-20)
THEN
36794 IF(k(i,1).LE.0) goto 140
36800 p(i,j)=rot(j,1)*pr(1)+rot(j,2)*pr(2)+rot(j,3)*pr(3)
36801 v(i,j)=rot(j,1)*vr(1)+rot(j,2)*vr(2)+rot(j,3)*vr(3)
36807 IF(bex**2+bey**2+bez**2.GT.1
d-20)
THEN
36811 db=
sqrt(dbx**2+dby**2+dbz**2)
36813 IF(db.GT.eps1)
THEN
36815 CALL
pyerrm(3,
'(PYROBO:) boost vector too large')
36821 dga=1d0/
sqrt(1d0-db**2)
36823 IF(k(i,1).LE.0) goto 160
36828 dbp=dbx*dp(1)+dby*dp(2)+dbz*dp(3)
36829 dgabp=dga*(dga*dbp/(1d0+dga)+dp(4))
36830 p(i,1)=dp(1)+dgabp*dbx
36831 p(i,2)=dp(2)+dgabp*dby
36832 p(i,3)=dp(3)+dgabp*dbz
36833 p(i,4)=dga*(dp(4)+dbp)
36834 dbv=dbx*dv(1)+dby*dv(2)+dbz*dv(3)
36835 dgabv=dga*(dga*dbv/(1d0+dga)+dv(4))
36836 v(i,1)=dv(1)+dgabv*dbx
36837 v(i,2)=dv(2)+dgabv*dby
36838 v(i,3)=dv(3)+dgabv*dbz
36839 v(i,4)=dga*(dv(4)+dbv)
36855 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
36858 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
36859 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
36860 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
36863 dimension
ns(2),pts(2),pls(2)
36866 IF((medit.GE.0.AND.medit.LE.3).OR.medit.EQ.5)
THEN
36868 IF(mstu(2).GT.0) imax=mstu(2)
36869 i1=
max(1,mstu(1))-1
36870 DO 110 i=
max(1,mstu(1)),imax
36871 IF(k(i,1).EQ.0.OR.k(i,1).GT.20) goto 110
36872 IF(medit.EQ.1)
THEN
36873 IF(k(i,1).GT.10) goto 110
36874 ELSEIF(medit.EQ.2)
THEN
36875 IF(k(i,1).GT.10) goto 110
36877 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.kc.EQ.18)
36879 ELSEIF(medit.EQ.3)
THEN
36880 IF(k(i,1).GT.10) goto 110
36882 IF(kc.EQ.0) goto 110
36883 IF(kchg(kc,2).EQ.0.AND.
pychge(k(i,2)).EQ.0) goto 110
36884 ELSEIF(medit.EQ.5)
THEN
36885 IF(k(i,1).EQ.13.OR.k(i,1).EQ.14) goto 110
36887 IF(kc.EQ.0) goto 110
36888 IF(k(i,1).GE.11.AND.kchg(kc,2).EQ.0) goto 110
36900 IF(i1.LT.
n) mstu(3)=0
36901 IF(i1.LT.
n) mstu(70)=0
36905 ELSEIF(medit.GE.11.AND.medit.LE.15)
THEN
36908 k(i,3)=
mod(k(i,3),mstu(5))
36909 IF(medit.EQ.11.AND.k(i,1).LT.0) goto 120
36910 IF(medit.EQ.12.AND.k(i,1).EQ.0) goto 120
36911 IF(medit.EQ.13.AND.(k(i,1).EQ.11.OR.k(i,1).EQ.12.OR.
36912 & k(i,1).EQ.15).AND.k(i,2).NE.94) goto 120
36913 IF(medit.EQ.14.AND.(k(i,1).EQ.13.OR.k(i,1).EQ.14.OR.
36914 & k(i,2).EQ.94)) goto 120
36915 IF(medit.EQ.15.AND.k(i,1).GE.21) goto 120
36917 k(i,3)=k(i,3)+mstu(5)*i1
36922 IF(k(i,1).LE.0.OR.k(i,1).GT.20.OR.k(i,3)/mstu(5).EQ.0)
36925 130 im=
mod(k(id,3),mstu(5))
36926 IF(medit.EQ.13.AND.im.GT.0.AND.im.LE.
n)
THEN
36927 IF((k(im,1).EQ.11.OR.k(im,1).EQ.12.OR.k(im,1).EQ.15).AND.
36928 & k(im,2).NE.94)
THEN
36932 ELSEIF(medit.EQ.14.AND.im.GT.0.AND.im.LE.
n)
THEN
36933 IF(k(im,1).EQ.13.OR.k(im,1).EQ.14.OR.k(im,2).EQ.94)
THEN
36938 k(i,3)=mstu(5)*(k(i,3)/mstu(5))
36939 IF(im.NE.0) k(i,3)=k(i,3)+k(im,3)/mstu(5)
36940 IF(k(i,1).NE.3.AND.k(i,1).NE.13.AND.k(i,1).NE.14)
THEN
36941 IF(k(i,4).GT.0.AND.k(i,4).LE.mstu(4)) k(i,4)=
36942 & k(k(i,4),3)/mstu(5)
36943 IF(k(i,5).GT.0.AND.k(i,5).LE.mstu(4)) k(i,5)=
36944 & k(k(i,5),3)/mstu(5)
36946 kcm=
mod(k(i,4)/mstu(5),mstu(5))
36947 IF(kcm.GT.0.AND.kcm.LE.mstu(4)) kcm=k(kcm,3)/mstu(5)
36948 kcd=
mod(k(i,4),mstu(5))
36949 IF(kcd.GT.0.AND.kcd.LE.mstu(4)) kcd=k(kcd,3)/mstu(5)
36950 k(i,4)=mstu(5)**2*(k(i,4)/mstu(5)**2)+mstu(5)*kcm+kcd
36951 kcm=
mod(k(i,5)/mstu(5),mstu(5))
36952 IF(kcm.GT.0.AND.kcm.LE.mstu(4)) kcm=k(kcm,3)/mstu(5)
36953 kcd=
mod(k(i,5),mstu(5))
36954 IF(kcd.GT.0.AND.kcd.LE.mstu(4)) kcd=k(kcd,3)/mstu(5)
36955 k(i,5)=mstu(5)**2*(k(i,5)/mstu(5)**2)+mstu(5)*kcm+kcd
36964 IF(k(i,3)/mstu(5).EQ.0) goto 170
36971 k(i1,3)=
mod(k(i1,3),mstu(5))
36973 IF(i.EQ.mstu(90+
iz))
THEN
36974 mstu(90)=mstu(90)+1
36975 mstu(90+mstu(90))=i1
36976 paru(90+mstu(90))=paru(90+
iz)
36980 IF(i1.LT.
n) mstu(3)=0
36981 IF(i1.LT.
n) mstu(70)=0
36985 ELSEIF(medit.EQ.16)
THEN
36987 IF(k(i,1).LE.10.OR.k(i,1).GT.20) goto 220
36988 IF(k(i,4).NE.0.OR.k(i,5).NE.0) goto 220
36991 IF(k(i1,3).NE.i)
THEN
36992 ELSEIF(k(i,4).EQ.0)
THEN
36998 IF(k(i,5).EQ.0) k(i,5)=k(i,4)
36999 IF(k(i,4).NE.0) goto 220
37002 IF(im.LE.0.OR.im.GE.i) goto 220
37003 IF(k(im,1).LE.20.OR.k(im,1).GT.30) goto 220
37004 IF(k(im,2).NE.k(i,2).OR.abs(
p(im,5)-
p(i,5)).GT.1
d-2) goto 220
37006 IF(k(i1,3).NE.im)
THEN
37007 ELSEIF(k(i,4).EQ.0)
THEN
37013 IF(k(i,5).EQ.0) k(i,5)=k(i,4)
37014 IF(k(i,4).NE.0) goto 220
37020 IF(k(i1,3).EQ.im.AND.k(i1,1).GT.20.AND.k(i1,1).LE.30)
THEN
37022 IF(id1.EQ.im) id1=i1
37026 IF(k(i1,3).NE.id1.AND.k(i1,3).NE.id2)
THEN
37027 ELSEIF(k(i,4).EQ.0)
THEN
37033 IF(k(i,5).EQ.0) k(i,5)=k(i,4)
37037 ELSEIF(medit.EQ.21)
THEN
37038 IF(2*
n.GE.mstu(4))
THEN
37039 CALL
pyerrm(11,
'(PYEDIT:) no more memory left in PYJETS')
37044 k(mstu(4)-i,j)=k(i,j)
37045 p(mstu(4)-i,j)=
p(i,j)
37046 v(mstu(4)-i,j)=v(i,j)
37052 ELSEIF(medit.EQ.22)
THEN
37053 DO 260 i=1,mstu(32)
37055 k(i,j)=k(mstu(4)-i,j)
37056 p(i,j)=
p(mstu(4)-i,j)
37057 v(i,j)=v(mstu(4)-i,j)
37063 ELSEIF(medit.EQ.23)
THEN
37068 IF(k(kh,1).GT.20) kh=0
37070 IF(kh.NE.0) goto 280
37072 IF(k(i,1).GT.10.AND.k(i,1).LE.20) k(i,1)=k(i,1)-10
37077 ELSEIF(medit.EQ.31.OR.medit.EQ.32)
THEN
37079 &
p(mstu(61),2)),0d0,0d0,0d0)
37081 &
p(mstu(61),1)),0d0,0d0,0d0,0d0)
37083 &
p(mstu(61)+1,2)),0d0,0d0,0d0)
37084 IF(medit.EQ.31)
RETURN
37093 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 300
37094 IF(mstu(41).GE.2)
THEN
37096 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
37097 & kc.EQ.18) goto 300
37098 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2))
37101 is=2d0-sign(0.5d0,
p(i,3))
37103 pts(is)=pts(is)+
sqrt(
p(i,1)**2+
p(i,2)**2)
37105 IF(
ns(1)*pts(2)**2.LT.
ns(2)*pts(1)**2)
37106 & CALL
pyrobo(1,
n+mstu(3),paru(1),0d0,0d0,0d0,0d0)
37110 IF(
p(i,3).GE.0d0) goto 310
37111 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 310
37112 IF(mstu(41).GE.2)
THEN
37114 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
37115 & kc.EQ.18) goto 310
37116 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2))
37119 is=2d0-sign(0.5d0,
p(i,1))
37120 pls(is)=pls(is)-
p(i,3)
37122 IF(pls(2).GT.pls(1)) CALL
pyrobo(1,
n+mstu(3),0d0,paru(1),
37138 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
37141 parameter(ksusy1=1000000,ksusy2=2000000,kexcit=4000000)
37143 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
37144 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
37145 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
37146 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
37149 CHARACTER chap*16,chac*16,chan*16,chad(5)*16,chdl(7)*4
37151 DATA chdl/
'(())',
' ',
'()',
'!!',
'<>',
'==',
'(==)'/
37154 IF(mlist.EQ.0.OR.mstu(12).EQ.1)
THEN
37157 IF(mlist.EQ.0)
RETURN
37161 IF(mlist.GE.1.AND.mlist.LE.3)
THEN
37162 IF(mlist.EQ.1)
WRITE(mstu(11),5100)
37163 IF(mlist.EQ.2)
WRITE(mstu(11),5200)
37164 IF(mlist.EQ.3)
WRITE(mstu(11),5300)
37166 IF(mlist.GE.2) lmx=16
37169 IF(mstu(2).GT.0) imax=mstu(2)
37170 DO 120 i=
max(1,mstu(1)),
max(imax,
n+
max(0,mstu(3)))
37171 IF((i.GT.imax.AND.i.LE.
n).OR.k(i,1).LT.0) goto 120
37174 CALL
pyname(k(i,2),chap)
37177 IF(chap(lem:lem).NE.
' ')
len=lem
37181 IF(mdl.EQ.2.OR.mdl.GE.8)
THEN
37183 IF(
len.GT.lmx) chac(lmx:lmx)=
'?'
37186 IF(mdl.EQ.1.OR.mdl.EQ.7) ldl=2
37188 chac=chdl(mdl)(1:2*ldl)//
' '
37190 chac=chdl(mdl)(1:ldl)//chap(1:
min(
len,lmx-2*ldl))//
37191 & chdl(mdl)(ldl+1:2*ldl)//
' '
37192 IF(
len+2*ldl.GT.lmx) chac(lmx:lmx)=
'?'
37197 IF(k(i,1).EQ.1.OR.k(i,1).EQ.2.OR.k(i,1).EQ.11.OR.k(i,1).EQ.12)
37201 IF(kc.NE.0) kcc=kchg(kc,2)
37202 IF(iabs(k(i,2)).EQ.39)
THEN
37203 IF(
len+2*ldl+3.LE.lmx) chac(lmx-1:lmx-1)=
'X'
37204 ELSEIF(kcc.NE.0.AND.istr.EQ.0)
THEN
37206 IF(
len+2*ldl+3.LE.lmx) chac(lmx-1:lmx-1)=
'A'
37207 ELSEIF(kcc.NE.0.AND.(k(i,1).EQ.2.OR.k(i,1).EQ.12))
THEN
37208 IF(
len+2*ldl+3.LE.lmx) chac(lmx-1:lmx-1)=
'I'
37209 ELSEIF(kcc.NE.0)
THEN
37211 IF(
len+2*ldl+3.LE.lmx) chac(lmx-1:lmx-1)=
'V'
37216 IF(mlist.EQ.1.AND.abs(
p(i,4)).LT.9999d0)
THEN
37217 WRITE(mstu(11),5400) i,chac(1:12),(k(i,j1),j1=1,3),
37219 ELSEIF(mlist.EQ.1.AND.abs(
p(i,4)).LT.99999d0)
THEN
37220 WRITE(mstu(11),5500) i,chac(1:12),(k(i,j1),j1=1,3),
37222 ELSEIF(mlist.EQ.1)
THEN
37223 WRITE(mstu(11),5600) i,chac(1:12),(k(i,j1),j1=1,3),
37225 ELSEIF(mstu(5).EQ.10000.AND.(k(i,1).EQ.3.OR.k(i,1).EQ.13.OR.
37226 & k(i,1).EQ.14))
THEN
37227 WRITE(mstu(11),5700) i,chac,(k(i,j1),j1=1,3),
37228 & k(i,4)/100000000,
mod(k(i,4)/10000,10000),
mod(k(i,4),10000),
37229 & k(i,5)/100000000,
mod(k(i,5)/10000,10000),
mod(k(i,5),10000),
37232 WRITE(mstu(11),5800) i,chac,(k(i,j1),j1=1,5),
37235 IF(mlist.EQ.3)
WRITE(mstu(11),5900) (v(i,j),j=1,5)
37238 IF(mstu(70).GE.1)
THEN
37240 DO 110 j=1,
min(10,mstu(70))
37241 IF(i.EQ.mstu(70+j)) isep=1
37243 IF(isep.EQ.1.AND.mlist.EQ.1)
WRITE(mstu(11),6000)
37244 IF(isep.EQ.1.AND.mlist.GE.2)
WRITE(mstu(11),6100)
37252 IF(mlist.EQ.1.AND.abs(ps(4)).LT.9999d0)
THEN
37253 WRITE(mstu(11),6200) ps(6),(ps(j),j=1,5)
37254 ELSEIF(mlist.EQ.1.AND.abs(ps(4)).LT.99999d0)
THEN
37255 WRITE(mstu(11),6300) ps(6),(ps(j),j=1,5)
37256 ELSEIF(mlist.EQ.1)
THEN
37257 WRITE(mstu(11),6400) ps(6),(ps(j),j=1,5)
37259 WRITE(mstu(11),6500) ps(6),(ps(j),j=1,5)
37263 ELSEIF(mlist.EQ.11)
THEN
37264 WRITE(mstu(11),6600)
37268 IF(chap.NE.
' '.AND.chan.EQ.
' ')
WRITE(mstu(11),6700) kf,chap
37269 IF(chan.NE.
' ')
WRITE(mstu(11),6700) kf,chap,-kf,chan
37273 DO 150 kflb=1,kfla-(3-kfls)/2
37274 kf=1000*kfla+100*kflb+kfls
37277 WRITE(mstu(11),6700) kf,chap,-kf,chan
37283 WRITE(mstu(11),6700) kf,chap
37286 WRITE(mstu(11),6700) kf,chap
37289 IF(kmul.EQ.0.OR.kmul.EQ.3) kfls=1
37290 IF(kmul.EQ.5) kfls=5
37292 IF(kmul.EQ.2.OR.kmul.EQ.3) kflr=1
37293 IF(kmul.EQ.4) kflr=2
37295 DO 180 kflc=1,kflb-1
37296 kf=10000*kflr+100*kflb+10*kflc+kfls
37299 WRITE(mstu(11),6700) kf,chap,-kf,chan
37301 kf=10000*kflr+110*kflb+kfls
37303 WRITE(mstu(11),6700) kf,chap
37308 WRITE(mstu(11),6700) kf,chap
37311 WRITE(mstu(11),6700) kf,chap
37317 IF(kflsp.EQ.1.AND.(kfla.EQ.kflb.OR.kflb.EQ.kflc))
37319 IF(kflsp.EQ.2.AND.kfla.EQ.kflc) goto 210
37320 IF(kflsp.EQ.1) kf=1000*kfla+100*kflc+10*kflb+kfls
37321 IF(kflsp.GE.2) kf=1000*kfla+100*kflb+10*kflc+kfls
37324 WRITE(mstu(11),6700) kf,chap,-kf,chan
37329 DO 250 kf=ksusy1+1,ksusy1+40
37332 IF(chap.NE.
' '.AND.chan.EQ.
' ')
WRITE(mstu(11),6700) kf,chap
37333 IF(chan.NE.
' ')
WRITE(mstu(11),6700) kf,chap,-kf,chan
37335 DO 260 kf=ksusy2+1,ksusy2+40
37338 IF(chap.NE.
' '.AND.chan.EQ.
' ')
WRITE(mstu(11),6700) kf,chap
37339 IF(chan.NE.
' ')
WRITE(mstu(11),6700) kf,chap,-kf,chan
37341 DO 270 kf=kexcit+1,kexcit+40
37344 IF(chap.NE.
' '.AND.chan.EQ.
' ')
WRITE(mstu(11),6700) kf,chap
37345 IF(chan.NE.
' ')
WRITE(mstu(11),6700) kf,chap,-kf,chan
37349 ELSEIF(mlist.EQ.12)
THEN
37350 WRITE(mstu(11),6800)
37351 DO 300 kc=1,mstu(6)
37353 IF(kf.EQ.0) goto 300
37354 IF(kf.LT.mstu(1).OR.(mstu(2).GT.0.AND.kf.GT.mstu(2)))
37359 IF(kf.LE.100.AND.chap.EQ.
' '.AND.mdcy(kc,2).EQ.0) goto 300
37361 WRITE(mstu(11),6900) kf,kc,chap,chan,(kchg(kc,j1),j1=1,3),
37362 & (pmas(kc,j2),j2=1,4),mdcy(kc,1)
37366 DO 290 idc=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
37368 CALL
pyname(kfdp(idc,j),chad(j))
37370 WRITE(mstu(11),7000) idc,mdme(idc,1),mdme(idc,2),brat(idc),
37376 ELSEIF(mlist.EQ.13)
THEN
37377 WRITE(mstu(11),7100)
37379 WRITE(mstu(11),7200) i,mstu(i),paru(i),mstj(i),parj(i),parf(i)
37384 5100
FORMAT(///28
x,
'Event listing (summary)'//4
x,
'I particle/jet KS',
37385 &5
x,
'KF orig p_x p_y p_z E m'/)
37386 5200
FORMAT(///28
x,
'Event listing (standard)'//4
x,
'I particle/jet',
37387 &
' K(I,1) K(I,2) K(I,3) K(I,4) K(I,5) P(I,1)',
37388 &
' P(I,2) P(I,3) P(I,4) P(I,5)'/)
37389 5300
FORMAT(///28
x,
'Event listing (with vertices)'//4
x,
'I particle/j',
37390 &
'et K(I,1) K(I,2) K(I,3) K(I,4) K(I,5) P(I,1)',
37391 &
' P(I,2) P(I,3) P(I,4) P(I,5)'/73
x,
37392 &
'V(I,1) V(I,2) V(I,3) V(I,4) V(I,5)'/)
37393 5400
FORMAT(1
x,i4,1
x,a12,1
x,i2,i8,1
x,i4,5f9.3)
37394 5500
FORMAT(1
x,i4,1
x,a12,1
x,i2,i8,1
x,i4,5f9.2)
37395 5600
FORMAT(1
x,i4,1
x,a12,1
x,i2,i8,1
x,i4,5f9.1)
37396 5700
FORMAT(1
x,i4,2
x,a16,1
x,i3,1
x,i9,1
x,i4,2(3
x,i1,2i4),5f13.5)
37397 5800
FORMAT(1
x,i4,2
x,a16,1
x,i3,1
x,i9,1
x,i4,2(3
x,i9),5f13.5)
37398 5900
FORMAT(66
x,5(1
x,f12.3))
37399 6000
FORMAT(1
x,78(
'='))
37400 6100
FORMAT(1
x,130(
'='))
37401 6200
FORMAT(19
x,
'sum:',f6.2,5
x,5f9.3)
37402 6300
FORMAT(19
x,
'sum:',f6.2,5
x,5f9.2)
37403 6400
FORMAT(19
x,
'sum:',f6.2,5
x,5f9.1)
37404 6500
FORMAT(19
x,
'sum charge:',f6.2,3
x,
'sum momentum and inv. mass:',
37406 6600
FORMAT(///20
x,
'List of KF codes in program'/)
37407 6700
FORMAT(4
x,i9,4
x,a16,6
x,i9,4
x,a16)
37408 6800
FORMAT(///30
x,
'Particle/parton data table'//8
x,
'KF',5
x,
'KC',4
x,
37409 &
'particle',8
x,
'antiparticle',6
x,
'chg col anti',8
x,
'mass',7
x,
37410 &
'width',7
x,
'w-cut',5
x,
'lifetime',1
x,
'decay'/11
x,
'IDC',1
x,
'on/off',
37411 &1
x,
'ME',3
x,
'Br.rat.',4
x,
'decay products')
37412 6900
FORMAT(/1
x,i9,3
x,i4,4
x,a16,a16,3i5,1
x,f12.5,2(1
x,f11.5),
37413 &1
x,1
p,e13.5,3
x,i2)
37414 7000
FORMAT(10
x,i4,2
x,i3,2
x,i3,2
x,f10.6,4
x,5a16)
37415 7100
FORMAT(///20
x,
'Parameter value table'//4
x,
'I',3
x,
'MSTU(I)',
37416 &8
x,
'PARU(I)',3
x,
'MSTJ(I)',8
x,
'PARJ(I)',8
x,
'PARF(I)')
37417 7200
FORMAT(1
x,i4,1
x,i9,1
x,f14.5,1
x,i9,1
x,f14.5,1
x,f14.5)
37430 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
37433 parameter(irefer=17)
37435 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
37436 common/pypars/mstp(200),parp(200),msti(200),pari(200)
37440 CHARACTER month(12)*3, logo(48)*32, refer(2*irefer)*36, line*79,
37441 &vers*1, subv*3, date*2, year*4, hour*2, minu*2, seco*2
37444 DATA month/
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
37445 &
'Oct',
'Nov',
'Dec'/
37446 DATA (logo(j),j=1,19)/
37448 &
' *:::!!:::::::::::* ',
37449 &
' *::::::!!::::::::::::::* ',
37450 &
' *::::::::!!::::::::::::::::* ',
37451 &
' *:::::::::!!:::::::::::::::::* ',
37452 &
' *:::::::::!!:::::::::::::::::* ',
37453 &
' *::::::::!!::::::::::::::::*! ',
37454 &
' *::::::!!::::::::::::::* !! ',
37455 &
' !! *:::!!:::::::::::* !! ',
37456 &
' !! !* -><- * !! ',
37466 DATA (logo(j),j=20,38)/
37467 &
'Welcome to the Lund Monte Carlo!',
37469 &
'PPP Y Y TTTTT H H III A ',
37470 &
'P P Y Y T H H I A A ',
37471 &
'PPP Y T HHHHH I AAAAA',
37472 &
'P Y T H H I A A',
37473 &
'P Y T H H III A A',
37475 &
'This is PYTHIA version x.xxx ',
37476 &
'Last date of change: xx xxx 199x',
37478 &
'Now is xx xxx 199x at xx:xx:xx ',
37480 &
'Disclaimer: this program comes ',
37481 &
'without any guarantees. Beware ',
37482 &
'of errors and use common sense ',
37483 &
'when interpreting results. ',
37485 &
'Copyright T. Sjostrand (1997) '/
37486 DATA (refer(j),j=1,18)/
37487 &
'An archive of program versions and d',
37488 &
'ocumentation is found on the web: ',
37489 &
'http://thep.lu.se/tf2/staff/torbjorn',
37493 &
'When you cite this program, currentl',
37494 &
'y the official reference is ',
37495 &
'T. Sjostrand, Computer Physics Commu',
37496 &
'n. 82 (1994) 74. ',
37497 &
'The supersymmetry extensions are des',
37499 &
'S. Mrenna, ANL-HEP-PR-96-63. ',
37501 &
'Also remember that the program, to a',
37502 &
' large extent, represents original ',
37503 &
'physics research. Other publications',
37504 &
' of special relevance to your '/
37505 DATA (refer(j),j=19,2*irefer)/
37506 &
'studies may therefore deserve separa',
37510 &
'Main author: Torbjorn Sjostrand; Dep',
37511 &
'artment of Theoretical Physics 2, ',
37512 &
' Lund University, Solvegatan 14A, S',
37513 &
'-223 62 Lund, Sweden; ',
37514 &
' phone: + 46 - 46 - 222 48 16; e-ma',
37515 &
'il: torbjorn@thep.lu.se ',
37516 &
'SUSY author: Stephen Mrenna, Argonne',
37517 &
' National Laboratory, ',
37518 &
' 9700 South Cass Avenue, Argonne, I',
37520 &
' phone: + 1 - 630 - 252 - 7615; e-m',
37521 &
'ail: mrenna@hep.anl.gov '/
37524 IF(mstp(183)/10.NE.199)
THEN
37525 WRITE(mstu(11),
'(1X,A)')
37526 &
'Error: PYDATA has not been linked.'
37527 WRITE(mstu(11),
'(1X,A)')
'Execution stopped!'
37532 WRITE(vers,
'(I1)') mstp(181)
37533 logo(28)(24:24)=vers
37534 WRITE(subv,
'(I3)') mstp(182)
37535 logo(28)(26:28)=subv
37536 IF(mstp(182).LT.100) logo(28)(26:26)=
'0'
37537 WRITE(date,
'(I2)') mstp(185)
37538 logo(29)(22:23)=date
37539 logo(29)(25:27)=month(mstp(184))
37540 WRITE(year,
'(I4)') mstp(183)
37541 logo(29)(29:32)=year
37543 IF(idati(1).LE.0)
THEN
37546 WRITE(date,
'(I2)') idati(3)
37548 logo(31)(11:13)=month(
max(1,
min(12,idati(2))))
37549 WRITE(year,
'(I4)') idati(1)
37550 logo(31)(15:18)=year
37551 WRITE(hour,
'(I2)') idati(4)
37552 logo(31)(23:24)=hour
37553 WRITE(minu,
'(I2)') idati(5)
37554 logo(31)(26:27)=minu
37555 IF(idati(5).LT.10) logo(31)(26:26)=
'0'
37556 WRITE(seco,
'(I2)') idati(6)
37557 logo(31)(29:30)=seco
37558 IF(idati(6).LT.10) logo(31)(29:29)=
'0'
37563 DO 100 ilin=1,29+irefer
37573 IF(ilin.EQ.2.OR.ilin.EQ.3.OR.ilin.GE.28+irefer)
THEN
37574 line(4:77)=
'***********************************************'//
37575 &
'***************************'
37576 ELSEIF(ilin.GE.6.AND.ilin.LE.24)
THEN
37577 line(6:37)=logo(ilin-5)
37578 line(44:75)=logo(ilin+14)
37579 ELSEIF(ilin.GE.26.AND.ilin.LE.25+irefer)
THEN
37580 line(5:40)=refer(2*ilin-51)
37581 line(41:76)=refer(2*ilin-50)
37585 IF(mstu(183)/10.EQ.199)
THEN
37586 WRITE(mstu(11),
'(A79)') line
37588 WRITE(*,
'(A79)') line
37604 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
37607 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
37608 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
37609 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
37610 common/pydat4/chaf(500,2)
37612 common/pyint4/mwid(500),wids(500,5)
37615 CHARACTER chinl*120,chkf*9,chvar(22)*9,chlin*72,
37616 &chblk(20)*72,chold*16,chtmp*16,chnew*16,chcom*24
37617 DATA chvar/
'KCHG(I,1)',
'KCHG(I,2)',
'KCHG(I,3)',
'KCHG(I,4)',
37618 &
'PMAS(I,1)',
'PMAS(I,2)',
'PMAS(I,3)',
'PMAS(I,4)',
'MDCY(I,1)',
37619 &
'MDCY(I,2)',
'MDCY(I,3)',
'MDME(I,1)',
'MDME(I,2)',
'BRAT(I) ',
37620 &
'KFDP(I,1)',
'KFDP(I,2)',
'KFDP(I,3)',
'KFDP(I,4)',
'KFDP(I,5)',
37621 &
'CHAF(I,1)',
'CHAF(I,2)',
'MWID(I) '/
37624 IF(mstu(12).GE.1) CALL
pylist(0)
37627 IF(mupda.EQ.1)
THEN
37629 WRITE(lfn,5000) kchg(kc,4),(chaf(kc,j1),j1=1,2),
37630 & (kchg(kc,j2),j2=1,3),(pmas(kc,j3),j3=1,4),
37631 & mwid(kc),mdcy(kc,1)
37632 DO 100 idc=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
37633 WRITE(lfn,5100) mdme(idc,1),mdme(idc,2),brat(idc),
37634 & (kfdp(idc,j),j=1,5)
37640 ELSEIF(mupda.EQ.2.OR.mupda.EQ.3)
THEN
37646 IF(mupda.EQ.2)
THEN
37651 DO 130 kc=1,mstu(6)
37652 IF(kc.GT.100.AND.kchg(kc,4).GT.100) kcc=kc
37653 ndc=
max(ndc,mdcy(kc,2)+mdcy(kc,3)-1)
37659 140
READ(lfn,5200,
end=190) chinl
37662 IF(chinl(2:10).NE.
' ')
THEN
37665 IF(mupda.EQ.2)
THEN
37678 IF(kchg(kcr,4).EQ.kf) kcrep=kcr
37682 IF(kcrep.NE.0)
THEN
37683 idcrep=mdcy(kcrep,2)
37684 ndcrep=mdcy(kcrep,3)
37686 IF(mdcy(i,2).GT.idcrep) mdcy(i,2)=mdcy(i,2)-ndcrep
37688 DO 180 i=idcrep,ndc-ndcrep
37689 mdme(i,1)=mdme(i+ndcrep,1)
37690 mdme(i,2)=mdme(i+ndcrep,2)
37691 brat(i)=brat(i+ndcrep)
37693 kfdp(i,j)=kfdp(i+ndcrep,j)
37705 IF(kc.GT.mstu(6)) CALL
pyerrm(27,
37706 &
'(PYUPDA:) Particle arrays full by KF ='//chkf)
37707 READ(chinl,5000) kchg(kc,4),(chaf(kc,j1),j1=1,2),
37708 & (kchg(kc,j2),j2=1,3),(pmas(kc,j3),j3=1,4),
37709 & mwid(kc),mdcy(kc,1)
37716 IF(ndc.GT.mstu(7)) CALL
pyerrm(27,
37717 &
'(PYUPDA:) Decay data arrays full by KF ='//chkf)
37718 IF(mdcy(kc,2).EQ.0) mdcy(kc,2)=ndc
37719 mdcy(kc,3)=mdcy(kc,3)+1
37720 READ(chinl,5100) mdme(ndc,1),mdme(ndc,2),brat(ndc),
37721 & (kfdp(ndc,j),j=1,5)
37732 DO 220 kc=1,mstu(6)
37734 IF(kf.EQ.0) goto 220
37735 WRITE(chkf,5300) kf
37736 IF(
min(pmas(kc,1),pmas(kc,2),pmas(kc,3),pmas(kc,1)-pmas(kc,3),
37737 & pmas(kc,4)).LT.0d0.OR.mdcy(kc,3).LT.0) CALL
pyerrm(17,
37738 &
'(PYUPDA:) Mass/width/life/(# channels) wrong for KF ='//chkf)
37740 DO 210 idc=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
37741 IF(mdme(idc,2).GT.80) goto 210
37743 pms=pmas(kc,1)-pmas(kc,3)-parj(64)
37747 IF(kp.EQ.0.OR.kp.EQ.81.OR.iabs(kp).EQ.82)
THEN
37749 ELSEIF(
pycomp(kp).EQ.0)
THEN
37755 pms=pms-pmas(kpc,1)
37756 IF(mstj(24).GT.0) pms=pms+0.5d0*
min(pmas(kpc,2),
37760 IF(kq.NE.0) merr=
max(2,merr)
37761 IF(mwid(kc).EQ.0.AND.kf.NE.311.AND.pms.LT.0d0)
37763 IF(merr.EQ.3) CALL
pyerrm(17,
37764 &
'(PYUPDA:) Unknown particle code in decay of KF ='//chkf)
37765 IF(merr.EQ.2) CALL
pyerrm(17,
37766 &
'(PYUPDA:) Charge not conserved in decay of KF ='//chkf)
37767 IF(merr.EQ.1) CALL
pyerrm(7,
37768 &
'(PYUPDA:) Kinematically unallowed decay of KF ='//chkf)
37769 brsum=brsum+brat(idc)
37771 WRITE(chtmp,5500) brsum
37772 IF(abs(brsum).GT.0.0005d0.AND.abs(brsum-1d0).GT.0.0005d0)
37773 & CALL
pyerrm(7,
'(PYUPDA:) Sum of branching ratios is '//
37774 & chtmp(9:16)//
' for KF ='//chkf)
37779 ELSEIF(mupda.EQ.4)
THEN
37785 IF(kchg(i,4).NE.0)
THEN
37787 ndc=
max(ndc,mdcy(i,2)+mdcy(i,3)-1)
37794 IF(ivar.GE.12.AND.ivar.LE.19) ndim=mstu(7)
37797 chlin(7:35)=
'DATA ('//chvar(ivar)//
',I= 1, )/'
37803 IF(ivar.EQ.1)
WRITE(chtmp,5400) kchg(idim,1)
37804 IF(ivar.EQ.2)
WRITE(chtmp,5400) kchg(idim,2)
37805 IF(ivar.EQ.3)
WRITE(chtmp,5400) kchg(idim,3)
37806 IF(ivar.EQ.4)
WRITE(chtmp,5400) kchg(idim,4)
37807 IF(ivar.EQ.5)
WRITE(chtmp,5500) pmas(idim,1)
37808 IF(ivar.EQ.6)
WRITE(chtmp,5500) pmas(idim,2)
37809 IF(ivar.EQ.7)
WRITE(chtmp,5500) pmas(idim,3)
37810 IF(ivar.EQ.8)
WRITE(chtmp,5500) pmas(idim,4)
37811 IF(ivar.EQ.9)
WRITE(chtmp,5400) mdcy(idim,1)
37812 IF(ivar.EQ.10)
WRITE(chtmp,5400) mdcy(idim,2)
37813 IF(ivar.EQ.11)
WRITE(chtmp,5400) mdcy(idim,3)
37814 IF(ivar.EQ.12)
WRITE(chtmp,5400) mdme(idim,1)
37815 IF(ivar.EQ.13)
WRITE(chtmp,5400) mdme(idim,2)
37816 IF(ivar.EQ.14)
WRITE(chtmp,5600) brat(idim)
37817 IF(ivar.EQ.15)
WRITE(chtmp,5400) kfdp(idim,1)
37818 IF(ivar.EQ.16)
WRITE(chtmp,5400) kfdp(idim,2)
37819 IF(ivar.EQ.17)
WRITE(chtmp,5400) kfdp(idim,3)
37820 IF(ivar.EQ.18)
WRITE(chtmp,5400) kfdp(idim,4)
37821 IF(ivar.EQ.19)
WRITE(chtmp,5400) kfdp(idim,5)
37822 IF(ivar.EQ.20) chtmp=chaf(idim,1)
37823 IF(ivar.EQ.21) chtmp=chaf(idim,2)
37824 IF(ivar.EQ.22)
WRITE(chtmp,5400) mwid(idim)
37828 IF(idim.GT.kcc) chtmp=
' 0'
37829 ELSEIF(ivar.LE.8)
THEN
37830 IF(idim.GT.kcc) chtmp=
' 0.0'
37831 ELSEIF(ivar.LE.11)
THEN
37832 IF(idim.GT.kcc) chtmp=
' 0'
37833 ELSEIF(ivar.LE.13)
THEN
37834 IF(idim.GT.ndc) chtmp=
' 0'
37835 ELSEIF(ivar.LE.14)
THEN
37836 IF(idim.GT.ndc) chtmp=
' 0.0'
37837 ELSEIF(ivar.LE.19)
THEN
37838 IF(idim.GT.ndc) chtmp=
' 0'
37839 ELSEIF(ivar.LE.21)
THEN
37840 IF(idim.GT.kcc) chtmp=
' '
37842 IF(idim.GT.kcc) chtmp=
' 0'
37849 IF(chtmp(17-ll:17-ll).NE.
' ') llow=17-ll
37850 IF(chtmp(ll:ll).NE.
' ') lhig=ll
37852 chnew=chtmp(llow:lhig)//
' '
37854 IF((ivar.GE.5.AND.ivar.LE.8).OR.ivar.EQ.14)
THEN
37857 IF(lnew.GE.2.AND.chnew(lnew:lnew).EQ.
'0') goto 250
37858 IF(chnew(lnew:lnew).EQ.
'.') lnew=lnew-1
37863 chnew(lnew+1:lnew+2)=
'D0'
37866 ELSEIF(ivar.EQ.20.OR.ivar.EQ.21)
THEN
37867 DO 260 ll=lnew,1,-1
37868 IF(chnew(ll:ll).EQ.
'''')
THEN
37870 chnew=chtmp(1:ll)//
''''//chtmp(ll+1:11)
37876 chnew(1:lnew+2)=
''''//chtmp(1:lnew)//
''''
37881 IF(chnew.NE.chold)
THEN
37888 IF(nrpt.GE.2) lrpt=lnew+3
37889 IF(nrpt.GE.10) lrpt=lnew+4
37890 IF(nrpt.GE.100) lrpt=lnew+5
37891 IF(nrpt.GE.1000) lrpt=lnew+6
37894 WRITE(chtmp,5400) nrpt
37896 IF(nrpt.GE.10) lrpt=2
37897 IF(nrpt.GE.100) lrpt=3
37898 IF(nrpt.GE.1000) lrpt=4
37899 chcom(1:lrpt+1+lnew)=chtmp(17-lrpt:16)//
'*'//chnew(1:lnew)
37905 IF(llin+lcom.LE.70)
THEN
37906 chlin(llin+1:llin+lcom+1)=chcom(1:lcom)//
','
37908 ELSEIF(nlin.LE.19)
THEN
37909 chlin(llin+1:72)=
' '
37912 chlin(6:6+lcom+1)=
'&'//chcom(1:lcom)//
','
37915 chlin(llin:72)=
'/'//
' '
37917 WRITE(chtmp,5400) idim-nrpt
37918 chblk(1)(30:33)=chtmp(13:16)
37920 WRITE(lfn,5700) chblk(ilin)
37924 chlin(7:35+lcom+1)=
'DATA ('//chvar(ivar)//
37925 &
',I= , )/'//chcom(1:lcom)//
','
37926 WRITE(chtmp,5400) idim-nrpt+1
37927 chlin(25:28)=chtmp(13:16)
37933 chlin(llin:72)=
'/'//
' '
37935 WRITE(chtmp,5400) ndim
37936 chblk(1)(30:33)=chtmp(13:16)
37938 WRITE(lfn,5700) chblk(ilin)
37944 5000
FORMAT(1
x,i9,2
x,a16,2
x,a16,3i3,3f12.5,1
p,e13.5,2i3)
37945 5100
FORMAT(10
x,2i5,f12.6,5i10)
37964 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
37967 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
37968 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
37969 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
37975 IF(i.LT.0.OR.i.GT.mstu(4).OR.j.LE.0)
THEN
37976 ELSEIF(i.EQ.0.AND.j.EQ.1)
THEN
37978 ELSEIF(i.EQ.0.AND.(j.EQ.2.OR.j.EQ.6))
THEN
37980 IF(j.EQ.2.AND.k(i1,1).GE.1.AND.k(i1,1).LE.10)
pyk=
pyk+1
37981 IF(j.EQ.6.AND.k(i1,1).GE.1.AND.k(i1,1).LE.10)
pyk=
pyk+
37984 ELSEIF(i.EQ.0)
THEN
37987 ELSEIF(j.LE.5)
THEN
37989 ELSEIF(j.EQ.6)
THEN
37993 ELSEIF(j.LE.8)
THEN
37994 IF(k(i,1).GE.1.AND.k(i,1).LE.10)
pyk=1
37995 IF(j.EQ.8)
pyk=
pyk*k(i,2)
37996 ELSEIF(j.LE.12)
THEN
38000 IF(kc.NE.0) kq=kchg(kc,2)
38001 IF(j.EQ.9.AND.kc.NE.0.AND.kq.NE.0)
pyk=k(i,2)
38002 IF(j.EQ.10.AND.kc.NE.0.AND.kq.EQ.0)
pyk=k(i,2)
38004 IF(j.EQ.12)
pyk=kq*isign(1,k(i,2))
38007 ELSEIF(j.EQ.13)
THEN
38009 pyk=
mod(kfa/100,10)*(-1)**
mod(kfa/100,10)
38010 IF(kfa.LT.10)
pyk=kfa
38011 IF(
mod(kfa/1000,10).NE.0)
pyk=
mod(kfa/1000,10)
38015 ELSEIF(j.LE.15)
THEN
38021 IF(i1.GT.0.AND.k(i1,1).GT.0.AND.k(i1,1).LE.20) goto 110
38023 ELSEIF(j.EQ.16)
THEN
38025 IF(k(i,1).LE.20.AND.((kfa.GE.11.AND.kfa.LE.20).OR.kfa.EQ.22.OR.
38026 & (kfa.GT.100.AND.
mod(kfa/10,10).NE.0)))
THEN
38033 IF(kfam.NE.0.AND.kfam.LE.10) ilp=0
38034 IF(kfam.EQ.21.OR.kfam.EQ.91.OR.kfam.EQ.92.OR.kfam.EQ.93)
38036 IF(kfam.GT.100.AND.
mod(kfam/10,10).EQ.0) ilp=0
38037 IF(ilp.EQ.1) goto 120
38039 IF(k(i1,1).EQ.12)
THEN
38041 IF(k(i3,3).EQ.k(i2,3).AND.k(i3,2).NE.91.AND.k(i3,2).NE.92
38042 & .AND.k(i3,2).NE.93)
pyk=
pyk+1
38048 IF(i3.LT.
n.AND.k(i3,3).EQ.k(i2,3)) goto 140
38053 ELSEIF(j.EQ.17)
THEN
38060 IF(i1.EQ.0.OR.k(i0,1).LE.0.OR.k(i0,1).GT.20.OR.kc.EQ.0)
THEN
38065 IF(kchg(kc,2).EQ.0) goto 150
38066 IF(k(i1,1).NE.12)
pyk=0
38067 IF(k(i1,1).NE.12)
RETURN
38070 IF(i2.LT.
n.AND.k(i2,1).NE.11) goto 160
38072 IF(k3m.GE.i1.AND.k3m.LE.i2)
pyk=0
38074 IF(i3.LT.
n.AND.k3p.GE.i1.AND.k3p.LE.i2)
pyk=0
38077 ELSEIF(j.EQ.18)
THEN
38078 IF(k(i,1).EQ.11.OR.k(i,1).EQ.12)
pyk=
max(0,k(i,5)-k(i,4)+1)
38079 IF(k(i,4).EQ.0.OR.k(i,5).EQ.0)
pyk=0
38080 ELSEIF(j.LE.22)
THEN
38081 IF(k(i,1).NE.3.AND.k(i,1).NE.13.AND.k(i,1).NE.14)
RETURN
38082 IF(j.EQ.19)
pyk=
mod(k(i,4)/mstu(5),mstu(5))
38083 IF(j.EQ.20)
pyk=
mod(k(i,5)/mstu(5),mstu(5))
38084 IF(j.EQ.21)
pyk=
mod(k(i,4),mstu(5))
38085 IF(j.EQ.22)
pyk=
mod(k(i,5),mstu(5))
38100 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
38103 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
38104 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
38105 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
38113 IF(i.LT.0.OR.i.GT.mstu(4).OR.j.LE.0)
THEN
38114 ELSEIF(i.EQ.0.AND.j.LE.4)
THEN
38116 IF(k(i1,1).GT.0.AND.k(i1,1).LE.10)
pyp=
pyp+
p(i1,j)
38118 ELSEIF(i.EQ.0.AND.j.EQ.5)
THEN
38122 IF(k(i1,1).GT.0.AND.k(i1,1).LE.10) psum(j1)=psum(j1)+
38126 pyp=
sqrt(
max(0d0,psum(4)**2-psum(1)**2-psum(2)**2-psum(3)**2))
38127 ELSEIF(i.EQ.0.AND.j.EQ.6)
THEN
38129 IF(k(i1,1).GT.0.AND.k(i1,1).LE.10)
pyp=
pyp+
pychge(k(i1,2))/3d0
38131 ELSEIF(i.EQ.0)
THEN
38134 ELSEIF(j.LE.5)
THEN
38138 ELSEIF(j.LE.12)
THEN
38140 IF(j.EQ.7.OR.j.EQ.8)
pyp=
p(i,1)**2+
p(i,2)**2+
p(i,3)**2
38141 IF(j.EQ.9.OR.j.EQ.10)
pyp=
p(i,1)**2+
p(i,2)**2
38142 IF(j.EQ.11.OR.j.EQ.12)
pyp=
p(i,5)**2+
p(i,1)**2+
p(i,2)**2
38143 IF(j.EQ.8.OR.j.EQ.10.OR.j.EQ.12)
pyp=
sqrt(
pyp)
38146 ELSEIF(j.LE.16)
THEN
38149 IF(j.EQ.14.OR.j.EQ.16)
pyp=
pyp*180d0/paru(1)
38152 ELSEIF(j.LE.19)
THEN
38154 IF(j.EQ.17) pmr=
p(i,5)
38155 IF(j.EQ.18) pmr=
pymass(211)
38156 pr=
max(1
d-20,pmr**2+
p(i,1)**2+
p(i,2)**2)
38161 ELSEIF(j.LE.25)
THEN
38162 IF(j.EQ.20)
pyp=2d0*
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)/paru(21)
38163 IF(j.EQ.21)
pyp=2d0*
p(i,3)/paru(21)
38164 IF(j.EQ.22)
pyp=2d0*
sqrt(
p(i,1)**2+
p(i,2)**2)/paru(21)
38165 IF(j.EQ.23)
pyp=2d0*
p(i,4)/paru(21)
38166 IF(j.EQ.24)
pyp=(
p(i,4)+
p(i,3))/paru(21)
38167 IF(j.EQ.25)
pyp=(
p(i,4)-
p(i,3))/paru(21)
38182 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
38185 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
38186 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
38187 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
38190 dimension sm(3,3),sv(3,3)
38201 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 140
38202 IF(mstu(41).GE.2)
THEN
38204 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
38205 & kc.EQ.18) goto 140
38206 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2)).EQ.0)
38210 pa=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
38212 IF(abs(paru(41)-2d0).GT.0.001d0) pwt=
38213 &
max(1
d-10,pa)**(paru(41)-2d0)
38216 sm(j1,j2)=sm(j1,j2)+pwt*
p(i,j1)*
p(i,j2)
38224 CALL
pyerrm(8,
'(PYSPHE:) too few particles for analysis')
38231 sm(j1,j2)=sm(j1,j2)/ps
38236 sq=(sm(1,1)*sm(2,2)+sm(1,1)*sm(3,3)+sm(2,2)*sm(3,3)-
38237 &sm(1,2)**2-sm(1,3)**2-sm(2,3)**2)/3d0-1d0/9d0
38238 sr=-0.5d0*(sq+1d0/9d0+sm(1,1)*sm(2,3)**2+sm(2,2)*sm(1,3)**2+
38239 &sm(3,3)*sm(1,2)**2-sm(1,1)*sm(2,2)*sm(3,3))+
38240 &sm(1,2)*sm(1,3)*sm(2,3)+1d0/27d0
38242 p(
n+1,4)=1d0/3d0+
sqrt(-sq)*
max(2d0*sp,
sqrt(3d0*(1d0-sp**2))-sp)
38243 p(
n+3,4)=1d0/3d0+
sqrt(-sq)*
min(2d0*sp,-
sqrt(3d0*(1d0-sp**2))-sp)
38244 p(
n+2,4)=1d0-
p(
n+1,4)-
p(
n+3,4)
38245 IF(
p(
n+2,4).LT.1
d-5)
THEN
38246 CALL
pyerrm(8,
'(PYSPHE:) all particles back-to-back')
38255 sv(j1,j1)=sm(j1,j1)-
p(
n+i,4)
38257 sv(j1,j2)=sm(j1,j2)
38258 sv(j2,j1)=sm(j1,j2)
38264 IF(abs(sv(j1,j2)).LE.
smax) goto 190
38267 smax=abs(sv(j1,j2))
38271 DO 220 j3=ja+1,ja+2
38273 rl=sv(j1,jb)/sv(ja,jb)
38275 sv(j1,j2)=sv(j1,j2)-rl*sv(ja,j2)
38276 IF(abs(sv(j1,j2)).LE.
smax) goto 210
38278 smax=abs(sv(j1,j2))
38282 jb2=jb+2-3*((jb+1)/3)
38283 p(
n+i,jb1)=-sv(jc,jb2)
38284 p(
n+i,jb2)=sv(jc,jb1)
38285 p(
n+i,jb)=-(sv(ja,jb1)*
p(
n+i,jb1)+sv(ja,jb2)*
p(
n+i,jb2))/
38287 pa=
sqrt(
p(
n+i,1)**2+
p(
n+i,2)**2+
p(
n+i,3)**2)
38288 sgn=(-1d0)**
int(
pyr(0)+0.5d0)
38290 p(
n+i,j)=sgn*
p(
n+i,j)/pa
38295 sgn=(-1d0)**
int(
pyr(0)+0.5d0)
38296 p(
n+2,1)=sgn*(
p(
n+1,2)*
p(
n+3,3)-
p(
n+1,3)*
p(
n+3,2))
38297 p(
n+2,2)=sgn*(
p(
n+1,3)*
p(
n+3,1)-
p(
n+1,1)*
p(
n+3,3))
38298 p(
n+2,3)=sgn*(
p(
n+1,1)*
p(
n+3,2)-
p(
n+1,2)*
p(
n+3,1))
38312 sph=1.5d0*(
p(
n+2,4)+
p(
n+3,4))
38316 IF(mstu(43).LE.1) mstu(3)=3
38317 IF(mstu(43).GE.2)
n=
n+3
38331 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
38334 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
38335 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
38336 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
38339 dimension tdi(3),tpr(3)
38345 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 100
38346 IF(mstu(41).GE.2)
THEN
38348 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
38349 & kc.EQ.18) goto 100
38350 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2)).EQ.0)
38353 IF(
n+np+mstu(44)+15.GE.mstu(4)-mstu(32)-5)
THEN
38354 CALL
pyerrm(11,
'(PYTHRU:) no more memory left in PYJETS')
38364 p(
n+np,4)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
38366 IF(abs(paru(42)-1d0).GT.0.001d0)
p(
n+np,5)=
38367 &
p(
n+np,4)**(paru(42)-1d0)
38368 ps=ps+
p(
n+np,4)*
p(
n+np,5)
38373 CALL
pyerrm(8,
'(PYTHRU:) too few particles for analysis')
38387 CALL
pyrobo(
n+1,
n+np+1,-the,0d0,0d0,0d0,0d0)
38391 DO 110 ilf=
n+np+4,
n+np+mstu(44)+4
38395 IF(ild.EQ.2)
p(i,4)=
sqrt(
p(i,1)**2+
p(i,2)**2)
38396 DO 130 ilf=
n+np+mstu(44)+3,
n+np+4,-1
38397 IF(
p(i,4).LE.
p(ilf,4)) goto 140
38399 p(ilf+1,j)=
p(ilf,j)
38409 DO 170 ilg=
n+np+mstu(44)+5,
n+np+mstu(44)+15
38412 nc=2**(
min(mstu(44),np)-1)
38417 DO 200 ilf=1,
min(mstu(44),np)
38418 sgn=
p(
n+np+ilf+3,5)
38419 IF(2**ilf*((ilc+2**(ilf-1)-1)/2**ilf).GE.ilc) sgn=-sgn
38421 tdi(j)=tdi(j)+sgn*
p(
n+np+ilf+3,j)
38424 tds=tdi(1)**2+tdi(2)**2+tdi(3)**2
38425 DO 220 ilg=
n+np+mstu(44)+
min(ilc,10)+4,
n+np+mstu(44)+5,-1
38426 IF(tds.LE.
p(ilg,4)) goto 230
38428 p(ilg+1,j)=
p(ilg,j)
38431 ilg=
n+np+mstu(44)+4
38445 IF(thp.LE.1
d-10) tdi(j)=
p(
n+np+mstu(44)+4+ilg,j)
38446 IF(thp.GT.1
d-10) tdi(j)=tpr(j)
38450 sgn=sign(
p(i,5),tdi(1)*
p(i,1)+tdi(2)*
p(i,2)+tdi(3)*
p(i,3))
38452 tpr(j)=tpr(j)+sgn*
p(i,j)
38455 thp=
sqrt(tpr(1)**2+tpr(2)**2+tpr(3)**2)/ps
38456 IF(thp.GE.thps+paru(48)) goto 270
38459 IF(thp.LT.
p(
n+np+ild,4)-paru(48).AND.ilg.LT.
min(10,nc)) goto 260
38460 IF(thp.GT.
p(
n+np+ild,4)+paru(48))
THEN
38462 sgn=(-1d0)**
int(
pyr(0)+0.5d0)
38464 p(
n+np+ild,j)=sgn*tpr(j)/(ps*thp)
38470 IF(iagr.LT.mstu(45).AND.ilg.LT.
min(10,nc)) goto 260
38474 sgn=(-1d0)**
int(
pyr(0)+0.5d0)
38475 p(
n+np+3,1)=-sgn*
p(
n+np+2,2)
38476 p(
n+np+3,2)=sgn*
p(
n+np+2,1)
38480 thp=thp+
p(i,5)*abs(
p(
n+np+3,1)*
p(i,1)+
p(
n+np+3,2)*
p(i,2))
38493 p(
n+ild,j)=
p(
n+np+ild,j)
38501 obl=
p(
n+2,4)-
p(
n+3,4)
38504 IF(mstu(43).LE.1) mstu(3)=3
38505 IF(mstu(43).GE.2)
n=
n+3
38518 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
38521 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
38522 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
38523 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
38527 SAVE nsav,np,ps,pss,rinit,npre,nrem
38530 r2t(i1,i2)=(
p(i1,5)*
p(i2,5)-
p(i1,1)*
p(i2,1)-
p(i1,2)*
p(i2,2)-
38531 &
p(i1,3)*
p(i2,3))*2d0*
p(i1,5)*
p(i2,5)/(0.0001d0+
p(i1,5)+
p(i2,5))**2
38532 r2m(i1,i2)=2d0*
p(i1,4)*
p(i2,4)*(1d0-(
p(i1,1)*
p(i2,1)+
p(i1,2)*
38533 &
p(i2,2)+
p(i1,3)*
p(i2,3))/(
p(i1,5)*
p(i2,5)))
38534 r2d(i1,i2)=2d0*
min(
p(i1,4),
p(i2,4))**2*(1d0-(
p(i1,1)*
p(i2,1)+
38535 &
p(i1,2)*
p(i2,2)+
p(i1,3)*
p(i2,3))/(
p(i1,5)*
p(i2,5)))
38538 IF(mstu(48).LE.0)
THEN
38544 pimass=pmas(
pycomp(211),1)
38547 IF(mstu(43).GE.2)
n=
n-njet
38548 DO 110 i=
n+1,
n+njet
38549 p(i,5)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
38551 IF(mstu(46).LE.3.OR.mstu(46).EQ.5)
THEN
38554 r2acc=paru(45)*ps(5)**2
38562 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 140
38563 IF(mstu(41).GE.2)
THEN
38565 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
38566 & kc.EQ.18) goto 140
38567 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2)).EQ.0)
38570 IF(
n+2*np.GE.mstu(4)-mstu(32)-5)
THEN
38571 CALL
pyerrm(11,
'(PYCLUS:) no more memory left in PYJETS')
38582 IF(mstu(42).EQ.0)
p(
n+np,5)=0d0
38583 IF(mstu(42).EQ.1.AND.k(i,2).NE.22)
p(
n+np,5)=pimass
38584 p(
n+np,4)=
sqrt(
p(
n+np,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
38585 p(
n+np,5)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
38587 ps(j)=ps(j)+
p(
n+np,j)
38597 ps(5)=
sqrt(
max(0d0,ps(4)**2-ps(1)**2-ps(2)**2-ps(3)**2))
38600 IF(np.LT.mstu(47))
THEN
38601 CALL
pyerrm(8,
'(PYCLUS:) too few particles for analysis')
38608 IF(mstu(46).LE.3.OR.mstu(46).EQ.5)
THEN
38611 r2acc=paru(45)*ps(5)**2
38613 rinit=1.25d0*paru(43)
38614 IF(np.LE.mstu(47)+2) rinit=0d0
38615 170 rinit=0.8d0*rinit
38618 DO 180 i=
n+np+1,
n+2*np
38623 IF(mstu(46).LE.2)
THEN
38627 DO 210 i=
n+np+1,
n+2*np
38628 IF(
p(i,5).GT.2d0*rinit) goto 210
38632 p(
n+1,j)=
p(
n+1,j)+
p(i,j)
38636 IF(
p(
n+1,5).GT.2d0*rinit) npre=1
38637 IF(rinit.GE.0.2d0*paru(43).AND.npre+nrem.LT.mstu(47)) goto 170
38638 IF(nrem.EQ.0) goto 170
38644 DO 230 i=
n+np+1,
n+2*np
38645 IF(k(i,4).NE.0.OR.
p(i,5).LE.pmax) goto 230
38650 p(
n+npre,j)=
p(imax,j)
38656 IF(mstu(46).LE.2)
THEN
38657 DO 260 i=
n+np+1,
n+2*np
38658 IF(k(i,4).NE.0) goto 260
38660 IF(r2.GT.rinit**2) goto 260
38664 p(
n+npre,j)=
p(
n+npre,j)+
p(i,j)
38667 p(
n+npre,5)=
sqrt(
p(
n+npre,1)**2+
p(
n+npre,2)**2+
p(
n+npre,3)**2)
38674 DO 280 i=
n+np+1,
n+2*np
38675 IF(k(i,4).NE.0) goto 280
38676 IF(mstu(46).LE.4)
THEN
38681 IF(r2.GE.r2min) goto 280
38687 p(
n+npre,j)=
p(
n+npre,j)+
p(imin,j)
38689 p(
n+npre,5)=
sqrt(
p(
n+npre,1)**2+
p(
n+npre,2)**2+
p(
n+npre,3)**2)
38697 IF(rinit.GE.0.2d0*paru(43).AND.npre+nrem.LT.mstu(47)) goto 170
38698 IF(nrem.GT.0) goto 220
38704 310
IF(mstu(46).LE.1)
THEN
38705 DO 330 i=
n+1,
n+njet
38710 DO 360 i=
n+np+1,
n+2*np
38712 DO 340 ijet=
n+1,
n+njet
38713 IF(
p(ijet,5).LT.rinit) goto 340
38715 IF(r2.GE.r2min) goto 340
38721 v(imin,j)=v(imin,j)+
p(i,j)
38725 DO 380 i=
n+1,
n+njet
38729 p(i,5)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
38735 r2min=2d0*
max(r2acc,ps(5)**2)
38736 DO 400 itry1=
n+1,
n+njet-1
38737 DO 390 itry2=itry1+1,
n+njet
38738 IF(mstu(46).LE.2)
THEN
38739 r2=r2t(itry1,itry2)
38740 ELSEIF(mstu(46).LE.4)
THEN
38741 r2=r2m(itry1,itry2)
38743 r2=r2d(itry1,itry2)
38745 IF(r2.GE.r2min) goto 390
38753 IF(njet.GT.mstu(47).AND.r2min.LT.r2acc)
THEN
38754 irec=
min(imin1,imin2)
38755 idel=
max(imin1,imin2)
38757 p(irec,j)=
p(imin1,j)+
p(imin2,j)
38759 p(irec,5)=
sqrt(
p(irec,1)**2+
p(irec,2)**2+
p(irec,3)**2)
38760 DO 430 i=idel+1,
n+njet
38765 IF(mstu(46).GE.2)
THEN
38766 DO 440 i=
n+np+1,
n+2*np
38768 IF(iori.EQ.idel) k(i,4)=irec-
n
38769 IF(iori.GT.idel) k(i,4)=k(i,4)-1
38776 ELSEIF(njet.EQ.mstu(47).AND.mstu(46).LE.1.AND.nloop.LE.2)
THEN
38777 DO 450 i=
n+1,
n+njet
38780 DO 460 i=
n+np+1,
n+2*np
38781 k(
n+k(i,4),5)=k(
n+k(i,4),5)+1
38784 DO 470 i=
n+1,
n+njet
38785 IF(k(i,5).EQ.0) iemp=i
38791 DO 480 i=
n+np+1,
n+2*np
38792 IF(k(
n+k(i,4),5).LE.1.OR.
p(i,5).LT.rinit) goto 480
38795 IF(r2.LE.r2max) goto 480
38802 p(iemp,j)=
p(ispl,j)
38803 p(ijet,j)=
p(ijet,j)-
p(ispl,j)
38805 p(iemp,5)=
p(ispl,5)
38806 p(ijet,5)=
sqrt(
p(ijet,1)**2+
p(ijet,2)**2+
p(ijet,3)**2)
38807 IF(nloop.LE.2) goto 300
38813 IF(mstu(46).LE.1.AND.nloop.LE.2.AND.psjt/pss.GT.tsav+paru(48))
38820 DO 510 i=
n+1,
n+njet
38825 DO 540 inew=
n+1,
n+njet
38827 DO 520 itry=
n+1,
n+njet
38828 IF(v(itry,4).LE.pemax) goto 520
38837 p(inew,j)=v(imax,j)
38844 DO 550 i=
n+np+1,
n+2*np
38847 IF(k(k(i,3),1).NE.3) k(k(i,3),4)=iori-
n
38848 k(iori,4)=k(iori,4)+1
38852 DO 570 i=
n+1,
n+njet
38859 IF(k(i,4).EQ.0) iemp=i
38868 paru(63)=
sqrt(r2min)
38869 IF(njet.LE.1) paru(63)=0d0
38871 CALL
pyerrm(8,
'(PYCLUS:) failed to reconstruct as requested')
38874 IF(mstu(43).LE.1) mstu(3)=njet
38875 IF(mstu(43).GE.2)
n=
n+njet
38890 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
38893 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
38894 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
38895 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
38899 ptlrat=1d0/sinh(paru(51))**2
38903 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 110
38904 IF(
p(i,1)**2+
p(i,2)**2.LE.ptlrat*
p(i,3)**2) goto 110
38905 IF(mstu(41).GE.2)
THEN
38907 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
38908 & kc.EQ.18) goto 110
38909 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2)).EQ.0)
38915 ieta=
max(1,
min(mstu(51),1+
int(mstu(51)*0.5d0*
38916 & (
eta/paru(51)+1d0))))
38918 iphi=
max(1,
min(mstu(52),1+
int(mstu(52)*0.5d0*
38919 & (
phi/paru(1)+1d0))))
38920 ietph=mstu(52)*ieta+iphi
38924 IF(ietph.EQ.k(ic,3))
THEN
38930 IF(nc.GE.mstu(4)-mstu(32)-5)
THEN
38931 CALL
pyerrm(11,
'(PYCELL:) no more memory left in PYJETS')
38939 p(nc,1)=(paru(51)/mstu(51))*(2*ieta-1-mstu(51))
38940 p(nc,2)=(paru(1)/mstu(52))*(2*iphi-1-mstu(52))
38945 IF(mstu(53).GE.1)
THEN
38948 IF(mstu(53).EQ.2) pei=
p(ic,5)*cosh(
p(ic,1))
38951 IF(pef.LT.0d0.OR.pef.GT.paru(56)*pei) goto 120
38953 IF(mstu(53).EQ.2)
p(ic,5)=pef/cosh(
p(ic,1))
38958 IF(paru(58).GT.0d0)
THEN
38962 IF(
p(ic,5).GT.paru(58))
THEN
38978 IF(k(ic,5).NE.2) goto 160
38979 IF(
p(ic,5).LE.etmax) goto 160
38985 IF(etmax.LT.paru(52)) goto 220
38986 IF(nj.GE.mstu(4)-mstu(32)-5)
THEN
38987 CALL
pyerrm(11,
'(PYCELL:) no more memory left in PYJETS')
39003 IF(k(ic,5).EQ.0) goto 170
39004 IF(abs(
p(ic,1)-
eta).GT.paru(54)) goto 170
39005 dphia=abs(
p(ic,2)-
phi)
39006 IF(dphia.GT.paru(54).AND.dphia.LT.paru(2)-paru(54)) goto 170
39008 IF(dphia.GT.paru(1)) phic=phic+sign(paru(2),
phi)
39009 IF((
p(ic,1)-
eta)**2+(phic-
phi)**2.GT.paru(54)**2) goto 170
39011 k(nj,4)=k(nj,4)+k(ic,4)
39012 p(nj,3)=
p(nj,3)+
p(ic,5)*
p(ic,1)
39013 p(nj,4)=
p(nj,4)+
p(ic,5)*phic
39014 p(nj,5)=
p(nj,5)+
p(ic,5)
39018 IF(
p(nj,5).LT.paru(53))
THEN
39021 IF(k(ic,5).LT.0) k(ic,5)=-k(ic,5)
39023 ELSEIF(mstu(54).LE.2)
THEN
39024 p(nj,3)=
p(nj,3)/
p(nj,5)
39025 p(nj,4)=
p(nj,4)/
p(nj,5)
39026 IF(abs(
p(nj,4)).GT.paru(1))
p(nj,4)=
p(nj,4)-sign(paru(2),
39029 IF(k(ic,5).LT.0) k(ic,5)=0
39036 IF(k(ic,5).GE.0) goto 210
39037 p(nj,1)=
p(nj,1)+
p(ic,5)*
cos(
p(ic,2))
39038 p(nj,2)=
p(nj,2)+
p(ic,5)*
sin(
p(ic,2))
39039 p(nj,3)=
p(nj,3)+
p(ic,5)*sinh(
p(ic,1))
39040 p(nj,4)=
p(nj,4)+
p(ic,5)*cosh(
p(ic,1))
39047 220
DO 250 i=1,nj-nc
39050 IF(k(ij,5).EQ.0) goto 230
39051 IF(
p(ij,5).LT.etmax) goto 230
39059 k(
n+i,4)=k(ijmax,4)
39062 p(
n+i,j)=
p(ijmax,j)
39069 IF(mstu(54).EQ.2)
THEN
39070 DO 260 i=
n+1,
n+njet
39072 p(i,1)=
p(i,5)*
cos(
p(i,4))
39073 p(i,2)=
p(i,5)*
sin(
p(i,4))
39074 p(i,3)=
p(i,5)*sinh(
eta)
39075 p(i,4)=
p(i,5)*cosh(
eta)
39078 ELSEIF(mstu(54).GE.3)
THEN
39079 DO 270 i=
n+1,
n+njet
39080 p(i,5)=
sqrt(
max(0d0,
p(i,4)**2-
p(i,1)**2-
p(i,2)**2-
p(i,3)**2))
39088 IF(mstu(43).LE.1) mstu(3)=njet
39089 IF(mstu(43).GE.2)
n=
n+njet
39103 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
39106 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
39107 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
39108 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
39111 dimension sm(3,3),sax(3),ps(3,5)
39124 pimass=pmas(
pycomp(211),1)
39128 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 170
39129 IF(mstu(41).GE.2)
THEN
39131 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
39132 & kc.EQ.18) goto 170
39133 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2)).EQ.0)
39136 IF(
n+np+1.GE.mstu(4)-mstu(32)-5)
THEN
39137 CALL
pyerrm(11,
'(PYJMAS:) no more memory left in PYJETS')
39146 IF(mstu(42).EQ.0)
p(
n+np,5)=0d0
39147 IF(mstu(42).EQ.1.AND.k(i,2).NE.22)
p(
n+np,5)=pimass
39148 p(
n+np,4)=
sqrt(
p(
n+np,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
39153 sm(j1,j2)=sm(j1,j2)+
p(i,j1)*
p(i,j2)
39156 pss=pss+(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
39158 ps(3,j)=ps(3,j)+
p(
n+np,j)
39164 CALL
pyerrm(8,
'(PYJMAS:) too few particles for analysis')
39169 paru(61)=
sqrt(
max(0d0,ps(3,4)**2-ps(3,1)**2-ps(3,2)**2-
39175 sm(j1,j2)=sm(j1,j2)/pss
39178 sq=(sm(1,1)*sm(2,2)+sm(1,1)*sm(3,3)+sm(2,2)*sm(3,3)-
39179 &sm(1,2)**2-sm(1,3)**2-sm(2,3)**2)/3d0-1d0/9d0
39180 sr=-0.5d0*(sq+1d0/9d0+sm(1,1)*sm(2,3)**2+sm(2,2)*sm(1,3)**2+
39181 &sm(3,3)*sm(1,2)**2-sm(1,1)*sm(2,2)*sm(3,3))+
39182 &sm(1,2)*sm(1,3)*sm(2,3)+1d0/27d0
39184 sma=1d0/3d0+
sqrt(-sq)*
max(2d0*sp,
sqrt(3d0*(1d0-sp**2))-sp)
39188 sm(j1,j1)=sm(j1,j1)-sma
39190 sm(j2,j1)=sm(j1,j2)
39196 IF(abs(sm(j1,j2)).LE.
smax) goto 220
39199 smax=abs(sm(j1,j2))
39203 DO 250 j3=ja+1,ja+2
39205 rl=sm(j1,jb)/sm(ja,jb)
39207 sm(j1,j2)=sm(j1,j2)-rl*sm(ja,j2)
39208 IF(abs(sm(j1,j2)).LE.
smax) goto 240
39210 smax=abs(sm(j1,j2))
39214 jb2=jb+2-3*((jb+1)/3)
39215 sax(jb1)=-sm(jc,jb2)
39216 sax(jb2)=sm(jc,jb1)
39217 sax(jb)=-(sm(ja,jb1)*sax(jb1)+sm(ja,jb2)*sax(jb2))/sm(ja,jb)
39221 psax=
p(i,1)*sax(1)+
p(i,2)*sax(2)+
p(i,3)*sax(3)
39223 IF(psax.LT.0d0) is=2
39226 ps(is,j)=ps(is,j)+
p(i,j)
39229 pms=
max(1
d-10,ps(1,4)**2-ps(1,1)**2-ps(1,2)**2-ps(1,3)**2)+
39230 &
max(1
d-10,ps(2,4)**2-ps(2,1)**2-ps(2,2)**2-ps(2,3)**2)
39236 ps(3,j)=ps(1,j)-ps(2,j)
39239 pps=
p(i,4)*ps(3,4)-
p(i,1)*ps(3,1)-
p(i,2)*ps(3,2)-
p(i,3)*ps(3,3)
39240 IF(k(i,3).EQ.1) pmdi=2d0*(
p(i,5)**2-pps)
39241 IF(k(i,3).EQ.2) pmdi=2d0*(
p(i,5)**2+pps)
39242 IF(pmdi.LT.pmd)
THEN
39249 IF(pmd.LT.-paru(48)*pms)
THEN
39253 ps(is,j)=ps(is,j)-
p(im,j)
39254 ps(3-is,j)=ps(3-is,j)+
p(im,j)
39263 ps(1,5)=
sqrt(
max(0d0,ps(1,4)**2-ps(1,1)**2-ps(1,2)**2-ps(1,3)**2))
39264 ps(2,5)=
sqrt(
max(0d0,ps(2,4)**2-ps(2,1)**2-ps(2,2)**2-ps(2,3)**2))
39265 pmh=
max(ps(1,5),ps(2,5))
39266 pml=
min(ps(1,5),ps(2,5))
39279 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
39282 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
39283 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
39284 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
39292 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 110
39293 IF(mstu(41).GE.2)
THEN
39295 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
39296 & kc.EQ.18) goto 110
39297 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(k(i,2)).EQ.0)
39300 IF(
n+np.GE.mstu(4)-mstu(32)-5)
THEN
39301 CALL
pyerrm(11,
'(PYFOWO:) no more memory left in PYJETS')
39312 p(
n+np,4)=
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
39320 CALL
pyerrm(8,
'(PYFOWO:) too few particles for analysis')
39334 DO 120 i2=i1+1,
n+np
39335 cthe=(
p(i1,1)*
p(i2,1)+
p(i1,2)*
p(i2,2)+
p(i1,3)*
p(i2,3))/
39336 & (
p(i1,4)*
p(i2,4))
39338 h20=
h20+
p(i1,4)*
p(i2,4)*(1.5d0*cthe**2-0.5d0)
39339 h30=h30+
p(i1,4)*
p(i2,4)*(2.5d0*cthe**3-1.5d0*cthe)
39340 h40=h40+
p(i1,4)*
p(i2,4)*(4.375d0*cthe**4-3.75d0*cthe**2+
39350 h30=(hd+2d0*h30)/h0
39351 h40=(hd+2d0*h40)/h0
39366 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
39369 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
39370 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
39371 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
39372 common/
pydat3/mdcy(500,3),mdme(4000,2),brat(4000),kfdp(4000,5)
39375 dimension kfis(100,2),npis(100,0:10),kffs(400),npfs(400,4),
39376 &fevfm(10,4),fm1fm(3,10,4),fm2fm(3,10,4),fmoma(4),fmoms(4),
39377 &fevee(50),fe1ec(50),fe2ec(50),fe1ea(25),fe2ea(25),
39378 &kfdm(8),kfdc(200,0:8),npdc(200)
39379 SAVE nevis,nkfis,kfis,npis,nevfs,nprfs,nfifs,nchfs,nkffs,
39380 &kffs,npfs,nevfm,nmufm,fm1fm,fm2fm,nevee,fe1ec,fe2ec,fe1ea,
39381 &fe2ea,nevdc,nkfdc,nredc,kfdc,npdc
39382 CHARACTER chau*16,chis(2)*12,chdc(8)*12
39383 DATA nevis/0/,nkfis/0/,nevfs/0/,nprfs/0/,nfifs/0/,nchfs/0/,
39384 &nkffs/0/,nevfm/0/,nmufm/0/,fm1fm/120*0d0/,fm2fm/120*0d0/,
39385 &nevee/0/,fe1ec/50*0d0/,fe2ec/50*0d0/,fe1ea/25*0d0/,fe2ea/25*0d0/,
39386 &nevdc/0/,nkfdc/0/,nredc/0/
39389 IF(mtabu.EQ.10)
THEN
39394 ELSEIF(mtabu.EQ.11)
THEN
39396 kfm1=2*iabs(mstu(161))
39397 IF(mstu(161).GT.0) kfm1=kfm1-1
39398 kfm2=2*iabs(mstu(162))
39399 IF(mstu(162).GT.0) kfm2=kfm2-1
39400 kfmn=
min(kfm1,kfm2)
39401 kfmx=
max(kfm1,kfm2)
39403 IF(kfmn.EQ.kfis(i,1).AND.kfmx.EQ.kfis(i,2))
THEN
39406 ELSEIF(kfmn.LT.kfis(i,1).OR.(kfmn.EQ.kfis(i,1).AND.
39407 & kfmx.LT.kfis(i,2)))
THEN
39413 110
IF(ikfis.LT.0)
THEN
39416 IF(nkfis.GE.100)
RETURN
39417 DO 130 i=nkfis,ikfis,-1
39418 kfis(i+1,1)=kfis(i,1)
39419 kfis(i+1,2)=kfis(i,2)
39421 npis(i+1,j)=npis(i,j)
39431 npis(ikfis,0)=npis(ikfis,0)+1
39436 IF(k(i,1).LE.0.OR.k(i,1).GT.12)
THEN
39437 ELSEIF(iabs(k(i,2)).GT.80.AND.iabs(k(i,2)).LE.100)
THEN
39438 ELSEIF(iabs(k(i,2)).GT.100.AND.
mod(iabs(k(i,2))/10,10).NE.0)
39443 IF(im.LE.0.OR.im.GT.
n)
THEN
39445 ELSEIF(k(im,1).LE.0.OR.k(im,1).GT.20)
THEN
39447 ELSEIF(iabs(k(im,2)).GT.80.AND.iabs(k(im,2)).LE.100)
THEN
39448 ELSEIF(iabs(k(im,2)).GT.100.AND.
mod(iabs(k(im,2))/10,10)
39458 IF(np.GE.11) npco=8
39459 IF(np.GE.16) npco=9
39460 IF(np.GE.26) npco=10
39461 npis(ikfis,npco)=npis(ikfis,npco)+1
39465 ELSEIF(mtabu.EQ.12)
THEN
39466 fac=1d0/
max(1,nevis)
39467 WRITE(mstu(11),5000) nevis
39470 IF(kfmn.EQ.0) kfmn=kfis(i,2)
39472 IF(2*kfm1.EQ.kfmn) kfm1=-kfm1
39475 IF(chau(13:13).NE.
' ') chis(1)(12:12)=
'?'
39477 IF(kfis(i,1).EQ.0) kfmx=0
39479 IF(2*kfm2.EQ.kfmx) kfm2=-kfm2
39482 IF(chau(13:13).NE.
' ') chis(2)(12:12)=
'?'
39483 WRITE(mstu(11),5100) chis(1),chis(2),fac*npis(i,0),
39484 & (npis(i,j)/dble(npis(i,0)),j=1,10)
39488 ELSEIF(mtabu.EQ.13)
THEN
39489 fac=1d0/
max(1,nevis)
39492 IF(kfmn.EQ.0) kfmn=kfis(i,2)
39494 IF(2*kfm1.EQ.kfmn) kfm1=-kfm1
39496 IF(kfis(i,1).EQ.0) kfmx=0
39498 IF(2*kfm2.EQ.kfmx) kfm2=-kfm2
39505 p(i,j)=fac*npis(i,j)
39506 v(i,j)=fac*npis(i,j+5)
39521 ELSEIF(mtabu.EQ.20)
THEN
39529 ELSEIF(mtabu.EQ.21)
THEN
39533 IF(k(i,1).LE.0.OR.k(i,1).GT.20.OR.k(i,1).EQ.13) goto 260
39534 mstu(62)=mstu(62)+1
39537 IF(k(i,3).LE.0.OR.k(i,3).GT.
n)
THEN
39539 ELSEIF(k(k(i,3),1).LE.0.OR.k(k(i,3),1).GT.20)
THEN
39541 ELSEIF(k(k(i,3),2).GE.91.AND.k(k(i,3),2).LE.93)
THEN
39543 ELSEIF(kc.EQ.0)
THEN
39544 ELSEIF(k(k(i,3),1).EQ.13)
THEN
39546 IF(im.LE.0.OR.im.GT.
n)
THEN
39548 ELSEIF(k(im,1).LE.0.OR.k(im,1).GT.20)
THEN
39551 ELSEIF(kchg(kc,2).EQ.0)
THEN
39554 IF(kchg(kcm,2).NE.0) mpri=1
39557 IF(kc.NE.0.AND.mpri.EQ.1)
THEN
39558 IF(kchg(kc,2).EQ.0) nprfs=nprfs+1
39560 IF(k(i,1).LE.10)
THEN
39562 IF(
pychge(k(i,2)).NE.0) nchfs=nchfs+1
39567 kfs=3-isign(1,k(i,2))-mpri
39569 IF(kfa.EQ.kffs(ip))
THEN
39572 ELSEIF(kfa.LT.kffs(ip))
THEN
39578 220
IF(ikffs.LT.0)
THEN
39581 IF(nkffs.GE.400)
RETURN
39582 DO 240 ip=nkffs,ikffs,-1
39583 kffs(ip+1)=kffs(ip)
39585 npfs(ip+1,j)=npfs(ip,j)
39594 npfs(ikffs,kfs)=npfs(ikffs,kfs)+1
39598 ELSEIF(mtabu.EQ.22)
THEN
39599 fac=1d0/
max(1,nevfs)
39600 WRITE(mstu(11),5200) nevfs,fac*nprfs,fac*nfifs,fac*nchfs
39602 CALL
pyname(kffs(i),chau)
39605 IF(kc.NE.0) mdcyf=mdcy(kc,1)
39606 WRITE(mstu(11),5300) kffs(i),chau,mdcyf,(fac*npfs(i,j),j=1,4),
39607 & fac*(npfs(i,1)+npfs(i,2)+npfs(i,3)+npfs(i,4))
39611 ELSEIF(mtabu.EQ.23)
THEN
39612 fac=1d0/
max(1,nevfs)
39618 k(i,5)=npfs(i,1)+npfs(i,2)+npfs(i,3)+npfs(i,4)
39620 p(i,j)=fac*npfs(i,j)
39641 ELSEIF(mtabu.EQ.30)
THEN
39647 fm1fm(im,ib,ip)=0d0
39648 fm2fm(im,ib,ip)=0d0
39654 ELSEIF(mtabu.EQ.31)
THEN
39659 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 410
39660 IF(mstu(41).GE.2)
THEN
39662 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
39663 & kc.EQ.18) goto 410
39664 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
39665 &
pychge(k(i,2)).EQ.0) goto 410
39668 IF(mstu(42).EQ.1.AND.k(i,2).NE.22) pmr=
pymass(211)
39669 IF(mstu(42).GE.2) pmr=
p(i,5)
39670 pr=
max(1
d-20,pmr**2+
p(i,1)**2+
p(i,2)**2)
39673 IF(abs(yeta).GT.paru(57)) goto 410
39675 iyeta=512d0*(yeta+paru(57))/(2d0*paru(57))
39676 iyeta=
max(0,
min(511,iyeta))
39677 iphi=512d0*(
phi+paru(1))/paru(2)
39678 iphi=
max(0,
min(511,iphi))
39681 iyep=iyep+4**ib*(2*
mod(iyeta/2**ib,2)+
mod(iphi/2**ib,2))
39685 IF(nupp.GT.mstu(4)-5-mstu(32))
THEN
39686 CALL
pyerrm(11,
'(PYTABU:) no more memory left in PYJETS')
39690 IF(nupp.EQ.nlow+1)
THEN
39695 DO 350 i1=nupp-1,nlow+1,-1
39696 IF(iyeta.GE.k(i1,1)) goto 360
39699 360 k(i1+1,1)=iyeta
39700 DO 370 i1=nupp-1,nlow+1,-1
39701 IF(iphi.GE.k(i1,2)) goto 380
39705 DO 390 i1=nupp-1,nlow+1,-1
39706 IF(iyep.GE.k(i1,3)) goto 400
39724 IF(im.LE.2) ibin=2**(10-ib)
39725 IF(im.EQ.3) ibin=4**(10-ib)
39726 iagr=k(nlow+1,im)/ibin
39728 DO 440 i=nlow+2,nupp+1
39730 IF(icut.EQ.iagr)
THEN
39734 ELSEIF(nagr.EQ.2)
THEN
39735 fevfm(ib,1)=fevfm(ib,1)+2d0
39736 ELSEIF(nagr.EQ.3)
THEN
39737 fevfm(ib,1)=fevfm(ib,1)+6d0
39738 fevfm(ib,2)=fevfm(ib,2)+6d0
39739 ELSEIF(nagr.EQ.4)
THEN
39740 fevfm(ib,1)=fevfm(ib,1)+12d0
39741 fevfm(ib,2)=fevfm(ib,2)+24d0
39742 fevfm(ib,3)=fevfm(ib,3)+24d0
39744 fevfm(ib,1)=fevfm(ib,1)+nagr*(nagr-1d0)
39745 fevfm(ib,2)=fevfm(ib,2)+nagr*(nagr-1d0)*(nagr-2d0)
39746 fevfm(ib,3)=fevfm(ib,3)+nagr*(nagr-1d0)*(nagr-2d0)*
39748 fevfm(ib,4)=fevfm(ib,4)+nagr*(nagr-1d0)*(nagr-2d0)*
39749 & (nagr-3d0)*(nagr-4d0)
39760 IF(fevfm(1,ip).LT.0.5d0)
THEN
39762 ELSEIF(im.LE.2)
THEN
39763 fevfm(ib,ip)=2d0**((ib-1)*ip)*fevfm(ib,ip)/fevfm(1,ip)
39765 fevfm(ib,ip)=4d0**((ib-1)*ip)*fevfm(ib,ip)/fevfm(1,ip)
39767 fm1fm(im,ib,ip)=fm1fm(im,ib,ip)+fevfm(ib,ip)
39768 fm2fm(im,ib,ip)=fm2fm(im,ib,ip)+fevfm(ib,ip)**2
39772 nmufm=nmufm+(nupp-nlow)
39776 ELSEIF(mtabu.EQ.32)
THEN
39777 fac=1d0/
max(1,nevfm)
39778 IF(mstu(42).LE.0)
WRITE(mstu(11),5400) nevfm,
'eta'
39779 IF(mstu(42).EQ.1)
WRITE(mstu(11),5400) nevfm,
'ypi'
39780 IF(mstu(42).GE.2)
WRITE(mstu(11),5400) nevfm,
'y '
39782 WRITE(mstu(11),5500)
39785 IF(im.NE.2) byeta=byeta/2**(ib-1)
39787 IF(im.NE.1) bphi=bphi/2**(ib-1)
39788 IF(im.LE.2) bnave=fac*nmufm/dble(2**(ib-1))
39789 IF(im.EQ.3) bnave=fac*nmufm/dble(4**(ib-1))
39791 fmoma(ip)=fac*fm1fm(im,ib,ip)
39792 fmoms(ip)=
sqrt(
max(0d0,fac*(fac*fm2fm(im,ib,ip)-
39795 WRITE(mstu(11),5600) byeta,bphi,bnave,(fmoma(ip),fmoms(ip),
39801 ELSEIF(mtabu.EQ.33)
THEN
39802 fac=1d0/
max(1,nevfm)
39809 IF(im.NE.2) k(i,3)=2**(ib-1)
39811 IF(im.NE.1) k(i,4)=2**(ib-1)
39813 p(i,1)=2d0*paru(57)/k(i,3)
39814 v(i,1)=paru(2)/k(i,4)
39816 p(i,ip+1)=fac*fm1fm(im,ib,ip)
39817 v(i,ip+1)=
sqrt(
max(0d0,fac*(fac*fm2fm(im,ib,ip)-
39834 ELSEIF(mtabu.EQ.40)
THEN
39846 ELSEIF(mtabu.EQ.41)
THEN
39852 IF(k(i,1).LE.0.OR.k(i,1).GT.10) goto 570
39853 IF(mstu(41).GE.2)
THEN
39855 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
39856 & kc.EQ.18) goto 570
39857 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
39858 &
pychge(k(i,2)).EQ.0) goto 570
39861 IF(mstu(42).EQ.1.AND.k(i,2).NE.22) pmr=
pymass(211)
39862 IF(mstu(42).GE.2) pmr=
p(i,5)
39863 IF(nupp.GT.mstu(4)-5-mstu(32))
THEN
39864 CALL
pyerrm(11,
'(PYTABU:) no more memory left in PYJETS')
39871 p(nupp,4)=
sqrt(pmr**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
39872 p(nupp,5)=
max(1
d-10,
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2))
39875 IF(nupp.EQ.nlow)
RETURN
39878 fac=(2d0/ecm**2)*50d0/paru(1)
39882 DO 600 i1=nlow+2,nupp
39883 DO 590 i2=nlow+1,i1-1
39884 cthe=(
p(i1,1)*
p(i2,1)+
p(i1,2)*
p(i2,2)+
p(i1,3)*
p(i2,3))/
39885 & (
p(i1,5)*
p(i2,5))
39886 the=acos(
max(-1d0,
min(1d0,cthe)))
39887 ithe=
max(1,
min(50,1+
int(50d0*the/paru(1))))
39888 fevee(ithe)=fevee(ithe)+fac*
p(i1,4)*
p(i2,4)
39892 fe1ec(j)=fe1ec(j)+fevee(j)
39893 fe2ec(j)=fe2ec(j)+fevee(j)**2
39894 fe1ec(51-j)=fe1ec(51-j)+fevee(51-j)
39895 fe2ec(51-j)=fe2ec(51-j)+fevee(51-j)**2
39896 fe1ea(j)=fe1ea(j)+(fevee(51-j)-fevee(j))
39897 fe2ea(j)=fe2ea(j)+(fevee(51-j)-fevee(j))**2
39902 ELSEIF(mtabu.EQ.42)
THEN
39903 fac=1d0/
max(1,nevee)
39904 WRITE(mstu(11),5700) nevee
39907 fees1=
sqrt(
max(0d0,fac*(fac*fe2ec(j)-feec1**2)))
39908 feec2=fac*fe1ec(51-j)
39909 fees2=
sqrt(
max(0d0,fac*(fac*fe2ec(51-j)-feec2**2)))
39911 feesa=
sqrt(
max(0d0,fac*(fac*fe2ea(j)-feeca**2)))
39912 WRITE(mstu(11),5800) 3.6d0*(j-1),3.6d0*j,feec1,fees1,
39913 & feec2,fees2,feeca,feesa
39917 ELSEIF(mtabu.EQ.43)
THEN
39918 fac=1d0/
max(1,nevee)
39925 p(i,1)=fac*fe1ec(i)
39926 v(i,1)=
sqrt(
max(0d0,fac*(fac*fe2ec(i)-
p(i,1)**2)))
39927 p(i,2)=fac*fe1ec(51-i)
39928 v(i,2)=
sqrt(
max(0d0,fac*(fac*fe2ec(51-i)-
p(i,2)**2)))
39929 p(i,3)=fac*fe1ea(i)
39930 v(i,3)=
sqrt(
max(0d0,fac*(fac*fe2ea(i)-
p(i,3)**2)))
39931 p(i,4)=paru(1)*(i-1)/50d0
39932 p(i,5)=paru(1)*i/50d0
39948 ELSEIF(mtabu.EQ.50)
THEN
39954 ELSEIF(mtabu.EQ.51)
THEN
39958 IF(k(i,1).LE.0.OR.k(i,1).GE.6) goto 670
39965 IF(k(i,2).LT.0) kfm=kfm-1
39966 DO 650 ids=nds-1,1,-1
39968 IF(kfm.LT.kfdm(ids)) goto 660
39969 kfdm(ids+1)=kfdm(ids)
39977 IF(nds.LT.kfdc(idc,0))
THEN
39980 ELSEIF(nds.EQ.kfdc(idc,0))
THEN
39982 IF(kfdm(i).LT.kfdc(idc,i))
THEN
39985 ELSEIF(kfdm(i).GT.kfdc(idc,i))
THEN
39994 700
IF(ikfdc.LT.0)
THEN
39996 ELSEIF(nkfdc.GE.200)
THEN
40000 DO 720 idc=nkfdc,ikfdc,-1
40001 npdc(idc+1)=npdc(idc)
40003 kfdc(idc+1,i)=kfdc(idc,i)
40009 kfdc(ikfdc,i)=kfdm(i)
40013 npdc(ikfdc)=npdc(ikfdc)+1
40016 ELSEIF(mtabu.EQ.52)
THEN
40017 fac=1d0/
max(1,nevdc)
40018 WRITE(mstu(11),5900) nevdc
40020 DO 740 i=1,kfdc(idc,0)
40023 IF(2*kf.NE.kfm) kf=-kf
40026 IF(chau(13:13).NE.
' ') chdc(i)(12:12)=
'?'
40028 WRITE(mstu(11),6000) fac*npdc(idc),(chdc(i),i=1,kfdc(idc,0))
40030 IF(nredc.NE.0)
WRITE(mstu(11),6100) fac*nredc
40033 ELSEIF(mtabu.EQ.53)
THEN
40034 fac=1d0/
max(1,nevdc)
40040 k(idc,5)=kfdc(idc,0)
40045 DO 770 i=1,kfdc(idc,0)
40048 IF(2*kf.NE.kfm) kf=-kf
40049 IF(i.LE.5)
p(idc,i)=kf
40050 IF(i.GE.6) v(idc,i-5)=kf
40052 v(idc,5)=fac*npdc(idc)
40068 5000
FORMAT(///20
x,
'Event statistics - initial state'/
40069 &20
x,
'based on an analysis of ',i6,
' events'//
40070 &3
x,
'Main flavours after',8
x,
'Fraction',4
x,
'Subfractions ',
40071 &
'according to fragmenting system multiplicity'/
40072 &4
x,
'hard interaction',24
x,
'1',7
x,
'2',7
x,
'3',7
x,
'4',7
x,
'5',
40073 &6
x,
'6-7',5
x,
'8-10',3
x,
'11-15',3
x,
'16-25',4
x,
'>25'/)
40074 5100
FORMAT(3
x,a12,1
x,a12,f10.5,1
x,10f8.4)
40075 5200
FORMAT(///20
x,
'Event statistics - final state'/
40076 &20
x,
'based on an analysis of ',i7,
' events'//
40077 &5
x,
'Mean primary multiplicity =',f10.4/
40078 &5
x,
'Mean final multiplicity =',f10.4/
40079 &5
x,
'Mean charged multiplicity =',f10.4//
40080 &5
x,
'Number of particles produced per event (directly and via ',
40081 &
'decays/branchings)'/
40082 &8
x,
'KF Particle/jet MDCY',10
x,
'Particles',13
x,
'Antiparticles',
40083 &8
x,
'Total'/35
x,
'prim seco prim seco'/)
40084 5300
FORMAT(1
x,i9,4
x,a16,i2,5(1
x,f11.6))
40085 5400
FORMAT(///20
x,
'Factorial moments analysis of multiplicity'/
40086 &20
x,
'based on an analysis of ',i6,
' events'//
40087 &3
x,
'delta-',a3,
' delta-phi <n>/bin',10
x,
'<F2>',18
x,
'<F3>',
40088 &18
x,
'<F4>',18
x,
'<F5>'/35
x,4(
' value error '))
40090 5600
FORMAT(2
x,2f10.4,f12.4,4(f12.4,f10.4))
40091 5700
FORMAT(///20
x,
'Energy-Energy Correlation and Asymmetry'/
40092 &20
x,
'based on an analysis of ',i6,
' events'//
40093 &2
x,
'theta range',8
x,
'EEC(theta)',8
x,
'EEC(180-theta)',7
x,
40094 &
'EECA(theta)'/2
x,
'in degrees ',3(
' value error')/)
40095 5800
FORMAT(2
x,
f4.1,
' - ',
f4.1,3(f11.4,f9.4))
40096 5900
FORMAT(///20
x,
'Decay channel analysis - final state'/
40097 &20
x,
'based on an analysis of ',i6,
' events'//
40098 &2
x,
'Probability',10
x,
'Complete final state'/)
40099 6000
FORMAT(2
x,f9.5,5
x,8(a12,1
x))
40100 6100
FORMAT(2
x,f9.5,5
x,
'into other channels (more than 8 particles ',
40101 &
'or table overflow)')
40113 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
40116 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
40117 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
40118 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
40122 IF(mstu(12).GE.1) CALL
pylist(0)
40123 IF(kfl.LT.0.OR.kfl.GT.8)
THEN
40124 CALL
pyerrm(16,
'(PYEEVT:) called with unknown flavour code')
40125 IF(mstu(21).GE.1)
RETURN
40127 IF(kfl.LE.5) ecmmin=parj(127)+2.02d0*parf(100+
max(1,kfl))
40128 IF(kfl.GE.6) ecmmin=parj(127)+2.02d0*pmas(kfl,1)
40129 IF(ecm.LT.ecmmin)
THEN
40130 CALL
pyerrm(16,
'(PYEEVT:) called with too small CM energy')
40131 IF(mstu(21).GE.1)
RETURN
40135 IF(mstj(109).EQ.2.AND.mstj(110).NE.1)
THEN
40137 &
'(PYEEVT:) MSTJ(109) value requires MSTJ(110) = 1')
40140 IF(mstj(109).EQ.2.AND.mstj(111).NE.0)
THEN
40142 &
'(PYEEVT:) MSTJ(109) value requires MSTJ(111) = 0')
40147 mstu(111)=mstj(108)
40148 IF(mstj(108).EQ.2.AND.(mstj(101).EQ.0.OR.mstj(101).EQ.1))
40150 paru(112)=parj(121)
40151 IF(mstu(111).EQ.2) paru(112)=parj(122)
40152 IF(mstj(116).GT.0.AND.(mstj(116).GE.2.OR.abs(ecm-parj(151)).GE.
40153 &parj(139).OR.10*mstj(102)+kfl.NE.mstj(119))) CALL
pyxtee(kfl,ecm,
40155 IF(mstj(116).GE.3) mstj(116)=1
40161 IF(ntry.GT.100)
THEN
40162 CALL
pyerrm(14,
'(PYEEVT:) caught in an infinite loop')
40167 IF(mstj(115).GE.2)
THEN
40169 CALL
py1ent(nc-1,11,0.5d0*ecm,0d0,0d0)
40171 CALL
py1ent(nc,-11,0.5d0*ecm,paru(1),0d0)
40178 IF(mstj(107).GE.1.AND.mstj(116).GE.1) CALL
pyradk(ecm,mk,pak,
40180 IF(mk.EQ.1) ecmc=
sqrt(ecm*(ecm-2d0*pak))
40181 IF(mstj(115).GE.1.AND.mk.EQ.1)
THEN
40183 CALL
py1ent(nc,22,pak,thek,phik)
40184 k(nc,3)=
min(mstj(115)/2,1)
40188 IF(mstj(115).GE.3)
THEN
40191 IF(mstj(102).EQ.2) kf=23
40195 CALL
py1ent(nc,kf,ecmc,0d0,0d0)
40202 CALL
pyxkfl(kfl,ecm,ecmc,kflc)
40203 IF(kflc.EQ.0) goto 100
40204 CALL
pyxjet(ecmc,njet,cut)
40206 IF(njet.EQ.4) CALL
pyx4jt(njet,cut,kflc,ecmc,kfln,
x1,
x2,x4,
40208 IF(njet.EQ.3) CALL
pyx3jt(njet,cut,kflc,ecmc,
x1,x3)
40209 IF(njet.EQ.2) mstj(120)=1
40212 IF(njet.EQ.2.AND.mstj(101).NE.5) CALL
py2ent(nc+1,kflc,-kflc,ecmc)
40213 IF(njet.EQ.2.AND.mstj(101).EQ.5) CALL
py2ent(-(nc+1),kflc,-kflc,
40215 IF(njet.EQ.3) CALL
py3ent(nc+1,kflc,21,-kflc,ecmc,
x1,x3)
40216 IF(njet.EQ.4.AND.kfln.EQ.21) CALL
py4ent(nc+1,kflc,kfln,kfln,
40217 &-kflc,ecmc,
x1,
x2,x4,x12,x14)
40218 IF(njet.EQ.4.AND.kfln.NE.21) CALL
py4ent(nc+1,kflc,-kfln,kfln,
40219 &-kflc,ecmc,
x1,
x2,x4,x12,x14)
40220 IF(mstu(24).NE.0) goto 100
40222 k(ip,3)=k(ip,3)+
min(mstj(115)/2,1)+(mstj(115)/3)*(nc-1)
40226 IF(mstj(106).EQ.1)
THEN
40227 CALL
pyxdif(nc,njet,kflc,ecmc,chi,the,
phi)
40228 CALL
pyrobo(nc+1,
n,0d0,chi,0d0,0d0,0d0)
40234 dbek=-pak/(ecm-pak)
40235 nmin=nc+1-mstj(115)/3
40236 CALL
pyrobo(nmin,
n,0d0,-phik,0d0,0d0,0d0)
40237 CALL
pyrobo(nmin,
n,alpk,0d0,dbek*
sin(thek),0d0,dbek*
cos(thek))
40238 CALL
pyrobo(nmin,
n,0d0,phik,0d0,0d0,0d0)
40242 IF(mstj(101).EQ.5)
THEN
40245 IF(mstj(105).EQ.-1) mstj(14)=-1
40246 IF(mstj(105).GE.0) mstu(28)=0
40249 IF(mstj(105).GE.0.AND.mstu(28).NE.0) goto 100
40253 IF(mstj(105).EQ.1) CALL
pyexec
40269 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
40272 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
40273 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
40278 mstj(119)=10*mstj(102)+kfl
40279 IF(mstj(111).EQ.0)
THEN
40281 ELSEIF(mstu(111).EQ.0)
THEN
40282 parj(168)=
min(1d0,
max(parj(128),
exp(-12d0*paru(1)/
40283 & ((33d0-2d0*mstu(112))*paru(111)))))
40284 q2r=parj(168)*ecm**2
40286 parj(168)=
min(1d0,
max(parj(128),paru(112)/ecm,
40287 & (2d0*paru(112)/ecm)**2))
40288 q2r=parj(168)*ecm**2
40290 alspi=
pyalps(q2r)/paru(1)
40293 IF(mstj(101).EQ.0.OR.mstj(109).EQ.1)
THEN
40295 ELSEIF(iabs(mstj(101)).EQ.1.AND.mstj(109).EQ.0)
THEN
40297 ELSEIF(mstj(109).EQ.0)
THEN
40298 rqcd=1d0+alspi+(1.986d0-0.115d0*mstu(118))*alspi**2
40299 IF(mstj(111).EQ.1) rqcd=
max(1d0,rqcd+(33d0-2d0*mstu(112))/12d0*
40300 &
log(parj(168))*alspi**2)
40301 ELSEIF(iabs(mstj(101)).EQ.1)
THEN
40302 rqcd=1d0+(3d0/4d0)*alspi
40304 rqcd=1d0+(3d0/4d0)*alspi-(3d0/32d0+0.519d0*mstu(118))*alspi**2
40308 IF(mstj(102).GE.3)
THEN
40309 rva=3d0*(3d0+(4d0*paru(102)-1d0)**2)+6d0*rqcd*(2d0+
40310 & (1d0-8d0*paru(102)/3d0)**2+(4d0*paru(102)/3d0-1d0)**2)
40313 IF(
mod(mstj(103),2).EQ.1) vq=
sqrt(
max(0d0,1d0-
40314 & (2d0*
pymass(kflc)/ ecm)**2))
40315 IF(kflc.EQ.5) vf=4d0*paru(102)/3d0-1d0
40316 IF(kflc.EQ.6) vf=1d0-8d0*paru(102)/3d0
40317 rva=rva+3d0*rqcd*(0.5d0*vq*(3d0-vq**2)*vf**2+vq**3)
40319 parj(124)=paru(101)*parj(123)*rva/(48d0*paru(102)*
40324 poll=1d0-parj(131)*parj(132)
40325 IF(mstj(102).GE.2)
THEN
40326 sff=1d0/(16d0*paru(102)*(1d0-paru(102)))
40327 sfw=ecm**4/((ecm**2-parj(123)**2)**2+(parj(123)*parj(124))**2)
40328 sfi=sfw*(1d0-(parj(123)/ecm)**2)
40329 ve=4d0*paru(102)-1d0
40330 sf1i=sff*(ve*poll+parj(132)-parj(131))
40331 sf1w=sff**2*((ve**2+1d0)*poll+2d0*ve*(parj(132)-parj(131)))
40341 DO 110 kflc=1,
max(mstj(104),kfl)
40342 IF(kfl.GT.0.AND.kflc.NE.kfl) goto 110
40345 IF(ecm.LT.2d0*pmq+parj(127)) goto 110
40346 qf=kchg(kflc,1)/3d0
40348 IF(
mod(mstj(103),2).EQ.1) vq=
sqrt(1d0-(2d0*pmq/ecm)**2)
40351 rqq=rqq+3d0*qf**2*poll
40352 IF(mstj(102).LE.1)
THEN
40353 rtot=rtot+3d0*0.5d0*vq*(3d0-vq**2)*qf**2*poll
40355 vf=sign(1d0,qf)-4d0*qf*paru(102)
40356 rqv=rqv-6d0*qf*vf*sf1i
40357 rva=rva+3d0*(vf**2+1d0)*sf1w
40358 rtot=rtot+3d0*(0.5d0*vq*(3d0-vq**2)*(qf**2*poll-
40359 & 2d0*qf*vf*hf1i+vf**2*hf1w)+vq**3*hf1w)
40363 IF(mstj(102).GE.2) rsum=rqq+sfi*rqv+sfw*rva
40368 parj(143)=rtot*rqcd
40369 parj(144)=parj(143)
40370 parj(145)=parj(141)*86.8d0/ecm**2
40371 parj(146)=parj(142)*86.8d0/ecm**2
40372 parj(147)=parj(143)*86.8d0/ecm**2
40373 parj(148)=parj(147)
40374 parj(157)=rsum*rqcd
40378 IF(mstj(107).LE.0)
RETURN
40382 xku=
min(parj(136),1d0-(2d0*parj(127)/ecm)**2)
40385 &1.526d0*
log(ecm**2/0.932d0)
40388 IF(mstj(102).LE.1)
THEN
40389 sigv=1.5d0*ale-0.5d0+paru(1)**2/3d0+2d0*sigv
40390 sigs=ale*(2d0*
log(xkl)-
log(1d0-xkl)-xkl)
40391 sigh=ale*(2d0*
log(xku/xkl)-
log((1d0-xku)/(1d0-xkl))-(xku-xkl))
40395 szm=1d0-(parj(123)/ecm)**2
40396 szw=parj(123)*parj(124)/ecm**2
40397 parj(161)=-rqq/rsum
40398 parj(162)=-(rqq+rqv+rva)/rsum
40399 parj(163)=(rqv*(1d0-0.5d0*szm-sfi)+rva*(1.5d0-szm-sfw))/rsum
40400 parj(164)=(rqv*szw**2*(1d0-2d0*sfw)+rva*(2d0*sfi+szw**2-
40401 & 4d0+3d0*szm-szm**2))/(szw*rsum)
40402 sigv=1.5d0*ale-0.5d0+paru(1)**2/3d0+((2d0*rqq+sfi*rqv)/
40403 & rsum)*sigv+(szw*sfw*rqv/rsum)*paru(1)*20d0/9d0
40404 sigs=ale*(2d0*
log(xkl)+parj(161)*
log(1d0-xkl)+parj(162)*xkl+
40405 & parj(163)*
log(((xkl-szm)**2+szw**2)/(szm**2+szw**2))+
40406 & parj(164)*(atan((xkl-szm)/szw)-atan(-szm/szw)))
40407 sigh=ale*(2d0*
log(xku/xkl)+parj(161)*
log((1d0-xku)/
40408 & (1d0-xkl))+parj(162)*(xku-xkl)+parj(163)*
40409 &
log(((xku-szm)**2+szw**2)/((xkl-szm)**2+szw**2))+
40410 & parj(164)*(atan((xku-szm)/szw)-atan((xkl-szm)/szw)))
40414 parj(160)=sigh/(paru(1)/paru(101)+sigv+sigs+sigh)
40415 parj(157)=rsum*(1d0+(paru(101)/paru(1))*(sigv+sigs+sigh))*rqcd
40416 parj(144)=parj(157)
40417 parj(148)=parj(144)*86.8d0/ecm**2
40431 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
40434 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
40439 &parj(163)*
log((
xx-szm)**2+szw**2)+parj(164)*atan((
xx-szm)/szw)
40444 IF(parj(160).LT.
pyr(0))
RETURN
40449 xku=
min(parj(136),1d0-(2d0*parj(127)/ecm)**2)
40450 IF(mstj(102).LE.1)
THEN
40451 100 xk=1d0/(1d0+(1d0/xkl-1d0)*((1d0/xku-1d0)/(1d0/xkl-1d0))**
pyr(0))
40452 IF(1d0+(1d0-xk)**2.LT.2d0*
pyr(0)) goto 100
40456 szm=1d0-(parj(123)/ecm)**2
40457 szw=parj(123)*parj(124)/ecm**2
40460 fxkd=1
d-4*(fxku-fxkl)
40461 fxkr=fxkl+
pyr(0)*(fxku-fxkl)
40466 IF(fxkv.GT.fxkr)
THEN
40473 IF(nxk.LT.15.AND.fxku-fxkl.GT.fxkd) goto 110
40474 xk=xkl+(xku-xkl)*(fxkr-fxkl)/(fxku-fxkl)
40479 pme=2d0*(
pymass(11)/ecm)**2
40480 120 cthm=pme*(2d0/pme)**
pyr(0)
40481 IF(1d0-(xk**2*cthm*(1d0-0.5d0*cthm)+2d0*(1d0-xk)*pme/
max(pme,
40482 &cthm*(1d0-0.5d0*cthm)))/(1d0+(1d0-xk)**2).LT.
pyr(0)) goto 120
40484 IF(
pyr(0).GT.0.5d0) cthe=-cthe
40485 sthe=
sqrt(
max(0d0,(cthm-pme)*(2d0-cthm)))
40487 phik=paru(2)*
pyr(0)
40491 IF(0.5d0*(2d0-xk*(1d0-cthe))**2/((2d0-xk)**2+(xk*cthe)**2).GT.
40493 alpk=asin(sgn*sthe*(xk-sgn*(2d0*
sqrt(1d0-xk)-2d0+xk)*cthe)/
40494 &(2d0-xk*(1d0-sgn*cthe)))
40507 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
40510 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
40511 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
40515 IF(mstj(102).LE.1)
THEN
40518 poll=1d0-parj(131)*parj(132)
40519 sff=1d0/(16d0*paru(102)*(1d0-paru(102)))
40520 sfw=ecmc**4/((ecmc**2-parj(123)**2)**2+(parj(123)*parj(124))**2)
40521 sfi=sfw*(1d0-(parj(123)/ecmc)**2)
40522 ve=4d0*paru(102)-1d0
40523 hf1i=sfi*sff*(ve*poll+parj(132)-parj(131))
40524 hf1w=sfw*sff**2*((ve**2+1d0)*poll+2d0*ve*(parj(132)-parj(131)))
40525 rfmax=
max(4d0/9d0*poll-4d0/3d0*(1d0-8d0*paru(102)/3d0)*hf1i+
40526 & ((1d0-8d0*paru(102)/3d0)**2+1d0)*hf1w,1d0/9d0*poll+2d0/3d0*
40527 & (-1d0+4d0*paru(102)/3d0)*hf1i+((-1d0+4d0*paru(102)/3d0)**2+
40534 IF(ntry.GT.100)
THEN
40535 CALL
pyerrm(14,
'(PYXKFL:) caught in an infinite loop')
40540 IF(kfl.LE.0) kflc=1+
int(mstj(104)*
pyr(0))
40543 IF(ecm.LT.2d0*pmq+parj(127)) goto 100
40544 qf=kchg(kflc,1)/3d0
40546 IF(
mod(mstj(103),2).EQ.1) vq=
sqrt(
max(0d0,1d0-(2d0*pmq/ecmc)**2))
40549 IF(mstj(102).LE.1)
THEN
40551 rfv=0.5d0*vq*(3d0-vq**2)*qf**2
40553 vf=sign(1d0,qf)-4d0*qf*paru(102)
40554 rf=qf**2*poll-2d0*qf*vf*hf1i+(vf**2+1d0)*hf1w
40555 rfv=0.5d0*vq*(3d0-vq**2)*(qf**2*poll-2d0*qf*vf*hf1i+vf**2*hf1w)+
40557 IF(rfv.GT.0d0) parj(171)=
min(1d0,vq**3*hf1w/rfv)
40561 IF(kfl.LE.0.AND.rf.LT.
pyr(0)*rfmax) goto 100
40562 parj(158)=parj(158)+1d0
40563 IF(ecmc.LT.2d0*pmq+parj(127).OR.rfv.LT.
pyr(0)*rf) kflc=0
40564 IF(mstj(107).LE.0.AND.kflc.EQ.0) goto 100
40565 IF(kflc.NE.0) parj(159)=parj(159)+1d0
40566 parj(144)=parj(157)*parj(159)/parj(158)
40567 parj(148)=parj(144)*86.8d0/ecm**2
40580 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
40583 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
40587 DATA zhut/3.0922d0, 6.2291d0, 7.4782d0, 7.8440d0, 8.2560d0/
40590 IF(mstj(101).EQ.0.OR.mstj(101).EQ.5)
THEN
40594 ELSEIF(mstj(109).EQ.0.OR.mstj(109).EQ.2)
THEN
40596 IF(mstj(109).EQ.2) cf=1d0
40597 IF(mstj(111).EQ.0)
THEN
40600 ELSEIF(mstu(111).EQ.0)
THEN
40601 parj(169)=
min(1d0,parj(129))
40602 q2=parj(169)*ecm**2
40603 parj(168)=
min(1d0,
max(parj(128),
exp(-12d0*paru(1)/
40604 & ((33d0-2d0*mstu(112))*paru(111)))))
40605 q2r=parj(168)*ecm**2
40607 parj(169)=
min(1d0,
max(parj(129),(2d0*paru(112)/ecm)**2))
40608 q2=parj(169)*ecm**2
40609 parj(168)=
min(1d0,
max(parj(128),paru(112)/ecm,
40610 & (2d0*paru(112)/ecm)**2))
40611 q2r=parj(168)*ecm**2
40615 alspi=(3d0/4d0)*cf*
pyalps(q2r)/paru(1)
40616 IF(iabs(mstj(101)).EQ.1)
THEN
40618 ELSEIF(mstj(109).EQ.0)
THEN
40619 rqcd=1d0+alspi+(1.986d0-0.115d0*mstu(118))*alspi**2
40620 IF(mstj(111).EQ.1) rqcd=
max(1d0,rqcd+
40621 & (33d0-2d0*mstu(112))/12d0*
log(parj(168))*alspi**2)
40623 rqcd=1d0+alspi-(3d0/32d0+0.519d0*mstu(118))*(4d0*alspi/3d0)**2
40627 alspi=(3d0/4d0)*cf*
pyalps(q2)/paru(1)
40628 cut=
max(0.001d0,parj(125),(parj(126)/ecm)**2)
40629 IF(iabs(mstj(101)).LE.1.OR.(mstj(109).EQ.0.AND.mstj(111).EQ.0))
40631 IF(mstj(110).EQ.2) cut=
max(0.01d0,
min(0.05d0,cut))
40634 100
IF(mstj(101).EQ.0.OR.cut.GE.0.25d0)
THEN
40637 parj(152)=(2d0*alspi/3d0)*((3d0-6d0*cut+2d0*
log(cut))*
40638 &
log(cut/(1d0-2d0*cut))+(2.5d0+1.5d0*cut-6.571d0)*
40639 & (1d0-3d0*cut)+5.833d0*(1d0-3d0*cut)**2-3.894d0*
40640 & (1d0-3d0*cut)**3+1.342d0*(1d0-3d0*cut)**4)/rqcd
40641 IF(mstj(109).EQ.2.AND.(mstj(101).EQ.2.OR.mstj(101).LE.-2))
40646 IF(iabs(mstj(101)).LE.1.OR.mstj(101).EQ.3.OR.mstj(109).EQ.2.OR.
40647 & cut.GE.0.25d0)
THEN
40649 ELSEIF(mstj(110).LE.1)
THEN
40650 ct=
log(1d0/cut-2d0)
40651 parj(153)=alspi**2*ct**2*(2.419d0+0.5989d0*ct+0.6782d0*ct**2-
40652 & 0.2661d0*ct**3+0.01159d0*ct**4)/rqcd
40655 ELSEIF(mstj(110).EQ.2)
THEN
40658 IF(abs(cut-0.01d0*iy).LT.0.0001d0) iza=iy
40664 zhurat=zhut(
iz)+(100d0*cut-
iz)*(zhut(
iz+1)-zhut(
iz))
40666 parj(153)=alspi*parj(152)*zhurat
40670 IF(mstj(111).EQ.1.AND.iabs(mstj(101)).GE.2.AND.mstj(101).NE.3
40671 & .AND.cut.LT.0.25d0) parj(153)=parj(153)+
40672 & (33d0-2d0*mstu(112))/12d0*
log(parj(169))*alspi*parj(152)
40675 IF(iabs(mstj(101)).LE.1.OR.cut.GE.0.125d0)
THEN
40678 ct=
log(1d0/cut-5d0)
40679 IF(cut.LE.0.018d0)
THEN
40680 xqqgg=6.349d0-4.330d0*ct+0.8304d0*ct**2
40681 IF(mstj(109).EQ.2) xqqgg=(4d0/3d0)**2*(3.035d0-2.091d0*ct+
40683 xqqqq=1.25d0*(-0.1080d0+0.01486d0*ct+0.009364d0*ct**2)
40684 IF(mstj(109).EQ.2) xqqqq=8d0*xqqqq
40686 xqqgg=-0.09773d0+0.2959d0*ct-0.2764d0*ct**2+0.08832d0*ct**3
40687 IF(mstj(109).EQ.2) xqqgg=(4d0/3d0)**2*(-0.04079d0+
40688 & 0.1340d0*ct-0.1326d0*ct**2+0.04365d0*ct**3)
40689 xqqqq=1.25d0*(0.003661d0-0.004888d0*ct-0.001081d0*ct**2+
40690 & 0.002093d0*ct**3)
40691 IF(mstj(109).EQ.2) xqqqq=8d0*xqqqq
40693 parj(154)=alspi**2*ct**2*(xqqgg+xqqqq)/rqcd
40694 parj(155)=xqqqq/(xqqgg+xqqqq)
40698 IF(mstj(111).EQ.1.AND.parj(152)+parj(153).LT.0d0.AND.
40699 & parj(169).LT.0.99d0)
THEN
40700 parj(169)=
min(1d0,1.2d0*parj(169))
40701 q2=parj(169)*ecm**2
40702 alspi=(3d0/4d0)*cf*
pyalps(q2)/paru(1)
40707 IF(parj(152)+parj(153)+parj(154).GE.1)
THEN
40708 IF(mstj(110).EQ.2.AND.cut.GT.0.0499d0.AND.mstj(111).EQ.1.AND.
40709 & parj(169).LT.0.99d0)
THEN
40710 parj(169)=
min(1d0,1.2d0*parj(169))
40711 q2=parj(169)*ecm**2
40712 alspi=(3d0/4d0)*cf*
pyalps(q2)/paru(1)
40714 ELSEIF(mstj(110).EQ.2.AND.cut.GT.0.0499d0)
THEN
40716 &
'(PYXJET:) no allowed y cut value for Zhu parametrization')
40718 cut=0.26d0*(4d0*cut)**(parj(152)+parj(153)+
40719 & parj(154))**(-1d0/3d0)
40720 IF(mstj(110).EQ.2) cut=
max(0.01d0,
min(0.05d0,cut))
40726 alspi=
pyalps(ecm**2)/paru(1)
40727 cut=
max(0.001d0,parj(125),(parj(126)/ecm)**2,
exp(-3d0/alspi))
40729 IF(cut.LT.0.25d0) parj(152)=(alspi/3d0)*((1d0-2d0*cut)*
40730 &
log((1d0-2d0*cut)/cut)+0.5d0*(9d0*cut**2-1d0))
40737 IF(mstj(101).EQ.0.OR.mstj(101).EQ.5)
THEN
40739 ELSEIF(mstj(101).LE.0)
THEN
40740 njet=
min(4,2-mstj(101))
40744 IF(parj(152)+parj(153)+parj(154).GT.rnj) njet=3
40745 IF(parj(154).GT.rnj) njet=4
40759 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
40762 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
40765 dimension zhup(5,12)
40768 DATA ((zhup(ic1,ic2),ic2=1,12),ic1=1,5)/
40769 &18.29d0, 89.56d0, 4.541d0, -52.09d0, -109.8d0, 24.90d0,
40770 &11.63d0, 3.683d0, 17.50d0,0.002440d0, -1.362d0,-0.3537d0,
40771 &11.42d0, 6.299d0, -22.55d0, -8.915d0, 59.25d0, -5.855d0,
40772 &-32.85d0, -1.054d0, -16.90d0,0.006489d0,-0.8156d0,0.01095d0,
40773 &7.847d0, -3.964d0, -35.83d0, 1.178d0, 29.39d0, 0.2806d0,
40774 &47.82d0, -12.36d0, -56.72d0, 0.04054d0,-0.4365d0, 0.6062d0,
40775 &5.441d0, -56.89d0, -50.27d0, 15.13d0, 114.3d0, -18.19d0,
40776 &97.05d0, -1.890d0, -139.9d0, 0.08153d0,-0.4984d0, 0.9439d0,
40777 &-17.65d0, 51.44d0, -58.32d0, 70.95d0, -255.7d0, -78.99d0,
40778 &476.9d0, 29.65d0, -239.3d0, 0.4745d0, -1.174d0, 6.081d0/
40781 dilog(
x)=
x+
x**2/4d0+
x**3/9d0+
x**4/16d0+
x**5/25d0+
x**6/36d0+
40788 qme=(2d0*pmq/ecm)**2
40789 IF(mstj(109).NE.1)
THEN
40791 cutd=
log(1d0/cut-2d0)
40792 IF(mstj(109).EQ.0)
THEN
40796 wtmx=
min(20d0,37d0-6d0*cutd)
40797 IF(mstj(110).EQ.2) wtmx=2d0*(7.5d0+80d0*cut)
40806 als2pi=paru(118)/paru(2)
40808 IF(mstj(111).EQ.1) wtopt=(33d0-2d0*mstu(112))/6d0*
40809 &
log(parj(169))*als2pi
40810 wtmax=
max(0d0,1d0+wtopt+als2pi*wtmx)
40814 110 y13l=cutl+cutd*
pyr(0)
40815 y23l=cutl+cutd*
pyr(0)
40819 IF(y12.LE.cut) goto 110
40820 IF(y13**2+y23**2+2d0*y12.LE.2d0*
pyr(0)) goto 110
40823 IF(mstj(101).EQ.2.AND.mstj(110).LE.1)
THEN
40828 IF(y13.LE.0.5d0) y13i=
dilog(y13)
40829 IF(y13.GE.0.5d0) y13i=1.644934d0-y13l*y13m-
dilog(1d0-y13)
40830 IF(y23.LE.0.5d0) y23i=
dilog(y23)
40831 IF(y23.GE.0.5d0) y23i=1.644934d0-y23l*y23m-
dilog(1d0-y23)
40832 IF(y12.LE.0.5d0) y12i=
dilog(y12)
40833 IF(y12.GE.0.5d0) y12i=1.644934d0-y12l*y12m-
dilog(1d0-y12)
40834 wt1=(y13**2+y23**2+2d0*y12)/(y13*y23)
40835 wt2=cf*(-2d0*(cutl-y12l)**2-3d0*cutl-1d0+3.289868d0+
40836 & 2d0*(2d0*cutl-y12l)*cut/y12)+
40837 & cn*((cutl-y12l)**2-(cutl-y13l)**2-(cutl-y23l)**2-
40838 & 11d0*cutl/6d0+67d0/18d0+1.644934d0-(2d0*cutl-y12l)*cut/y12+
40839 & (2d0*cutl-y13l)*cut/y13+(2d0*cutl-y23l)*cut/y23)+
40840 & tr*(2d0*cutl/3d0-10d0/9d0)+
40841 & cf*(y12/(y12+y13)+y12/(y12+y23)+(y12+y23)/y13+(y12+y13)/y23+
40842 & y13l*(4d0*y12**2+2d0*y12*y13+4d0*y12*y23+y13*y23)/
40843 & (y12+y23)**2+y23l*(4d0*y12**2+2d0*y12*y23+4d0*y12*y13+
40844 & y13*y23)/(y12+y13)**2)/wt1+
40845 & cn*(y13l*y13/(y12+y23)+y23l*y23/(y12+y13))/wt1+(cn-2d0*cf)*
40846 & ((y12**2+(y12+y13)**2)*(y12l*y23l-y12l*y12m-y23l*
40847 & y23m+1.644934d0-y12i-y23i)/(y13*y23)+(y12**2+(y12+y23)**2)*
40848 & (y12l*y13l-y12l*y12m-y13l*y13m+1.644934d0-y12i-y13i)/
40849 & (y13*y23)+(y13**2+y23**2)/(y13*y23*(y13+y23))-
40850 & 2d0*y12l*y12**2/(y13+y23)**2-4d0*y12l*y12/(y13+y23))/wt1-
40851 & cn*(y13l*y23l-y13l*y13m-y23l*y23m+1.644934d0-y13i-y23i)
40852 IF(1d0+wtopt+als2pi*wt2.LE.0d0) mstj(121)=1
40853 IF(1d0+wtopt+als2pi*wt2.LE.wtmax*
pyr(0)) goto 110
40854 parj(156)=(wtopt+als2pi*wt2)/(1d0+wtopt+als2pi*wt2)
40856 ELSEIF(mstj(101).EQ.2.AND.mstj(110).EQ.2)
THEN
40862 IF(abs(cut-0.01d0*iy).LT.0.0001d0) iza=iy
40866 wt2=zhup(
iz,1)+zhup(
iz,2)*
zx+zhup(
iz,3)*
zx**2+(zhup(
iz,4)+
40869 & zhup(
iz,11)/(1d0-
zy)+zhup(
iz,12)/
zy
40872 wtl=zhup(
iz,1)+zhup(
iz,2)*
zx+zhup(
iz,3)*
zx**2+(zhup(
iz,4)+
40875 & zhup(
iz,11)/(1d0-
zy)+zhup(
iz,12)/
zy
40877 wtu=zhup(
iz,1)+zhup(
iz,2)*
zx+zhup(
iz,3)*
zx**2+(zhup(
iz,4)+
40880 & zhup(
iz,11)/(1d0-
zy)+zhup(
iz,12)/
zy
40881 wt2=wtl+(wtu-wtl)*(100d0*cut+1d0-
iz)
40883 IF(1d0+wtopt+2d0*als2pi*wt2.LE.0d0) mstj(121)=1
40884 IF(1d0+wtopt+2d0*als2pi*wt2.LE.wtmax*
pyr(0)) goto 110
40885 parj(156)=(wtopt+2d0*als2pi*wt2)/(1d0+wtopt+2d0*als2pi*wt2)
40892 IF(4d0*y23*y13*y12/x3**2.LE.qme) njet=2
40893 IF(
mod(mstj(103),4).GE.2.AND.iabs(mstj(101)).LE.1.AND.qme*x3+
40894 & 0.5d0*qme**2+(0.5d0*qme+0.25d0*qme**2)*((1d0-
x2)/(1d0-
x1)+
40895 & (1d0-
x1)/(1d0-
x2)).GT.(
x1**2+
x2**2)*
pyr(0)) njet=2
40896 IF(mstj(101).EQ.-1.AND.njet.EQ.2) goto 100
40901 140 x3=
sqrt(4d0*cut**2+
pyr(0)*((1d0-cut)**2-4d0*cut**2))
40902 IF(
log((x3-cut)/cut).LE.
pyr(0)*
log((1d0-2d0*cut)/cut)) goto 140
40903 yd=sign(2d0*cut*((x3-cut)/cut)**
pyr(0)-x3,
pyr(0)-0.5d0)
40904 x1=1d0-0.5d0*(x3+yd)
40905 x2=1d0-0.5d0*(x3-yd)
40906 IF(4d0*(1d0-
x1)*(1d0-
x2)*(1d0-x3)/x3**2.LE.qme) njet=2
40907 IF(mstj(102).GE.2)
THEN
40908 IF(x3**2-2d0*(1d0+x3)*(1d0-
x1)*(1d0-
x2)*parj(171).LT.
40909 & x3**2*
pyr(0)) njet=2
40911 IF(mstj(101).EQ.-1.AND.njet.EQ.2) goto 130
40922 SUBROUTINE pyx4jt(NJET,CUT,KFL,ECM,KFLN,X1,X2,X4,X12,X14)
40925 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
40928 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
40931 dimension wta(4),wtb(4),wtc(4),wtd(4),wte(4)
40935 qme=(2d0*pmq/ecm)**2
40936 ct=
log(1d0/cut-5d0)
40937 IF(mstj(109).EQ.0)
THEN
40950 IF(parj(155).GT.
pyr(0)) it=2
40951 IF(mstj(101).LE.-3) it=-mstj(101)-2
40952 IF(it.EQ.1) wtmx=0.7d0/cut**2
40953 IF(it.EQ.1.AND.mstj(109).EQ.2) wtmx=0.6d0/cut**2
40954 IF(it.EQ.2) wtmx=0.1125d0*cf*tr/cut**2
40958 110 y134=3d0*cut+(1d0-6d0*cut)*
pyr(0)
40959 y234=3d0*cut+(1d0-6d0*cut)*
pyr(0)
40960 IF(it.EQ.1) y34=(1d0-5d0*cut)*
exp(-ct*
pyr(0))
40961 IF(it.EQ.2) y34=cut+(1d0-6d0*cut)*
pyr(0)
40962 IF(y34.LE.y134+y234-1d0.OR.y34.GE.y134*y234) goto 110
40967 vb=y34*(1d0-y134-y234+y34)/((y134-y34)*(y234-y34))
40968 y24=0.5d0*(y234-y34)*(1d0-4d0*
sqrt(
max(0d0,vt*(1d0-vt)*
40969 &vb*(1d0-vb)))*cp-(1d0-2d0*vt)*(1d0-2d0*vb))
40971 y12=1d0-y134-y23-y24
40972 IF(
min(y12,y13,y14,y23,y24).LE.cut) goto 110
40981 wta(ic)=(y12*y34**2-y13*y24*y34+y14*y23*y34+3d0*y12*y23*y34+
40982 & 3d0*y12*y14*y34+4d0*y12**2*y34-y13*y23*y24+2d0*y12*y23*y24-
40983 & y13*y14*y24-2d0*y12*y13*y24+2d0*y12**2*y24+y14*y23**2+2d0*y12*
40984 & y23**2+y14**2*y23+4d0*y12*y14*y23+4d0*y12**2*y23+2d0*y12*y14**2+
40985 & 2d0*y12*y13*y14+4d0*y12**2*y14+2d0*y12**2*y13+2d0*y12**3)/
40986 & (2d0*y13*y134*y234*y24)+(y24*y34+y12*y34+y13*y24-
40987 & y14*y23+y12*y13)/(y13*y134**2)+2d0*y23*(1d0-y13)/
40988 & (y13*y134*y24)+y34/(2d0*y13*y24)
40989 wtb(ic)=(y12*y24*y34+y12*y14*y34-y13*y24**2+y13*y14*y24+2d0*y12*
40990 & y14*y24)/(y13*y134*y23*y14)+y12*(1d0+y34)*y124/(y134*y234*y14*
40991 & y24)-(2d0*y13*y24+y14**2+y13*y23+2d0*y12*y13)/(y13*y134*y14)+
40992 & y12*y123*y124/(2d0*y13*y14*y23*y24)
40993 wtc(ic)=-(5d0*y12*y34**2+2d0*y12*y24*y34+2d0*y12*y23*y34+
40994 & 2d0*y12*y14*y34+2d0*y12*y13*y34+4d0*y12**2*y34-y13*y24**2+
40995 & y14*y23*y24+y13*y23*y24+y13*y14*y24-y12*y14*y24-y13**2*y24-
40996 & 3d0*y12*y13*y24-y14*y23**2-y14**2*y23+y13*y14*y23-
40997 & 3d0*y12*y14*y23-y12*y13*y23)/(4d0*y134*y234*y34**2)+
40998 & (3d0*y12*y34**2-3d0*y13*y24*y34+3d0*y12*y24*y34+
40999 & 3d0*y14*y23*y34-y13*y24**2-y12*y23*y34+6d0*y12*y14*y34+
41000 & 2d0*y12*y13*y34-2d0*y12**2*y34+y14*y23*y24-3d0*y13*y23*y24-
41001 & 2d0*y13*y14*y24+4d0*y12*y14*y24+2d0*y12*y13*y24+
41002 & 3d0*y14*y23**2+2d0*y14**2*y23+2d0*y14**2*y12+
41003 & 2d0*y12**2*y14+6d0*y12*y14*y23-2d0*y12*y13**2-
41004 & 2d0*y12**2*y13)/(4d0*y13*y134*y234*y34)
41005 wtc(ic)=wtc(ic)+(2d0*y12*y34**2-2d0*y13*y24*y34+y12*y24*y34+
41006 & 4d0*y13*y23*y34+4d0*y12*y14*y34+2d0*y12*y13*y34+2d0*y12**2*y34-
41007 & y13*y24**2+3d0*y14*y23*y24+4d0*y13*y23*y24-2d0*y13*y14*y24+
41008 & 4d0*y12*y14*y24+2d0*y12*y13*y24+2d0*y14*y23**2+4d0*y13*y23**2+
41009 & 2d0*y13*y14*y23+2d0*y12*y14*y23+4d0*y12*y13*y23+2d0*y12*y14**2+
41010 & 4d0*y12**2*y13+4d0*y12*y13*y14+2d0*y12**2*y14)/
41011 & (4d0*y13*y134*y24*y34)-(y12*y34**2-2d0*y14*y24*y34-
41012 & 2d0*y13*y24*y34-y14*y23*y34+y13*y23*y34+y12*y14*y34+
41013 & 2d0*y12*y13*y34-2d0*y14**2*y24-4d0*y13*y14*y24-
41014 & 4d0*y13**2*y24-y14**2*y23-y13**2*y23+y12*y13*y14-
41015 & y12*y13**2)/(2d0*y13*y34*y134**2)+(y12*y34**2-
41016 & 4d0*y14*y24*y34-2d0*y13*y24*y34-2d0*y14*y23*y34-
41017 & 4d0*y13*y23*y34-4d0*y12*y14*y34-4d0*y12*y13*y34-
41018 & 2d0*y13*y14*y24+2d0*y13**2*y24+2d0*y14**2*y23-
41019 & 2d0*y13*y14*y23-y12*y14**2-6d0*y12*y13*y14-
41020 & y12*y13**2)/(4d0*y34**2*y134**2)
41021 wttot=wttot+y34*cf*(cf*wta(ic)+(cf-0.5d0*cn)*wtb(ic)+
41024 wtd(ic)=(y13*y23*y34+y12*y23*y34-y12**2*y34+y13*y23*y24+2d0*y12*
41025 & y23*y24-y14*y23**2+y12*y13*y24+y12*y14*y23+y12*y13*y14)/(y13**2*
41026 & y123**2)-(y12*y34**2-y13*y24*y34+y12*y24*y34-y14*y23*y34-y12*
41027 & y23*y34-y13*y24**2+y14*y23*y24-y13*y23*y24-y13**2*y24+y14*
41028 & y23**2)/(y13**2*y123*y134)+(y13*y14*y12+y34*y14*y12-y34**2*y12+
41029 & y13*y14*y24+2d0*y34*y14*y24-y23*y14**2+y34*y13*y24+y34*y23*y14+
41030 & y34*y13*y23)/(y13**2*y134**2)-(y34*y12**2-y13*y24*y12+y34*y24*
41031 & y12-y23*y14*y12-y34*y14*y12-y13*y24**2+y23*y14*y24-y13*y14*y24-
41032 & y13**2*y24+y23*y14**2)/(y13**2*y134*y123)
41033 wte(ic)=(y12*y34*(y23-y24+y14+y13)+y13*y24**2-y14*y23*y24+y13*
41034 & y23*y24+y13*y14*y24+y13**2*y24-y14*y23*(y14+y23+y13))/(y13*y23*
41035 & y123*y134)-y12*(y12*y34-y23*y24-y13*y24-y14*y23-y14*y13)/(y13*
41036 & y23*y123**2)-(y14+y13)*(y24+y23)*y34/(y13*y23*y134*y234)+
41037 & (y12*y34*(y14-y24+y23+y13)+y13*y24**2-y23*y14*y24+y13*y14*y24+
41038 & y13*y23*y24+y13**2*y24-y23*y14*(y14+y23+y13))/(y13*y14*y134*
41039 & y123)-y34*(y34*y12-y14*y24-y13*y24-y23*y14-y23*y13)/(y13*y14*
41040 & y134**2)-(y23+y13)*(y24+y14)*y12/(y13*y14*y123*y124)
41041 wttot=wttot+cf*(tr*wtd(ic)+(cf-0.5d0*cn)*wte(ic))/16d0
41045 130
IF(ic.EQ.1.OR.ic.EQ.3.OR.id.EQ.2.OR.id.EQ.3)
THEN
41056 IF(ic.EQ.2.OR.ic.EQ.4.OR.id.EQ.3.OR.id.EQ.4)
THEN
41067 IF(ic.LE.3) goto 120
41068 IF(id.EQ.1.AND.wttot.LT.
pyr(0)*wtmx) goto 110
41073 IF(mstj(109).EQ.0.AND.id.EQ.1)
THEN
41074 parj(156)=y34*(2d0*(wta(1)+wta(2)+wta(3)+wta(4))+4d0*(wtc(1)+
41075 & wtc(2)+wtc(3)+wtc(4)))/(9d0*wttot)
41076 IF(wta(2)+wta(4)+2d0*(wtc(2)+wtc(4)).GT.
pyr(0)*(wta(1)+wta(2)+
41077 & wta(3)+wta(4)+2d0*(wtc(1)+wtc(2)+wtc(3)+wtc(4)))) id=2
41078 IF(id.EQ.2) goto 130
41079 ELSEIF(mstj(109).EQ.2.AND.id.EQ.1)
THEN
41080 parj(156)=y34*(wta(1)+wta(2)+wta(3)+wta(4))/(8d0*wttot)
41081 IF(wta(2)+wta(4).GT.
pyr(0)*(wta(1)+wta(2)+wta(3)+wta(4))) id=2
41082 IF(id.EQ.2) goto 130
41085 IF(mstj(109).EQ.0.AND.0.5d0*y34*(wtc(1)+wtc(2)+wtc(3)+
41086 & wtc(4)).GT.
pyr(0)*wttot) mstj(120)=4
41090 IF(y12.LE.cut+qme) njet=2
41091 IF(njet.EQ.2) goto 150
41092 q12=0.5d0*(1d0-
sqrt(1d0-qme/y12))
41093 x1=1d0-(1d0-q12)*y234-q12*y134
41094 x4=1d0-(1d0-q12)*y134-q12*y234
41096 x12=(1d0-q12)*y13+q12*y23
41098 IF(y134*y234/((1d0-
x1)*(1d0-x4)).LE.
pyr(0)) njet=2
41103 wtr=
pyr(0)*(wtd(1)+wtd(2)+wtd(3)+wtd(4))
41104 IF(wtr.LT.wtd(2)+wtd(3)+wtd(4)) id=2
41105 IF(wtr.LT.wtd(3)+wtd(4)) id=3
41106 IF(wtr.LT.wtd(4)) id=4
41107 IF(id.GE.2) goto 130
41110 parj(156)=cf*tr*(wtd(1)+wtd(2)+wtd(3)+wtd(4))/(16d0*wttot)
41111 140 kfln=1+
int(5d0*
pyr(0))
41112 IF(kfln.NE.kfl.AND.0.2d0*parj(156).LE.
pyr(0)) goto 140
41113 IF(kfln.EQ.kfl.AND.1d0-0.8d0*parj(156).LE.
pyr(0)) goto 140
41114 IF(kfln.GT.mstj(104)) njet=2
41116 qmen=(2d0*pmqn/ecm)**2
41119 IF(y24.LE.cut+qme.OR.y13.LE.1.1d0*qmen) njet=2
41120 IF(njet.EQ.2) goto 150
41121 q24=0.5d0*(1d0-
sqrt(1d0-qme/y24))
41122 q13=0.5d0*(1d0-
sqrt(1d0-qmen/y13))
41123 x1=1d0-(1d0-q24)*y123-q24*y134
41124 x4=1d0-(1d0-q24)*y134-q24*y123
41125 x2=1d0-(1d0-q13)*y234-q13*y124
41126 x12=(1d0-q24)*((1d0-q13)*y14+q13*y34)+q24*((1d0-q13)*y12+
41129 x34=(1d0-q24)*((1d0-q13)*y23+q13*y12)+q24*((1d0-q13)*y34+
41131 IF(pmq**2+pmqn**2+
min(x12,x34)*ecm**2.LE.
41132 & (parj(127)+pmq+pmqn)**2) njet=2
41133 IF(y123*y134/((1d0-
x1)*(1d0-x4)).LE.
pyr(0)) njet=2
41135 150
IF(mstj(101).LE.-2.AND.njet.EQ.2) goto 100
41148 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41151 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
41152 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
41153 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
41158 poll=1d0-parj(131)*parj(132)
41159 pold=parj(132)-parj(131)
41160 IF(mstj(102).LE.1.OR.mstj(109).EQ.1)
THEN
41168 sff=1d0/(16d0*paru(102)*(1d0-paru(102)))
41169 sfw=ecm**4/((ecm**2-parj(123)**2)**2+(parj(123)*parj(124))**2)
41170 sfi=sfw*(1d0-(parj(123)/ecm)**2)
41172 ve=4d0*paru(102)-1d0
41174 vf=af-4d0*qf*paru(102)
41175 hf1=qf**2*poll-2d0*qf*vf*sfi*sff*(ve*poll-ae*pold)+
41176 & (vf**2+af**2)*sfw*sff**2*((ve**2+ae**2)*poll-2d0*ve*ae*pold)
41177 hf2=-2d0*qf*af*sfi*sff*(ae*poll-ve*pold)+2d0*vf*af*sfw*sff**2*
41178 & (2d0*ve*ae*poll-(ve**2+ae**2)*pold)
41179 hf3=parj(133)**2*(qf**2-2d0*qf*vf*sfi*sff*ve+(vf**2+af**2)*
41180 & sfw*sff**2*(ve**2-ae**2))
41181 hf4=-parj(133)**2*2d0*qf*vf*sfw*(parj(123)*parj(124)/ecm**2)*
41188 IF(mstj(103).GE.4.AND.iabs(mstj(101)).LE.1.AND.mstj(102).LE.1.AND.
41189 &mstj(109).NE.1) qme=(2d0*
pymass(kfl)/ecm)**2
41191 sigu=4d0*
sqrt(1d0-qme)
41192 sigl=2d0*qme*
sqrt(1d0-qme)
41201 x1=2d0*
p(nc+1,4)/ecm
41202 x2=2d0*
p(nc+3,4)/ecm
41204 ecmr=
p(nc+1,4)+
p(nc+4,4)+
sqrt((
p(nc+2,1)+
p(nc+3,1))**2+
41205 & (
p(nc+2,2)+
p(nc+3,2))**2+(
p(nc+2,3)+
p(nc+3,3))**2)
41206 x1=2d0*
p(nc+1,4)/ecmr
41207 x2=2d0*
p(nc+4,4)/ecmr
41211 xq=(1d0-
x1)/(1d0-
x2)
41213 st12=
sqrt(1d0-ct12**2)
41214 IF(mstj(109).NE.1)
THEN
41215 sigu=2d0*
x1**2+
x2**2*(1d0+ct12**2)-qme*(3d0+ct12**2-
x1-
x2)-
41216 & qme*
x1/xq+0.5d0*qme*((
x2**2-qme)*st12**2-2d0*
x2)*xq
41217 sigl=(
x2*st12)**2-qme*(3d0-ct12**2-2.5d0*(
x1+
x2)+
x1*
x2+qme)+
41218 & 0.5d0*qme*(
x1**2-
x1-qme)/xq+0.5d0*qme*((
x2**2-qme)*ct12**2-
41220 sigt=0.5d0*(
x2**2-qme-0.5d0*qme*(
x2**2-qme)/xq)*st12**2
41221 sigi=((1d0-0.5d0*qme*xq)*(
x2**2-qme)*st12*ct12+
41222 & qme*(1d0-
x1-
x2+0.5d0*
x1*
x2+0.5d0*qme)*st12/ct12)/sq2
41223 siga=
x2**2*st12/sq2
41224 sigp=2d0*(
x1**2-
x2**2*ct12)
41231 sigu=(1d0-parj(171))*(x3**2-0.5d0*
xt**2)+
41232 & parj(171)*(x3**2-0.5d0*
xt**2-4d0*(1d0-
x1)*(1d0-
x2)**2/
x1)
41233 sigl=(1d0-parj(171))*0.5d0*
xt**2+
41234 & parj(171)*0.5d0*(1d0-
x1)**2*
xt**2
41235 sigt=(1d0-parj(171))*0.25d0*
xt**2+
41236 & parj(171)*0.25d0*
xt**2*(1d0-2d0*
x1)
41237 sigi=-(0.5d0/sq2)*((1d0-parj(171))*
xt*x3*ct13+
41238 & parj(171)*
xt*((1d0-2d0*
x1)*x3*ct13-
x1*(
x1-
x2)))
41239 siga=(0.25d0/sq2)*
xt*(2d0*(1d0-
x1)-
x1*x3)
41240 sigp=x3**2-2d0*(1d0-
x1)*(1d0-
x2)/
x1
41249 sigmax=(2d0*hf1a+hf3a+hf4a)*abs(sigu)+2d0*(hf1a+hf3a+hf4a)*
41250 &abs(sigl)+2d0*(hf1a+2d0*hf3a+2d0*hf4a)*abs(sigt)+2d0*sq2*
41251 &(hf1a+2d0*hf3a+2d0*hf4a)*abs(sigi)+4d0*sq2*hf2a*abs(siga)+
41252 &2d0*hf2a*abs(sigp)
41255 100 chi=paru(2)*
pyr(0)
41256 cthe=2d0*
pyr(0)-1d0
41264 c2phi=
cos(2d0*(
phi-parj(134)))
41265 s2phi=
sin(2d0*(
phi-parj(134)))
41266 sig=((1d0+cthe**2)*hf1+sthe**2*(c2phi*hf3-s2phi*hf4))*sigu+
41267 &2d0*(sthe**2*hf1-sthe**2*(c2phi*hf3-s2phi*hf4))*sigl+
41268 &2d0*(sthe**2*c2chi*hf1+((1d0+cthe**2)*c2chi*c2phi-2d0*cthe*s2chi*
41269 &s2phi)*hf3-((1d0+cthe**2)*c2chi*s2phi+2d0*cthe*s2chi*c2phi)*hf4)*
41270 &sigt-2d0*sq2*(2d0*sthe*cthe*cchi*hf1-2d0*sthe*(cthe*cchi*c2phi-
41271 &schi*s2phi)*hf3+2d0*sthe*(cthe*cchi*s2phi+schi*c2phi)*hf4)*sigi+
41272 &4d0*sq2*sthe*cchi*hf2*siga+2d0*cthe*hf2*sigp
41273 IF(sig.LT.sigmax*
pyr(0)) goto 100
41287 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41290 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
41291 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
41292 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
41296 IF(mstu(12).GE.1) CALL
pylist(0)
41297 IF(kfl.LT.0.OR.kfl.GT.8)
THEN
41298 CALL
pyerrm(16,
'(PYONIA:) called with unknown flavour code')
41299 IF(mstu(21).GE.1)
RETURN
41301 IF(ecm.LT.parj(127)+2.02d0*parf(101))
THEN
41302 CALL
pyerrm(16,
'(PYONIA:) called with too small CM energy')
41303 IF(mstu(21).GE.1)
RETURN
41308 IF(mstj(115).GE.2)
THEN
41310 CALL
py1ent(nc-1,11,0.5d0*ecm,0d0,0d0)
41312 CALL
py1ent(nc,-11,0.5d0*ecm,paru(1),0d0)
41316 IF(mstj(115).GE.3.AND.kflc.GE.5)
THEN
41322 CALL
py1ent(nc,kf,ecm,0d0,0d0)
41333 IF(x3.GE.1d0.OR.((1d0-
x1)/(
x2*x3))**2+((1d0-
x2)/(
x1*x3))**2+
41334 &((1d0-x3)/(
x1*
x2))**2.LE.2d0*
pyr(0)) goto 100
41337 IF(mstj(101).LE.4) CALL
py3ent(nc+1,21,21,21,ecm,
x1,x3)
41338 IF(mstj(101).GE.5) CALL
py3ent(-(nc+1),21,21,21,ecm,
x1,x3)
41341 mstu(111)=mstj(108)
41342 IF(mstj(108).EQ.2.AND.(mstj(101).EQ.0.OR.mstj(101).EQ.1))
41344 paru(112)=parj(121)
41345 IF(mstu(111).EQ.2) paru(112)=parj(122)
41347 IF(kflc.NE.0) qf=kchg(kflc,1)/3d0
41348 rgam=7.2d0*qf**2*paru(101)/
pyalps(ecm**2)
41351 IF(
pyr(0).GT.rgam/(1d0+rgam))
THEN
41352 IF(1d0-
max(
x1,
x2,x3).LE.
max((parj(126)/ecm)**2,parj(125)))
41354 IF(njet.EQ.2.AND.mstj(101).LE.4) CALL
py2ent(nc+1,21,21,ecm)
41355 IF(njet.EQ.2.AND.mstj(101).GE.5) CALL
py2ent(-(nc+1),21,21,ecm)
41359 IF(ecmc.LT.2d0*parj(127)) goto 100
41364 IF(mstj(101).GE.5) k(nc+2,4)=mstu(5)*(nc+3)
41365 IF(mstj(101).GE.5) k(nc+2,5)=mstu(5)*(nc+3)
41366 IF(mstj(101).GE.5) k(nc+3,4)=mstu(5)*(nc+2)
41367 IF(mstj(101).GE.5) k(nc+3,5)=mstu(5)*(nc+2)
41369 IF(ecmc.LT.4d0*parj(127))
THEN
41373 CALL
py1ent(nc+2,83,0.5d0*(
x2+x3)*ecm,paru(1),0d0)
41379 k(ip,3)=k(ip,3)+(mstj(115)/2)+(kflc/5)*(mstj(115)/3)*(nc-1)
41383 IF(mstj(106).EQ.1)
THEN
41385 hf1=1d0-parj(131)*parj(132)
41387 ct13=(
x1*x3-2d0*
x1-2d0*x3+2d0)/(
x1*x3)
41388 st13=
sqrt(1d0-ct13**2)
41389 sigl=0.5d0*x3**2*((1d0-
x2)**2+(1d0-x3)**2)*st13**2
41390 sigu=(
x1*(1d0-
x1))**2+(
x2*(1d0-
x2))**2+(x3*(1d0-x3))**2-sigl
41392 sigi=(sigl*ct13/st13+0.5d0*
x1*x3*(1d0-
x2)**2*st13)/sq2
41393 sigmax=(2d0*hf1+hf3)*abs(sigu)+2d0*(hf1+hf3)*abs(sigl)+2d0*(hf1+
41394 & 2d0*hf3)*abs(sigt)+2d0*sq2*(hf1+2d0*hf3)*abs(sigi)
41397 120 chi=paru(2)*
pyr(0)
41398 cthe=2d0*
pyr(0)-1d0
41406 c2phi=
cos(2d0*(
phi-parj(134)))
41407 s2phi=
sin(2d0*(
phi-parj(134)))
41408 sig=((1d0+cthe**2)*hf1+sthe**2*c2phi*hf3)*sigu+2d0*(sthe**2*hf1-
41409 & sthe**2*c2phi*hf3)*sigl+2d0*(sthe**2*c2chi*hf1+((1d0+cthe**2)*
41410 & c2chi*c2phi-2d0*cthe*s2chi*s2phi)*hf3)*sigt-
41411 & 2d0*sq2*(2d0*sthe*cthe*cchi*hf1-2d0*sthe*
41412 & (cthe*cchi*c2phi-schi*s2phi)*hf3)*sigi
41413 IF(sig.LT.sigmax*
pyr(0)) goto 120
41414 CALL
pyrobo(nc+1,
n,0d0,chi,0d0,0d0,0d0)
41419 IF(mstj(101).GE.5.AND.njet.GE.2)
THEN
41420 CALL
pyshow(nc+mk+1,-njet,ecmc)
41422 IF(mstj(105).EQ.-1) mstj(14)=-1
41423 IF(mstj(105).GE.0) mstu(28)=0
41426 IF(mstj(105).GE.0.AND.mstu(28).NE.0) goto 100
41430 IF(mstj(105).EQ.1) CALL
pyexec
41431 mstu(161)=110*kflc+3
41445 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41447 common/pybins/ihist(4),indx(1000),
bin(20000)
41450 CHARACTER title*(*), titfx*60
41453 IF(id.LE.0.OR.id.GT.ihist(1)) CALL
pyerrm(28,
41454 &
'(PYBOOK:) not allowed histogram number')
41455 IF(nx.LE.0.OR.nx.GT.100) CALL
pyerrm(28,
41456 &
'(PYBOOK:) not allowed number of bins')
41457 IF(xl.GE.xu) CALL
pyerrm(28,
41458 &
'(PYBOOK:) x limits in wrong order')
41460 ihist(4)=ihist(4)+28+nx
41461 IF(ihist(4).GT.ihist(2)) CALL
pyerrm(28,
41462 &
'(PYBOOK:) out of histogram space')
41469 bin(is+4)=(xu-xl)/nx
41475 bin(is+8+nx+it)=256**2*ichar(titfx(3*it-2:3*it-2))+
41476 & 256*ichar(titfx(3*it-1:3*it-1))+ichar(titfx(3*it:3*it))
41490 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41492 common/pybins/ihist(4),indx(1000),
bin(20000)
41500 IF(
x.LT.
bin(is+2))
THEN
41502 ELSEIF(
x.GE.
bin(is+3))
THEN
41522 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41524 common/pybins/ihist(4),indx(1000),
bin(20000)
41529 DO 100 ix=is+6,is+8+
nint(
bin(is+1))
41544 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41546 common/pybins/ihist(4),indx(1000),
bin(20000)
41553 is2=indx(
min(ihist(1),
max(1,id2)))
41554 is3=indx(
min(ihist(1),
max(1,id3)))
41556 IF(oper.EQ.
'M'.AND.id3.EQ.0) nx=
nint(
bin(is2+1))
41559 IF(oper.EQ.
'+'.OR.oper.EQ.
'-'.OR.oper.EQ.
'*'.OR.oper.EQ.
'/')
THEN
41561 ELSEIF(oper.EQ.
'A'.OR.oper.EQ.
'S'.OR.oper.EQ.
'L')
THEN
41567 IF(oper.EQ.
'+')
THEN
41571 ELSEIF(oper.EQ.
'-')
THEN
41575 ELSEIF(oper.EQ.
'*')
THEN
41579 ELSEIF(oper.EQ.
'/')
THEN
41582 IF(abs(fa2).LE.1
d-20)
THEN
41591 ELSEIF(oper.EQ.
'A')
THEN
41595 ELSEIF(oper.EQ.
'S')
THEN
41599 ELSEIF(oper.EQ.
'L')
THEN
41602 IF(
bin(is1+ix).LT.zmin.AND.
bin(is1+ix).GT.1
d-20)
41603 & zmin=0.8d0*
bin(is1+ix)
41611 ELSEIF(oper.EQ.
'M')
THEN
41613 IF(abs(
bin(is1+ix)).LE.1
d-20)
THEN
41619 IF(abs(
bin(is1+ix)).LE.1
d-20)
THEN
41641 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41643 common/pybins/ihist(4),indx(1000),
bin(20000)
41647 DO 100 id=1,ihist(1)
41649 IF(is.NE.0.AND.
nint(
bin(is+5)).GT.0)
THEN
41666 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41668 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
41669 common/pybins/ihist(4),indx(1000),
bin(20000)
41672 dimension idati(6), irow(100), ifra(100), dyac(10)
41673 CHARACTER title*60, out*100, cha(0:11)*1
41676 DATA dyac/.04,.05,.06,.08,.10,.12,.15,.20,.25,.30/
41677 DATA cha/
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'X',
'-'/
41681 IF(
nint(
bin(is+5)).LE.0)
THEN
41682 WRITE(mstu(11),5000) id
41693 title(3*it-2:3*it)=char(ieq/256**2)//char(
mod(ieq,256**2)/256)
41694 & //char(
mod(ieq,256))
41699 IF(idati(1).GT.0)
THEN
41700 WRITE(mstu(11),5100) id,
title, (idati(j),j=1,5)
41702 WRITE(mstu(11),5200) id,
title
41708 DO 110 ix=is+10,is+8+nx
41709 IF(
bin(ix).LT.ymin) ymin=
bin(ix)
41710 IF(
bin(ix).GT.ymax) ymax=
bin(ix)
41714 IF(ymax-ymin.GT.lin*dyac(1)*1
d-9)
THEN
41715 IF(ymin.GT.0d0.AND.ymin.LT.0.1d0*ymax) ymin=0d0
41716 IF(ymax.LT.0d0.AND.ymax.GT.0.1d0*ymin) ymax=0d0
41717 ipot=
int(log10(ymax-ymin)+10d0)-10
41718 IF(ymax-ymin.LT.lin*dyac(1)*10d0**ipot) ipot=ipot-1
41719 IF(ymax-ymin.GT.lin*dyac(10)*10d0**ipot) ipot=ipot+1
41722 IF(ymax-ymin.GE.lin*dyac(idel)*10d0**ipot) dely=dyac(idel+1)
41728 cta=abs(
bin(is+8+ix))/
dy
41729 irow(ix)=sign(cta+0.95d0,
bin(is+8+ix))
41730 ifra(ix)=10d0*(cta+1.05d0-dble(
int(cta+0.95d0)))
41732 irmi=sign(abs(ymin)/
dy+0.95d0,ymin)
41733 irma=sign(abs(ymax)/
dy+0.95d0,ymax)
41736 DO 150 ir=irma,irmi,-1
41737 IF(ir.EQ.0) goto 150
41740 IF(ir.EQ.irow(ix)) out(ix:ix)=cha(ifra(ix))
41741 IF(ir*(irow(ix)-ir).GT.0) out(ix:ix)=cha(10)
41743 WRITE(mstu(11),5300) ir*dely, ipot, out
41747 ipot=
int(log10(
max(ymax,-ymin))+10.0001d0)-10
41750 IF(
bin(is+8+ix).LT.-10d0**(ipot-4)) out(ix:ix)=cha(11)
41751 irow(ix)=
nint(10d0**(3-ipot)*abs(
bin(is+8+ix)))
41753 WRITE(mstu(11),5400) out
41756 out(ix:ix)=cha(
mod(irow(ix),10**ir)/10**(ir-1))
41758 WRITE(mstu(11),5500) ipot+ir-4, out
41766 IF(
bin(is+2)+(ix-1)*
bin(is+4).LT.-10d0**(ipot-3))
41767 & out(ix:ix)=cha(11)
41768 irow(ix)=
nint(10d0**(2-ipot)*abs(
bin(is+2)+(ix-1)*
bin(is+4)))
41770 WRITE(mstu(11),5600) out
41773 out(ix:ix)=cha(
mod(irow(ix),10**ir)/10**(ir-1))
41775 WRITE(mstu(11),5500) ipot+ir-3, out
41784 cta=abs(
bin(is+8+ix))
41785 x=
bin(is+2)+(ix-0.5d0)*
bin(is+4)
41788 cxxsum=cxxsum+cta*
x**2
41790 xmean=cxsum/
max(csum,1
d-20)
41791 xrms=
sqrt(
max(0d0,cxxsum/
max(csum,1
d-20)-xmean**2))
41792 WRITE(mstu(11),5700)
nint(
bin(is+5)),xmean,
bin(is+6),
41796 5000
FORMAT(/5
x,
'Histogram no',i5,
' : no entries')
41797 5100
FORMAT(
'1'/5
x,
'Histogram no',i5,6
x,a60,5
x,i4,
'-',i2,
'-',i2,1
x,
41799 5200
FORMAT(
'1'/5
x,
'Histogram no',i5,6
x,a60/)
41800 5300
FORMAT(2
x,f7.2,
'*10**',i2,3
x,a100)
41801 5400
FORMAT(/8
x,
'Contents',3
x,a100)
41802 5500
FORMAT(9
x,
'*10**',i2,3
x,a100)
41803 5600
FORMAT(/8
x,
'Low edge',3
x,a100)
41804 5700
FORMAT(/5
x,
'Entries =',i12,1
p,6
x,
'Mean =',d12.4,6
x,
'Underflow ='
41805 &,d12.4,6
x,
'Low edge =',d12.4/5
x,
'All chan =',d12.4,6
x,
41806 &
'Rms =',d12.4,6
x,
'Overflow =',d12.4,6
x,
'High edge =',d12.4)
41819 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41821 common/pybins/ihist(4),indx(1000),
bin(20000)
41825 DO 100 ix=is+5,is+8+
nint(
bin(is+1))
41841 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41843 common/pybins/ihist(4),indx(1000),
bin(20000)
41846 dimension ihi(*),iss(100),val(5)
41847 CHARACTER title*60,format*13
41851 IF(mdump.EQ.1)
THEN
41872 title(3*it-2:3*it)=char(ieq/256**2)//
41873 & char(
mod(ieq,256**2)/256)//char(
mod(ieq,256))
41875 WRITE(lfn,5100) id,
title
41876 WRITE(lfn,5200) nx,
bin(is+2),
bin(is+3)
41879 DO 120 ixg=1,(nx+4)/5
41883 val(ixv)=
bin(is+8+ix)
41888 WRITE(lfn,5300) (val(ixv),ixv=1,5)
41892 ELSEIF(nhi.GT.0)
THEN
41893 CALL
pyerrm(8,
'(PYDUMP:) unknown histogram number')
41898 ELSEIF(mdump.EQ.2)
THEN
41901 140
READ(lfn,5100,
end=170) id,
title
41902 READ(lfn,5200) nx,xl,xu
41907 DO 160 ixg=1,(nx+4)/5
41908 READ(lfn,5300) (val(ixv),ixv=1,5)
41911 IF(ix.LE.nx)
bin(is+8+ix)=val(ixv)
41921 ELSEIF(mdump.EQ.3)
THEN
41937 IF(is.NE.0.AND.nss.LT.100)
THEN
41940 ELSEIF(nss.GE.100)
THEN
41941 CALL
pyerrm(8,
'(PYDUMP:) too many histograms requested')
41942 ELSEIF(nhi.GT.0)
THEN
41943 CALL
pyerrm(8,
'(PYDUMP:) unknown histogram number')
41950 IF(
nint(
bin(iss(iw)+1)).NE.nx)
THEN
41951 CALL
pyerrm(8,
'(PYDUMP:) different number of bins')
41955 format=
'(1P,000D12.4)'
41956 WRITE(
FORMAT(5:7),
'(I3)') nss+1
41960 x=
bin(iss(1)+2)+(ix-0.5d0)*
bin(iss(1)+4)
41961 WRITE(lfn,format)
x, (
bin(iss(iw)+8+ix),iw=1,nss)
41967 5100
FORMAT(i5,5
x,a60)
41968 5200
FORMAT(i5,1
p,2d12.4)
41969 5300
FORMAT(1
p,5d12.4)
41987 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
41990 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
41991 common/pyint1/mint(400),vint(400)
41992 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
41993 SAVE /
pydat1/,/pyint1/,/pyint2/
42006 IF(istsb.EQ.2.OR.istsb.EQ.4) cth=vint(23)
42008 IF(istsb.GE.3.AND.istsb.LE.5) taup=vint(26)
42011 IF(istsb.LE.2.OR.istsb.GE.5)
THEN
42027 rpts=4d0*vint(71)**2/shat
42031 rthm=(4d0*
rm3*rm4+rpts)/(1d0-
rm3-rm4+be34l)
42032 that=-0.5d0*shat*
max(rthm,1d0-
rm3-rm4-be34*cth)
42033 uhat=-0.5d0*shat*
max(rthm,1d0-
rm3-rm4+be34*cth)
42034 pt2=
max(vint(71)**2,0.25d0*shat*be34**2*(1d0-cth**2))
42040 WRITE(mstu(11),5000)
42041 IF(
pyr(0).LT.10d0) stop
42044 5000
FORMAT(1
x,
'Error: you did not link your PYKCUT routine ',
42045 &
'correctly.'/1
x,
'Dummy routine in PYTHIA file called instead.'/
42046 &1
x,
'Execution stopped!')
42064 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
42067 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
42068 common/pyint1/mint(400),vint(400)
42069 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
42070 SAVE /
pydat1/,/pyint1/,/pyint2/
42083 IF(istsb.EQ.2.OR.istsb.EQ.4) cth=vint(23)
42085 IF(istsb.GE.3.AND.istsb.LE.5) taup=vint(26)
42100 WRITE(mstu(11),5000)
42101 IF(
pyr(0).LT.10d0) stop
42104 5000
FORMAT(1
x,
'Error: you did not link your PYEVWT routine ',
42105 &
'correctly.'/1
x,
'Dummy routine in PYTHIA file called instead.'/
42106 &1
x,
'Execution stopped!')
42120 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
42123 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
42124 common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
42125 common/pyint6/proc(0:500)
42127 SAVE /
pydat1/,/pyint2/,/pyint6/
42129 CHARACTER*(*) title
42132 IF(isub.LT.1.OR.isub.GT.200.OR.iset(isub).GE.0)
THEN
42133 WRITE(mstu(11),5000) isub
42139 coef(isub,1)=sigmax
42140 proc(isub)=
title//
' '
42143 5000
FORMAT(1
x,
'Error: user-defined subprocess code ',i4,
42144 &
' not allowed.'//1
x,
'Execution stopped!')
42163 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
42166 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
42167 common/pyuppr/nup,kup(20,7),nfup,ifup(10,2),pup(20,5),q2up(0:10)
42172 WRITE(mstu(11),5000)
42173 IF(
pyr(0).LT.10d0) stop
42177 5000
FORMAT(1
x,
'Error: you did not link your PYUPEV routine ',
42178 &
'correctly.'/1
x,
'Dummy routine in PYTHIA file called instead.'/
42179 &1
x,
'Execution stopped!')
42192 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
42195 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
42198 CHARACTER*20 parm(20)
42199 DOUBLE PRECISION value(20)
42202 WRITE(mstu(11),5000)
42203 IF(
pyr(0).LT.10d0) stop
42208 5000
FORMAT(1
x,
'Error: you did not link PDFLIB correctly.'/
42209 &1
x,
'Dummy routine PDFSET in PYTHIA file called instead.'/
42210 &1
x,
'Execution stopped!')
42220 SUBROUTINE structm(XX,QQ,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GLU)
42223 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
42226 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
42229 DOUBLE PRECISION xx,qq,upv,dnv,usea,dsea,str,chm,bot,top,glu
42232 WRITE(mstu(11),5000)
42233 IF(
pyr(0).LT.10d0) stop
42245 5000
FORMAT(1
x,
'Error: you did not link PDFLIB correctly.'/
42246 &1
x,
'Dummy routine STRUCTM in PYTHIA file called instead.'/
42247 &1
x,
'Execution stopped!')
42276 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
42279 common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
42280 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
42285 ndecay=itau+iorig+kforig
42286 WRITE(mstu(11),5000)
42287 IF(
pyr(0).LT.10d0) stop
42290 5000
FORMAT(1
x,
'Error: you did not link your PYTAUD routine ',
42291 &
'correctly.'/1
x,
'Dummy routine in PYTHIA file called instead.'/
42292 &1
x,
'Execution stopped!')
42309 IMPLICIT DOUBLE PRECISION(
a-h, o-
z)
42313 INTEGER idati(6),idtemp(3)