19 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
21 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
22 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
23 COMMON /haenvi/ nindep
24 COMMON /haoutl/ noutl,nouter,noutco
26 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
27 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
31 CHARACTER*8 projty,targty
32 CHARACTER*8 projty0,targty0
33 COMMON /userla1/
title,projty,targty
34 COMMON /userla2/cmener,sdfrac,ptlar,istruf ,isingd,idubld
35 COMMON /user1/title0,projty0,targty0
36 COMMON /user2/cmener0,sdfrac0,ptlar0,istruf0,isingd0,idubld0
37 COMMON /collap/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
38 common/collis/ s0, ijproj0, ijtar0, ptthr0, ptthr20, iophrd0,
50 COMMON /strufu/istrum,istrut
54 COMMON /pomene/poen(28),poen1(28),poen2(28),nestep
56 COMMON /lapene/ptthrz(28),ptthz2(28),indene
82 ptthrz(iii)=2.1+0.15*(log10(poen(iii)/50.))**3
83 ptthz2(iii)=ptthrz(iii)
84 ELSEIF(istrut.EQ.2)
THEN
85 ptthrz(iii)=2.5+0.12*(log10(poen(iii)/50.))**3
86 ptthz2(iii)=ptthrz(iii)
103 IF((istruf.GE.16).OR.(istruf.LE.20))
THEN
109 IF ( ijproj.EQ.2 ) nha =-1
112 IF ( ijtar .EQ.2 ) nhb =-1
118 DO 201 indene=1,nestep
124 ptini(1) = ptthrz(indene)
125 ptini(2) = ptthz2(indene)
147 IF ( iopt.EQ.0 ) CALL
harini
153 SUBROUTINE selhrd(MHARD,IJPVAL,IJTVAL,PTTHRE)
177 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
179 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
183 CHARACTER*8 projty,targty
184 CHARACTER*8 projty0,targty0
185 COMMON /userla1/
title,projty,targty
186 COMMON /userla2/cmener,sdfrac,ptlar,istruf ,isingd,idubld
187 COMMON /user1/title0,projty0,targty0
188 COMMON /user2/cmener0,sdfrac0,ptlar0,istruf0,isingd0,idubld0
189 COMMON /collap/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
190 common/collis/ s0, ijproj0, ijtar0, ptthr0, ptthr20, iophrd0,
198 COMMON /abrhrd/xh1(mscahd),xh2(mscahd),ijhi1(mscahd),
199 *ijhi2(mscahd),ijhf1(mscahd),ijhf2(mscahd),phard1(mscahd,4),
201 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
202 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
203 COMMON /haoutl/ noutl,nouter,noutco
204 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
205 COMMON /harslt/ lscahd,lsc1hd,
206 & etahd(mscahd,2) ,pthd(mscahd),
207 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
208 & ninhd(mscahd,2) ,nouthd(mscahd,2),
209 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
211 COMMON /pomene/poen(28),poen1(28),poen2(28),nestep
212 COMMON /lapene/ptthrz(28),ptthz2(28),indene
213 DATA x1su/0./ , x2su/0./
220 IF(cmener0.GE.poen1(ii).AND.cmener0.LT.poen2(ii))
THEN
227 ptini(1) = ptthrz(indene)
228 ptini(2) = ptthz2(indene)
232 IF (ioutpa.GE.3)
WRITE(6,221)
233 * mhard,ijpval,ijtval
234 221
FORMAT (
' SELHRD ',3i10)
249 IF( ioutpa.GT. 6 )
WRITE(6,*)
n,x1su,x2su,xh1(
n),xh2(
n)
253 IF ( iiia.GT. 0 .AND. iiia.LT.10 ) iii = sign(iiia+10,iii)
254 IF ( iiia.GE.10 ) iii = sign(iiia-10,iii)
255 IF ( iiia.GE.10 ) ijpval = 1
259 IF ( iiia.GT. 0 .AND. iiia.LT.10 ) iii = sign(iiia+10,iii)
260 IF ( iiia.GE.10 ) iii = sign(iiia-10,iii)
261 IF ( iiia.GE.10 ) ijtval = 1
269 ijhf1(
n) = nouthd(
n,1)
270 ijhf2(
n) = nouthd(
n,2)
273 phard1(
n,j) = prec(j,i3)
274 20 phard2(
n,j) = prec(j,i4)
275 phard1(
n,4) = prec(0,i3)
276 phard2(
n,4) = prec(0,i4)
281 IF (ioutpa.GE.3)
WRITE (6,101)
282 101
FORMAT(
' SELHRD OUTPUT FOR INITIAL STATE SCATTERED PARTONS')
285 *
WRITE (6,103)i,ijpval,ijtval,ijhi1(i),ijhi2(i),xh1(i),xh2(i)
286 103
FORMAT (
' I,IJPVAL,IJTVAL,IJHI1,IJHI2,XH1,XH2= ',5i5,2f12.6)
288 IF (ioutpa.GE.3)
WRITE (6,301)
289 301
FORMAT(
' SELHRD OUTPUT FOR FINAL STATE SCATTERED PARTONS')
292 *
WRITE (6,303)i,ijhf1(i),ijhf2(i),(phard1(i,iii),iii=1,4)
294 *
WRITE (6,303)i,ijhf1(i),ijhf2(i),(phard2(i,iii),iii=1,4)
295 303
FORMAT (
' I,IJHI1,IJHI2,PHARD1 OR PHARD2 ',3i5,4f16.6)
314 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
316 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
317 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
318 COMMON /haenvi/ nindep
319 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
321 pt1 =
max(pt1in,ptini(1))
332 IF ( nindep.EQ.1 ) CALL
hisfil2
346 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
348 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
349 parameter( tiny= 1.
d-30,
one=1.d0, zsmall=1.
d-3 )
350 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
351 COMMON /hapdco/ npdcor
352 COMMON /haoutl/ noutl,nouter,noutco
353 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
354 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
355 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
356 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
357 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
362 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
363 & mxsect(0:2,-1:
maxpro,28)
365 COMMON /lapene/ptthrz(28),ptthz2(28),indene
368 COMMON /harslt/ lscahd,lsc1hd,
369 & etahd(mscahd,2) ,pthd(mscahd),
370 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
371 & ninhd(mscahd,2) ,nouthd(mscahd,2),
372 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
373 itype(l) =
mod(lrec1(l),100)-50
385 IF(itry.GT.ntry) goto 301
387 xrest = xshmx-nhard*sa
388 yrest = xshmx-nhard*sa
389 IF(xrest*yrest.LT.aa)
THEN
390 WRITE(6,*)
' ****************** HAMULT ****************** '
391 WRITE(6,*)
' IT IS NOT POSSIBLE TO PRODUCE ',nhard,
' POMERONS '
399 wemax =
sqrt(1-axxmax)
405 a = (2.*ptwant/ecm)**2
409 IF ( pt1.LT.ptini(i) .AND. i.GT.1 ) goto 50
413 xsect(1,m,indene) = xsecta(1,m,i,indene)
414 xsect(2,m,indene) = xsecta(2,m,i,indene)
427 etahd(ihard,1) = etac
428 etahd(ihard,2) = etad
432 if(zmax/
a-
one.lt.zsmall)
THEN
433 CALL
xcheck(x1s,x2s,linmax)
437 wemax=
sqrt(1.-axxmax)
439 IF(ihard.LT.nhard) goto 10
442 IF ( npdcor.EQ.1 .AND.
444 & (1.-x1s)*(1.-x2s).LT.
rndm(ai)*(1.-aa*ihard)**2 ) goto 5
455 IF ( abs(it).GT.10 .AND. ival.EQ.0 )
THEN
457 ELSEIF ( abs(it).GT.10 .AND. ival.EQ.1 )
THEN
458 it = sign(abs(it)-10,it)
459 lrec1(ind) = (lrec1(ind)/100)*100+50+it
463 nouthd(i,k) = itype(ind+2)
469 IF ( ihard.NE.nhard .AND. nouter.EQ.1 )
THEN
470 WRITE(6,1010) nhard,ihard
471 1010
FORMAT(
' ###### HAMULT : CANNOT PRODUCE',i3,
' HARD SCATT.',
472 &
'; ONLY',i3,
' ARE PRODUCED !!!')
479 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
481 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
482 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
483 COMMON /hapdco/ npdcor
484 COMMON /haoutl/ noutl,nouter,noutco
485 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
486 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
487 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
488 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
492 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
493 & mxsect(0:2,-1:
maxpro,28)
495 COMMON /lapene/ptthrz(28),ptthz2(28),indene
498 COMMON /harslt/ lscahd,lsc1hd,
499 & etahd(mscahd,2) ,pthd(mscahd),
500 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
501 & ninhd(mscahd,2) ,nouthd(mscahd,2),
502 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
508 prec(1,lp) = prec(1,l)
509 prec(2,lp) = prec(2,l)
510 prec(3,lp) = prec(3,l)
511 prec(0,lp) = prec(0,l)
512 lrec1( lp) = lrec1( l)
513 lrec2( lp) = lrec2( l)
517 ELSEIF( iopt.EQ.1 )
THEN
521 IF( ptest.EQ.qtest )
THEN
526 WRITE(6,*)
' RECCHK: NO NEW LINMAX FOUND - LINMAX=',linmax
529 WRITE(6,*)
' RECCHK: IOPT OUT OF RANGE - 0 OR 1 - IOPT=',iopt
534 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
536 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
537 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
538 COMMON /hapdco/ npdcor
539 COMMON /haoutl/ noutl,nouter,noutco
540 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
541 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
542 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
543 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
544 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
549 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
550 & mxsect(0:2,-1:
maxpro,28)
552 COMMON /lapene/ptthrz(28),ptthz2(28),indene
555 COMMON /harslt/ lscahd,lsc1hd,
556 & etahd(mscahd,2) ,pthd(mscahd),
557 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
558 & ninhd(mscahd,2) ,nouthd(mscahd,2),
559 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
560 parameter(
one=1d0, zsmall=1
d-3)
564 WRITE(6,*)
' ERROR IN XCHECK : IHARD < 1 ',ihard
571 IF(xhd(i,1).GT.
xmax)
THEN
575 IF(xhd(i,2).GT.
xmax)
THEN
583 xrest=xrest+xhd(imax,1)-
sqrt(
a)
584 yrest=yrest+xhd(imax,2)-
sqrt(
a)
587 wemax=
sqrt(1.-axxmax)
595 etahd(mh,1) = etahd(i,1)
596 etahd(mh,2) = etahd(i,2)
598 nprohd(mh) = nprohd(i)
601 CALL
recchk( 4*imax,xhd1,0)
604 IF(zmax/
a-
one.LT.zsmall) goto 50
609 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
611 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
612 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
613 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
615 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
616 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06)
629 if(
rndm(1.1).gt.ww) goto 12
637 uu=umin*(
c**2+1.)/2./
c
638 if(uu.gt.2.*ym.and.uu.lt.ym+
z/ym) goto 13
645 if(xrest.ge.yrest)
then
648 if(xrest.eq.yrest)
then
649 if(
rndm(3.).gt.0.5)
then
667 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
669 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
670 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06)
671 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
672 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
673 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
674 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
676 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
678 & 3.80, 0.65, 2.00, 0.65, 0.89, 0.45, 0.445, 0.89 /
682 v =-0.5*w1/(w1+
rndm(ai)*
w)
684 r = (1.+
w)*2.25*(v*v*(3.-u*v-v/(u*u))-u)
685 rmax=rm(1)*wemax*(1.+wemax)
687 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
689 IF(wik.LT.
rndm(ai)) goto 10
690 IF (
rndm(aj).LE.0.5d0 ) v = u
691 ELSEIF ( m.EQ.2 .OR. m.EQ.4 )
THEN
694 v =-
exp(-0.6931472+
rndm(ai)*wl)
696 r = (u*u+v*v)*((16./27.)/u-(4./3.)*v)*(wl/
w)*axx
697 IF (
r*
w.LT.rm(m)*
rndm(ai) ) goto 20
698 IF (
rndm(aj).LE.0.5d0 ) v = u
699 ELSEIF ( m.EQ.3 )
THEN
701 v =-0.5*w1/(w1+
rndm(ai)*
w)
703 r = (1.+
w)*(1.+u*u)*(1.-(4./9.)*v*v/u)
704 rmax=rm(3)*wemax*(1.+wemax)
706 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
708 IF(wik.LT.
rndm(ai)) goto 30
709 ELSEIF ( m.EQ.5 )
THEN
711 v =-0.5*axx/(w1+2.*
rndm(ai)*
w)
713 r = (4./9.)*(1.+u*u+v*v*(u*u+v*v))-(8./27.)*u*u*v
716 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
718 IF(wik.LT.
rndm(ai)) goto 50
719 ELSEIF ( m.EQ.6 )
THEN
723 r = (4./9.)*(u*u+v*v)*axx
724 IF (
r*
w.LT.rm(6)*
rndm(ai) ) goto 60
725 ELSEIF ( m.EQ.7 )
THEN
727 v =-0.5*w1/(w1+
rndm(ai)*
w)
729 r = (1.+
w)*((2./9.)*(1.+u*u+(1.+v*v)*v*v/(u*u))-(4./27.)*v/u)
730 rmax=rm(7)*wemax*(1.+wemax)
732 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
734 IF(wik.LT.
rndm(ai)) goto 70
735 IF (
rndm(aj).LE.0.5d0 ) v = u
736 ELSEIF ( m.EQ.8 )
THEN
738 v =-0.5*axx/(w1+2.*
rndm(ai)*
w)
743 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
745 IF(wik.LT.
rndm(ai)) goto 80
746 ELSEIF ( m.EQ.-1 )
THEN
749 v =-
exp(-0.6931472+
rndm(ai)*wl)
751 r = (1.+v*v)*(v/(u*u)-(4./9.))*(wl/
w)*axx
752 IF (
r*
w.LT.rm(-1)*
rndm(ai) ) goto 90
755 v =
max(
min( v,-tiny6 ),-1.+tiny6 )
756 u =
max(
min(-1.e0-v,-tiny6 ),-1.+tiny6 )
767 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
769 COMMON /hacuts/ ptl,ptu,etacl,etacu,etadl,etadu
770 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
771 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
774 IF (
pt .LT.ptl .OR.
pt .GT.ptu
775 & .OR. etac.LT.etacl .OR. etac.GT.etacu
776 & .OR. etad.LT.etadl .OR. etad.GT.etadu ) iopt = 0
781 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
783 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
784 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06)
785 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
786 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
787 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
788 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
789 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
790 dimension pda(-6:6),pdb(-6:6)
794 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
795 & mxsect(0:2,-1:
maxpro,28)
797 COMMON /lapene/ptthrz(28),ptthz2(28),indene
803 IF ( nqqal.EQ.1 )
THEN
805 ELSEIF ( nqqal.EQ.2 )
THEN
806 qqal = aqqal*
x1*
x2*ecm*ecm
807 ELSEIF ( nqqal.EQ.3 )
THEN
808 qqal = aqqal*
x1*
x2*ecm*ecm*(u*v)**(1./3.)
809 ELSEIF ( nqqal.EQ.4 )
THEN
810 qqal = aqqal*
x1*
x2*ecm*ecm*u*v/(1.+v*v+u*u)
812 IF ( nqqpd.EQ.1 )
THEN
814 ELSEIF ( nqqpd.EQ.2 )
THEN
815 qqpd = aqqpd*
x1*
x2*ecm*ecm
816 ELSEIF ( nqqpd.EQ.3 )
THEN
817 qqpd = aqqpd*
x1*
x2*ecm*ecm*(u*v)**(1./3.)
818 ELSEIF ( nqqpd.EQ.4 )
THEN
819 qqpd = aqqpd*
x1*
x2*ecm*ecm*u*v/(1.+v*v+u*u)
821 alpha = bqcd/
log(
max(qqal/alasqr,1.1*
one))
822 f = xsect(1,mspr,indene)*alpha**2
828 IF ( mspr.EQ.1 .OR. mspr.EQ.4 )
THEN
836 s2 = s2+pda(i)*pdb(-i)+pda(-i)*pdb( i)
837 s3 = s3+pda(i)*pdb( i)+pda(-i)*pdb(-i)
838 s4 = s4+pda(i)+pda(-i)
839 s5 = s5+pdb(i)+pdb(-i)
841 IF ( mspr.EQ.2 .OR. mspr.EQ.5 .OR. mspr.EQ.6 )
THEN
843 ELSEIF ( mspr.EQ.3 .OR. mspr.EQ.-1 )
THEN
844 pds = pda(0)*s5+pdb(0)*s4
845 ELSEIF ( mspr.EQ.7 )
THEN
847 ELSEIF ( mspr.EQ.8 )
THEN
858 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
860 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
861 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
862 COMMON /haoutl/ noutl,nouter,noutco
863 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
864 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
865 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
866 dimension pda(-6:6),pdb(-6:6)
867 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
871 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
872 & mxsect(0:2,-1:
maxpro,28)
874 COMMON /lapene/ptthrz(28),ptthz2(28),indene
880 mxsect(0,0,indene) = 0
881 xsect(2,0,indene) = 0.0
884 IF ( mxsect(0,m,indene).EQ.1 )
885 & xsect(2,0,indene) = xsect(2,0,indene)+xsect(2,m,indene)
897 b =
rndm(ai)*xsect(2,0,indene)
902 IF ( mxsect(0,mspr,indene).EQ.1 ) sum = sum+xsect(2,mspr,indene)
904 IF ( sum.LT.
b .AND. mspr.LT.
maxpro ) goto 20
909 IF ( iopt.EQ.0 ) goto 10
913 IF(
f .LE. 1.
d-15 )
f=0.
917 xsect(3,mspr,indene) = xsect(3,mspr,indene)+
f
918 xsect(4,mspr,indene) = xsect(4,mspr,indene)+
f*
f
919 mxsect(1,mspr,indene) = mxsect(1,mspr,indene)+1
923 weight =
f/xsect(2,mspr,indene)
940 mxsect(2,mspr,indene) = mxsect(2,mspr,indene)+1
942 IF ( mspr.EQ.-1 ) mspr = 3
945 scheck =
rndm(ai)*pds
946 IF ( mspr.EQ.1 .OR. mspr.EQ.4 )
THEN
949 ELSEIF ( mspr.EQ.2 .OR. mspr.EQ.5 .OR. mspr.EQ.6 )
THEN
951 IF ( ia.EQ.0 ) goto 610
952 sum = sum+pda(ia)*pdb(-ia)
953 IF ( sum.GE.scheck ) goto 620
956 ELSEIF ( mspr.EQ.3 )
THEN
959 IF ( ia.EQ.0 ) goto 630
960 sum = sum+pda(0)*pdb(ia)
961 IF ( sum.GE.scheck ) goto 640
962 sum = sum+pda(ia)*pdb(0)
963 IF ( sum.GE.scheck ) goto 650
968 ELSEIF ( mspr.EQ.7 )
THEN
970 IF ( ia.EQ.0 ) goto 660
971 sum = sum+pda(ia)*pdb(ia)
972 IF ( sum.GE.scheck ) goto 670
975 ELSEIF ( mspr.EQ.8 )
THEN
977 IF ( ia.EQ.0 ) goto 690
979 IF ( abs(ib).EQ.abs(ia) .OR. ib.EQ.0 ) goto 680
980 sum = sum+pda(ia)*pdb(ib)
981 IF ( sum.GE.scheck ) goto 700
989 IF ( mspr.EQ.2 )
THEN
992 ELSEIF ( mspr.EQ.4 )
THEN
993 ic =
int(float(nf+nf)*
rndm(ai))+1
994 IF ( ic.GT.nf ) ic = nf-ic
996 ELSEIF ( mspr.EQ.6 )
THEN
997 ic =
int(float(nf+nf-2)*
rndm(ai))+1
998 IF ( ic.GT.nf-1 ) ic = nf-1-ic
999 IF ( abs(ic).EQ.abs(ia) ) ic = sign(nf,ic)
1005 IF ( ((a1*a1)+(a2*a2)).GT.1.0d0 ) goto 30
1006 cosphi = ((a1*a1)-(a2*a2))/((a1*a1)+(a2*a2))
1007 sinphi = sign(((a1*a2)+(a1*a2))/((a1*a1)+(a2*a2)),
rndm(ai)-0.5)
1009 IF (
rndm(ai)*pda(ia).GT.pda(-ia) ) ia = sign(abs(ia)+10,ia)
1010 IF (
rndm(aj)*pdb(ib).GT.pdb(-ib) ) ib = sign(abs(ib)+10,ib)
1015 prec(3,line) = 0.5*ecm*
x1
1016 prec(0,line) = prec(3,line)
1017 lrec1(line) = ia+50+100*mspr
1022 prec(3,line) =-0.5*ecm*
x2
1023 prec(0,line) =-prec(3,line)
1027 prec(1,line) =
pt*cosphi
1028 prec(2,line) =
pt*sinphi
1029 prec(3,line) =-0.5*ecm*(u*
x1-v*
x2)
1030 prec(0,line) =-0.5*ecm*(u*
x1+v*
x2)
1034 prec(1,line) =-
pt*cosphi
1035 prec(2,line) =-
pt*sinphi
1036 prec(3,line) =-0.5*ecm*(v*
x1-u*
x2)
1037 prec(0,line) =-0.5*ecm*(v*
x1+u*
x2)
1044 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1046 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1047 COMMON /haoutl/ noutl,nouter,noutco
1048 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
1049 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
1050 COMMON /harslt/ lscahd,lsc1hd,
1051 & etahd(mscahd,2) ,pthd(mscahd),
1052 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
1053 & ninhd(mscahd,2) ,nouthd(mscahd,2),
1054 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
1057 IF ( noutl.GE.4 )
THEN
1058 WRITE(6,1010) nhard,ihard,irejev
1059 1010
FORMAT(
' ===HARD EVENT=== NHARD,NTRUE,REJECTIONS ',3i5,/
1060 &
' IA IB IC ID XA XB PT YC YD',
1063 phi = atan2(prec(1,4*
n-1),prec(2,4*
n-1))
1064 WRITE(6,1020) ninhd(
n,1),ninhd(
n,2),nouthd(
n,1),nouthd(
n,2),
1065 & xhd(
n,1),xhd(
n,2),pthd(
n),etahd(
n,1),etahd(
n,2),
phi
1066 1020
FORMAT(1
x,4i3,2f11.7,4f9.3)
1069 IF ( noutl.GE.6 )
THEN
1072 1030
FORMAT(
' EVENTRECORD')
1074 WRITE(6,1040) lrec1(l),lrec2(l),(prec(i,l),i=0,3)
1076 1040
FORMAT(2i12,4(1pe12.4))
1093 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1095 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1102 IF ( mspr.EQ.1 .OR. mspr.EQ.4 ) maxfl = 0
1108 IF ( npd.EQ.1 .OR. npd.EQ.2 )
THEN
1110 WRITE(6,*)
' unsupported PDF number: ',npd
1111 ELSEIF ( npd.GE.3 .AND. npd.LE.5 )
THEN
1113 WRITE(6,*)
' unsupported PDF number: ',npd
1114 ELSEIF(npd.EQ.6)
THEN
1116 WRITE(6,*)
' unsupported PDF number: ',npd
1117 ELSEIF(npd.EQ.7)
THEN
1119 WRITE(6,*)
' unsupported PDF number: ',npd
1120 ELSEIF(npd.EQ.8)
THEN
1122 WRITE(6,*)
' unsupported PDF number: ',npd
1123 ELSEIF(npd.EQ.9)
THEN
1125 WRITE(6,*)
' unsupported PDF number: ',npd
1126 ELSEIF(npd.EQ.10)
THEN
1128 WRITE(6,*)
' unsupported PDF number: ',npd
1129 ELSEIF(npd.EQ.11)
THEN
1131 WRITE(6,*)
' unsupported PDF number: ',npd
1132 ELSEIF(npd.EQ.12)
THEN
1134 WRITE(6,*)
' unsupported PDF number: ',npd
1136 ELSEIF((npd.GE.13).AND.(npd.LE.20))
THEN
1138 WRITE(6,*)
' unsupported PDF number: ',npd
1139 ELSEIF((npd.GE.21).AND.(npd.LE.23))
THEN
1142 WRITE(6,*)
' unsupported PDF number: ',npd
1145 DO 20 i=-maxfl,maxfl
1146 IF ( pd(i).LT.1.
d-15 ) pd(i) = 0.0
1149 IF ( ihatyp.EQ.-1 )
THEN
1223 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1232 dimension pdff(-6:2)
1244 IF((mode.EQ.15))
THEN
1267 IF((mode.EQ.16))
THEN
1291 IF((mode.EQ.17))
THEN
1292 CALL
structm(
x,
scale,upv,dnv,usea,dsea,str,chm,bot,top,glu)
1339 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1341 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1342 COMMON /hacons/ pi,pi2,pi4,gevtmb
1343 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1344 COMMON /hapadi/ npdm
1345 COMMON /hapdco/ npdcor
1346 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
1347 COMMON /haenvi/ nindep
1348 COMMON /haoutl/ noutl,nouter,noutco
1349 COMMON /hacuts/ ptl,ptu,etacl,etacu,etadl,etadu
1350 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1351 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
1352 COMMON /harslt/ lscahd,lsc1hd,
1353 & etahd(mscahd,2) ,pthd(mscahd),
1354 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
1355 & ninhd(mscahd,2) ,nouthd(mscahd,2),
1356 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
1360 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
1361 & mxsect(0:2,-1:
maxpro,28)
1363 COMMON /lapene/ptthrz(28),ptthz2(28),indene
1379 2000
FORMAT(
'1***************************************************'
1380 & ,/,
' MONTE-CARLO GENERATION OF HARD HADRONIC SCATTERINGS'
1381 & ,/,
' ***************************************************',/)
1386 IF ( inp(1:1).EQ.
'-' ) goto 10
1388 READ(inp,1012,err=99) cw,
what
1393 1011
FORMAT(
' *********.* CONTROL.CARD*****.',4(9
x,
'.'),/,1
x,a70,/)
1394 1012
FORMAT(a8,2
x,6e10.0)
1395 1013
FORMAT(
' CARD IS INCORRECT, IGNORE AND TRY NEXT CARD',/)
1399 IF ( cw.EQ.
'END ' )
THEN
1404 1030
FORMAT(
' ******** END OF PROGRAM EXECUTION ********')
1407 ELSEIF ( cw.EQ.
'COMMENT ' )
THEN
1416 20
WRITE(6,1050) commnt
1420 ELSEIF ( cw.EQ.
'ENERGYPT' )
THEN
1430 IF (
what(1).GT.0.0d0 ) ecm =
what(1)
1432 ptini(i) =
what(i+1)
1435 ELSEIF ( cw.EQ.
'PARDISTR' )
THEN
1456 IF ( ipd.GE.1 .AND. ipd.LE.15 ) npd = ipd
1457 IF ( ipdm.EQ.1 ) npdm = ipdm
1459 ELSEIF ( cw.EQ.
'CUTS ' )
THEN
1481 IF ( ptu .LE.ptl ) ptu = ptl +1.0
1482 IF ( etacu.LE.etacl ) etacu = etacl+1.0
1483 IF ( etadu.LE.etadl ) etadu = etadl+1.0
1485 ELSEIF ( cw.EQ.
'INTPOINT' )
THEN
1507 ELSEIF ( cw.EQ.
'FLAVOR ' )
THEN
1512 IF ( nff.GE.0 .AND. nff .LE.6 ) nf = nff
1514 ELSEIF ( cw.EQ.
'PARTICLE' )
THEN
1523 IF ( abs(iha).EQ.1 ) nha = iha
1525 IF ( abs(ihb).EQ.1 ) nhb = ihb
1527 ELSEIF ( cw.EQ.
'OUTPUT ' )
THEN
1537 ELSEIF ( cw.EQ.
'INIT ' )
THEN
1543 ELSEIF ( cw.EQ.
'TESTINCL' )
THEN
1552 IF ( j.GE.1 .AND. j.LE.4 ) CALL
hatest(j)
1555 ELSEIF ( cw.EQ.
'TESTMC ' )
THEN
1565 IF ( nevt.LE.0 ) nevt = 100
1575 ELSEIF ( cw.EQ.
'SUBPRON ' )
THEN
1582 IF ( m.GE.1 .AND. m.LE.
maxpro ) mxsect(0,m,indene) = 1
1585 mxsect(0,-1,indene) = mxsect(0,3,indene)
1588 ELSEIF ( cw.EQ.
'SUBPROFF' )
THEN
1595 IF ( m.GE.1 .AND. m.LE.
maxpro ) mxsect(0,m,indene) = 0
1598 mxsect(0,-1,indene) = mxsect(0,3,indene)
1601 ELSEIF ( cw.EQ.
'HISOUT ' )
THEN
1614 IF ( j.GE.1 .AND. j.LE.6 ) CALL
hisout(j)
1617 ELSEIF ( cw.EQ.
'HISINI ' )
THEN
1623 ELSEIF ( cw.EQ.
'HARDSCAL' )
THEN
1639 IF (
what(2).GT.0.d0 ) aqqal =
what(2)
1641 IF (
what(4).GT.0.d0 ) aqqpd =
what(4)
1652 ELSEIF ( cw.EQ.
'PARDISCO' )
THEN
1663 9999
FORMAT(
' ##### UNKNOWN CODEWORD; CARD IS IGNORED ###',/)
1680 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1682 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1683 parameter( tiny= 1.
d-30, onep1=1.1d0 ,tiny6=1.
d-06)
1684 COMMON /hacons/ pi,pi2,pi4,gevtmb
1685 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1686 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
1687 DOUBLE PRECISION ec,ed,xa,xb,sp,tp,
up,
tt,uu,
1689 dimension dsigmm(0:
maxpro),pda(-6:6),pdb(-6:6)
1699 IF ( xa.GE.1.d0 .OR. xb.GE.1.d0 )
RETURN
1707 IF ( nqqal.EQ.1 )
THEN
1709 ELSEIF ( nqqal.EQ.2 )
THEN
1711 ELSEIF ( nqqal.EQ.3 )
THEN
1712 qqal = aqqal*sp*(
up*tp)**(1./3.)
1713 ELSEIF ( nqqal.EQ.4 )
THEN
1714 qqal = aqqal*sp*
up*tp/(1.+
tt+uu)
1716 IF ( nqqpd.EQ.1 )
THEN
1718 ELSEIF ( nqqpd.EQ.2 )
THEN
1720 ELSEIF ( nqqpd.EQ.3 )
THEN
1721 qqpd = aqqpd*sp*(
up*tp)**(1./3.)
1722 ELSEIF ( nqqpd.EQ.4 )
THEN
1723 qqpd = aqqpd*sp*
up*tp/(1.+
tt+uu)
1726 alpha = bqcd/
log(
max(qqal/alasqr,onep1))
1727 factor = pi2*gevtmb*
pt*(alpha/sp)**2
1739 s2 = s2+pda(i)*pdb(-i)+pda(-i)*pdb( i)
1740 s3 = s3+pda(i)*pdb( i)+pda(-i)*pdb(-i)
1741 s4 = s4+pda(i)+pda(-i)
1742 s5 = s5+pdb(i)+pdb(-i)
1746 dsigm(1) = 2.25*(3.-((
up*tp)+
up/
tt+tp/uu))
1747 dsigm(6) = (4./9.)*(uu+
tt)
1748 dsigm(8) = (4./9.)*(1.+uu)/
tt
1749 dsigm(2) = (16./27.)*(uu+
tt)/(
up*tp)-3.*dsigm(6)
1750 dsigm(3) = ((1.+uu)/
tt)-(4./9.)*(1.+uu)/
up
1751 dsigm(4) = (9./32.)*dsigm(2)
1752 dsigm(5) = dsigm(6)+dsigm(8)-(8./27.)*uu/tp
1753 dsigm(7) = 0.5*(dsigm(8)+(4./9.)*(1.+
tt)/uu-(8./27.)/(
up*tp))
1755 dsigm(1) = factor*dsigm(1)*s1
1756 dsigm(2) = factor*dsigm(2)*s2
1757 dsigm(3) = factor*dsigm(3)*(pda(0)*s5+pdb(0)*s4)
1758 dsigm(4) = factor*dsigm(4)*s1*nf
1759 dsigm(5) = factor*dsigm(5)*s2
1760 dsigm(6) = factor*dsigm(6)*s2*
max(0,(nf-1))
1761 dsigm(7) = factor*dsigm(7)*s3
1762 dsigm(8) = factor*dsigm(8)*(s4*s5-(s2+s3))
1765 dsigm(0) = dsigm(0)+dsigm(m)
1768 dsigmm(m) = dsigm(m)
1776 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1778 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1782 parameter( tiny= 1.
d-20 )
1783 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1784 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1786 dimension absz(32),weig(32)
1793 IF ( arg.LE.ec .OR. arg.LE.1./ec )
RETURN
1795 edl =-
log(arg-1./ec)
1797 CALL
gset(edl,edu,npoint,absz,weig)
1799 CALL
csj2m(
pt,etac,absz(i),dsig1)
1802 pctrl= dsig1(m)/tiny
1804 IF( pctrl.GE.1.d0 )
THEN
1805 dsigm(m) = dsigm(m)+weig(i)*dsig1(m)
1815 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1817 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1818 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1819 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1821 dimension absz(32),weig(32)
1827 IF ( amt.GE.1.d0 )
RETURN
1828 ecu =
log((
sqrt(1.-amt*amt)+1.)/amt)
1831 CALL
gset(ecl,ecu,npoint,absz,weig)
1835 dsigm(m) = dsigm(m)+weig(i)*dsig1(m)
1846 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1848 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1849 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1850 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1851 COMMON /xsecpt/ ptcut,sigs,dsigh
1853 dimension absz(32),weig(32)
1859 IF ( ptini(1).GE.ecm/2.d0 )
RETURN
1862 ptmax =
min(fac*ptmin,ecm/2.d0)
1867 1000
FORMAT(1
x,
' d sigma/ p_t d p_t ',e12.5)
1871 ex =
log(sig1/(dsig1(0)+1.
d-30))/
log(fac)
1874 IF ( ptmin.GE.ptmax ) goto 40
1877 CALL
gset(rl,ru,npoint,absz,weig)
1882 f = weig(i)*
pt/(
r*ex1)
1884 dsigm(m) = dsigm(m)+
f*dsig1(m)
1906 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1908 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1909 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06,
zero=0.d0)
1910 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1914 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
1915 & mxsect(0:2,-1:
maxpro,28)
1917 COMMON /lapene/ptthrz(28),ptthz2(28),indene
1921 CHARACTER*11 pdset,partic
1922 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
1924 COMMON /histo / pt10,dpt1,eta10,deta1,pt20,dpt2,eta20,deta2,
1925 &
x(50,-5:5),ab(50,-5:5),hpe(50,-5:5),hep(50,5),
1926 & hpm(50,8),hem(50,8),hp(50),he(50),
1935 xsect(2,0,indene) = xsect(2,-1,indene)
1936 mxsect(1,0,indene) = mxsect(1,-1,indene)
1937 mxsect(2,0,indene) = mxsect(2,-1,indene)
1942 mxsect(1,0,indene) = mxsect(1,0,indene)+mxsect(1,m,indene)
1943 mxsect(2,0,indene) = mxsect(2,0,indene)+mxsect(2,m,indene)
1944 7 xsect(2,0,indene) = xsect(2,0,indene)+xsect(2,m,indene)
1949 1010
FORMAT(1
x,20(
'=='),
' HISTO-OUTPUT ',i2,1
x,10(
'=='),/)
1950 IF ( iout.EQ.1 )
THEN
1952 1040
FORMAT(
' PROCESS',15
x,
'EVENTS',22
x,
'HARD CROSS SECTION',/,
1953 & 25
x,
'TOTAL ACCEPT.',10
x,
'MONTE-CARLO',11
x,
'INCLUSIVE')
1959 IF ( mxsect(1,m,indene).GT.0 )
THEN
1960 sig(m) = xsect(3,m,indene)/mxsect(1,m,indene)
1962 * xsect(3,m,indene)*sig(m)))/mxsect(1,m,indene)
1968 IF ( m.EQ.3 .AND. mxsect(1,-1,indene).GT.0 )
THEN
1969 sigg = xsect(3,-1,indene)/mxsect(1,-1,indene)
1972 sig(3) = sig(3)+sigg
1975 * xsect(3,-1,indene)*sigg))/mxsect(1,-1,indene)
1978 sigsum = sigsum+sig(m)
1979 stdevs = stdevs+stdev(m)
1981 mxsect(1,3,indene) = mxsect(1,3,indene)+mxsect(1,-1,indene)
1982 mxsect(2,3,indene) = mxsect(2,3,indene)+mxsect(2,-1,indene)
1983 WRITE(6,1050) proc(0),(mxsect(l,0,indene),l=0,2),
1984 & sigsum,stdevs,xsect(5,0,indene)
1990 IF ( mxsect(0,m,indene).EQ.1 )
WRITE(6,1050) proc(m),
1991 & (mxsect(l,m,indene),l=0,2),sig(m),stdev(m),xsect(5,m,indene)
1995 1050
FORMAT(a19,i3,2i8,e14.4,
' +- ',e10.4,e14.4)
1996 mxsect(1,3,indene) = mxsect(1,3,indene)-mxsect(1,-1,indene)
1997 mxsect(2,3,indene) = mxsect(2,3,indene)-mxsect(2,-1,indene)
2000 ELSEIF ( iout.EQ.2 )
THEN
2001 fac = xsect(2,0,indene)/(dpt1*mxsect(1,0,indene))
2004 ab(i,1) = pt10+(i-1)*dpt1
2005 IF ( hp(i).GT.1.
d-35 )
x(i,1) = log10(fac*hp(i))
2008 1060
FORMAT(
' JET CROSS SECTION PT-DISTRIBUTION',/)
2009 CALL
plot(ab(1,1),
x(1,1),50,1,50,pt10,dpt1,xsmin,xsstep)
2010 ELSEIF ( iout.EQ.3 )
THEN
2011 fac = xsect(2,0,indene)/(dpt1*mxsect(1,0,indene))
2014 pt = pt10+(i-1)*dpt1
2017 IF ( hpm(i,j).GT.1.
d-35 )
x(i,j-6) = log10(fac*hpm(i,j))
2021 1070
FORMAT(
' JET CROSS SECTION PT-DISTRIBUTION',/,
2022 &
' FOR THE DIFF. SUBPROCESSES',/)
2023 CALL
plot(ab,
x,400,8,50,pt10,dpt1,xsmin,xsstep)
2024 ELSEIF ( iout.EQ.4 )
THEN
2025 fac = xsect(2,0,indene)/(dpt1*deta1*mxsect(1,0,indene))
2028 pt = pt10+(i-1)*dpt1
2031 IF ( hpe(i,j).GT.1.
d-35 )
x(i,j) = log10(fac*hpe(i,j))
2034 WRITE(6,1080) eta10,-eta10
2035 1080
FORMAT(
' JET CROSS SECTION PT-DISTRIBUTION',/,
2036 &
' RAP.=',f5.2,
'...',
f4.2,/)
2037 CALL
plot(ab,
x,550,11,50,pt10,dpt1,xsmin,xsstep)
2038 ELSEIF ( iout.EQ.5 )
THEN
2039 fac = xsect(2,0,indene)/(deta2*dpt2*mxsect(1,0,indene))
2042 eta = eta20+(i-1)*deta2
2045 IF ( hep(i,j).GT.1.
d-35 )
x(i,j) = log10(fac*hep(i,j))
2048 WRITE(6,1090) pt20,pt20+4.*dpt2
2049 1090
FORMAT(
' JET CROSS SECTION RAP.-DISTRIBUTION',/,
2050 &
' PT=',f6.2,
'...',f6.2,/)
2051 CALL
plot(ab(1,1),
x(1,1),250,5,50,eta20,deta2,xsmin,xsstep)
2052 ELSEIF ( iout.EQ.6 )
THEN
2053 fac = xsect(2,0,indene)/(deta2*mxsect(1,0,indene))
2056 eta = eta20+(i-1)*deta2
2059 IF ( hem(i,j).GT.1.
d-35 )
x(i,j-6) = log10(fac*hem(i,j))
2063 1100
FORMAT(
' JET CROSS SECTION RAP.-DISTRIBUTION',/,
2064 &
' FOR THE DIFF. SUBPROCESSES',/)
2065 CALL
plot(ab,
x,400,8,50,eta20,deta2,xsmin,xsstep)
2074 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2076 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2078 COMMON /histo / pt10,dpt1,eta10,deta1,pt20,dpt2,eta20,deta2,
2079 &
x(50,-5:5),ab(50,-5:5),hpe(50,-5:5),hep(50,5),
2080 & hpm(50,8),hem(50,8),hp(50),he(50),
2107 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2109 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2110 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
2111 COMMON /harslt/ lscahd,lsc1hd,
2112 & etahd(mscahd,2) ,pthd(mscahd),
2113 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
2114 & ninhd(mscahd,2) ,nouthd(mscahd,2),
2115 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
2117 COMMON /histo / pt10,dpt1,eta10,deta1,pt20,dpt2,eta20,deta2,
2118 &
x(50,-5:5),ab(50,-5:5),hpe(50,-5:5),hep(50,5),
2119 & hpm(50,8),hem(50,8),hp(50),he(50),
2126 ipt1 =
int((pthd(
n)-pt10)/dpt1)+1
2127 ieta1 =
int((etahd(
n,k)-eta10)/deta1+0.5)-5
2128 ipt2 =
int((pthd(
n)-pt20)/dpt2)+1
2129 ieta2 =
int((etahd(
n,k)-eta20)/deta2+0.5)
2130 IF ( ipt1.GE. 1 .AND. ipt1.LE.50 )
THEN
2131 hpm(ipt1,mspr) = hpm(ipt1,mspr)+1.
2132 hp(ipt1) = hp(ipt1)+1.
2133 IF ( abs(ieta1).LE.5 ) hpe(ipt1,ieta1) = hpe(ipt1,ieta1)+1.
2135 IF ( ieta2.GE. 1 .AND. ieta2.LE.50 )
THEN
2136 hem(ieta2,mspr) = hem(ieta2,mspr)+1.
2137 he(ieta2) = he(ieta2)+1.
2138 IF ( ipt2.GE.1 .AND. ipt2.LE.5 ) hep(ieta2,ipt2) =
2139 & hep(ieta2,ipt2)+1.
2147 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2149 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2150 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2152 CHARACTER*11 pdset,partic
2153 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
2155 COMMON /histo / vvv(50),xs(50,6),ab(50,6),dsig(0:
maxpro),pd(-6:6),
2157 IF ( iout.EQ.1 )
THEN
2159 WRITE(6,1010) ecm,ptini(1),(proc(m),dsig(m),m=0,
maxpro)
2160 1010
FORMAT(
' HARD CROSS SECTIONS FOR SINGLE PROCESSES',/,
2161 &
' AT CM-ENERGY=',e8.1,
' AND PTMIN=',f5.1,/,9(a25,e14.6,/))
2162 ELSEIF ( iout.EQ.2 )
THEN
2180 CALL
jtpdis(vvv(j),qq,1,1,pd)
2181 IF ( pd(0).GT.1.
d-30 ) xs(j,i) = log10(pd(0))
2184 1020
FORMAT(
' GLUONDISTRIBUTION OVER LOG10(X) ( Q**2=10**I;',
2186 CALL
plot(ab,xs,250,5,50,ymax,-
dy,pdmin,pdstep)
2187 ELSEIF ( iout.EQ.3 )
THEN
2191 b = float(i-1)*qqstep+qqmin
2203 IF ( pd(0).GT.1.
d-30 ) xs(i,j) = log10(pd(0))
2206 1030
FORMAT(
' GLUONDISTRIBUTION OVER LOG10(Q**2) ( X=10**(-I)'
2208 CALL
plot(ab,xs,200,4,50,qqmin,qqstep,pdmin,pdstep)
2209 ELSEIF ( iout.EQ.4 )
THEN
2216 pt = (i-1)*ptstep+ptmin
2226 IF ( dsig(0).GT.1.
d-30 ) xs(i,1) = log10(dsig(0))
2229 1040
FORMAT(
' DIFFERENTIAL HARD CROSS SECTION OVER PT , RAP.=0.')
2230 CALL
plot(ab,xs,50,1,50,ptmin,ptstep,xsmin,xsstep)
2249 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2251 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2252 COMMON /hacons/ pi,pi2,pi4,gevtmb
2253 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2254 COMMON /hapdco/ npdcor
2255 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
2256 COMMON /haoutl/ noutl,nouter,noutco
2260 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
2261 & mxsect(0:2,-1:
maxpro,28)
2263 COMMON /lapene/ptthrz(28),ptthz2(28),indene
2267 CHARACTER*11 pdset,partic
2268 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
2269 dimension dsig(0:
maxpro),alam(23),q0s(23)
2270 DATA alam / 0.20d0, 0.29d0, 0.107d0, 0.250d0, 0.178d0, 0.25d0,
2271 * 0.10d0, 0.19d0, 0.190d0, 0.190d0, 0.190d0, 0.19d0,
2272 * 0.215d0,0.215d0,0.215d0,
2273 * 0.231d0,0.231d0,0.322d0, 0.247d0,
2274 * 0.168d0,0.2d0,0.2d0,0.202d0 /
2275 DATA q0s / 5.0d0 , 5.0d0 , 5.0d0 , 5.0d0 , 5.0d0 , 0.2d0,
2276 * 5.0d0 , 5.0d0 , 5.0d0 , 5.0d0 , 5.0d0 , 5.0d0,
2277 * 5.0d0 , 5.0d0 , 5.0d0 , 4.0d0 , 4.0d0 , 4.0d0,
2278 * 4.0d0 , 4.0d0 , 0.4d0 ,0.4d0 ,1.60d0 /
2280 WRITE(6,*)
' HARINI:NPD=',npd
2281 IF ( noutl.GE.1 )CALL
timdat
2282 alasqr = alam(npd)**2
2284 bqcd = pi4/(11.-(2./3.)*nf)
2288 IF ( ptini(i).LE..5d0.OR.ptini(i).GE.ecm*.5d0)ptini(i)=1.
d+30
2289 IF ( ptini(i).NE.1.
d+30 ) ini = ini+1
2293 IF ( ptini(j).LT.ptini(i) )
THEN
2302 xsect(3,m,indene) = 0.0
2303 xsect(4,m,indene) = 0.0
2304 mxsect(1,m,indene) = 0
2305 mxsect(2,m,indene) = 0
2314 xsecta(j,m,i,indene) = 0.0
2319 IF ( noutl.GE.10 )
WRITE(6,1060) ptini(i)
2320 1060
FORMAT(
' NORMALIZATION FOR PTMIN=',f10.4,
' CALCULATED')
2322 IF ( noutl.GE.10 )
WRITE(6,1070) ptini(i)
2323 1070
FORMAT(
' MAXIMA FOR PTMIN=',f10.4,
' CALCULATED')
2324 xsecta(1,0,i,indene) = ptini(i)
2327 xsecta(1,m,i,indene) = xsect(1,m,indene)
2328 xsecta(2,m,i,indene) = xsect(2,m,indene)
2336 xsect(5,m,indene) = dsig(m)
2342 IF ( noutl.GE.10 )
WRITE(6,
'(/,1X,70(1H*))')
2343 WRITE(6,1057) ptini(1),pdset(npd),
sqrt(alasqr),q0sqr
2345 &
' --- parameters of the hard scattering program ---',/,
2346 &
' MIN. PT :',f15.1,/,
2347 &
' PARTON-DISTR. :',a15,/,
2348 &
' LAMBDA :',f15.3,/,
2349 &
' Q0**2 :',f15.3,/)
2350 IF ( noutl.GE.1 )
THEN
2351 WRITE(6,1050) partic(nha),partic(nhb),ecm,ptini(1),pdset(npd),
2352 &
sqrt(alasqr),q0sqr,npdcor,nqqal,aqqal,nqqpd,aqqpd
2353 1050
FORMAT(/,1
x,70(
'*'),/,
2354 &
' HARD SCATTERING PROGRAM IS INITIALIZED FOR',/,
2355 &
' PROJECTILE :',a15,/,
2356 &
' TARGET :',a15,/,
2357 &
' CM-ENERGY :',f15.1,/,
2358 &
' MIN. PT :',f15.1,/,
2359 &
' PARTON-DISTR. :',a15,/,
2360 &
' LAMBDA :',f15.3,/,
2361 &
' Q0**2 :',f15.3,/,
2362 &
' NPDCOR :',i15,/,
2364 &
' AQQAL :',f15.3,/,
2366 &
' AQQPD :',f15.3,/)
2373 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2375 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2376 parameter( mxabwt = 1000 )
2377 parameter(
zero=0.d0,
one=1.d0)
2378 COMMON /hacons/ pi,pi2,pi4,gevtmb
2379 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2380 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
2384 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
2385 & mxsect(0:2,-1:
maxpro,28)
2387 COMMON /lapene/ptthrz(28),ptthz2(28),indene
2390 dimension absz(mxabwt),weig(mxabwt)
2392 DATA f124 / 1.,0.,4.,2.,2.,2.,4.,1.,4.,4. /
2394 a = (2.*ptini(ind)/ecm)**2
2409 z2 = (1.-z1)*absz(i2)
2421 va =-0.5*w1/(w1+
z*
w)
2423 vb =-0.5*faxx/(w1+2.*
w*
z)
2425 vc =-
exp(hln+
z*wlog)
2429 s(1) =
s(1)+(1.+
w)*2.25*(va*va*(3.-ua*va-va/(ua*ua))-ua)*
2431 s(2) =
s(2)+(vc*vc+uc*uc)*((16./27.)/uc-(4./3.)*vc)*fww*
2433 s(3) =
s(3)+(1.+
w)*(1.+ua*ua)*(1.-(4./9.)*va*va/ua)*weig(i)
2434 s(5) =
s(5)+((4./9.)*(1.+ub*ub+(ub*ub+vb*vb)*vb*vb)-
2435 & (8./27.)*ua*ua*va)*weig(i)
2436 s(6) =
s(6)+(4./9.)*(ue*ue+ve*ve)*faxx*weig(i)
2437 s(7) =
s(7)+(1.+
w)*((2./9.)*(1.+ua*ua+(1.+va*va)*va*va/
2438 & (ua*ua))-(4./27.)*va/ua)*weig(i)
2439 s(8) =
s(8)+(4./9.)*(1.+ub*ub)*weig(i)
2440 s(-1) =
s(-1)+(1.+vc*vc)*(vc/(uc*uc)-(4./9.))*fww*weig(i)
2442 s(4) =
s(2)*(9./32.)
2444 s2(m) = s2(m)+
s(m)*weig(i2)*
w
2448 s1(m) = s1(m)+s2(m)*(1.-z1)*weig(i1)
2451 fff = pi*gevtmb*aln*aln/(
a*ecm*ecm)
2453 xsect(1,m,indene) =
fff*f124(m)*s1(m)
2456 xsect(1,4,indene) = xsect(1,4,indene)*nf
2457 xsect(1,6,indene) = xsect(1,6,indene)*
max(0,nf-1)
2464 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2466 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2467 parameter( nkm = 5 )
2468 parameter( tiny= 1.
d-30 )
2469 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2473 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
2474 & mxsect(0:2,-1:
maxpro,28)
2476 COMMON /lapene/ptthrz(28),ptthz2(28),indene
2479 dimension
z(3),
d(3),
ff(nkm)
2496 IF (
f2.GT.
f3 )
z(i) =
z(i)-
d(i)
2497 IF (
f2.GT.
f3 )
d(i) =-
d(i)
2502 IF (
f3.GT.
f2 ) goto 20
2509 IF ( abs(fold-
f2)/
f2.GT.0.002d0.OR. it.LT.3 ) goto 10
2512 xsect(2,1,indene) =
ff(1)*xsect(1,1,indene)
2513 xsect(2,2,indene) =
ff(2)*xsect(1,2,indene)
2514 xsect(2,3,indene) =
ff(4)*xsect(1,3,indene)
2515 xsect(2,4,indene) =
ff(1)*xsect(1,4,indene)
2516 xsect(2,5,indene) =
ff(2)*xsect(1,5,indene)
2517 xsect(2,6,indene) =
ff(2)*xsect(1,6,indene)
2518 xsect(2,7,indene) =
ff(3)*xsect(1,7,indene)
2519 xsect(2,8,indene) =
ff(5)*xsect(1,8,indene)
2520 xsect(2,-1,indene)=
ff(4)*xsect(1,-1,indene)
2525 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2527 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2528 parameter( nkm = 5 )
2529 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06,
zero=0.d0)
2530 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2531 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
2532 dimension
f(nkm),pda(-6:6),pdb(-6:6),
z(3)
2536 IF (
z(1).LE.0.0d0 .OR.
z(1).GE.1.0d0 )
RETURN
2537 IF (
z(2).LE.0.0d0 .OR.
z(2).GE.1.0d0 )
RETURN
2538 IF (
z(3).LT.0.0d0 .OR.
z(3).GT.1.0d0 )
RETURN
2539 a = (2.*ptini(ind)/ecm)**2
2546 v =-0.5+
w*(
z(3)-0.5)
2550 IF ( nqqal.EQ.1 )
THEN
2552 ELSEIF ( nqqal.EQ.2 )
THEN
2553 qqal = aqqal*
y1*ecm*ecm
2554 ELSEIF ( nqqal.EQ.3 )
THEN
2555 qqal = aqqal*
y1*ecm*ecm*(u*v)**(1./3.)
2556 ELSEIF ( nqqal.EQ.4 )
THEN
2557 qqal = aqqal*
y1*ecm*ecm*u*v/(1.+v*v+u*u)
2559 IF ( nqqpd.EQ.1 )
THEN
2561 ELSEIF ( nqqpd.EQ.2 )
THEN
2562 qqpd = aqqpd*
y1*ecm*ecm
2563 ELSEIF ( nqqpd.EQ.3 )
THEN
2564 qqpd = aqqpd*
y1*ecm*ecm*(u*v)**(1./3.)
2565 ELSEIF ( nqqpd.EQ.4 )
THEN
2566 qqpd = aqqpd*
y1*ecm*ecm*u*v/(1.+v*v+u*u)
2568 factor = (bqcd/
log(
max(qqal/alasqr,1.1*
one)))**2
2577 f(2) =
f(2)+pda(i)*pdb(-i)+pda(-i)*pdb( i)
2578 f(3) =
f(3)+pda(i)*pdb( i)+pda(-i)*pdb(-i)
2579 f(4) =
f(4)+pda(i)+pda(-i)
2580 f(5) =
f(5)+pdb(i)+pdb(-i)
2582 f(1) = pda(0)*pdb(0)
2583 t = pda(0)*
f(5)+pdb(0)*
f(4)
2584 f(5) =
f(4)*
f(5)-(
f(2)+
f(3))
2591 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2593 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2594 COMMON /hacons/ pi,pi2,pi4,gevtmb
2595 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2596 COMMON /hapadi/ npdm
2597 COMMON /hapdco/ npdcor
2598 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
2599 COMMON /haoutl/ noutl,nouter,noutco
2600 COMMON /hacuts/ ptl,ptu,etacl,etacu,etadl,etadu
2601 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
2602 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
2606 COMMON /haxsec/ xsecta(2,-1:
maxpro,4,28),xsect(5,-1:
maxpro,28),
2607 & mxsect(0:2,-1:
maxpro,28)
2609 COMMON /lapene/ptthrz(28),ptthz2(28),indene
2612 COMMON /haxsum/xshmx
2629 bqcd = pi4/(11.0-(2./3.)*nf)
2671 xsect(i,m,indene) = 0.0
2674 mxsect(1,m,indene) = 0
2675 mxsect(2,m,indene) = 0
2676 mxsect(0,m,indene) = 1
2682 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2684 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2686 CHARACTER*11 pdset,partic
2687 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
2689 DATA proc /
'SUM OVER PROCESSES',
'G +G --> G +G ',
2690 &
'Q +QB --> G +G ',
'G +Q --> G +Q ',
2691 &
'G +G --> Q +QB ',
'Q +QB --> Q +QB ',
2692 &
'Q +QB --> QS +QBS',
'Q +Q --> Q +Q ',
2693 &
'Q +QS --> Q +QS ' /
2694 DATA pdset /
' EHLQ SET 1',
' EHLQ SET 2',
' MRS SET 1',
2695 &
' MRS SET 2',
' MRS SET 3',
' GRV LO ',
2696 &
' HMRS SET 1',
' HMRS SET 2',
' KMRS SET 1',
2697 &
' KMRS SET 2',
' KMRS SET 3',
' KMRS SET 4',
2698 &
' MRS(S0) ',
' MRS(D0) ',
' MRS(D-) ',
2699 &
' CTEQ 1M ',
' CTEQ 1MS ',
' CTEQ 1ML ',
2700 &
' CTEQ 1D ',
' CTEQ 1L ',
' GRV94LO1 ' ,
2701 &
' GRV98LO ',
' CTEQ96 '/
2702 DATA partic /
' ANTIPROTON',
' ',
' PROTON' /
2758 SUBROUTINE dor94lo (X, Q2, UV, DV, DEL, UDB, SB, GL)
2759 IMPLICIT DOUBLE PRECISION (
a -
z)
2762 lam2 = 0.2322 * 0.2322
2768 nu = 2.284 + 0.802 *
s + 0.055 * s2
2769 aku = 0.590 - 0.024 *
s
2770 bku = 0.131 + 0.063 *
s
2771 au = -0.449 - 0.138 *
s - 0.076 * s2
2772 bu = 0.213 + 2.669 *
s - 0.728 * s2
2773 cu = 8.854 - 9.135 *
s + 1.979 * s2
2774 du = 2.997 + 0.753 *
s - 0.076 * s2
2775 uv =
dor94fv(
x, nu, aku, bku, au, bu, cu, du)
2777 nd = 0.371 + 0.083 *
s + 0.039 * s2
2779 bkd = 0.486 + 0.062 *
s
2780 ad = -0.509 + 3.310 *
s - 1.248 * s2
2781 bd = 12.41 - 10.52 *
s + 2.267 * s2
2782 cd = 6.373 - 6.208 *
s + 1.418 * s2
2783 dd = 3.691 + 0.799 *
s - 0.071 * s2
2784 dv =
dor94fv(
x, nd, akd, bkd, ad, bd,
cd, dd)
2786 ne = 0.082 + 0.014 *
s + 0.008 * s2
2787 ake = 0.409 - 0.005 *
s
2788 bke = 0.799 + 0.071 *
s
2789 ae = -38.07 + 36.13 *
s - 0.656 * s2
2790 be = 90.31 - 74.15 *
s + 7.645 * s2
2792 de = 7.486 + 1.217 *
s - 0.159 * s2
2793 del =
dor94fv(
x, ne, ake, bke, ae, be, ce, de)
2797 akx = 0.410 - 0.232 *
s
2798 bkx = 0.534 - 0.457 *
s
2799 agx = 0.890 - 0.140 *
s
2801 cx = 0.320 + 0.683 *
s
2802 dx = 4.752 + 1.164 *
s + 0.286 * s2
2803 ex = 4.119 + 1.713 *
s
2804 esx = 0.682 + 2.978 *
s
2805 udb=
dor94fw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
dx, ex, esx)
2809 aks = 1.798 - 0.596 *
s
2810 as = -5.548 + 3.669 * ds - 0.616 *
s
2811 bs = 18.92 - 16.73 * ds + 5.168 *
s
2812 dst = 6.379 - 0.350 *
s + 0.142 * s2
2813 est = 3.981 + 1.638 *
s
2815 sb =
dor94fs(
x,
s, als, bes, aks, as, bs, dst, est, ess)
2819 akg = 1.742 - 0.930 *
s
2821 ag = 7.486 - 2.185 *
s
2822 bg = 16.69 - 22.74 *
s + 5.779 * s2
2823 cg = -25.59 + 29.71 *
s - 7.296 * s2
2824 dg = 2.792 + 2.215 *
s + 0.422 * s2 - 0.104 * s3
2825 eg = 0.807 + 2.005 *
s
2826 esg = 3.841 + 0.316 *
s
2827 gl =
dor94fw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
2833 SUBROUTINE dor94ho (X, Q2, UV, DV, DEL, UDB, SB, GL)
2834 IMPLICIT DOUBLE PRECISION (
a -
z)
2837 lam2 = 0.248 * 0.248
2843 nu = 1.304 + 0.863 *
s
2844 aku = 0.558 - 0.020 *
s
2846 au = -0.113 + 0.283 *
s - 0.321 * s2
2847 bu = 6.843 - 5.089 *
s + 2.647 * s2 - 0.527 * s3
2848 cu = 7.771 - 10.09 *
s + 2.630 * s2
2849 du = 3.315 + 1.145 *
s - 0.583 * s2 + 0.154 * s3
2850 uv =
dor94fv(
x, nu, aku, bku, au, bu, cu, du)
2852 nd = 0.102 - 0.017 *
s + 0.005 * s2
2853 akd = 0.270 - 0.019 *
s
2855 ad = 2.393 + 6.228 *
s - 0.881 * s2
2856 bd = 46.06 + 4.673 *
s - 14.98 * s2 + 1.331 * s3
2857 cd = 17.83 - 53.47 *
s + 21.24 * s2
2858 dd = 4.081 + 0.976 *
s - 0.485 * s2 + 0.152 * s3
2859 dv =
dor94fv(
x, nd, akd, bkd, ad, bd,
cd, dd)
2861 ne = 0.070 + 0.042 *
s - 0.011 * s2 + 0.004 * s3
2862 ake = 0.409 - 0.007 *
s
2863 bke = 0.782 + 0.082 *
s
2864 ae = -29.65 + 26.49 *
s + 5.429 * s2
2865 be = 90.20 - 74.97 *
s + 4.526 * s2
2867 de = 8.122 + 2.120 *
s - 1.088 * s2 + 0.231 * s3
2868 del =
dor94fv(
x, ne, ake, bke, ae, be, ce, de)
2875 bgx = 3.210 - 1.866 *
s
2877 dx = 9.010 + 0.896 * ds + 0.222 * s2
2878 ex = 3.077 + 1.446 *
s
2879 esx = 3.173 - 2.445 * ds + 2.207 *
s
2880 udb=
dor94fw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
dx, ex, esx)
2884 aks = 1.690 + 0.650 * ds - 0.922 *
s
2885 as = -4.329 + 1.131 *
s
2886 bs = 9.568 - 1.744 *
s
2887 dst = 9.377 + 1.088 * ds - 1.320 *
s + 0.130 * s2
2888 est = 3.031 + 1.639 *
s
2889 ess = 5.837 + 0.815 *
s
2890 sb =
dor94fs(
x,
s, als, bes, aks, as, bs, dst, est, ess)
2894 akg = 1.724 + 0.157 *
s
2895 bkg = 0.800 + 1.016 *
s
2896 ag = 7.517 - 2.547 *
s
2897 bg = 34.09 - 52.21 * ds + 17.47 *
s
2898 cg = 4.039 + 1.491 *
s
2899 dg = 3.404 + 0.830 *
s
2900 eg = -1.112 + 3.438 *
s - 0.302 * s2
2901 esg = 3.256 - 0.436 *
s
2902 gl =
dor94fw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
2908 SUBROUTINE dor94di (X, Q2, UV, DV, DEL, UDB, SB, GL)
2909 IMPLICIT DOUBLE PRECISION (
a -
z)
2912 lam2 = 0.248 * 0.248
2918 nu = 2.484 + 0.116 *
s + 0.093 * s2
2919 aku = 0.563 - 0.025 *
s
2920 bku = 0.054 + 0.154 *
s
2921 au = -0.326 - 0.058 *
s - 0.135 * s2
2922 bu = -3.322 + 8.259 *
s - 3.119 * s2 + 0.291 * s3
2923 cu = 11.52 - 12.99 *
s + 3.161 * s2
2924 du = 2.808 + 1.400 *
s - 0.557 * s2 + 0.119 * s3
2925 uv =
dor94fv(
x, nu, aku, bku, au, bu, cu, du)
2927 nd = 0.156 - 0.017 *
s
2928 akd = 0.299 - 0.022 *
s
2929 bkd = 0.259 - 0.015 *
s
2930 ad = 3.445 + 1.278 *
s + 0.326 * s2
2931 bd = -6.934 + 37.45 *
s - 18.95 * s2 + 1.463 * s3
2932 cd = 55.45 - 69.92 *
s + 20.78 * s2
2933 dd = 3.577 + 1.441 *
s - 0.683 * s2 + 0.179 * s3
2934 dv =
dor94fv(
x, nd, akd, bkd, ad, bd,
cd, dd)
2936 ne = 0.099 + 0.019 *
s + 0.002 * s2
2937 ake = 0.419 - 0.013 *
s
2938 bke = 1.064 - 0.038 *
s
2939 ae = -44.00 + 98.70 *
s - 14.79 * s2
2940 be = 28.59 - 40.94 *
s - 13.66 * s2 + 2.523 * s3
2941 ce = 84.57 - 108.8 *
s + 31.52 * s2
2942 de = 7.469 + 2.480 *
s - 0.866 * s2
2943 del =
dor94fv(
x, ne, ake, bke, ae, be, ce, de)
2947 akx = 0.326 + 0.150 *
s
2948 bkx = 0.956 + 0.405 *
s
2950 bgx = 3.794 - 2.359 * ds
2952 dx = 7.941 + 0.534 * ds - 0.940 *
s + 0.410 * s2
2953 ex = 3.049 + 1.597 *
s
2954 esx = 4.396 - 4.594 * ds + 3.268 *
s
2955 udb=
dor94fw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
dx, ex, esx)
2959 aks = 1.415 - 0.641 * ds
2960 as = 0.580 - 9.763 * ds + 6.795 *
s - 0.558 * s2
2961 bs = 5.617 + 5.709 * ds - 3.972 *
s
2962 dst = 13.78 - 9.581 *
s + 5.370 * s2 - 0.996 * s3
2963 est = 4.546 + 0.372 * s2
2964 ess = 5.053 - 1.070 *
s + 0.805 * s2
2965 sb =
dor94fs(
x,
s, als, bes, aks, as, bs, dst, est, ess)
2970 bkg = 2.427 + 1.311 *
s - 0.153 * s2
2971 ag = 25.09 - 7.935 *
s
2972 bg = -14.84 - 124.3 * ds + 72.18 *
s
2973 cg = 590.3 - 173.8 *
s
2974 dg = 5.196 + 1.857 *
s
2975 eg = -1.648 + 3.988 *
s - 0.432 * s2
2976 esg = 3.232 - 0.542 *
s
2977 gl =
dor94fw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
2984 IMPLICIT DOUBLE PRECISION (
a -
z)
2991 FUNCTION dor94fw (X, S, AL, BE, AK, BK, A, B, C, D, E, ES)
2992 IMPLICIT DOUBLE PRECISION (
a -
z)
2996 1 * dexp(-
e +
sqrt(es *
s**be * lx))) * (1.-
x)**
d
3000 FUNCTION dor94fs (X, S, AL, BE, AK, AG, B, D, E, ES)
3001 IMPLICIT DOUBLE PRECISION (
a -
z)
3006 1 * dexp(-
e +
sqrt(es *
s**be * lx))