4 SUBROUTINE hijhrd(JP,JT,JOUT,JFLG,IOPJET0)
16 dimension ip(100,2),ipq(50),ipb(50),
it(100,2),itq(50),itb(50)
21 common/hijdat/hidat0(10,10),hidat(10)
51 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
53 common/pyhisubs/msel,msub(200),kfin(2,-40:40),ckin(200)
55 common/pyhipars/mstp(200),parp(200),msti(200),pari(200)
57 common/pyhiint1/mint(400),vint(400)
59 common/pyhiint2/iset(200),kfpr(200,2),coef(200,20),icol(40,4,2)
61 common/pyhiint5/ngen(0:200,3),xsec(0:200,3)
63 common/hipyint/mint4,mint5,atco(200,20),atxs(0:200)
78 IF(iopjet.EQ.1.AND.(
nfp(jp,6).NE.0.OR.
nft(jt,6).NE.0))
81 IF(
nfp(jp,6).LT.0 .OR.
nft(jt,6).LT.0)
RETURN
89 IF(epp.LT.0.0) go to 1000
90 IF(epm.LT.0.0) go to 1000
91 IF(etp.LT.0.0) go to 1000
92 IF(etm.LT.0.0) go to 1000
93 IF(epp/(epm+0.01).LE.etp/(etm+0.01))
RETURN
100 IF(pp(jp,4).LE.ecut1)
THEN
104 IF(
pt(jt,4).LE.ecut2)
THEN
114 IF(
nfp(jp,10).EQ.0 .AND.
nft(jt,10).EQ.0)
THEN
122 coef(11,i)=atco(11,i)
123 coef(12,i)=atco(12,i)
124 coef(28,i)=atco(28,i)
130 IF(xsec(11,1).NE.0) isub11=1
131 IF(xsec(12,1).NE.0) isub12=1
132 IF(xsec(28,1).NE.0) isub28=1
133 mint(44)=mint4-isub11-isub12-isub28
134 mint(45)=mint5-isub11-isub12-isub28
135 xsec(0,1)=atxs(0)-atxs(11)-atxs(12)-atxs(28)
150 IF(jj.NE.1) go to 155
152 IF(
k(7,2).EQ.-
k(8,2))
THEN
153 qmass2=(
p(7,4)+
p(8,4))**2-(
p(7,1)+
p(8,1))**2
154 & -(
p(7,2)+
p(8,2))**2-(
p(7,3)+
p(8,3))**2
156 IF(qmass2.LT.(2.0*qm+
hipr1(1))**2) go to 155
168 IF(pep.LE.ecut1)
THEN
170 IF(misp.LT.50) go to 155
174 IF(pet.LE.ecut2)
THEN
176 IF(mist.LT.50) go to 155
185 IF(
wp.LT.0.0 .OR. wm.LT.0.0)
THEN
187 IF(miss.LT.50) go to 155
193 amtx=
sqrt((ecut2-
hipr1(8))**2+pxt**2+pyt**2+0.01)
195 IF(
sw.LT.sxx.OR.vint(43).LT.
hipr1(1))
THEN
197 IF(miss.LT.50) go to 155
219 pinirad=(1.0-
exp(-2.0*(vint(47)-hidat(1))))
220 & /(1.0+
exp(-2.0*(vint(47)-hidat(1))))
223 IF(
k(7,2).EQ.-
k(8,2)) go to 190
224 IF(
k(7,2).EQ.21.AND.
k(8,2).EQ.21.AND.iopjet.EQ.1) go to 190
247 IF(
k(i,3).EQ.1 .OR.
k(i,3).EQ.2.OR.
248 & abs(
k(i,2)).GT.30) go to 180
263 IF(
k(i,2).GT.21.AND.
k(i,2).LE.30)
THEN
283 IF(
k(i,3).EQ.7.OR.
k(i,3).EQ.3)
THEN
284 IF(
k(i,3).EQ.7.AND.
k(i,2).NE.21.AND.
k(i,2).EQ.
k(7,2)
285 & .AND.is7.EQ.0)
THEN
295 IF(
k(i,3).EQ.3.AND.(
k(i,2).NE.21.OR.
296 & i_inirad.EQ.0))
THEN
306 IF(
k(i,2).NE.21)
THEN
311 ELSE IF(
k(i,2).LT.0)
THEN
317 ELSE IF(
k(i,3).EQ.8.OR.
k(i,3).EQ.4)
THEN
318 IF(
k(i,3).EQ.8.AND.
k(i,2).NE.21.AND.
k(i,2).EQ.
k(8,2)
319 & .AND.is8.EQ.0)
THEN
329 IF(
k(i,3).EQ.4.AND.(
k(i,2).NE.21.OR.
330 & i_inirad.EQ.0))
THEN
340 IF(
k(i,2).NE.21)
THEN
345 ELSE IF(
k(i,2).LT.0)
THEN
355 IF(lpq.NE.lpb .OR. ltq.NE.ltb)
THEN
357 IF(miss.LE.50) go to 155
358 WRITE(6,*)
' Q -QBAR NOT MATCHED IN HIJHRD'
367 IF(j.GT.jpp) go to 182
368 IF(ip(j,2).EQ.0)
THEN
370 ELSE IF(ip(j,2).NE.0)
THEN
374 ip(j,1)=ip(ipq(lp),1)
375 ip(j,2)=ip(ipq(lp),2)
380 ELSE IF(ip2.LT.0)
THEN
386 ip(j+1,1)=ip(ipb(lp),1)
387 ip(j+1,2)=ip(ipb(lp),2)
392 ELSE IF(ip2.LT.0)
THEN
402 IF(j.GT.jtt) go to 184
403 IF(
it(j,2).EQ.0)
THEN
405 ELSE IF(
it(j,2).NE.0)
THEN
409 it(j,1)=
it(itq(lt),1)
410 it(j,2)=
it(itq(lt),2)
415 ELSE IF(it2.LT.0)
THEN
421 it(j+1,1)=
it(itb(lt),1)
422 it(j+1,2)=
it(itb(lt),2)
427 ELSE IF(it2.LT.0)
THEN
437 IF(
npj(jp)+jpp.GT.mxjt.OR.
ntj(jt)+jtt.GT.mxjt)
THEN
439 WRITE(6,*)
'number of partons per string exceeds'
440 WRITE(6,*)
'the common block size'
467 IF(
k(7,2).NE.21.AND.
k(8,2).NE.21.AND.
468 &
k(7,2)*
k(8,2).GT.0) go to 155
473 IF(
k(i,3).EQ.1.OR.
k(i,3).EQ.2.OR.
474 & abs(
k(i,2)).GT.30) go to 200
475 IF(
k(i,2).GT.21.AND.
k(i,2).LE.30)
THEN
495 IF(
k(i,3).EQ.3.AND.(
k(i,2).NE.21.OR.
496 & i_inirad.EQ.0))
THEN
503 IF(
k(i,3).EQ.4.AND.(
k(i,2).NE.21.OR.
504 & i_inirad.EQ.0))
THEN
514 IF(
k(i,2).NE.21)
THEN
519 ELSE IF(
k(i,2).LT.0)
THEN
528 IF(miss.LE.50) go to 155
529 WRITE(6,*) lpq,lpb,
'Q-QBAR NOT CONSERVED OR NOT MATCHED'
538 IF(j.GT.jpp) go to 222
539 IF(ip(j,2).EQ.0) go to 220
543 ip(j,1)=ip(ipq(lp),1)
544 ip(j,2)=ip(ipq(lp),2)
549 ELSE IF(ip2.LT.0)
THEN
556 ip(j+1,1)=ip(ipb(lp),1)
557 ip(j+1,2)=ip(ipb(lp),2)
562 ELSE IF(ip2.LT.0)
THEN
575 ip(2*l0-3,1)=ip(ipq(l0),1)
576 ip(2*l0-3,2)=ip(ipq(l0),2)
581 ELSE IF(ip2.LT.0)
THEN
588 ip(2*l0-2,1)=ip(ipb(l0),1)
589 ip(2*l0-2,2)=ip(ipb(l0),2)
594 ELSE IF(ip2.LT.0)
THEN
603 ip(2*lpq-1,1)=ip(ipq(1),1)
604 ip(2*lpq-1,2)=ip(ipq(1),2)
609 ELSE IF(ip2.LT.0)
THEN
617 ip(jpp,1)=ip(ipb(1),1)
618 ip(jpp,2)=ip(ipb(1),2)
623 ELSE IF(ip2.LT.0)
THEN
632 WRITE(6,*)
'number of jets forming single strings exceeds'
633 WRITE(6,*)
'the common block size'
638 WRITE(6,*)
'number of partons per single jet system'
639 WRITE(6,*)
'exceeds the common block size'
677 IF(
ihpr2(10).EQ.0)
RETURN
678 WRITE(6,*)
'Fatal HIJHRD error'
679 WRITE(6,*) jp,
' proj E+,E-',epp,epm,
' status',
nfp(jp,5)
680 WRITE(6,*) jt,
' targ E+,E_',etp,etm,
' status',
nft(jt,5)