4 SUBROUTINE sdiff(EPROJ,PPROJ,KPROJ,NHKKH1,IQQDD)
13 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
15 parameter(lout=6,llook=9)
18 COMMON /diqi/ ipvq(248), ippv1(248), ippv2(248), itvq(248),
19 & ittv1(248), ittv2(248), ipsq(
intmx),ipsq2(
intmx),
21 & itsaq(
intmx),itsaq2(
intmx),kkproj(248),kktarg(248)
22 COMMON /hkkevt/ nhkk,nevhkk, isthkk(
nmxhkk), idhkk(
nmxhkk),
25 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
26 COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
28 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
29 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),iich(210),
30 & iibar(210),k1(210),k2(210)
31 COMMON /difpar/ pxc(902), pyc(902),pzc(902),
32 & hec(902), amc(902),ichc(902),
33 & ibarc(902),anc(902),nrc(902)
38 common/xxlmdd/ijlmdd,kdlmdd
39 COMMON /nuccms/gamv,bglv,dummy(7)
45 DATA sigdif,sigdih /6.788790702d0,3.631283998d0/
55 IF(ipri.GE.1)
WRITE(6,
'(A,2E20.8)')
' SDIFF:EPROJ,PPROJ ',
62 IF (isthkk(ihkk).EQ.12)
THEN
73 ptot =
sqrt(ptotx**2+ptoty**2+ptotl**2)
74 amtot =
sqrt(abs(etot-ptot)*(etot+ptot))
80 WRITE(lout,1000) pprox,pproy,pprol,epro,ampro,kproj
81 WRITE(lout,1001) ptarx,ptary,ptarl,etar,amtar,ktarg
82 WRITE(lout,1011) ptotx,ptoty,ptotl,etot,amtot,ktarg
83 WRITE(lout,1002) amtot,gam,bgx,bgy,bgl
84 WRITE(lout,1702) gamv,bglv
85 1000
FORMAT(
'SDIFF: PPROX,PPROY,PPROL,EPRO,AMPRO,KPROJ',
86 & 2e15.5,2e15.5,e15.6,i2)
87 1001
FORMAT(
'SDIFF: PTARX,PTARY,PTARL,ETAR,AMTAR,KTARG',
89 1011
FORMAT(
'SDIFF: PTOTX,PTOTY,PTOTL,ETOT,AMTOT,KTARG',
91 1002
FORMAT(
'SDIFF: AMTOT,GAM,BGX,BGY,BGL',5e15.6)
92 1702
FORMAT(
'SDIFF: GAMV,BGLV',2e15.6)
96 CALL
daltra(gam,-bgx,-bgy,-bgl,pprox,pproy,pprol,epro,
97 & ppcm,ppcmx,ppcmy,ppcml,epcm)
98 CALL
daltra(gam,-bgx,-bgy,-bgl,ptarx,ptary,ptarl,etar,
99 & ptcm,ptcmx,ptcmy,ptcml,etcm)
101 CALL
daltra(gam,bgx,bgy,bgl,ppcmx,ppcmy,ppcml,epcm,
102 & ppla,pplax,pplay,pplal,epla)
103 CALL
daltra(gam,bgx,bgy,bgl,ptcmx,ptcmy,ptcml,etcm,
104 & ptla,ptlax,ptlay,ptlal,etla)
106 epcms=gamv*epla-bglv*pplal
107 pplcms=gamv*pplal-bglv*epla
108 etcms=gamv*etla-bglv*ptlal
109 ptlcms=gamv*ptlal-bglv*etla
111 WRITE(lout,1003) ppcm,ppcmx,ppcmy,ppcml,epcm
112 WRITE(lout,1004) ptcm,ptcmx,ptcmy,ptcml,etcm
113 1003
FORMAT(
'SDIFF: PPCM,PPCMX,PPCMY,PPCML,EPCM',5e15.5)
114 1004
FORMAT(
'SDIFF: PTCM,PTCMX,PTCMY,PTCML,ETCM',5e15.5)
115 WRITE(lout,1703) ppla,pplax,pplay,pplal,epla
116 WRITE(lout,1704) ptla,ptlax,ptlay,ptlal,etla
117 1703
FORMAT(
'SDIFF: PPLA,PPLAX,PPLAY,PPLAL,EPLA',5e15.5)
118 1704
FORMAT(
'SDIFF: PTLA,PTLAX,PTLAY,PTLAL,ETLA',5e15.5)
119 WRITE(lout,1803) ppcm,ppcmx,ppcmy,pplcms,epcms
120 WRITE(lout,1804) ptcm,ptcmx,ptcmy,ptlcms,etcms
121 1803
FORMAT(
'SDIFF: PPCM,PPCMX,PPCMY,PPLCMS,EPCMS',5e15.5)
122 1804
FORMAT(
'SDIFF: PTCM,PTCMX,PTCMY,PTLCMS,ETCMS',5e15.5)
126 IF (cod2.GT.0.999999999999d0) cod2 = 0.999999999999d0
127 sid =
sqrt((1.0d0-cod)*(1.0d0+cod))
130 IF (ppcm*sid.GT.1.0
d-9)
THEN
131 cof = ppcmx/(sid*ppcm)
132 sif = ppcmy/(sid*ppcm)
133 anorf =
sqrt(cof**2+sif**2)
138 WRITE(lout,1005) cod,sid,cof,sif
139 1005
FORMAT(
'SDIFF: COD,SID,COF,SIF',4e15.5)
145 WRITE(lout,1705)ecm,epcm,etcm
146 1705
FORMAT(
'SDIFF:ECM,EPCM,ETCM',3e15.5)
153 CALL
sihndi(ecm,kproj,ktarg,sigdif,sigdih)
167 ELSEIF(ecm.GE.30.d0)
THEN
170 fak=(ecm-10.d0)/20.d0
174 IF((isingd.LE.2).AND.(kproj.EQ.1.OR.kproj.EQ.8))
THEN
175 aadiff=fakk*aitt**0.17d0
177 ELSEIF((isingd.LE.2).AND.
178 * ((kproj.EQ.13).OR.(kproj.EQ.14).OR.(kproj.EQ.23)))
THEN
179 aadiff=fakk*aitt**0.15d0
181 ELSEIF((isingd.LE.2).AND.
182 * ((kproj.EQ.15).OR.(kproj.EQ.16).OR.
183 * (kproj.EQ.24).OR.(kproj.EQ.25)))
THEN
184 aadiff=fakk*aitt**0.13d0
191 WRITE(lout,1060)kproj,ktarg,ecm,sigdif/sigin
192 WRITE(lout,1006)sigdif,sigdif-sigdih,sigdih,sigin
193 1006
FORMAT(
'SDIFF: SIGDIF,SIGDIL,SIGDIH,SIGIN',4f10.5)
194 1060
FORMAT(
'SDIFF: KPROJ,KTARG,ECM,SIGDIF/SIGIN',2i3,2f10.5)
198 IF ((
r.LE.(sigdif/sigin)).OR.(isingd.GE.2))
THEN
207 IF (((
r.LT.(sigdih/sigdif)).OR.(isingd.EQ.5).OR.
208 & (isingd.EQ.6)).AND.(isingd.LE.6))
THEN
213 CALL
vahmsd(ihkk,ecm,kproj,ktarg,irej)
217 ELSE IF((
r.GE.(sigdih/sigdif)).OR.(isingd.EQ.7).OR.
218 & (isingd.EQ.8))
THEN
229 IF(isingd.GE.3.AND.isingd.LE.6)rrrr=1.d0
230 IF((rrrr.LE.0.33d0).AND.
231 * ((kproj.EQ.15).OR.(kproj.EQ.16).OR.
232 * (kproj.EQ.1).OR.(kproj.EQ.8).OR.
233 * (kproj.EQ.13).OR.(kproj.EQ.14).OR.(kproj.EQ.23).OR.
234 * (kproj.EQ.24).OR.(kproj.EQ.25)))
THEN
235 CALL
valmdd(ihkk,ecm,kproj,ktarg,irej)
240 CALL
valmsd(ihkk,ecm,kproj,ktarg,irej)
248 IF (
mod(ncirej,1000).EQ.0)
THEN
249 WRITE(lout,1007) ncirej
250 1007
FORMAT(
'SDIFF: REJECTION, NCIREJ = ',i8)
256 CALL
hadrdi(naux,kproj,ktarg,nhkkh1)
260 CALL
dtrans(pxc(j),pyc(j),pzc(j),
261 & cod,sid,cof,sif,pxx,pyy,pll)
264 WRITE(lout,1008) iihkk,pxx,pyy,pll
265 1008
FORMAT(
'SDIFF: NHKK,PXX,PYY,PLL',i4,3f10.5)
279 IF(isthkk(iii).EQ.1)
THEN
280 CALL
daltra(gam,bgx,bgy,bgl,phkk(1,iii),phkk(2,iii),
281 & phkk(3,iii),phkk(4,iii),
282 & ppla,pplax,pplay,pplal,epla)
284 epcms=gamv*epla-bglv*pplal
285 pplcms=gamv*pplal-bglv*epla
291 WRITE(lout,1903) pplcms,epcms
292 1903
FORMAT(
'SDIFF TEST cms: PPLCMS,EPCMS',2e15.5)
298 WRITE(lout,1009) iihkk,
299 & phkk(1,iihkk),phkk(2,iihkk),phkk(3,iihkk),
301 1009
FORMAT(
'SDIFF: NHKK,PHKK(1..4)',i4,4e15.5)
309 IF (ktarg.EQ.0)
WRITE(lout,*)
'SDIFF: NO INTERACTION'
316 SUBROUTINE vahmsd(ITAPOI,ECM,KPROJ,KTARG,IREJ)
325 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
327 parameter(lout=6,llook=9)
330 COMMON /hkkevt/ nhkk,nevhkk, isthkk(
nmxhkk), idhkk(
nmxhkk),
333 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
334 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
335 COMMON /abrdif/ xdq1,xdq2,xddq1,xddq2,
336 & ikvq1,ikvq2,ikd1q1,ikd2q1,ikd1q2,ikd2q2,
338 & amdch1,amdch2,amdch3,gamdc1,gamdc2,gamdc3,
339 & pgxvc1,pgyvc1,pgzvc1,pgxvc2,pgyvc2,pgzvc2,
340 & pgxvc3,pgyvc3,pgzvc3,ndch1,ndch2,ndch3,
341 & ikdch1,ikdch2,ikdch3,
342 & pdq1(4),pdq2(4),pdd1(4),pdd2(4),pdfq1(4)
343 COMMON /dpar/ aname(210),am(210),ga(210),
tau(210),ich(210),
344 & ibar(210),k1(210),k2(210)
345 COMMON /trafop/ gamp,bgamp,betp
346 COMMON /enerin/ eproj,etarg
350 dimension mquark(3,30),ihkkq(-6:6),ihkkqq(-3:3,-3:3),
352 DATA idx /-4,-3,-1,-2,0,2,1,3,4/
353 DATA ihkkq /-6,-5,-4,-3,-1,-2,0,2,1,3,4,5,6/
354 DATA ihkkqq/-3301,-3103,-3203,0, 0,0,0,
355 & -3103,-1103,-2103,0, 0, 0, 0,
356 & -3203,-2103,-2203,0, 0, 0, 0,
357 & 0, 0, 0,0, 0, 0, 0,
358 & 0, 0, 0,0,2203,2103,3202,
359 & 0, 0, 0,0,2103,1103,3103,
360 & 0, 0, 0,0,3203,3103,3303/
367 & 1,1,2, -1,-1,-2, 0,0,0, 0,0,0, 0,0,0,
368 & 0,0,0, 0,0,0, 1,2,2, -1,-2,-2, 0,0,0,
369 & 0,0,0, 0,0,0, 1,-2,0, 2,-1,0, 1,-3,0,
370 & 3,-1,0, 1,2,3, -1,-2,-3, 0,0,0, 2,2,3,
371 & 1,1,3, 1,2,3, 1,-1,0, 2,-3,0, 3,-2,0,
372 & 2,-2,0, 3,-3,0, 0,0,0, 0,0,0, 0,0,0/
374 DATA ncrej, ncxdi, ncxp, ncxt /0, 0, 0, 0/
379 eproj = (am(kproj)**2-am(ktarg)**2+ecm**2)/(2.0d0*ecm)
380 etarg = (am(ktarg)**2-am(kproj)**2+ecm**2)/(2.0d0*ecm)
381 IF(ipev.GE.2)
WRITE(lout,1001) eproj,etarg
382 1001
FORMAT(
'VAHMSD: EPROJ,ETARG ',2f10.5)
385 IF (ibtarg.LE.0)
THEN
386 WRITE(lout,1002) ibtarg
387 1002
FORMAT(
'VAHMSD: NO HMSD FOR TARGET WITH BARYON-CHARGE',i4)
391 iqp1 = mquark(1,kproj)
392 iqp2 = mquark(2,kproj)
393 iqp3 = mquark(3,kproj)
394 iqt1 = mquark(1,ktarg)
395 iqt2 = mquark(2,ktarg)
396 iqt3 = mquark(3,ktarg)
397 IF(ipev.GE.2)
WRITE(lout,1003)
398 & ibproj,ibtarg,iqp1,iqp2,iqp3,iqt1,iqt2,iqt3
399 1003
FORMAT(
'VAHMSD: IBPROJ,IBTARG,IQP1,IQP2,IQP3,IQT1,IQT2,IQT3 ',8i4)
401 IF (ibproj.NE.0)
THEN
405 isam = 1.0d0+2.999d0*
rndm(v)
423 ELSE IF (ibproj.EQ.0)
THEN
427 isam = 1.0d0+1.999d0*
rndm(v)
443 isam = 1.0d0+2.999d0*
rndm(v)
469 IF (ipev.GE.2)
WRITE(lout,1004)
470 & ikvq1,ikd1q1,ikd2q1,ikvq2,ikd1q2,ikd2q2
471 1004
FORMAT(
'VAHMSD: IKVQ1,IKD1Q1,IKD2Q1,IKVQ2,IKD1Q2,IKD2Q2 ',6i4)
475 idiffp = 1.0d0+2.3d0*
rndm(v)
477 IF (ipev.GE.2)
WRITE(lout,1005) idiffp,idifap
478 1005
FORMAT(
'VAHMSD: IDIFFP,IDIFAP ',2i4)
483 idiftp = 1.0d0+1.999d0*
rndm(v)
485 IF ((isingd.EQ.3).OR.(isingd.EQ.5)) idiftp = 1
486 IF ((isingd.EQ.4).OR.(isingd.EQ.6)) idiftp = 2
488 IF (ipev.GE.2)
WRITE(lout,1006) idiftp
489 1006
FORMAT(
'VAHMSD: IDIFTP ',i4)
490 IF ((idiftp.NE.1).AND.(idiftp.NE.2))
THEN
491 IF (ipev.GE.2)
WRITE(lout,
'(A19)')
'VAHMSD-ERROR: IDIFTP'
500 IF (xp.GE.xxmax)
THEN
502 IF(
mod(ncxp,500).EQ.0)
WRITE(lout,1007) ncxp
503 1007
FORMAT(
'VAHMSD: INEFFICIENT XP-SELECTION, NCXP=',i8)
509 IF (
xt.GE.xxmax)
THEN
511 IF(
mod(ncxt,2500).EQ.0)
WRITE(lout,1008) ncxt
512 1008
FORMAT(
'VAHMSD: INEFFICIENT XT-SELECTION, NCXT=',i8)
516 IF (ipev.GE.2)
WRITE(lout,1010) xp,xxp,
xt,xxt
517 1010
FORMAT(
'VAHMSD: XP,XXP,XT,XXT ',4d10.5)
523 IF (idiftp.EQ.1)
THEN
524 xdimin = (3.0d0+400.0d0*(
r**2))/(4.0d0*(etarg**2)*xxt)
525 IF (ecm.LE.300.0d0)
THEN
526 rr = (1.0d0-
exp(-((ecm/140.0d0)**4)))
527 xdimin = (3.0d0+400.0d0*(
r**2)*rr)/(4.0d0*(etarg**2)*xxt)
529 ELSE IF (idiftp.EQ.2)
THEN
530 xdimin = (3.0d0+400.0d0*(
r**2))/(4.0d0*(eproj**2)*xxp)
531 IF (ecm.LE.300.0d0)
THEN
532 rr = (1.0d0-
exp(-((ecm/140.0d0)**4)))
533 xdimin = (3.0d0+400.0d0*(
r**2)*rr)/(4.0d0*(eproj**2)*xxp)
554 IF (ecm.LE.10000.0d0)
THEN
555 xdimax = xdimaa*(1.0d0+
exp(-((ecm/420.0d0)**2)))
556 IF (ibproj.EQ.0) xdimax = xdimaa*
559 & (1.0d0+2.0d0*
exp(-((ecm/420.0d0)**2)))
563 IF (xdimin.GE.xdimax)
THEN
565 IF (ncxdi.EQ.200) goto 9999
568 xditot =
sampey(xdimin,xdimax)
578 xxdi = xdimin+(1.0d0-
r)*
dx
579 IF (idiftp.EQ.1)
THEN
581 IF (xxp.LT.8.0
d-2) goto 9999
582 ELSE IF (idiftp.EQ.2)
THEN
584 IF (xxt.LT.8.0
d-2) goto 9999
586 IF (ipev.GE.2)
WRITE(lout,1012) xp,xxp,
xt,xxt,xdi,xxdi
587 1012
FORMAT(
'VAHMSD: XP,XXP,XT,XXT,XDI,XXDI ',6f10.5)
589 amdidi=
sqrt(xdidi*ecm**2)
590 IF(ipev.GE.2)
WRITE(lout,*)
'HM AMDIDI,XDIDI ',amdidi,xdidi
594 IF ((ibproj.EQ.-1).AND.(idiftp.EQ.1))
THEN
601 CALL
diffch(xdifap, idifap,
xt, ikvq2, 99,
602 & xdiffp, idiffp, xxt, xxp, etarg,
603 & amdch1, ech1, pch1, gamdc1, pgvc1,
604 & ndch1, ikdch1, eproj, nuno, iirej, 1)
605 IF (iirej.EQ.1) goto 9999
606 CALL
diffch(xdiffp, idiffp, xxt, ikd1q2, ikd2q2,
607 & dum, idum, dum, xxp, etarg,
608 & amdch2, ech2, pch2, gamdc2, pgvc2,
609 & ndch2, ikdch2, eproj, nuno, iirej, 2)
610 IF (iirej.EQ.1) goto 9999
611 CALL
diffch( xp, ikvq1, xxp, ikd1q1, ikd2q1,
612 & dum, idum, dum, dum, eproj,
613 & amdch3, ech3, pch3, gamdc3, pgvc3,
614 & ndch3, idum, dum, nuno, iirej, 3)
615 IF (iirej.EQ.1) goto 9999
618 ELSE IF ((ibproj.EQ.-1).AND.(idiftp.EQ.2))
THEN
625 CALL
diffch(xdiffp, idiffp, xp, ikvq1, 99,
626 & xdifap, idifap, xxp, xxt, eproj,
627 & amdch1, ech1, pch1, gamdc1, pgvc1,
628 & ndch1, ikdch1, etarg, nuno, iirej, 1)
629 IF (iirej.EQ.1) goto 9999
630 CALL
diffch(xdifap, idifap, xxp, ikd1q1, ikd2q1,
631 & dum, idum, dum, xxt, eproj,
632 & amdch2, ech2, pch2, gamdc2, pgvc2,
633 & ndch2, ikdch2, etarg, nuno, iirej, 2)
634 IF (iirej.EQ.1) goto 9999
635 CALL
diffch(
xt, ikvq2, xxt, ikd1q2, ikd2q2,
636 & dum, idum, dum, dum, etarg,
637 & amdch3, ech3, pch3, gamdc3, pgvc3,
638 & ndch3, idum, dum, nuno, iirej, 3)
639 IF (iirej.EQ.1) goto 9999
642 ELSE IF ((ibproj.EQ.0).AND.(idiftp.EQ.1))
THEN
649 CALL
diffch(xdifap, idifap,
xt, ikvq2, 99,
650 & xdiffp, idiffp, xxt, xxp, etarg,
651 & amdch1, ech1, pch1, gamdc1, pgvc1,
652 & ndch1, ikdch1, eproj, nuno, iirej, 1)
653 IF (iirej.EQ.1) goto 9999
654 CALL
diffch(xdiffp, idiffp, xxt, ikd1q2, ikd2q2,
655 & dum, idum, dum, xxp, etarg,
656 & amdch2, ech2, pch2, gamdc2, pgvc2,
657 & ndch2, ikdch2, eproj, nuno, iirej, 2)
658 IF (iirej.EQ.1) goto 9999
659 CALL
diffch( xp, ikvq1, xxp, ikd1q1, 99,
660 & dum, idum, dum, dum, eproj,
661 & amdch3, ech3, pch3, gamdc3, pgvc3,
662 & ndch3, idum, dum, nuno, iirej, 3)
663 IF (iirej.EQ.1) goto 9999
666 ELSEIF ((ibproj.EQ.0).AND.(idiftp.EQ.2))
THEN
671 IF (ikd1q1.LT.0)
THEN
674 CALL
diffch(xdifap, idifap, xp, ikvq1, 99,
675 & xdiffp, idiffp, xxp, xxt, eproj,
676 & amdch1, ech1, pch1, gamdc1, pgvc1,
677 & ndch1, ikdch1, etarg, nuno, iirej, 1)
678 IF (iirej.EQ.1) goto 9999
679 CALL
diffch(xdiffp, idiffp, xxp, ikd1q1, 99,
680 & xdifap, idifap, xp, xxt, eproj,
681 & amdch2, ech2, pch2, gamdc2, pgvc2,
682 & ndch2, ikdch2, etarg, nuno, iirej, 1)
683 IF (iirej.EQ.1) goto 9999
687 CALL
diffch(xdiffp, idiffp, xp, ikvq1, 99,
688 & xdifap, idifap, xxp, xxt, eproj,
689 & amdch1, ech1, pch1, gamdc1, pgvc1,
690 & ndch1, ikdch1, etarg, nuno, iirej, 1)
691 IF (iirej.EQ.1) goto 9999
692 CALL
diffch(xdifap, idifap, xxp, ikd1q1, 99,
693 & xdiffp, idiffp, xp, xxt, eproj,
694 & amdch2, ech2, pch2, gamdc2, pgvc2,
695 & ndch2, ikdch2, etarg, nuno, iirej, 1)
696 IF (iirej.EQ.1) goto 9999
698 CALL
diffch(
xt, ikvq2, xxt, ikd1q2, ikd2q2,
699 & dum, idum, dum, dum, etarg,
700 & amdch3, ech3, pch3, gamdc3, pgvc3,
701 & ndch3, idum, dum, nuno, iirej, 3)
702 IF (iirej.EQ.1) goto 9999
705 ELSEIF ((ibproj.EQ.1).AND.(idiftp.EQ.1))
THEN
712 CALL
diffch(xdifap, idifap,
xt, ikvq2, 99,
713 & xdiffp, idiffp, xxt, xxp, etarg,
714 & amdch1, ech1, pch1, gamdc1, pgvc1,
715 & ndch1, ikdch1, eproj, nuno, iirej, 1)
716 IF (iirej.EQ.1) goto 9999
717 CALL
diffch(xdiffp, idiffp, xxt, ikd1q2, ikd2q2,
718 & dum, idum, dum, xxp, etarg,
719 & amdch2, ech2, pch2, gamdc2, pgvc2,
720 & ndch2, ikdch2, eproj, nuno, iirej, 2)
721 IF (iirej.EQ.1) goto 9999
722 CALL
diffch( xp, ikvq1, xxp, ikd1q1, ikd2q1,
723 & dum, idum, dum, dum, eproj,
724 & amdch3, ech3, pch3, gamdc3, pgvc3,
725 & ndch3, idum, dum, nuno, iirej, 3)
726 IF (iirej.EQ.1) goto 9999
729 ELSE IF ((ibproj.EQ.1).AND.(idiftp.EQ.2))
THEN
736 CALL
diffch(xdifap, idifap, xp, ikvq1, 99,
737 & xdiffp, idiffp, xxp, xxt, eproj,
738 & amdch1, ech1, pch1, gamdc1, pgvc1,
739 & ndch1, ikdch1, etarg, nuno, iirej, 1)
740 IF (iirej.EQ.1) goto 9999
741 CALL
diffch(xdiffp, idiffp, xxp, ikd1q1, ikd2q1,
742 & dum, idum, dum, xxt, eproj,
743 & amdch2, ech2, pch2, gamdc2, pgvc2,
744 & ndch2, ikdch2, etarg, nuno, iirej, 2)
745 IF (iirej.EQ.1) goto 9999
746 CALL
diffch(
xt, ikvq2, xxt, ikd1q2, ikd2q2,
747 & dum, idum, dum, dum, etarg,
748 & amdch3, ech3, pch3, gamdc3, pgvc3,
749 & ndch3, idum, dum, nuno, iirej, 3)
750 IF (iirej.EQ.1) goto 9999
762 WRITE(lout,1013) amdch1,ech1,pch1,gamdc1,pgvc1,ikdch1,ndch1
763 1013
FORMAT(
'VAHMSD: AMDCH1,ECH1,PCH1,GAMDC1,PGVC1,IKDCH1,NDCH1 ',
765 WRITE(lout,1014) amdch2,ech2,pch2,gamdc2,pgvc2,ikdch2,ndch2
766 1014
FORMAT(
'VAHMSD: AMDCH2,ECH2,PCH2,GAMDC2,PGVC2,IKDCH2,NDCH2 ',
768 WRITE(lout,1015) amdch3,ech3,pch3,gamdc3,pgvc3,ndch3
769 1015
FORMAT(
'VAHMSD: AMDCH3,ECH3,PCH3,GAMDC3,PGVC3,NDCH3 ',
775 IF (idiftp.EQ.1)
THEN
776 CALL
diffpt( ech1, pch1, xdifap,
xt,
777 & ech2, pch2, xdiffp, xxt,
778 & ech3, pch3, eproj, kproj,
779 & etarg, eproj, iirej)
780 ELSE IF (idiftp.EQ.2)
THEN
781 IF ((ibproj.LT.0).OR.(ikvq1.LT.0))
THEN
782 CALL
diffpt( ech1, pch1, xdiffp, xp,
783 & ech2, pch2, xdifap, xxp,
784 & ech3, pch3, etarg, ktarg,
785 & eproj, etarg, iirej)
787 CALL
diffpt( ech1, pch1, xdifap, xp,
788 & ech2, pch2, xdiffp, xxp,
789 & ech3, pch3, etarg, ktarg,
790 & eproj, etarg, iirej)
793 IF (iirej.EQ.1) goto 9999
801 idhkk(nhkk) = ihkkq(idx(ikvq1))
811 vhkk(1,nhkk) = vhkk(1,1)
812 vhkk(2,nhkk) = vhkk(2,1)
813 vhkk(3,nhkk) = vhkk(3,1)
814 vhkk(4,nhkk) = vhkk(4,1)
818 idhkk(nhkk) = ihkkqq(idx(ikd1q1),idx(ikd2q1))
828 vhkk(1,nhkk) = vhkk(1,1)
829 vhkk(2,nhkk) = vhkk(2,1)
830 vhkk(3,nhkk) = vhkk(3,1)
831 vhkk(4,nhkk) = vhkk(4,1)
837 idhkk(nhkk) = ihkkq(idx(ikvq2))
838 jmohkk(1,nhkk) = itapoi
847 vhkk(1,nhkk) = vhkk(1,itapoi)
848 vhkk(2,nhkk) = vhkk(2,itapoi)
849 vhkk(3,nhkk) = vhkk(3,itapoi)
850 vhkk(4,nhkk) = vhkk(4,itapoi)
854 idhkk(nhkk) = ihkkqq(idx(ikd1q2),idx(ikd2q2))
855 jmohkk(1,nhkk) = itapoi
864 vhkk(1,nhkk) = vhkk(1,itapoi)
865 vhkk(2,nhkk) = vhkk(2,itapoi)
866 vhkk(3,nhkk) = vhkk(3,itapoi)
867 vhkk(4,nhkk) = vhkk(4,itapoi)
872 isthkk(nhkk) = 30+idiftp
873 idhkk(nhkk) = ihkkq(idx(idiffp))
874 IF (idiftp.EQ.1) jmohkk(1,nhkk) = 1
875 IF (idiftp.EQ.2) jmohkk(1,nhkk) = itapoi
884 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
885 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
886 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
887 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
890 isthkk(nhkk) = 30+idiftp
891 idhkk(nhkk) = ihkkq(idx(idifap))
892 IF (idiftp.EQ.1) jmohkk(1,nhkk) = 1
893 IF (idiftp.EQ.2) jmohkk(1,nhkk) = itapoi
902 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
903 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
904 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
905 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
910 isthkk(nhkk) = 123-idiftp
911 ind = nhkk-2-2*idiftp
912 idhkk(nhkk) = idhkk(ind)
914 jmohkk(2,nhkk) = jmohkk(1,ind)
915 jdahkk(1,nhkk) = nhkk+2
916 jdahkk(2,nhkk) = nhkk+2
917 phkk(1,nhkk) = pdq1(1)
918 phkk(2,nhkk) = pdq1(2)
919 phkk(3,nhkk) = pdq1(3)
920 phkk(4,nhkk) = pdq1(4)
924 vhkk(1,nhkk) = vhkk(1,ind)+xxpp
925 vhkk(2,nhkk) = vhkk(2,ind)+yypp
926 vhkk(3,nhkk) = vhkk(3,ind)
927 vhkk(4,nhkk) = vhkk(4,ind)
930 isthkk(nhkk) = 130+idiftp
931 IF (idhkk(nhkk-1).GT.0) jmohkk(1,nhkk) = nhkk-2
932 IF (idhkk(nhkk-1).LE.0) jmohkk(1,nhkk) = nhkk-3
933 jmohkk(2,nhkk) = jmohkk(1,nhkk-3)
934 jdahkk(1,nhkk) = nhkk+1
935 jdahkk(2,nhkk) = nhkk+1
936 idhkk(nhkk) = idhkk(jmohkk(1,nhkk))
937 phkk(1,nhkk) = pdd2(1)
938 phkk(2,nhkk) = pdd2(2)
939 phkk(3,nhkk) = pdd2(3)
940 phkk(4,nhkk) = pdd2(4)
944 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))+xxpp
945 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))+yypp
946 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
947 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
954 jmohkk(1,nhkk) = nhkk-2
955 jmohkk(2,nhkk) = nhkk-1
958 phkk(5,nhkk) = amdch1
959 vhkk(1,nhkk) = vhkk(1,nhkk-1)
960 vhkk(2,nhkk) = vhkk(2,nhkk-1)
961 vhkk(3,nhkk) = vhkk(3,nhkk-1)
962 IF ((betp.NE.0.0d0).AND.(bgamp.NE.0.0d0))
963 &vhkk(4,nhkk) = vhkk(3,nhkk)/betp-vhkk(3,nhkk-2)/bgamp
968 isthkk(nhkk) = 123-idiftp
969 ind = nhkk-4-2*idiftp
970 idhkk(nhkk) = idhkk(ind)
972 jmohkk(2,nhkk) = jmohkk(1,ind)
973 jdahkk(1,nhkk) = nhkk+2
974 jdahkk(2,nhkk) = nhkk+2
975 phkk(1,nhkk) = pdd1(1)
976 phkk(2,nhkk) = pdd1(2)
977 phkk(3,nhkk) = pdd1(3)
978 phkk(4,nhkk) = pdd1(4)
982 vhkk(1,nhkk) = vhkk(1,ind)+xxpp
983 vhkk(2,nhkk) = vhkk(2,ind)+yypp
984 vhkk(3,nhkk) = vhkk(3,ind)
985 vhkk(4,nhkk) = vhkk(4,ind)
988 isthkk(nhkk) = 130+idiftp
989 jmohkk(1,nhkk) = 2*nhkk-11-jmohkk(1,nhkk-3)
990 jmohkk(2,nhkk) = jmohkk(1,nhkk-6)
991 jdahkk(1,nhkk) = nhkk+1
992 jdahkk(2,nhkk) = nhkk+1
993 idhkk(nhkk) = idhkk(jmohkk(1,nhkk))
994 phkk(1,nhkk) = pdq2(1)
995 phkk(2,nhkk) = pdq2(2)
996 phkk(3,nhkk) = pdq2(3)
997 phkk(4,nhkk) = pdq2(4)
1001 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk-6))+xxpp
1002 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk-6))+yypp
1003 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk-6))
1004 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk-6))
1011 jmohkk(1,nhkk) = nhkk-2
1012 jmohkk(2,nhkk) = nhkk-1
1015 phkk(5,nhkk) = amdch2
1016 vhkk(1,nhkk) = vhkk(1,nhkk-1)
1017 vhkk(2,nhkk) = vhkk(2,nhkk-1)
1018 vhkk(3,nhkk) = vhkk(3,nhkk-1)
1019 IF ((betp.NE.0.0d0).AND.(bgamp.NE.0.0d0))
1020 &vhkk(4,nhkk) = vhkk(3,nhkk)/betp-vhkk(3,nhkk-2)/bgamp
1027 jmohkk(1,nhkk) = nhkk-14+2*idiftp
1028 jmohkk(2,nhkk) = nhkk-13+2*idiftp
1031 phkk(1,nhkk) = pdfq1(1)
1032 phkk(2,nhkk) = pdfq1(2)
1033 phkk(3,nhkk) = pdfq1(3)
1034 phkk(4,nhkk) = pdfq1(4)
1035 phkk(5,nhkk) = amdch3
1036 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
1037 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
1038 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
1039 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
1046 px = pdq1(1)+pdq2(1)+pdd1(1)+pdd2(1)+pdfq1(1)
1047 py = pdq1(2)+pdq2(2)+pdd1(2)+pdd2(2)+pdfq1(2)
1048 pz = pdq1(3)+pdq2(3)+pdd1(3)+pdd2(3)+pdfq1(3)
1049 ee = ecm-(pdq1(4)+pdq2(4)+pdd1(4)+pdd2(4)+pdfq1(4))
1050 WRITE(lout,*)
'VAHMSD: ENERGY-MOMENTUM-CHECK (PX,PY,PZ,E)'
1051 WRITE(lout,
'(5F12.6)')
px,
py,
pz,ee,ecm
1058 IF (
mod(ncrej,2500).EQ.0)
WRITE(lout,9900) ncrej
1059 9900
FORMAT(
'REJECTION IN VAHMSD ',i10)
1068 & ech2, pch2, xdich2, xch2,
1069 & ech3, pch3, ech3i, kch3i,
1080 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
1082 parameter(lout=6,llook=9)
1085 COMMON /hkkevt/ nhkk,nevhkk, isthkk(
nmxhkk), idhkk(
nmxhkk),
1088 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
1089 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
1090 COMMON /abrdif/ xdq1,xdq2,xddq1,xddq2,
1091 & ikvq1,ikvq2,ikd1q1,ikd2q1,ikd1q2,ikd2q2,
1093 & amdch1,amdch2,amdch3,gamdc1,gamdc2,gamdc3,
1094 & pgxvc1,pgyvc1,pgzvc1,pgxvc2,pgyvc2,pgzvc2,
1095 & pgxvc3,pgyvc3,pgzvc3,ndch1,ndch2,ndch3,
1096 & ikdch1,ikdch2,ikdch3,
1097 & pdq1(4),pdq2(4),pdd1(4),pdd2(4),pdfq1(4)
1098 COMMON /dpar/ aname(210),am(210),ga(210),
tau(210),ich(210),
1099 & ibar(210),k1(210),k2(210)
1102 pch3i = sign(
sqrt((ech3i-am(kch3i))*(ech3i+am(kch3i))),pch3)
1106 tttmin = (ech3-ech3i)**2-(pch3-pch3i)**2
1109 xdiff = xdich1+xdich2
1112 slope = btp0-2.0d0*alph*
log(xdiff)
1114 ttt = -
log(1.0d0-
y)/slope
1116 WRITE(lout,1009) slope,ttt
1117 1009
FORMAT(
'VAHMSD/DIFFPT: SLOPE,TTT ',2e10.5)
1120 IF (ttt.LE.abs(tttmin)) goto 10
1122 IF (ipev.GE.2)
WRITE(lout,1000) pch3i,tttmin,ttt
1123 1000
FORMAT(
'VAHMSD/DIFFPT: PCH3I,TTTMIN,TTT ',3f10.5)
1124 pch3f = abs(ttt-(ech3-ech3i)**2+pch3**2+pch3i**2)/(2*pch3i)
1125 IF ((pch3**2).LE.(pch3f**2))
THEN
1127 IF(
mod(ncpt,5000).EQ.0)
WRITE(lout,1001) ncpt
1128 1001
FORMAT(
'VAHMSD/DIFFPT: INEFFICIENT PT-SELECTION 1, NCPT=',i8)
1131 p3xyf =
sqrt(pch3**2-pch3f**2)
1138 IF (ndch1.EQ.-99)
THEN
1152 pych1f = -abs(pch1/pch3)*pych3f
1153 pxch1f = -abs(pych1f/pych3f)*pxch3f
1154 temp = pxch1f**2+pych1f**2
1155 IF ((pch1**2).LT.temp)
THEN
1157 IF(
mod(ncpt,5000).EQ.0)
WRITE(lout,1002) ncpt
1158 1002
FORMAT(
'VAHMSD/DIFFPT: INEFFICIENT PT-SELECTION 2, NCPT=',i8)
1161 plch1f = sign(
sqrt(pch1**2-temp),pch1)
1163 temp = abs(eaq2/pch1)
1164 ptxva2 = -pxch1f*temp
1165 ptyva2 = -pych1f*temp
1166 plaq2 = -plch1f*temp
1168 temp = abs(eq1/pch1)
1169 ptxdq1 = pxch1f*temp
1170 ptydq1 = pych1f*temp
1176 IF (ndch2.EQ.-99)
THEN
1190 pych2f = -abs(pch2/pch3)*pych3f
1191 pxch2f = -abs(pych2f/pych3f)*pxch3f
1192 temp = pxch2f**2+pych2f**2
1193 IF ((pch2**2).LT.temp)
THEN
1195 IF(
mod(ncpt,5000).EQ.0)
WRITE(lout,1003) ncpt
1196 1003
FORMAT(
'VAHMSD/DIFFPT: INEFFICIENT PT-SELECTION 3, NCPT=',i8)
1199 plch2f = sign(
sqrt(pch2**2-temp),pch2)
1201 temp = abs(eq2/pch2)
1202 ptxdq2 = -pxch2f*temp
1203 ptydq2 = -pych2f*temp
1206 temp = abs(eaq1/pch2)
1207 ptxva1 = pxch2f*temp
1208 ptyva1 = pych2f*temp
1218 tempx = ptxva2+ptxdq1+ptxdq2+ptxva1
1219 tempy = ptyva2+ptydq1+ptydq2+ptyva1
1220 tempz = plaq2+plq1+plq2+plaq1
1221 tempe = eaq1+eaq2+eq1+eq2
1222 tempm =
sqrt(tempe**2-tempx**2-tempy**2-tempz**2)
1223 tempp = tempm**2/((ees+ee)**2)
1224 WRITE(*,*)
'diffractive x-value before energy/momentum corr.',
1233 diffx = pxch3f+ptxva2+ptxdq1+ptxdq2+ptxva1
1234 diffy = pych3f+ptyva2+ptydq1+ptydq2+ptyva1
1235 diffz = pch3f+plaq2+plq1+plq2+plaq1
1237 WRITE(lout,1011) diffx,diffy,diffz
1238 1011
FORMAT(
'VAHMSD/DIFFPT: DIFFX,DIFFY,DIFFZ ',3e15.5)
1241 IF ((ndch1.EQ.-99).OR.(ndch1.EQ.1).OR.(ndch1.EQ.-1))
THEN
1243 ptxdq2 = ptxdq2-diffx/2.0d0
1244 ptxva1 = ptxva1-diffx/2.0d0
1246 ptydq2 = ptydq2-diffy/2.0d0
1247 ptyva1 = ptyva1-diffy/2.0d0
1249 plq2 = plq2 -diffz/2.0d0
1250 plaq1 = plaq1 -diffz/2.0d0
1252 ELSEIF ((ndch2.EQ.-99).OR.(ndch2.EQ.1).OR.(ndch2.EQ.-1))
THEN
1254 ptxva2 = ptxva2-diffx/2.0d0
1255 ptxdq1 = ptxdq1-diffx/2.0d0
1257 ptyva2 = ptyva2-diffy/2.0d0
1258 ptydq1 = ptydq1-diffy/2.0d0
1260 plaq2 = plaq2 -diffz/2.0d0
1261 plq1 = plq1 -diffz/2.0d0
1265 ptxva2 = ptxva2-diffx/4.0d0
1266 ptxdq1 = ptxdq1-diffx/4.0d0
1267 ptxdq2 = ptxdq2-diffx/4.0d0
1268 ptxva1 = ptxva1-diffx/4.0d0
1270 ptyva2 = ptyva2-diffy/4.0d0
1271 ptydq1 = ptydq1-diffy/4.0d0
1272 ptydq2 = ptydq2-diffy/4.0d0
1273 ptyva1 = ptyva1-diffy/4.0d0
1275 plaq2 = plaq2 -diffz/4.0d0
1276 plq1 = plq1 -diffz/4.0d0
1277 plq2 = plq2 -diffz/4.0d0
1278 plaq1 = plaq1 -diffz/4.0d0
1284 tempx = ptxva2+ptxdq1+ptxdq2+ptxva1
1285 tempy = ptyva2+ptydq1+ptydq2+ptyva1
1286 tempz = plaq2+plq1+plq2+plaq1
1287 tempe = eaq1+eaq2+eq1+eq2
1288 tempm =
sqrt(tempe**2-tempx**2-tempy**2-tempz**2)
1289 tempp = tempm**2/((ees+ee)**2)
1290 WRITE(*,*)
'diffractive x-value after energy/momentum corr.',
1296 amdch1 =
sqrt(abs((eaq2+eq1)**2-(ptxva2+ptxdq1)**2
1297 & -(ptyva2+ptydq1)**2-(plaq2+plq1)**2)+1.0
d-8)
1298 amdch2 =
sqrt(abs((eq2+eaq1)**2-(ptxdq2+ptxva1)**2
1299 & -(ptydq2+ptyva1)**2-(plq2+plaq1)**2)+1.0
d-8)
1302 WRITE(lout,1012) amdch1,amdch2
1303 1012
FORMAT(
'VAHMSD/DIFFPT: AMDCH1,AMDCH2 ',2e10.5)
1308 gamdc1 = (eaq2+eq1)/amdch1
1309 gamdc2 = (eq2+eaq1)/amdch2
1311 WRITE(lout,1013) gamdc1,gamdc2
1312 1013
FORMAT(
'VAHMSD/DIFFPT: GAMDC1,GAMDC2 ',2e10.5)
1339 1004
FORMAT(
'VAHMSD/DIFFPT: PDQ1,PDD1,PDQ2,PDD2,PDFQ1 ')
1341 & (pdq1(j),pdd1(j),pdq2(j),pdd2(j),pdfq1(j),j=1,4)
1342 1005
FORMAT(12
x,5f10.5)
1344 pgxvc1 = (ptxdq1+ptxva2)/amdch1
1345 pgyvc1 = (ptydq1+ptyva2)/amdch1
1346 pgzvc1 = (plq1+plaq2)/amdch1
1347 pgxvc2 = (ptxva1+ptxdq2)/amdch2
1348 pgyvc2 = (ptyva1+ptydq2)/amdch2
1349 pgzvc2 = (plaq1+plq2)/amdch2
1350 pgxvc3 = ptxch3/amdch3
1351 pgyvc3 = ptych3/amdch3
1352 pgzvc3 = pch3/amdch3
1354 pxch1f = ptxdq1+ptxva2
1355 pych1f = ptydq1+ptyva2
1357 pxch2f = ptxva1+ptxdq2
1358 pych2f = ptyva1+ptydq2
1362 WRITE(lout,1006) pgxvc1,pgyvc1,pgzvc1
1363 1006
FORMAT(
'VAHMSD/DIFFPT: PGXVC1,PGYVC1,PGZVC1 ',3f10.5)
1364 WRITE(lout,1007) pgxvc2,pgyvc2,pgzvc2
1365 1007
FORMAT(
'VAHMSD/DIFFPT: PGXVC2,PGYVC2,PGZVC2 ',3f10.5)
1366 WRITE(lout,1008) pgxvc3,pgyvc3,pgzvc3
1367 1008
FORMAT(
'VAHMSD/DIFFPT: PGXVC3,PGYVC3,PGZVC3 ',3f10.5)
1369 IF ((ndch1.EQ.-99).AND.(ndch2.EQ.-99))
THEN
1370 WRITE(lout,*)
'REJECT IN DIFFPT: NO CHAINS CREATED'
1377 phkk(1,nhkk+9) = pxch1f
1378 phkk(2,nhkk+9) = pych1f
1379 phkk(3,nhkk+9) = plch1f
1380 phkk(4,nhkk+9) = ech1
1382 phkk(1,nhkk+12) = pxch2f
1383 phkk(2,nhkk+12) = pych2f
1384 phkk(3,nhkk+12) = plch2f
1385 phkk(4,nhkk+12) = ech2
1392 SUBROUTINE diffch ( XSEA, IFSEA, XPAR, IFPARA, IFPARB,
1393 & xsea2, ifsea2, xpar12, xpar22, ee,
1395 & ndch, ich, ees, nuno, iirej, iopt)
1405 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
1407 parameter(lout=6,llook=9)
1409 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
1410 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
1411 COMMON /dpar/ aname(210),am(210),ga(210),
tau(210),iich(210),
1412 & ibar(210),k1(210),k2(210)
1413 common/dinpda/imps(6,6),imve(6,6),ib08(6,21),ib10(6,21),ia08(6,21)
1414 &,ia10(6,21),a1,b1,b2,b3,lt,le,bet,as,b8,ame,diq,isu
1415 DATA ncnoth,ncwd /0,0/
1430 ips = imps(ifaq,ifq)
1437 IF ((xsea.LE.0.0d0).OR.(xpar.LE.0.0d0))
THEN
1438 WRITE(lout,*)
'REJECTION IN DIFFCH: 1, XSEA,XPAR ',xsea,xpar
1442 rm = 2.0d0*
sqrt(ees*xsea*ee*xpar)
1444 WRITE(lout,1000)
'XSEA, XSEA2, XPAR, XPAR12, RM, EE, EES'
1445 WRITE(lout,1001) xsea, xsea2, xpar, xpar12, rm, ee, ees
1448 IF (rm.LT.rmps)
THEN
1452 xpar12 = xpar12+xpar
1462 IF (
mod(ncnoth,5000).EQ.0)
WRITE(lout,1002) ncnoth
1463 1002
FORMAT(
'VAHMSD/DIFFCH: PRODUCE NOTHING 1, NCNOTH=',i8)
1466 ELSE IF (rm.LT.rmv)
THEN
1471 xsq = rm/(2.0d0*
sqrt(ee*ees))
1474 xpar22 = xpar22+xseaol-xsea
1476 ELSE IF (rm.LT.rmbb)
THEN
1481 xsq = rm/(2.0d0*
sqrt(ee*ees))
1484 xpar22 = xpar22+xseaol-xsea
1487 IF (idiftp.EQ.1)
THEN
1488 pch = ees*xsea-ee*xpar
1489 IF (pch.GE.0.0d0)
THEN
1491 IF (
mod(ncwd,500).EQ.0)
WRITE(lout,1003) ncwd
1492 1003
FORMAT(
'VAHMSD/DIFFCH: WRONG SIGN OF PCH (1), NCWD=',i8)
1495 ELSE IF (idiftp.EQ.2)
THEN
1496 pch = ee*xpar-ees*xsea
1497 IF (pch.LE.0.0d0)
THEN
1499 IF (
mod(ncwd,500).EQ.0)
WRITE(lout,1004) ncwd
1500 1004
FORMAT(
'VAHMSD/DIFFCH: WRONG SIGN OF PCH (2), NCWD=',i8)
1504 WRITE(lout,*)
'ERROR IN VAHMSD/DIFFCH, IDIFTP=', idiftp
1507 WRITE(lout,1000)
'EES,XSEA,EE,XPAR'
1508 WRITE(lout,1001) ees,xsea,ee,xpar
1510 ech = ees*xsea+ee*xpar
1514 WRITE(lout,1000)
'RM,ECH,PCH,NDCH'
1515 WRITE(lout,1001) rm,ech,pch
1516 WRITE(lout,
'(I4)') ndch
1518 1000
FORMAT(
'VAHMSD/DIFFCH-CHAIN Q-AQ',a34)
1519 1001
FORMAT(10f10.5)
1528 CALL
dbklas(ifsea, ifpara, ifparb, i8, i10)
1534 IF ((xsea.LE.0.0d0).OR.(xpar.LE.0.0d0))
THEN
1536 WRITE(lout,*)
'REJECTION IN DIFFCH: 3, XSEA,XPAR ',xsea,xpar
1539 rm = 2.0d0*
sqrt(ees*xsea*ee*xpar)
1541 WRITE(lout,2000)
'XSEA, XSEA2, XPAR, XPAR12, RM, EE, EES'
1542 WRITE(lout,2001) xsea, xsea2, xpar, xpar12, rm, ee, ees
1545 IF (rm.LT.rm10)
THEN
1549 IF (
mod(ncnoth,20).EQ.0)
WRITE(lout,2002) ncnoth
1550 2002
FORMAT(
'VAHMSD/DIFFCH: PRODUCE NOTHING 2, NCNOTH=',i8)
1552 ELSE IF (rm.LT.rmbb)
THEN
1557 xsq = rm/(2.0d0*
sqrt(ee*ees))
1560 xpar22 = xpar22+xseaol-xsea
1563 IF (idiftp.EQ.1)
THEN
1564 pch = ees*xsea-ee*xpar
1565 IF (pch.GE.0.0d0)
THEN
1567 IF (
mod(ncwd,500).EQ.0)
WRITE(lout,2003) ncwd
1568 2003
FORMAT(
'VAHMSD/DIFFCH: WRONG SIGN OF PCH (3), NCWD=',i8)
1571 ELSE IF (idiftp.EQ.2)
THEN
1572 pch = ee*xpar-ees*xsea
1573 IF (pch.LE.0.0d0)
THEN
1575 IF (
mod(ncwd,500).EQ.0)
WRITE(lout,2004) ncwd
1576 2004
FORMAT(
'VAHMSD/DIFFCH: WRONG SIGN OF PCH (4), NCWD=',i8)
1580 WRITE(lout,*)
'ERROR IN VAHMSD/DIFFCH, IDIFTP=', idiftp
1582 ech = ees*xsea+ee*xpar
1586 WRITE(lout,2000)
'RM,ECH,PCH,NDCH'
1587 WRITE(lout,2001) rm,ech,pch
1588 WRITE(lout,
'(I4)') ndch
1590 2000
FORMAT(
'VAHMSD/DIFFCH-CHAIN Q-QQ',a34)
1591 2001
FORMAT(10f10.5)
1598 IF (ifparb.EQ.99)
THEN
1599 IF (ifsea.LT.0)
THEN
1608 CALL
dbklas(ifsea, ifpara, ifparb, im, idum)
1612 IF ((xsea.LE.0.0d0).OR.(xpar.LE.0.0d0))
THEN
1614 WRITE(lout,*)
'REJECTION IN DIFFCH: 5, XSEA,XPAR ',xsea,xpar
1618 WRITE(lout,3000)
'XSEA, XPAR, RM'
1619 WRITE(lout,3001) xsea, xpar, rm
1621 ech = ee*(xsea+xpar)
1622 IF (idiftp.EQ.1)
THEN
1623 pch =
sqrt((ech-rm)*(ech+rm))
1624 ELSE IF (idiftp.EQ.2)
THEN
1625 pch = -
sqrt((ech-rm)*(ech+rm))
1627 WRITE(lout,*)
'ERROR IN VAHMSD/DIFFCH, IDIFTP=', idiftp
1632 WRITE(lout,3000)
'ECH, PCH, GAMMA, BETA'
1635 3000
FORMAT(
'VAHMSD/DIFFCH-BARYON/MESON ',a27)
1636 3001
FORMAT(10f10.5)
1642 SUBROUTINE valmsd(ITAPOI,ECM,KPROJ,KTARG,IREJ)
1651 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
1653 parameter(lout=6,llook=9)
1656 COMMON /hkkevt/ nhkk,nevhkk, isthkk(
nmxhkk), idhkk(
nmxhkk),
1659 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
1660 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
1661 COMMON /abrdif/ xdq1,xdq2,xddq1,xddq2,
1662 & ikvq1,ikvq2,ikd1q1,ikd2q1,ikd1q2,ikd2q2,
1664 & amdch1,amdch2,amdch3,gamdc1,gamdc2,gamdc3,
1665 & pgxvc1,pgyvc1,pgzvc1,pgxvc2,pgyvc2,pgzvc2,
1666 & pgxvc3,pgyvc3,pgzvc3,ndch1,ndch2,ndch3,
1667 & ikdch1,ikdch2,ikdch3,
1668 & pdq1(4),pdq2(4),pdd1(4),pdd2(4),pdfq1(4)
1669 COMMON /dpar/ aname(210),am(210),ga(210),
tau(210),ich(210),
1670 & ibar(210),k1(210),k2(210)
1671 common/dinpda/imps(6,6),imve(6,6),ib08(6,21),ib10(6,21),ia08(6,21)
1672 &,ia10(6,21),a1,b1,b2,b3,lt,le,bet,as,b8,ame,diq,isu
1673 COMMON /trafop/ gamp,bgamp,betp
1674 COMMON /enerin/ eproj,etarg
1676 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1677 COMMON /xdidid/xdidi
1679 dimension mquark(3,30),ihkkq(-6:6),ihkkqq(-3:3,-3:3),
1681 DATA idx /-4,-3,-1,-2,0,2,1,3,4/
1682 DATA ihkkq /-6,-5,-4,-3,-1,-2,0,2,1,3,4,5,6/
1683 DATA ihkkqq/-3301,-3103,-3203,0, 0,0,0,
1684 & -3103,-1103,-2103,0, 0, 0, 0,
1685 & -3203,-2103,-2203,0, 0, 0, 0,
1686 & 0, 0, 0,0, 0, 0, 0,
1687 & 0, 0, 0,0,2203,2103,3202,
1688 & 0, 0, 0,0,2103,1103,3103,
1689 & 0, 0, 0,0,3203,3103,3303/
1696 & 1,1,2, -1,-1,-2, 0,0,0, 0,0,0, 0,0,0,
1697 & 0,0,0, 0,0,0, 1,2,2, -1,-2,-2, 0,0,0,
1698 & 0,0,0, 0,0,0, 1,-2,0, 2,-1,0, 1,-3,0,
1699 & 3,-1,0, 1,2,3, -1,-2,-3, 0,0,0, 2,2,3,
1700 & 1,1,3, 1,2,3, 1,-1,0, 2,-3,0, 3,-2,0,
1701 & 2,-2,0, 3,-3,0, 0,0,0, 0,0,0, 0,0,0/
1703 DATA ncrej, ncpt /0, 0/
1708 ibproj = ibar(kproj)
1709 ibtarg = ibar(ktarg)
1710 eproj = (am(kproj)**2-am(ktarg)**2+ecm**2)/(2.0d0*ecm)
1711 etarg = (am(ktarg)**2-am(kproj)**2+ecm**2)/(2.0d0*ecm)
1712 IF(ipev.GE.2)
WRITE(lout,1014)eproj,etarg
1713 1014
FORMAT(
'VALMSD: EPROJ,ETARG',2f10.5)
1714 IF (ibtarg.LE.0)
THEN
1715 WRITE(lout,1001) ibtarg
1716 1001
FORMAT(
'VALMSD: NO LMSD FOR TARGET WITH BARYON-CHARGE',i4)
1720 iqp1 = mquark(1,kproj)
1721 iqp2 = mquark(2,kproj)
1722 iqp3 = mquark(3,kproj)
1723 iqt1 = mquark(1,ktarg)
1724 iqt2 = mquark(2,ktarg)
1725 iqt3 = mquark(3,ktarg)
1726 IF(ipev.GE.2)
WRITE(lout,1002)
1727 & ibproj,ibtarg,iqp1,iqp2,iqp3,iqt1,iqt2,iqt3
1728 1002
FORMAT(
'VALMSD: IBPROJ,IBTARG,IQP1,IQP2,IQP3,IQT1,IQT2,IQT3 ',8i4)
1730 IF (ibproj.NE.0)
THEN
1734 isam = 1.0d0+2.999d0*
rndm(v)
1752 ELSE IF (ibproj.EQ.0)
THEN
1756 isam = 1.0d0+1.999d0*
rndm(v)
1772 isam = 1.0d0+2.999d0*
rndm(v)
1798 IF (ipev.GE.2)
WRITE(lout,1003)
1799 & ikvq1,ikd1q1,ikd2q1,ikvq2,ikd1q2,ikd2q2
1800 1003
FORMAT(
'VALMSD: IKVQ1,IKD1Q1,IKD2Q1,IKVQ2,IKD1Q2,IKD2Q2 ',6i4)
1805 idiftp = 1.0d0+1.999d0*
rndm(v)
1807 IF ((isingd.EQ.3).OR.(isingd.EQ.7)) idiftp = 1
1808 IF ((isingd.EQ.4).OR.(isingd.EQ.8)) idiftp = 2
1810 IF (ipev.GE.2)
WRITE(lout,1004) idiftp
1811 1004
FORMAT(
'VALMSD: IDIFTP ',i4)
1812 IF ((idiftp.NE.1).AND.(idiftp.NE.2))
THEN
1813 IF (ipev.GE.2)
WRITE(lout,
'(A19)')
'VALMSD-ERROR: IDIFTP'
1822 IF ((ibproj.EQ.0).AND.(idiftp.EQ.1))
1823 & amo = 1.5d0*
r+2.83d0*(1.0d0-
r)
1824 IF ((ibproj.EQ.0).AND.(idiftp.EQ.2)) amo = 1.0d0
1826 IF (ecm.LE.300.0d0) sam = 1.0d0-
exp(-((ecm/200.0d0)**4))
1828 amax= (1.0d0-sam)*
sqrt(0.1d0*ecm**2)+sam*
sqrt(400.0d0)
1829 amu =
r*
sqrt(100.0d0)+(1.0d0-
r)*amax
1830 IF (ibproj.EQ.0)
THEN
1833 amax= (1.0d0-sam)*
sqrt(0.15d0*ecm**2)+sam*
sqrt(400.0d0)
1834 amu =
r*
sqrt(100.0d0)+(1.0d0-
r)*amax
1844 IF (ecm.LE.50.0d0)
THEN
1845 amdiff = amo*(amu/amo)**
r
1848 IF (ecm.LE.300.0d0)
a = 0.7d0*(1.0d0-
exp(-((ecm/100.0d0)**2)))
1849 amdiff = 1.0d0/((
r/(amu**
a)+(1.0d0-
r)/(amo**
a))
1852 IF(amdiff.GT.0.5d0*ecm)go to 31
1853 IF (iouxev.GE.2)
WRITE(lout,1005) amdiff
1854 1005
FORMAT(
'VALMSD: AMDIFF',e10.5)
1855 xdidi=amdiff**2/ecm**2
1856 IF (iouxev.GE.2)
WRITE(lout,*)
'LM AMDIFF,XDIDI ',amdiff,xdidi
1862 IF (idiftp.EQ.1)
THEN
1864 ELSE IF (idiftp.EQ.2)
THEN
1867 ech3 = (ecm**2+amdch3**2-amdiff**2)/(2.0d0*ecm)
1868 IF (ech3.LE.amdch3)
THEN
1870 IF (
mod(ncmerr,2200).EQ.0)
1871 &
WRITE(lout,*)
'LMSD: INEFFICIENT SELECTION OF AMDIFF(1),
1876 pch3 =
sqrt(abs(ech3-amdch3))*
sqrt(ech3+amdch3)
1877 IF (idiftp.EQ.2) pch3 = -pch3
1879 gamdc3 = ech3/amdch3
1881 IF (iouxev.GE.2)
WRITE(lout,1006) amdch3,ech3,pch3,gamdc3,pgvc3
1882 1006
FORMAT(
'VALMSD: AMDCH3,ECH3,PCH3,GAMDC3,PGVC3',5e15.5)
1887 hps =
sqrt(es*es+2.0d0*es*0.94d0)
1891 ptch3 =
sqrt(pxch3**2+pych3**2)
1892 IF (ptch3.GT.abs(pch3))
THEN
1894 IF (
mod(ncpt,500).EQ.0)
WRITE(lout,1007) ncpt
1895 1007
FORMAT(
'VALMSD: INEFFICIENT PT-SELECTION 1, NCPT=',i8)
1898 plch3 = sign(
sqrt(abs(pch3-ptch3))*
sqrt(abs(pch3+ptch3)),pch3)
1899 IF (iouxev.GE.2)
WRITE(lout,1008) es,hps,pxch3,pych3,plch3
1900 1008
FORMAT(
'VALMSD: ES,HPS,PXCH3,PYCH3,PLCH3',5e15.5)
1923 ech2 = (ecm**2+amdch2**2-amdch3**2)/(2.0d0*ecm)
1924 pch2 = -sign(
sqrt(abs(ech2-amdch2))*
sqrt(ech2+amdch2),pch3)
1926 gamdc2 = ech2/amdch2
1939 IF (idiftp.EQ.1) idiffp = ikvq2
1940 IF (idiftp.EQ.2)
THEN
1941 IF (ibproj.GT.0) idiffp = ikvq1
1942 IF (ibproj.LT.0) idifap = ikvq1
1943 IF ((ibproj.EQ.0).AND.(ikd1q1.GT.0)) idifap = ikvq1
1944 IF ((ibproj.EQ.0).AND.(ikd1q1.LT.0)) idiffp = ikvq1
1946 IF (iouxev.GE.2)
WRITE(lout,1009) amdch2,ech2,pch2,gamdc2,pgvc2,
1948 1009
FORMAT(
'VALMSD: AMDCH2,ECH2,PCH2,GAMDC2,PGVC2,IDIFFP,IDIFAP',
1952 ptch2 =
sqrt(pxch2**2+pych2**2)
1953 IF (ptch2.GT.abs(pch2))
THEN
1955 IF (
mod(ncpt,500).EQ.0)
WRITE(lout,1010) ncpt
1956 1010
FORMAT(
'VALMSD: INEFFICIENT PT-SELECTION 2, NCPT=',i8)
1959 plch2 = sign(
sqrt(abs(pch2-ptch2))*
sqrt(abs(pch2+ptch2)),pch2)
1960 IF (iouxev.GE.2)
WRITE(lout,1011) pxch2,pych2,plch2
1961 1011
FORMAT(
'VALMSD: PXCH2,PYCH2,PLCH2',3e15.5)
1962 cc = amdch2/(2.0d0*ech2)
1964 IF (cc.GE.0.5d0)
THEN
1966 IF (
mod(ncmerr,200).EQ.0)
1967 &
WRITE(lout,*)
'LMSD: INEFFICIENT SELECTION OF AMDIFF(2),
1972 xdiq = 0.5d0+
sqrt(abs((0.5d0-cc)*(0.5d0+cc)))
1976 temp = abs(ediq/pch2)
1999 pgxvc2 = pxch2/amdch2
2000 pgyvc2 = pych2/amdch2
2001 pgzvc2 = plch2/amdch2
2002 pgxvc3 = pxch3/amdch3
2003 pgyvc3 = pych3/amdch3
2004 pgzvc3 = plch3/amdch3
2007 WRITE(lout,*)
'VALMSD: PDQ1, PDD2, PDD1, PDQ2, PDFQ1'
2009 & (pdq1(i),pdd2(i),pdd1(i),pdq2(i),pdfq1(i),i=1,4)
2011 WRITE(lout,1013)
'PGXVC1,PGYVC1,PGZVC1,GAMDC1',
2012 & pgxvc1,pgyvc1,pgzvc1,gamdc1
2013 WRITE(lout,1013)
'PGXVC2,PGYVC2,PGZVC2,GAMDC2',
2014 & pgxvc2,pgyvc2,pgzvc2,gamdc2
2015 WRITE(lout,1013)
'PGXVC3,PGYVC3,PGZVC3,GAMDC3',
2016 & pgxvc3,pgyvc3,pgzvc3,gamdc3
2017 1013
FORMAT(a27,4e15.5)
2025 isthkk(nhkk) = 23-idiftp
2026 IF (idiftp.EQ.1) idhkk(nhkk) = ihkkq(idx(ikvq2))
2027 IF (idiftp.EQ.2) idhkk(nhkk) = ihkkq(idx(ikvq1))
2028 IF (idiftp.EQ.1) jmohkk(1,nhkk) = itapoi
2029 IF (idiftp.EQ.2) jmohkk(1,nhkk) = 1
2033 phkk(1,nhkk) = 0.0d0
2034 phkk(2,nhkk) = 0.0d0
2037 phkk(5,nhkk) = 0.0d0
2038 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
2039 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
2040 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2041 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2044 isthkk(nhkk) = 23-idiftp
2045 IF (idiftp.EQ.1) idhkk(nhkk) = ihkkqq(idx(ikd1q2),idx(ikd2q2))
2046 IF (idiftp.EQ.2) idhkk(nhkk) = ihkkqq(idx(ikd1q1),idx(ikd2q1))
2047 IF (idiftp.EQ.1) jmohkk(1,nhkk) = itapoi
2048 IF (idiftp.EQ.2) jmohkk(1,nhkk) = 1
2052 phkk(1,nhkk) = 0.0d0
2053 phkk(2,nhkk) = 0.0d0
2056 phkk(5,nhkk) = 0.0d0
2057 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
2058 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
2059 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2060 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2065 isthkk(nhkk) = 100+isthkk(nhkk-2)
2066 idhkk(nhkk) = idhkk(nhkk-2)
2067 jmohkk(1,nhkk) = nhkk-2
2068 jmohkk(2,nhkk) = jmohkk(1,nhkk-2)
2069 jdahkk(1,nhkk) = nhkk+2
2070 jdahkk(2,nhkk) = nhkk+2
2071 phkk(1,nhkk) = pdq2(1)
2072 phkk(2,nhkk) = pdq2(2)
2073 phkk(3,nhkk) = pdq2(3)
2074 phkk(4,nhkk) = pdq2(4)
2075 phkk(5,nhkk) = 0.0d0
2078 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))+xxpp
2079 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))+yypp
2080 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2081 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2084 isthkk(nhkk) = 100+isthkk(nhkk-2)
2085 idhkk(nhkk) = idhkk(nhkk-2)
2086 jmohkk(1,nhkk) = nhkk-2
2087 jmohkk(2,nhkk) = jmohkk(1,nhkk-2)
2088 jdahkk(1,nhkk) = nhkk+1
2089 jdahkk(2,nhkk) = nhkk+1
2090 phkk(1,nhkk) = pdd1(1)
2091 phkk(2,nhkk) = pdd1(2)
2092 phkk(3,nhkk) = pdd1(3)
2093 phkk(4,nhkk) = pdd1(4)
2094 phkk(5,nhkk) = 0.0d0
2097 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))+xxpp
2098 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))+yypp
2099 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2100 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2107 jmohkk(1,nhkk) = nhkk-2
2108 jmohkk(2,nhkk) = nhkk-1
2111 phkk(1,nhkk) = pxch2
2112 phkk(2,nhkk) = pych2
2113 phkk(3,nhkk) = plch2
2115 phkk(5,nhkk) = amdch2
2116 vhkk(1,nhkk) = vhkk(1,nhkk-1)
2117 vhkk(2,nhkk) = vhkk(2,nhkk-1)
2118 vhkk(3,nhkk) = vhkk(3,nhkk-1)
2119 IF ((betp.NE.0.0d0).AND.(bgamp.NE.0.0d0))
2120 &vhkk(4,nhkk) = vhkk(3,nhkk)/betp-vhkk(3,nhkk-2)/bgamp
2127 IF (idiftp.EQ.2) jmohkk(1,nhkk) = itapoi
2128 IF (idiftp.EQ.1) jmohkk(1,nhkk) = 1
2132 phkk(1,nhkk) = pdfq1(1)
2133 phkk(2,nhkk) = pdfq1(2)
2134 phkk(3,nhkk) = pdfq1(3)
2135 phkk(4,nhkk) = pdfq1(4)
2138 phkk(5,nhkk) = amdch3
2139 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
2140 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
2141 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2142 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2148 px = pdq1(1)+pdq2(1)+pdd1(1)+pdd2(1)+pdfq1(1)
2149 py = pdq1(2)+pdq2(2)+pdd1(2)+pdd2(2)+pdfq1(2)
2150 pz = pdq1(3)+pdq2(3)+pdd1(3)+pdd2(3)+pdfq1(3)
2151 ee = ecm-(pdq1(4)+pdq2(4)+pdd1(4)+pdd2(4)+pdfq1(4))
2152 WRITE(lout,*)
'VALMSD: ENERGY-MOMENTUM-CHECK (PX,PY,PZ,E)'
2153 WRITE(lout,
'(5F12.6)')
px,
py,
pz,ee,ecm
2159 IF (
mod(ncrej,500).EQ.0)
WRITE(lout,9900) ncrej
2160 9900
FORMAT(
'REJECTION IN VALMSD ',i10)
2168 SUBROUTINE valmdd(ITAPOI,ECM,KPROJ,KTARG,IREJ)
2179 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
2181 parameter(lout=6,llook=9)
2184 COMMON /hkkevt/ nhkk,nevhkk, isthkk(
nmxhkk), idhkk(
nmxhkk),
2187 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
2188 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
2189 COMMON /abrdif/ xdq1,xdq2,xddq1,xddq2,
2190 & ikvq1,ikvq2,ikd1q1,ikd2q1,ikd1q2,ikd2q2,
2192 & amdch1,amdch2,amdch3,gamdc1,gamdc2,gamdc3,
2193 & pgxvc1,pgyvc1,pgzvc1,pgxvc2,pgyvc2,pgzvc2,
2194 & pgxvc3,pgyvc3,pgzvc3,ndch1,ndch2,ndch3,
2195 & ikdch1,ikdch2,ikdch3,
2196 & pdq1(4),pdq2(4),pdd1(4),pdd2(4),pdfq1(4)
2197 COMMON /dpar/ aname(210),am(210),ga(210),
tau(210),ich(210),
2198 & ibar(210),k1(210),k2(210)
2199 common/dinpda/imps(6,6),imve(6,6),ib08(6,21),ib10(6,21),ia08(6,21)
2200 &,ia10(6,21),a1,b1,b2,b3,lt,le,bet,as,b8,ame,diq,isu
2201 COMMON /trafop/ gamp,bgamp,betp
2202 COMMON /enerin/ eproj,etarg
2204 common/xxlmdd/ijlmdd,kdlmdd
2205 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
2207 dimension mquark(3,30),ihkkq(-6:6),ihkkqq(-3:3,-3:3),
2209 DATA idx /-4,-3,-1,-2,0,2,1,3,4/
2210 DATA ihkkq /-6,-5,-4,-3,-1,-2,0,2,1,3,4,5,6/
2211 DATA ihkkqq/-3301,-3103,-3203,0, 0,0,0,
2212 & -3103,-1103,-2103,0, 0, 0, 0,
2213 & -3203,-2103,-2203,0, 0, 0, 0,
2214 & 0, 0, 0,0, 0, 0, 0,
2215 & 0, 0, 0,0,2203,2103,3202,
2216 & 0, 0, 0,0,2103,1103,3103,
2217 & 0, 0, 0,0,3203,3103,3303/
2224 & 1,1,2, -1,-1,-2, 0,0,0, 0,0,0, 0,0,0,
2225 & 0,0,0, 0,0,0, 1,2,2, -1,-2,-2, 0,0,0,
2226 & 0,0,0, 0,0,0, 1,-2,0, 2,-1,0, 1,-3,0,
2227 & 3,-1,0, 1,2,3, -1,-2,-3, 0,0,0, 2,2,3,
2228 & 1,1,3, 1,2,3, 1,-1,0, 2,-3,0, 3,-2,0,
2229 & 2,-2,0, 3,-3,0, 0,0,0, 0,0,0, 0,0,0/
2231 DATA ncrej, ncpt /0, 0/
2237 ibproj = ibar(kproj)
2238 ibtarg = ibar(ktarg)
2239 eproj = (am(kproj)**2-am(ktarg)**2+ecm**2)/(2.0d0*ecm)
2240 etarg = (am(ktarg)**2-am(kproj)**2+ecm**2)/(2.0d0*ecm)
2241 IF(ipev.GE.2)
WRITE(lout,1014)eproj,etarg
2242 1014
FORMAT(
'VALMSD: EPROJ,ETARG',2f10.5)
2243 IF (ibtarg.LE.0)
THEN
2244 WRITE(lout,1001) ibtarg
2245 1001
FORMAT(
'VALMSD: NO HMSD FOR TARGET WITH BARYON-CHARGE',i4)
2249 iqp1 = mquark(1,kproj)
2250 iqp2 = mquark(2,kproj)
2251 iqp3 = mquark(3,kproj)
2252 iqt1 = mquark(1,ktarg)
2253 iqt2 = mquark(2,ktarg)
2254 iqt3 = mquark(3,ktarg)
2255 IF(ipev.GE.2)
WRITE(lout,1002)
2256 & ibproj,ibtarg,iqp1,iqp2,iqp3,iqt1,iqt2,iqt3
2257 1002
FORMAT(
'VALMSD: IBPROJ,IBTARG,IQP1,IQP2,IQP3,IQT1,IQT2,IQT3 ',8i4)
2259 IF (ibproj.NE.0)
THEN
2263 isam = 1.0d0+2.999d0*
rndm(v)
2281 ELSE IF (ibproj.EQ.0)
THEN
2285 isam = 1.0d0+1.999d0*
rndm(v)
2301 isam = 1.0d0+2.999d0*
rndm(v)
2327 IF (ipev.GE.2)
WRITE(lout,1003)
2328 & ikvq1,ikd1q1,ikd2q1,ikvq2,ikd1q2,ikd2q2
2329 1003
FORMAT(
'VALMSD: IKVQ1,IKD1Q1,IKD2Q1,IKVQ2,IKD1Q2,IKD2Q2 ',6i4)
2334 idiftp = 1.0d0+1.999d0*
rndm(v)
2336 IF ((isingd.EQ.3).OR.(isingd.EQ.7)) idiftp = 1
2337 IF ((isingd.EQ.4).OR.(isingd.EQ.8)) idiftp = 2
2339 IF (ipev.GE.2)
WRITE(lout,1004) idiftp
2340 1004
FORMAT(
'VALMSD: IDIFTP ',i4)
2341 IF ((idiftp.NE.1).AND.(idiftp.NE.2))
THEN
2342 IF (ipev.GE.2)
WRITE(lout,
'(A19)')
'VALMSD-ERROR: IDIFTP'
2358 IF ((ibproj.EQ.0).AND.(idiftp.EQ.1))
2359 & amo = 1.5d0*
r+2.83d0*(1.0d0-
r)
2360 IF ((ibproj.EQ.0).AND.(idiftp.EQ.2)) amo = 1.0d0
2362 IF (ecm.LE.300.0d0) sam = 1.0d0-
exp(-((ecm/200.0d0)**4))
2364 amax= (1.0d0-sam)*
sqrt(0.1d0*ecm**2)+sam*
sqrt(400.0d0)
2365 amu =
r*
sqrt(100.0d0)+(1.0d0-
r)*amax
2366 IF (ibproj.EQ.0)
THEN
2369 amax= (1.0d0-sam)*
sqrt(0.15d0*ecm**2)+sam*
sqrt(400.0d0)
2370 amu =
r*
sqrt(100.0d0)+(1.0d0-
r)*amax
2380 IF (ecm.LE.50.0d0)
THEN
2381 amdiff = amo*(amu/amo)**
r
2384 IF (ecm.LE.300.0d0)
a = 0.7d0*(1.0d0-
exp(-((ecm/100.0d0)**2)))
2385 amdiff = 1.0d0/((
r/(amu**
a)+(1.0d0-
r)/(amo**
a))
2388 IF(amdiff.GT.0.5d0*ecm)go to 31
2389 IF (iouxev.GE.2)
WRITE(lout,1005) amdiff
2390 1005
FORMAT(
'VALMSD: AMDIFF',e10.5)
2396 IF (idiftp.EQ.1)
THEN
2404 ELSEIF(kproj.EQ.2)
THEN
2408 ELSEIF(kproj.EQ.8)
THEN
2414 ELSEIF(kproj.EQ.13)
THEN
2417 ELSEIF(kproj.EQ.14)
THEN
2420 ELSEIF(kproj.EQ.15)
THEN
2423 ELSEIF(kproj.EQ.16)
THEN
2426 ELSEIF(kproj.EQ.23)
THEN
2429 ELSEIF(kproj.EQ.24)
THEN
2432 ELSEIF(kproj.EQ.25)
THEN
2436 ELSE IF (idiftp.EQ.2)
THEN
2444 ELSEIF(ktarg.EQ.2)
THEN
2448 ELSEIF(ktarg.EQ.8)
THEN
2454 ELSEIF(ktarg.EQ.13)
THEN
2457 ELSEIF(ktarg.EQ.14)
THEN
2460 ELSEIF(ktarg.EQ.15)
THEN
2463 ELSEIF(ktarg.EQ.16)
THEN
2466 ELSEIF(ktarg.EQ.23)
THEN
2469 ELSEIF(ktarg.EQ.24)
THEN
2472 ELSEIF(ktarg.EQ.25)
THEN
2477 ech3 = (ecm**2+amdch3**2-amdiff**2)/(2.0d0*ecm)
2478 IF (ech3.LE.amdch3)
THEN
2480 IF (
mod(ncmerr,2200).EQ.0)
2481 &
WRITE(lout,*)
'LMSD: INEFFICIENT SELECTION OF AMDIFF(1),
2486 pch3 =
sqrt(abs(ech3-amdch3))*
sqrt(ech3+amdch3)
2487 IF (idiftp.EQ.2) pch3 = -pch3
2489 gamdc3 = ech3/amdch3
2491 IF (iouxev.GE.2)
WRITE(lout,1006) amdch3,ech3,pch3,gamdc3,pgvc3
2492 1006
FORMAT(
'VALMSD: AMDCH3,ECH3,PCH3,GAMDC3,PGVC3',5e10.5)
2497 hps =
sqrt(es*es+2.0d0*es*0.94d0)
2501 ptch3 =
sqrt(pxch3**2+pych3**2)
2502 IF (ptch3.GT.abs(pch3))
THEN
2504 IF (
mod(ncpt,500).EQ.0)
WRITE(lout,1007) ncpt
2505 1007
FORMAT(
'VALMSD: INEFFICIENT PT-SELECTION 1, NCPT=',i8)
2508 plch3 = sign(
sqrt(abs(pch3-ptch3))*
sqrt(abs(pch3+ptch3)),pch3)
2509 IF (iouxev.GE.2)
WRITE(lout,1008) es,hps,pxch3,pych3,plch3
2510 1008
FORMAT(
'VALMSD: ES,HPS,PXCH3,PYCH3,PLCH3',5e10.5)
2533 ech2 = (ecm**2+amdch2**2-amdch3**2)/(2.0d0*ecm)
2534 pch2 = -sign(
sqrt(abs(ech2-amdch2))*
sqrt(ech2+amdch2),pch3)
2536 gamdc2 = ech2/amdch2
2549 IF (idiftp.EQ.1) idiffp = ikvq2
2550 IF (idiftp.EQ.2)
THEN
2551 IF (ibproj.GT.0) idiffp = ikvq1
2552 IF (ibproj.LT.0) idifap = ikvq1
2553 IF ((ibproj.EQ.0).AND.(ikd1q1.GT.0)) idifap = ikvq1
2554 IF ((ibproj.EQ.0).AND.(ikd1q1.LT.0)) idiffp = ikvq1
2556 IF (iouxev.GE.2)
WRITE(lout,1009) amdch2,ech2,pch2,gamdc2,pgvc2,
2558 1009
FORMAT(
'VALMSD: AMDCH2,ECH2,PCH2,GAMDC2,PGVC2,IDIFFP,IDIFAP',
2562 ptch2 =
sqrt(pxch2**2+pych2**2)
2563 IF (ptch2.GT.abs(pch2))
THEN
2565 IF (
mod(ncpt,500).EQ.0)
WRITE(lout,1010) ncpt
2566 1010
FORMAT(
'VALMSD: INEFFICIENT PT-SELECTION 2, NCPT=',i8)
2569 plch2 = sign(
sqrt(abs(pch2-ptch2))*
sqrt(abs(pch2+ptch2)),pch2)
2570 IF (iouxev.GE.2)
WRITE(lout,1011) pxch2,pych2,plch2
2571 1011
FORMAT(
'VALMSD: PXCH2,PYCH2,PLCH2',3e10.5)
2572 cc = amdch2/(2.0d0*ech2)
2574 IF (cc.GE.0.5d0)
THEN
2576 IF (
mod(ncmerr,200).EQ.0)
2577 &
WRITE(lout,*)
'LMSD: INEFFICIENT SELECTION OF AMDIFF(2),
2582 xdiq = 0.5d0+
sqrt(abs((0.5d0-cc)*(0.5d0+cc)))
2586 temp = abs(ediq/pch2)
2609 pgxvc2 = pxch2/amdch2
2610 pgyvc2 = pych2/amdch2
2611 pgzvc2 = plch2/amdch2
2612 pgxvc3 = pxch3/amdch3
2613 pgyvc3 = pych3/amdch3
2614 pgzvc3 = plch3/amdch3
2617 WRITE(lout,*)
'VALMSD: PDQ1, PDD2, PDD1, PDQ2, PDFQ1'
2619 & (pdq1(i),pdd2(i),pdd1(i),pdq2(i),pdfq1(i),i=1,4)
2621 WRITE(lout,1013)
'PGXVC1,PGYVC1,PGZVC1,GAMDC1',
2622 & pgxvc1,pgyvc1,pgzvc1,gamdc1
2623 WRITE(lout,1013)
'PGXVC2,PGYVC2,PGZVC2,GAMDC2',
2624 & pgxvc2,pgyvc2,pgzvc2,gamdc2
2625 WRITE(lout,1013)
'PGXVC3,PGYVC3,PGZVC3,GAMDC3',
2626 & pgxvc3,pgyvc3,pgzvc3,gamdc3
2627 1013
FORMAT(a27,4f10.5)
2635 isthkk(nhkk) = 23-idiftp
2636 IF (idiftp.EQ.1) idhkk(nhkk) = ihkkq(idx(ikvq2))
2637 IF (idiftp.EQ.2) idhkk(nhkk) = ihkkq(idx(ikvq1))
2638 IF (idiftp.EQ.1) jmohkk(1,nhkk) = itapoi
2639 IF (idiftp.EQ.2) jmohkk(1,nhkk) = 1
2643 phkk(1,nhkk) = 0.0d0
2644 phkk(2,nhkk) = 0.0d0
2647 phkk(5,nhkk) = 0.0d0
2648 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
2649 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
2650 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2651 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2654 isthkk(nhkk) = 23-idiftp
2655 IF (idiftp.EQ.1) idhkk(nhkk) = ihkkqq(idx(ikd1q2),idx(ikd2q2))
2656 IF (idiftp.EQ.2) idhkk(nhkk) = ihkkqq(idx(ikd1q1),idx(ikd2q1))
2657 IF (idiftp.EQ.1) jmohkk(1,nhkk) = itapoi
2658 IF (idiftp.EQ.2) jmohkk(1,nhkk) = 1
2662 phkk(1,nhkk) = 0.0d0
2663 phkk(2,nhkk) = 0.0d0
2666 phkk(5,nhkk) = 0.0d0
2667 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
2668 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
2669 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2670 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2675 isthkk(nhkk) = 100+isthkk(nhkk-2)
2676 idhkk(nhkk) = idhkk(nhkk-2)
2677 jmohkk(1,nhkk) = nhkk-2
2678 jmohkk(2,nhkk) = jmohkk(1,nhkk-2)
2679 jdahkk(1,nhkk) = nhkk+2
2680 jdahkk(2,nhkk) = nhkk+2
2681 phkk(1,nhkk) = pdq2(1)
2682 phkk(2,nhkk) = pdq2(2)
2683 phkk(3,nhkk) = pdq2(3)
2684 phkk(4,nhkk) = pdq2(4)
2685 phkk(5,nhkk) = 0.0d0
2688 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))+xxpp
2689 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))+yypp
2690 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2691 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2694 isthkk(nhkk) = 100+isthkk(nhkk-2)
2695 idhkk(nhkk) = idhkk(nhkk-2)
2696 jmohkk(1,nhkk) = nhkk-2
2697 jmohkk(2,nhkk) = jmohkk(1,nhkk-2)
2698 jdahkk(1,nhkk) = nhkk+1
2699 jdahkk(2,nhkk) = nhkk+1
2700 phkk(1,nhkk) = pdd1(1)
2701 phkk(2,nhkk) = pdd1(2)
2702 phkk(3,nhkk) = pdd1(3)
2703 phkk(4,nhkk) = pdd1(4)
2704 phkk(5,nhkk) = 0.0d0
2707 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))+xxpp
2708 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))+yypp
2709 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2710 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2717 jmohkk(1,nhkk) = nhkk-2
2718 jmohkk(2,nhkk) = nhkk-1
2721 phkk(1,nhkk) = pxch2
2722 phkk(2,nhkk) = pych2
2723 phkk(3,nhkk) = plch2
2725 phkk(5,nhkk) = amdch2
2726 vhkk(1,nhkk) = vhkk(1,nhkk-1)
2727 vhkk(2,nhkk) = vhkk(2,nhkk-1)
2728 vhkk(3,nhkk) = vhkk(3,nhkk-1)
2729 IF ((betp.NE.0.0d0).AND.(bgamp.NE.0.0d0))
2730 &vhkk(4,nhkk) = vhkk(3,nhkk)/betp-vhkk(3,nhkk-2)/bgamp
2737 IF (idiftp.EQ.2) jmohkk(1,nhkk) = itapoi
2738 IF (idiftp.EQ.1) jmohkk(1,nhkk) = 1
2742 phkk(1,nhkk) = pdfq1(1)
2743 phkk(2,nhkk) = pdfq1(2)
2744 phkk(3,nhkk) = pdfq1(3)
2745 phkk(4,nhkk) = pdfq1(4)
2746 phkk(5,nhkk) = amdch3
2747 vhkk(1,nhkk) = vhkk(1,jmohkk(1,nhkk))
2748 vhkk(2,nhkk) = vhkk(2,jmohkk(1,nhkk))
2749 vhkk(3,nhkk) = vhkk(3,jmohkk(1,nhkk))
2750 vhkk(4,nhkk) = vhkk(4,jmohkk(1,nhkk))
2756 px = pdq1(1)+pdq2(1)+pdd1(1)+pdd2(1)+pdfq1(1)
2757 py = pdq1(2)+pdq2(2)+pdd1(2)+pdd2(2)+pdfq1(2)
2758 pz = pdq1(3)+pdq2(3)+pdd1(3)+pdd2(3)+pdfq1(3)
2759 ee = ecm-(pdq1(4)+pdq2(4)+pdd1(4)+pdd2(4)+pdfq1(4))
2760 WRITE(lout,*)
'VALMSD: ENERGY-MOMENTUM-CHECK (PX,PY,PZ,E)'
2761 WRITE(lout,
'(5F12.6)')
px,
py,
pz,ee,ecm
2767 IF (
mod(ncrej,500).EQ.0)
WRITE(lout,9900) ncrej
2768 9900
FORMAT(
'REJECTION IN VALMSD ',i10)
2786 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
2788 parameter(lout=6,llook=9)
2789 parameter(
nmxhkk= 89998,
intmx=2488,naumax=897,nfimax=249)
2790 CHARACTER*8 aname,anc,anf
2791 COMMON /hkkevt/ nhkk,nevhkk, isthkk(
nmxhkk), idhkk(
nmxhkk),
2794 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
2795 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),iich(210),
2796 & iibar(210),k1(210),k2(210)
2797 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
2798 COMMON /difpar/ pxc(902), pyc(902),pzc(902),
2799 & hec(902), amc(902),ichc(902),
2800 & ibarc(902),anc(902),nrc(902)
2801 COMMON /dfinpa/ anf(nfimax),pxf(nfimax),pyf(nfimax),
2802 & pzf(nfimax),hef(nfimax),amf(nfimax),
2803 & ichf(nfimax),ibarf(nfimax),nref(nfimax)
2804 COMMON /dfinpz/iormo(nfimax),idaug1(nfimax),idaug2(nfimax),
2806 COMMON /abrdif/ xdq1,xdq2,xddq1,xddq2,
2807 & ikvq1,ikvq2,ikd1q1,ikd2q1,ikd1q2,ikd2q2,
2809 & amdch1,amdch2,amdch3,gamdc1,gamdc2,gamdc3,
2810 & pgxvc1,pgyvc1,pgzvc1,pgxvc2,pgyvc2,pgzvc2,
2811 & pgxvc3,pgyvc3,pgzvc3,ndch1,ndch2,ndch3,
2812 & ikdch1,ikdch2,ikdch3,
2813 & pdq1(4),pdq2(4),pdd1(4),pdd2(4),pdfq1(4)
2814 COMMON /dinpda/ imps(6,6),imve(6,6),ib08(6,21),ib10(6,21),
2815 & ia08(6,21),ia10(6,21),
2816 & a1,b1,b2,b3,lt,le,bet,as,b8,ame,diq,isu
2817 COMMON /enerin/ eproj,etarg
2818 COMMON /difout/ amchdi,ttt,nnaux,kproj,ktarg
2820 common/xxlmdd/ijlmdd,kdlmdd
2822 COMMON /bufueh/ annvv,annss,annsv,annvs,anncc,
2823 * anndv,annvd,annds,annsd,
2825 * ptvv,ptss,ptsv,ptvs,ptcc,ptdv,ptvd,ptds,ptsd,
2827 * eevv,eess,eesv,eevs,eecc,eedv,eevd,eeds,eesd,
2830 * ,annzd,anndz,ptzd,ptdz,eezd,eedz
2833 dimension poj1(4),pat1(4),poj2(4),pat2(4)
2844 IF (isd.EQ.1) imoh1 = nhkk-4
2845 ibproj = iibar(ijproj)
2846 ibtar = iibar(ijtar)
2850 IF (ipev.GE.2)
WRITE(lout,1100) isd
2851 1100
FORMAT(
'HADRDI: ISD ',i3)
2855 IF ((ibproj.NE.0).AND.(idiftp.EQ.2)) nunuc2 = 6
2856 IF ((ibtar .NE.0).AND.(idiftp.EQ.1)) nunuc2 = 4
2857 IF (idiftp.EQ.2)
THEN
2872 IF (idiftp.EQ.1)
THEN
2878 ELSE IF ((idiftp.EQ.2).AND.(ikvq1.GT.0))
THEN
2884 ELSE IF ((idiftp.EQ.2).AND.(ikvq1.LE.0))
THEN
2891 IF ((ifb22.EQ.0).AND.(ifb23.NE.0))
THEN
2895 IF (ifb11.LT.0) ifb11 = iabs(ifb11)+6
2896 IF (ifb12.LT.0) ifb12 = iabs(ifb12)+6
2897 IF (ifb21.LT.0) ifb21 = iabs(ifb21)+6
2898 IF (ifb22.LT.0) ifb22 = iabs(ifb22)+6
2899 IF (ifb23.LT.0) ifb23 = iabs(ifb23)+6
2906 WRITE(lout,1000) nhad,ikdch1,nunuc1,ndch1,ifb11,ifb12,
2908 WRITE(lout,1001) (poj1(i),i=1,4)
2909 WRITE(lout,1002) (pat1(i),i=1,4)
2910 WRITE(lout,1003) gamdc1,pgxvc1,pgyvc1,pgzvc1,amdch1
2911 1000
FORMAT(
'HADRDI: NHAD,IKDCH1,NUNUC1,NDCH1,IFB11,IFB12',
2912 &
', IFB13,IFB14 ',8i4)
2913 1001
FORMAT(
'HADRDI: POJ1 ',4e15.5)
2914 1002
FORMAT(
'HADRDI: PAT1 ',4e15.5)
2915 1003
FORMAT(
'HADRDI: GAMDC1,PGXVC1,PGYVC1,PGZVC1,AMDCH1',5f10.5)
2917 CALL
hadjet(nhad,amdch1,poj1,pat1,gamdc1,pgxvc1,
2918 & pgyvc1,pgzvc1,ifb11,ifb12,ifb13,ifb14,
2919 & ikdch1,ikdch1,nunuc1,ndch1,7)
2922 IF (nhad.EQ.0) goto 13
2925 WRITE(lout,1004) nhkk
2926 1004
FORMAT(.EQ.
'HADRDI: NHKKNMXHKK',i10)
2931 IF(ibarf(j).EQ.500)go to 776
2932 echeck =
sqrt(pxf(j)**2+pyf(j)**2+pzf(j)**2+amf(j)**2)
2933 IF (abs(echeck-hef(j)).GT.0.5
d-2)
THEN
2934 WRITE(lout,1005) nhkk,echeck,hef(j),amf(j)
2935 1005
FORMAT(
'HADRDI: CHAIN 1 CORRECT INCONSISTENT ENERGY',
2942 ptdi=ptdi+
sqrt(pxf(j)**2+pyf(j)**2)
2948 ichc(naux) = ichf(j)
2949 ibarc(naux) = ibarf(j)
2956 ediff = ediff+hef(j)
2957 ptdiff = ptdiff+
sqrt(pxf(j)**2+pyf(j)**2)
2959 IF(ibarf(j).EQ.500)isthkk(nhkk)=2
2960 idhkk(nhkk) =
mpdgha(nref(j))
2961 IF(iormo(j).EQ.999)
THEN
2962 jmohkk(1,nhkk) = imoh1
2964 jmohkk(1,nhkk)=nhkkbe+iormo(j)-1
2969 phkk(1,nhkk) = pxf(j)
2970 phkk(2,nhkk) = pyf(j)
2971 phkk(3,nhkk) = pzf(j)
2972 phkk(4,nhkk) = hef(j)
2973 phkk(5,nhkk) = amf(j)
2974 imohkk = jmohkk(1,nhkk)
2975 vhkk(1,nhkk) = vhkk(1,imohkk)
2976 vhkk(2,nhkk) = vhkk(2,imohkk)
2977 vhkk(3,nhkk) = vhkk(3,imohkk)
2978 vhkk(4,nhkk) = vhkk(4,imohkk)
2979 IF (iphkk.GE.1)
THEN
2980 WRITE(lout,1006) nhkk,isthkk(nhkk),idhkk(nhkk),
2981 & jmohkk(1,nhkk),jmohkk(2,nhkk),
2982 & jdahkk(1,nhkk),jdahkk(2,nhkk)
2983 WRITE(lout,1007) (phkk(k,nhkk),k=1,5)
2984 1006
FORMAT(
'HADRDI: NHKK,ISTHKK,IDHKK,JMOHKK,JDAHKK',7i6)
2985 1007
FORMAT(
'HADRDI: PHKK ',5f10.5)
2989 IF ((nhad.GT.0).AND.(isd.EQ.1))
THEN
2990 jdahkk(1,imoh1) = nhkkbe
2991 jdahkk(2,imoh1) = nhkk
3000 WRITE(lout,1008) nhad,ikdch2,nunuc2,ndch2,ifb21,ifb22,
3002 WRITE(lout,1009) (poj2(i),i=1,4)
3003 WRITE(lout,1010) (pat2(i),i=1,4)
3004 WRITE(lout,1011) gamdc2,pgxvc2,pgyvc2,pgzvc2,amdch2
3005 1008
FORMAT(
'HADRDI: NHAD,IKDCH2,NUNUC2,NDCH2,IFB21,IFB22,
3006 & IFB23,IFB24 ',8i4)
3007 1009
FORMAT(
'HADRDI: POJ2 ',4e15.5)
3008 1010
FORMAT(
'HADRDI: PAT2 ',4e15.5)
3009 1011
FORMAT(
'HADRDI: GAMDC2,PGXVC2,PGYVC2,PGZVC2,AMDCH2',5f10.5)
3011 CALL
hadjet(nhad,amdch2,poj2,pat2,gamdc2,pgxvc2,
3012 & pgyvc2,pgzvc2,ifb21,ifb22,ifb23,ifb24,
3013 & ikdch2,ikdch2,nunuc2,ndch2,8)
3016 IF (nhad.EQ.0) goto 15
3019 WRITE(lout,1012) nhkk
3020 1012
FORMAT(.EQ.
'HADRDI: NHKKNMXHKK',i10)
3025 IF(ibarf(j).EQ.500)go to 775
3026 echeck =
sqrt(pxf(j)**2+pyf(j)**2+pzf(j)**2+amf(j)**2)
3027 IF (abs(echeck-hef(j)).GT.0.5
d-2)
THEN
3028 WRITE(lout,1013) nhkk,echeck,hef(j),amf(j)
3029 1013
FORMAT(
'HADRDI: CHAIN 2 CORRECT INCONSISTENT ENERGY',
3036 ptdi=ptdi+
sqrt(pxf(j)**2+pyf(j)**2)
3042 ichc(naux) = ichf(j)
3043 ibarc(naux) = ibarf(j)
3050 ediff = ediff+hef(j)
3051 ptdiff = ptdiff+
sqrt(pxf(j)**2+pyf(j)**2)
3053 IF(ibarf(j).EQ.500)isthkk(nhkk)=2
3054 idhkk(nhkk) =
mpdgha(nref(j))
3055 IF(iormo(j).EQ.999)
THEN
3056 jmohkk(1,nhkk) = imoh2
3058 jmohkk(1,nhkk)=nhkkbe+iormo(j)-1
3063 phkk(1,nhkk) = pxf(j)
3064 phkk(2,nhkk) = pyf(j)
3065 phkk(3,nhkk) = pzf(j)
3066 phkk(4,nhkk) = hef(j)
3067 phkk(5,nhkk) = amf(j)
3068 imohkk = jmohkk(1,nhkk)
3069 vhkk(1,nhkk) = vhkk(1,imohkk)
3070 vhkk(2,nhkk) = vhkk(2,imohkk)
3071 vhkk(3,nhkk) = vhkk(3,imohkk)
3072 vhkk(4,nhkk) = vhkk(4,imohkk)
3073 IF (iphkk.GE.2)
THEN
3074 WRITE(lout,1014) nhkk,isthkk(nhkk),idhkk(nhkk),
3075 & jmohkk(1,nhkk),jmohkk(2,nhkk),
3076 & jdahkk(1,nhkk),jdahkk(2,nhkk)
3077 WRITE(lout,1015) (phkk(k,nhkk),k=1,5)
3078 1014
FORMAT(
'HADRDI: NHKK,ISTHKK,IDHKK,JMOHKK,JDAHKK',7i6)
3079 1015
FORMAT(
'HADRDI: PHKK ',5f10.5)
3084 jdahkk(1,imoh2) = nhkkbe
3085 jdahkk(2,imoh2) = nhkk
3091 IF (idiftp.EQ.1)
THEN
3093 amc(naux) = aam(kdlmdd)
3094 ichc(naux) = iich(kdlmdd)
3095 ibarc(naux) = iibar(kdlmdd)
3096 anc(naux) = aname(kdlmdd)
3098 ELSEIF(ijlmdd.EQ.0)
THEN
3099 amc(naux) = aam(ijproj)
3100 ichc(naux) = iich(ijproj)
3101 ibarc(naux) = iibar(ijproj)
3102 anc(naux) = aname(ijproj)
3105 ELSEIF (idiftp.EQ.2)
THEN
3107 amc(naux) = aam(kdlmdd)
3108 ichc(naux) = iich(kdlmdd)
3109 ibarc(naux) = iibar(kdlmdd)
3110 anc(naux) = aname(kdlmdd)
3112 ELSEIF(ijlmdd.EQ.0)
THEN
3113 amc(naux) = aam(ijtar)
3114 ichc(naux) = iich(ijtar)
3115 ibarc(naux) = iibar(ijtar)
3116 anc(naux) = aname(ijtar)
3120 pxc(naux) = pdfq1(1)
3121 pyc(naux) = pdfq1(2)
3122 pzc(naux) = pdfq1(3)
3123 hec(naux) = pdfq1(4)
3126 ptdi=ptdi+
sqrt(pxc(naux)**2+pyc(naux)**2)
3130 idhkk(nhkk) =
mpdgha(nrc(naux))
3131 IF(iormo(j).EQ.999)
THEN
3132 jmohkk(1,nhkk) = imoh3
3134 jmohkk(1,nhkk)=nhkkbe+iormo(j)-1
3141 jdahkk(2,nhkk) = 1000
3143 phkk(1,nhkk) = pxc(naux)
3144 phkk(2,nhkk) = pyc(naux)
3145 phkk(3,nhkk) = pzc(naux)
3146 phkk(4,nhkk) = hec(naux)
3147 phkk(5,nhkk) = amc(naux)
3148 jdahkk(1,imoh3)= nhkk
3149 imohkk = jmohkk(1,nhkk)
3150 vhkk(1,nhkk) = vhkk(1,imohkk)
3151 vhkk(2,nhkk) = vhkk(2,imohkk)
3152 vhkk(3,nhkk) = vhkk(3,imohkk)
3153 vhkk(4,nhkk) = vhkk(4,imohkk)
3154 IF (iphkk.GE.2)
THEN
3155 WRITE(lout,1016) nhkk,isthkk(nhkk),idhkk(nhkk),
3156 & jmohkk(1,nhkk),jmohkk(2,nhkk),
3157 & jdahkk(1,nhkk),jdahkk(2,nhkk)
3158 WRITE(lout,1017) (phkk(k,nhkk),k=1,5)
3159 1016
FORMAT(
'HADRDI: NHKK,ISTHKK,IDHKK,JMOHKK,JDAHKK',7i6)
3160 1017
FORMAT(
'HADRDI: PHKK ',5f10.5)
3164 WRITE(lout,*)
'HADRDI: DIFFRACTIVE JET-HADRONS'
3165 WRITE(lout,1018)i,pxc(i),pyc(i),pzc(i),hec(i),amc(i),
3166 & ichc(i),ibarc(i),nrc(i),anc(i)
3167 1018
FORMAT(i5,5f12.4,3i5,a10)
3172 amchdi =
sqrt(edi**2-pxdi**2-pydi**2-pldi**2)
3173 IF (idiftp.EQ.1) ttt=2*aam(ijproj)**2-2.*(eproj*hec(naux)
3174 & -
sqrt(eproj**2-aam(ijproj)**2)*pzc(naux))
3175 IF (idiftp.EQ.2) ttt=2*aam(ijtar)**2-2.*(etarg*hec(naux)
3176 & +
sqrt(etarg**2-aam(ijtar)**2)*pzc(naux))
3178 WRITE(lout,1019) amchdi,ttt
3179 1019
FORMAT(
'HADRDI: AMCHDI,TTT ',2f10.5)
3189 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3191 parameter(lout=6,llook=9)
3193 CHARACTER*8 aname,anc
3194 COMMON /hkkevt/ nhkk,nevhkk, isthkk(
nmxhkk), idhkk(
nmxhkk),
3197 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
3198 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),iich(210),
3199 & iibar(210),k1(210),k2(210)
3200 COMMON /difpar/ pxc(902), pyc(902),pzc(902),
3201 & hec(902), amc(902),ichc(902),
3202 & ibarc(902),anc(902),nrc(902)
3203 COMMON /enerin/ eproj,etarg
3204 COMMON /nncms/ dgamcm,dbgcm,ecm,dpcm,deproj,dpproj
3205 COMMON /dhisto/ xyl(51,10),yyl(51,10),yylps(51,10),xxfl(51,10),
3206 & yxfl(51,10),tdtdm(40,24),dsdtdm(40,24),
3207 & amdm(24,40),dsdm(24,40),ave(30),avmult(30),
3208 & yxflch(51),yxflpi(51)
3209 COMMON /difout/ amch,
tt,nhad,kproj,ktarg
3210 COMMON /diffra/ isingd,idiftp,ioudif,iflagd
3211 COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
3212 COMMON /evflag/ numev
3213 dimension indx(28),
px(902),
py(902),
pz(902),he(902),am(902),
3217 DATA indx/ 1,8,10,10,10, 10,7,2,7,10,
3218 & 10,7,3,4,5, 6,7,7,7,7,
3242 xxfl(j,i) = j*dxfl-1.0d0
3244 xyl(j,i) = (j-24)*
dy-
dy/2.0d0
3253 amdm(j,i) = (j*ddm-ddm/2.0d0)**2
3255 amdm(j,i) = log10(amdm(j,i))
3266 IF (
mod(ncev,2000).EQ.0)
WRITE(lout,*) ncev
3269 DO 21 i=nhkkh1+1,nhkk
3270 IF ((isthkk(i).EQ.1).AND.(jmohkk(2,i).NE.100).AND.
3271 & (jdahkk(1,i).EQ.0))
THEN
3284 WRITE(lout,*)
'DIADIF: PX,PY,PZ,HE,AM,NR,ICH'
3286 WRITE(lout,*)
px(i),
py(i),
pz(i),he(i),am(i),nr(i),ich(i)
3287 1000
FORMAT(5f12.5,2i4)
3295 epcm = (aam(ijproj)**2-aam(1)**2+ecm**2)/(2.0d0*ecm)
3296 p0 =
sqrt((epcm-aam(ijproj))*(epcm+aam(ijproj)))
3298 avmult(30) = avmult(30)+ihad
3301 IF (nre.GT.25) nre = 28
3302 IF (nre.LT. 1) nre = 28
3304 IF (nre.EQ.28) ni = 8
3305 ave(nre) = ave(nre)+he(i)
3306 ave(30) = ave(30) +he(i)
3307 IF (ni.NE.6) ave(29) = ave(29)+he(i)
3308 avmult(nre) = avmult(nre)+1.0d0
3309 IF (ni.NE.6) avmult(29) = avmult(29)+1.0d0
3310 IF (ich(i).NE.0) ave(27) = ave(27)+he(i)
3311 IF (ich(i).NE.0) avmult(27) = avmult(27)+1.0d0
3319 IF (ixfl.LT.1 ) ixfl=1
3320 IF (ixfl.GT.50) ixfl=50
3324 yxflpi(ixfl) = yxflpi(ixfl)+xfle
3326 IF ((ich(i).GT.0).AND.(nre.NE.1))
THEN
3328 yxflch(ixfl) = yxflch(ixfl)+xfle
3330 IF (ich(i).NE.0) yxfl(ixfl,9) = yxfl(ixfl,9)+xxxfl
3331 yxfl(ixfl,ni) = yxfl(ixfl,ni)+xxxfl
3332 yxfl(ixfl,10) = yxfl(ixfl,10)+xxxfl
3333 ptt =
px(i)**2+
py(i)**2
3334 amt =
sqrt(ptt+am(i)**2)
3335 yl = 0.5d0*
log(abs((he(i)+
pz(i)+1.
d-10)
3336 & /(he(i)-
pz(i)+1.
d-10)))
3338 & /
sqrt(ptt+1.
d-6)+1.
d-18))
3339 iylps = (ylps+25.0d0*
dy)/
dy
3340 IF (iylps.LT.1) iylps = 1
3341 IF (iylps.GT.51) iylps = 51
3342 yylps(iylps,ni) = yylps(iylps,ni)+1.0d0
3343 yylps(iylps,10) = yylps(iylps,10)+1.0d0
3344 IF (ich(i).NE.0) yylps(iylps,9) = yylps(iylps,9)+1.0d0
3345 iyl = (yl+25.0d0*
dy)/
dy
3346 IF (iyl.LT.1) iyl = 1
3347 IF (iyl.GT.51) iyl = 51
3348 IF (ich(i).NE.0) yyl(iyl,9) = yyl(iyl,9)+1.0d0
3349 yyl(iyl,ni) = yyl(iyl,ni)+1.0d0
3350 yyl(iyl,10) = yyl(iyl,10)+1.0d0
3352 kpl = (amch+ddm+ddm/2.0d0)/ddm
3353 IF (kpl.GT.24) kpl=24
3355 itt = 10.0d0*abs(
tt)+1
3356 IF (itt.GT.40) itt = 40
3362 IF(nch.NE.0) yxflch(j) = yxflch(j)/(nch*dxfl)
3363 IF(npi.NE.0) yxflpi(j) = yxflpi(j)/(npi*dxfl)
3365 yxfl(j,i) = log10(abs(yxfl(j,i) /(nevt*dxfl))+1.0
d-8)
3366 yyl(j,i) = yyl(j,i) /(nevt*
dy)
3367 yylps(j,i)= yylps(j,i)/(nevt*
dy)
3371 avmult(i) = avmult(i)/nevt
3372 ave( i) = ave(i) /nevt
3376 dsdtdm(i,j) = dsdtdm(i,j)/nevt
3377 dsdtdm(i,j) = log10(dsdtdm(i,j))
3378 dsdm(j,i) = dsdtdm(i,j)
3381 WRITE(lout,*)
'NAME,AVE,AVMULT'
3383 WRITE(lout,210) aname(i),ave(i),avmult(i)
3384 210
FORMAT(
' ',a8,2f15.5)
3387 100
FORMAT(
'1 RAPIDITY DISTRIBUTION')
3389 WRITE(lout,200) xyl(j,1),(yyl(j,i),i=1,10)
3391 200
FORMAT (f10.2,10e11.3)
3393 CALL
plot(xyl,yyl,510,10,51,-25.*
dy,
dy,0.,0.03)
3395 101
FORMAT(
'1 PSEUDORAPIDITY DISTRIBUTION')
3396 CALL
plot(xyl,yylps,510,10,51,-25.*
dy,
dy,0.,0.03)
3398 102
FORMAT (
'1 LONG MOMENTUM (SCALED) DISTRIBUTION (LOG)')
3399 CALL
plot(xxfl,yxfl,510,10,51,-1.,dxfl,-3.5,0.05)
3401 103
FORMAT (
'1DISTRIBUTION DS/DTDM AS FUNCTION OF T ')
3402 CALL
plot(tdtdm,dsdtdm,960,24,40,0.,0.04,-5.,0.05)
3404 104
FORMAT (
'1DISTRIBUTION DS/DTDM AS FUNCTION OF M**2 ')
3405 CALL
plot(amdm,dsdm,960,40,24,2.,0.1,-5.,0.05)
3406 IF (ijproj.EQ.13) sig = 66.0d0
3407 IF (ijproj.EQ.14) sig = 66.0d0
3408 IF (ijproj.EQ.15) sig = 54.9d0
3409 IF (ijproj.EQ.1) sig = 95.0d0
3413 WRITE(lout,*)
'FEYNMAN-DISTRIBUTION FOR PION-'
3415 WRITE(lout,
'(2F15.5)')
3416 & dxfl*(i-1)-1,sig*yxflpi(i)
3417 WRITE(lout,
'(2F15.5)')
3418 & dxfl*i-1,sig*yxflpi(i)
3420 WRITE(lout,*)
'FEYNMAN-DISTRIBUTION FOR CHARGED PARTICLES'
3422 WRITE(lout,
'(2F15.5)')
3423 & dxfl*(i-1)-1,sigch*yxflch(i)
3424 WRITE(lout,
'(2F15.5)')
3425 & dxfl*i-1,sigch*yxflch(i)
3433 SUBROUTINE sihndi(ECM,KPROJ,KTARG,SIGDIF,SIGDIH)
3445 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3448 COMMON /dpar/ aname(210),am(210),ga(210),
tau(210),iich(210),
3449 & iibar(210),k1(210),k2(210)
3452 csd4 = -0.4763103556
e-02
3455 chmsd1 = 0.8519297242
3456 chmsd4 = -0.1443076599
e-01
3457 chmsd5 = 0.4014954567
3459 epn = (ecm**2 - am(kproj)**2 - am(ktarg)**2)/(2.0d0*am(ktarg))
3460 ppn =
sqrt((epn-am(kproj))*(epn+am(kproj)))
3462 sdiapp = csd1+csd4*
log(ppn)**2+csd5*
log(ppn)
3463 shmsd = chmsd1+chmsd4*
log(ppn)**2+chmsd5*
log(ppn)
3466 goto( 10, 20,999,999,999,999,999, 10, 20,999,
3467 & 999, 20, 20, 20, 20, 20, 10, 20, 20, 10,
3468 & 10, 10, 20, 20, 20) kproj
3474 csd4 = -0.1257784606
e-03
3476 sigdif = csd1+csd4*
log(ppn)**2+csd5*
log(ppn)
3479 sigdih = frac*sigdif
3486 f = sdiapp/
dshnto(kpscal,ktscal,ecm)
3489 sigdif =
dshnto(kproj,kt,ecm)*
f
3491 sigdih = frac*sigdif
3503 DOUBLE PRECISION FUNCTION dshnto(KPROJ,KTARG,UMO)
3516 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3519 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),iich(210),
3520 & iibar(210),k1(210),k2(210)
3521 COMMON /strufu/istrum,istrut
3522 dimension sqs(20),siiv(20),sqs22(40),siiv22(40)
3523 DATA sqs /20.,50.,100.,200.,500.,1000.,1500.,2000.,3000.,
3524 *4000.,6000.,8000.,10000.,15000.,20000.,30000.,40000.,
3525 *60000.,80000.,100000/
3526 DATA siiv /41.6,44.6,47.9,52.3,60.,67.2,71.4,75.,79.,82.4,
3527 *87.2,90.4,93.2,97.3,100.7,104.7,107.9,111.7,114.7,117.2/
3529 *53.,69.,91.,119.,156.,205.,268.,351.,460.,603.,
3530 *790.,1036.,1357.,1778.,2329.,
3531 *3053.,3999.,5239.,6865.,8994.,
3532 *11785.,15441.,20232.,26509.,34733.,
3533 *45509.,59627.,78126.,102365.,134123.,
3534 *175734.,230255.,301690.,395288.,517925.,
3535 *678609.,889144.,1164997.,1526432.,2000000.
3538 *44.3,45.3,46.5,47.8,49.3,51.0,53.0,55.3,57.9,60.9,
3539 *64.3,68.0,72.0,76.3,80.8,85.4,90.0,94.7,99.3,103.9,
3540 *108.4,112.8,117.2,121.4,125.6,
3541 *129.8,133.9,138.0,142.0,146.1,
3542 *150.2,154.3,158.5,162.7,166.9,
3543 *171.2,175.6,180.0,184.6,189.1
3560 param1 = 34.94235992
3561 param4 = 0.2104312854
3562 param5 = -0.4509592056
e-01
3569 epn = (umo**2-aam(kproj)**2-aam(ktarg)**2)/(2.0d0*aam(ktarg))
3570 po =
sqrt((epn-aam(kproj))*(epn+aam(kproj)))
3574 IF (ktarg.EQ.8)
THEN
3575 goto( 30, 40,999,999,999,999,999, 10, 20,999,
3576 & 999,140, 70, 60,150,160,100, 20,140, 10,
3577 & 10, 10,110,130,120) kproj
3579 goto( 10, 20,999,999,999,999,999, 30, 40,999,
3580 & 999, 50, 60, 70, 80, 90,100, 20, 50, 10,
3581 & 10, 10,110,120,130) kproj
3586 IF (po.LE.3.0d0)
THEN
3588 ELSE IF ((po.GT.3.0d0).AND.(umo.LE.100.0d0))
THEN
3599 IF (po.LE.5.0d0)
THEN
3601 ELSE IF ((po.GT.5.0d0).AND.(umo.LE.200.0d0))
THEN
3614 IF (po.LE.3.0d0)
THEN
3616 ELSE IF ((po.GT.3.0d0).AND.(po.LE.370.0d0))
THEN
3621 ELSE IF ((po.GT.370.0d0).AND.(umo.LE.110.0d0))
THEN
3633 IF (po.LE.1.1d0)
THEN
3635 ELSE IF ((po.GT.1.1d0).AND.(po.LE.280.0d0))
THEN
3641 ELSE IF ((po.GT.280.0d0).AND.(umo.LE.110.0d0))
THEN
3656 IF (
r.LE.0.5d0)
THEN
3666 IF (po.LE.4.0d0)
THEN
3668 ELSE IF ((po.GT.4.0d0).AND.(po.LE.340.0d0))
THEN
3674 ELSE IF ((po.GT.340.0d0).AND.(umo.LE.47.0d0))
THEN
3688 IF (po.LE.2.5d0)
THEN
3690 ELSE IF ((po.GT.2.5d0).AND.(po.LE.370.0d0))
THEN
3697 ELSE IF ((po.GT.370.0d0).AND.(umo.LE.47.0d0))
THEN
3709 IF (po.LE.2.0d0)
THEN
3711 ELSE IF ((po.GT.2.0d0).AND.(po.LE.310.0d0))
THEN
3716 ELSE IF ((po.GT.310.0d0).AND.(umo.LE.110.0d0))
THEN
3730 IF (po.LE.3.0d0)
THEN
3732 ELSE IF ((po.GT.3.0d0).AND.(po.LE.310.0d0))
THEN
3737 ELSE IF ((po.GT.310.0d0).AND.(umo.LE.110.0d0))
THEN
3749 IF (po.LE.0.6d0)
THEN
3751 ELSE IF ((po.GT.0.6d0).AND.(po.LE.21.0d0))
THEN
3768 IF (po.LE.2.0d0)
THEN
3770 ELSE IF ((po.GT.2.0d0).AND.(po.LE.310.0d0))
THEN
3782 IF (po.LE.1.8d0)
THEN
3784 ELSE IF ((po.GT.1.8d0).AND.(po.LE.310.0d0))
THEN
3797 IF (
r.LE.0.5d0)
THEN
3807 IF (po.LE.2.0d0)
THEN
3809 ELSE IF ((po.GT.2.0d0).AND.(po.LE.310.0d0))
THEN
3820 IF (po.LE.1.8d0)
THEN
3822 ELSE IF ((po.GT.1.8d0).AND.(po.LE.310.0d0))
THEN
3832 CALL
sihnel(kproj,ktarg,po,sel)
3838 stot =
f1*(ca+cb*po**cn+cc*(
log(po))**2+
cd*
log(po))
3842 IF(istrum.EQ.14.AND.istrut.EQ.2)
THEN
3844 IF(umo.LE.sqs(i))go to 702
3848 IF ((i.EQ.20).AND.(umo.GT.sqs(20)))
THEN
3849 tepp=siiv(20)+(
log(umo)-
log(sqs(20)))*(siiv(20)-siiv(19))/
3850 * (
log(sqs(20))-
log(sqs(19)))
3853 tepp=siiv(i-1)+(umo-sqs(i-1))*(siiv(i)-siiv(i-1))/
3857 ELSEIF(istrum.EQ.22.AND.istrut.EQ.2)
THEN
3859 IF(umo.LE.sqs22(i))go to 712
3863 IF ((i.EQ.40).AND.(umo.GT.sqs22(40)))
THEN
3864 tepp=siiv22(40)+(
log(umo)-
log(sqs22(40)))*
3865 * (siiv22(40)-siiv22(39))/
3866 * (
log(sqs22(40))-
log(sqs22(39)))
3869 tepp=siiv22(i-1)+(umo-sqs22(i-1))*(siiv22(i)-siiv22(i-1))/
3870 * (sqs22(i)-sqs22(i-1))
3874 stot =
f1*(param1+param4*
log(po)**2+param5*
log(po))
3879 stot =
f1*(a1+a2*(
log(umo2/a3))**2+a4/umo2+a5*umo2**a6)
3882 IF ((ipio.EQ.1).AND.(kproj.EQ.13))
THEN
3887 IF ((ipio.EQ.1).AND.(kproj.EQ.14))
THEN
3889 stot = 0.5d0*(spio1+spio2)
3902 DOUBLE PRECISION FUNCTION dshnel(KPROJ,KTARG,UMO)
3912 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3915 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),iich(210),
3916 & iibar(210),k1(210),k2(210)
3929 param1 = 7.789333344
3930 param4 = 0.7488331199
e-01
3931 param5 = -0.6963931322
3934 epn = (umo**2-aam(kproj)**2-aam(ktarg)**2)/(2.0d0*aam(ktarg))
3935 po =
sqrt((epn-aam(kproj))*(epn+aam(kproj)))
3939 goto( 10, 10,999,999,999,999,999, 10, 10,999,
3940 & 999, 30, 20, 20, 20, 20, 10, 10, 30, 10,
3941 & 10, 10, 40, 20, 20) kproj
3944 IF (umo.LE.50.0d0)
THEN
3945 CALL
sihnel(kproj,ktarg,po,sel)
3953 IF (umo.LE.50.0d0)
THEN
3954 CALL
sihnel(kproj,ktarg,po,sel)
3964 IF (
r.LE.0.5d0)
THEN
3981 sel =
f1*(param1+param4*
log(po)**2+param5*
log(po))
3984 IF ((ipio.EQ.1).AND.(kproj.EQ.13))
THEN
3989 IF ((ipio.EQ.1).AND.(kproj.EQ.14))
THEN
3991 sel = 0.5d0*(spio1+spio2)