17 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
19 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
20 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
21 COMMON /haenvi/ nindep
22 COMMON /haoutl/ noutl,nouter,noutco
24 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
25 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
28 CHARACTER*8 projty,targty
31 COMMON /user1/
title,projty,targty
32 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
34 common/collis/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
36 COMMON /strufu/istrum,istrut
52 IF((istruf.GE.16).OR.(istruf.LE.20))
THEN
58 IF ( ijproj.EQ.2 ) nha =-1
61 IF ( ijtar .EQ.2 ) nhb =-1
80 IF ( iopt.EQ.0 ) CALL
harini
84 SUBROUTINE selhrd(MHARD,IJPVAL,IJTVAL,PTTHRE)
108 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
110 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
112 CHARACTER*8 projty,targty
115 COMMON /user1/
title,projty,targty
116 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
117 common/collis/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
118 COMMON /abrhrd/xh1(mscahd),xh2(mscahd),ijhi1(mscahd),
119 *ijhi2(mscahd),ijhf1(mscahd),ijhf2(mscahd),phard1(mscahd,4),
121 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
122 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
123 COMMON /haoutl/ noutl,nouter,noutco
124 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
125 COMMON /harslt/ lscahd,lsc1hd,
126 & etahd(mscahd,2) ,pthd(mscahd),
127 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
128 & ninhd(mscahd,2) ,nouthd(mscahd,2),
129 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
130 DATA x1su/0./ , x2su/0./
134 IF (ioutpa.GE.3)
WRITE(6,221)
135 * mhard,ijpval,ijtval
136 221
FORMAT (
' SELHRD ',3i10)
149 IF( ioutpa.GT. 6 )
WRITE(6,*)
n,x1su,x2su,xh1(
n),xh2(
n)
153 IF ( iiia.GT. 0 .AND. iiia.LT.10 ) iii = sign(iiia+10,iii)
154 IF ( iiia.GE.10 ) iii = sign(iiia-10,iii)
155 IF ( iiia.GE.10 ) ijpval = 1
159 IF ( iiia.GT. 0 .AND. iiia.LT.10 ) iii = sign(iiia+10,iii)
160 IF ( iiia.GE.10 ) iii = sign(iiia-10,iii)
161 IF ( iiia.GE.10 ) ijtval = 1
169 ijhf1(
n) = nouthd(
n,1)
170 ijhf2(
n) = nouthd(
n,2)
173 phard1(
n,j) = prec(j,i3)
174 20 phard2(
n,j) = prec(j,i4)
175 phard1(
n,4) = prec(0,i3)
176 phard2(
n,4) = prec(0,i4)
181 IF (ioutpa.GE.3)
WRITE (6,101)
182 101
FORMAT(
' SELHRD OUTPUT FOR INITIAL STATE SCATTERED PARTONS')
185 *
WRITE (6,103)i,ijpval,ijtval,ijhi1(i),ijhi2(i),xh1(i),xh2(i)
186 103
FORMAT (
' I,IJPVAL,IJTVAL,IJHI1,IJHI2,XH1,XH2= ',5i5,2f12.6)
188 IF (ioutpa.GE.3)
WRITE (6,301)
189 301
FORMAT(
' SELHRD OUTPUT FOR FINAL STATE SCATTERED PARTONS')
192 *
WRITE (6,303)i,ijhf1(i),ijhf2(i),(phard1(i,iii),iii=1,4)
194 *
WRITE (6,303)i,ijhf1(i),ijhf2(i),(phard2(i,iii),iii=1,4)
195 303
FORMAT (
' I,IJHI1,IJHI2,PHARD1 OR PHARD2 ',3i5,4f16.6)
214 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
216 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
217 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
218 COMMON /haenvi/ nindep
219 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
221 pt1 =
max(pt1in,ptini(1))
232 IF ( nindep.EQ.1 ) CALL
hisfil
246 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
248 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
249 parameter( tiny= 1.
d-30,
one=1.d0, zsmall=1.
d-3 )
250 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
251 COMMON /hapdco/ npdcor
252 COMMON /haoutl/ noutl,nouter,noutco
253 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
254 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
255 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
256 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
257 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
260 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
262 COMMON /harslt/ lscahd,lsc1hd,
263 & etahd(mscahd,2) ,pthd(mscahd),
264 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
265 & ninhd(mscahd,2) ,nouthd(mscahd,2),
266 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
267 itype(l) =
mod(lrec1(l),100)-50
278 IF(itry.GT.ntry) goto 301
280 xrest = xshmx-nhard*sa
281 yrest = xshmx-nhard*sa
282 IF(xrest*yrest.LT.aa)
THEN
283 WRITE(6,*)
' ****************** HAMULT ****************** '
284 WRITE(6,*)
' IT IS NOT POSSIBLE TO PRODUCE ',nhard,
' POMERONS '
291 wemax =
sqrt(1-axxmax)
297 a = (2.*ptwant/ecm)**2
301 IF ( pt1.LT.ptini(i) .AND. i.GT.1 ) goto 50
303 xsect(1,m) = xsecta(1,m,i)
304 xsect(2,m) = xsecta(2,m,i)
317 etahd(ihard,1) = etac
318 etahd(ihard,2) = etad
321 if(zmax/
a-
one.lt.zsmall)
THEN
322 CALL
xcheck(x1s,x2s,linmax)
326 wemax=
sqrt(1.-axxmax)
328 IF(ihard.LT.nhard) goto 10
331 IF ( npdcor.EQ.1 .AND.
333 & (1.-x1s)*(1.-x2s).LT.
rndm(ai)*(1.-aa*ihard)**2 ) goto 5
344 IF ( abs(it).GT.10 .AND. ival.EQ.0 )
THEN
346 ELSEIF ( abs(it).GT.10 .AND. ival.EQ.1 )
THEN
347 it = sign(abs(it)-10,it)
348 lrec1(ind) = (lrec1(ind)/100)*100+50+it
352 nouthd(i,k) = itype(ind+2)
358 IF ( ihard.NE.nhard .AND. nouter.EQ.1 )
THEN
359 WRITE(6,1010) nhard,ihard
360 1010
FORMAT(
' ###### HAMULT : CANNOT PRODUCE',i3,
' HARD SCATT.',
361 &
'; ONLY',i3,
' ARE PRODUCED !!!')
368 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
370 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
371 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
372 COMMON /hapdco/ npdcor
373 COMMON /haoutl/ noutl,nouter,noutco
374 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
375 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
376 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
377 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
379 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
381 COMMON /harslt/ lscahd,lsc1hd,
382 & etahd(mscahd,2) ,pthd(mscahd),
383 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
384 & ninhd(mscahd,2) ,nouthd(mscahd,2),
385 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
391 prec(1,lp) = prec(1,l)
392 prec(2,lp) = prec(2,l)
393 prec(3,lp) = prec(3,l)
394 prec(0,lp) = prec(0,l)
395 lrec1( lp) = lrec1( l)
396 lrec2( lp) = lrec2( l)
400 ELSEIF( iopt.EQ.1 )
THEN
404 IF( ptest.EQ.qtest )
THEN
409 WRITE(6,*)
' RECCHK: NO NEW LINMAX FOUND - LINMAX=',linmax
412 WRITE(6,*)
' RECCHK: IOPT OUT OF RANGE - 0 OR 1 - IOPT=',iopt
417 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
419 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
420 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
421 COMMON /hapdco/ npdcor
422 COMMON /haoutl/ noutl,nouter,noutco
423 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
424 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
425 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
426 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
427 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
430 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
432 COMMON /harslt/ lscahd,lsc1hd,
433 & etahd(mscahd,2) ,pthd(mscahd),
434 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
435 & ninhd(mscahd,2) ,nouthd(mscahd,2),
436 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
437 parameter(
one=1d0, zsmall=1
d-3)
441 WRITE(6,*)
' ERROR IN XCHECK : IHARD < 1 ',ihard
448 IF(xhd(i,1).GT.
xmax)
THEN
452 IF(xhd(i,2).GT.
xmax)
THEN
460 xrest=xrest+xhd(imax,1)-
sqrt(
a)
461 yrest=yrest+xhd(imax,2)-
sqrt(
a)
464 wemax=
sqrt(1.-axxmax)
472 etahd(mh,1) = etahd(i,1)
473 etahd(mh,2) = etahd(i,2)
475 nprohd(mh) = nprohd(i)
478 CALL
recchk( 4*imax,xhd1,0)
481 IF(zmax/
a-
one.LT.zsmall) goto 50
486 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
488 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
489 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
490 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
492 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
493 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06)
506 if(
rndm(1.1).gt.ww) goto 12
514 uu=umin*(
c**2+1.)/2./
c
515 if(uu.gt.2.*ym.and.uu.lt.ym+
z/ym) goto 13
522 if(xrest.ge.yrest)
then
525 if(xrest.eq.yrest)
then
526 if(
rndm(3.).gt.0.5)
then
544 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
546 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
547 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06)
548 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
549 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
550 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
551 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
553 COMMON /haxik / xrest,yrest,zmax,axxmax,wemax
555 & 3.80, 0.65, 2.00, 0.65, 0.89, 0.45, 0.445, 0.89 /
559 v =-0.5*w1/(w1+
rndm(ai)*
w)
561 r = (1.+
w)*2.25*(v*v*(3.-u*v-v/(u*u))-u)
562 rmax=rm(1)*wemax*(1.+wemax)
564 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
566 IF(wik.LT.
rndm(ai)) goto 10
567 IF (
rndm(aj).LE.0.5d0 ) v = u
568 ELSEIF ( m.EQ.2 .OR. m.EQ.4 )
THEN
571 v =-
exp(-0.6931472+
rndm(ai)*wl)
573 r = (u*u+v*v)*((16./27.)/u-(4./3.)*v)*(wl/
w)*axx
574 IF (
r*
w.LT.rm(m)*
rndm(ai) ) goto 20
575 IF (
rndm(aj).LE.0.5d0 ) v = u
576 ELSEIF ( m.EQ.3 )
THEN
578 v =-0.5*w1/(w1+
rndm(ai)*
w)
580 r = (1.+
w)*(1.+u*u)*(1.-(4./9.)*v*v/u)
581 rmax=rm(3)*wemax*(1.+wemax)
583 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
585 IF(wik.LT.
rndm(ai)) goto 30
586 ELSEIF ( m.EQ.5 )
THEN
588 v =-0.5*axx/(w1+2.*
rndm(ai)*
w)
590 r = (4./9.)*(1.+u*u+v*v*(u*u+v*v))-(8./27.)*u*u*v
593 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
595 IF(wik.LT.
rndm(ai)) goto 50
596 ELSEIF ( m.EQ.6 )
THEN
600 r = (4./9.)*(u*u+v*v)*axx
601 IF (
r*
w.LT.rm(6)*
rndm(ai) ) goto 60
602 ELSEIF ( m.EQ.7 )
THEN
604 v =-0.5*w1/(w1+
rndm(ai)*
w)
606 r = (1.+
w)*((2./9.)*(1.+u*u+(1.+v*v)*v*v/(u*u))-(4./27.)*v/u)
607 rmax=rm(7)*wemax*(1.+wemax)
609 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
611 IF(wik.LT.
rndm(ai)) goto 70
612 IF (
rndm(aj).LE.0.5d0 ) v = u
613 ELSEIF ( m.EQ.8 )
THEN
615 v =-0.5*axx/(w1+2.*
rndm(ai)*
w)
620 IF(wik.GT.1.d0)
WRITE(6,*)
' HARKIN : WIK > 1 : ',m,
r
622 IF(wik.LT.
rndm(ai)) goto 80
623 ELSEIF ( m.EQ.-1 )
THEN
626 v =-
exp(-0.6931472+
rndm(ai)*wl)
628 r = (1.+v*v)*(v/(u*u)-(4./9.))*(wl/
w)*axx
629 IF (
r*
w.LT.rm(-1)*
rndm(ai) ) goto 90
632 v =
max(
min( v,-tiny6 ),-1.+tiny6 )
633 u =
max(
min(-1.e0-v,-tiny6 ),-1.+tiny6 )
644 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
646 COMMON /hacuts/ ptl,ptu,etacl,etacu,etadl,etadu
647 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
648 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
651 IF (
pt .LT.ptl .OR.
pt .GT.ptu
652 & .OR. etac.LT.etacl .OR. etac.GT.etacu
653 & .OR. etad.LT.etadl .OR. etad.GT.etadu ) iopt = 0
658 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
660 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
661 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06)
662 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
663 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
664 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
665 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
666 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
667 dimension pda(-6:6),pdb(-6:6)
669 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
674 IF ( nqqal.EQ.1 )
THEN
676 ELSEIF ( nqqal.EQ.2 )
THEN
677 qqal = aqqal*
x1*
x2*ecm*ecm
678 ELSEIF ( nqqal.EQ.3 )
THEN
679 qqal = aqqal*
x1*
x2*ecm*ecm*(u*v)**(1./3.)
680 ELSEIF ( nqqal.EQ.4 )
THEN
681 qqal = aqqal*
x1*
x2*ecm*ecm*u*v/(1.+v*v+u*u)
683 IF ( nqqpd.EQ.1 )
THEN
685 ELSEIF ( nqqpd.EQ.2 )
THEN
686 qqpd = aqqpd*
x1*
x2*ecm*ecm
687 ELSEIF ( nqqpd.EQ.3 )
THEN
688 qqpd = aqqpd*
x1*
x2*ecm*ecm*(u*v)**(1./3.)
689 ELSEIF ( nqqpd.EQ.4 )
THEN
690 qqpd = aqqpd*
x1*
x2*ecm*ecm*u*v/(1.+v*v+u*u)
692 alpha = bqcd/
log(
max(qqal/alasqr,1.1*
one))
693 f = xsect(1,mspr)*alpha**2
698 IF ( mspr.EQ.1 .OR. mspr.EQ.4 )
THEN
706 s2 = s2+pda(i)*pdb(-i)+pda(-i)*pdb( i)
707 s3 = s3+pda(i)*pdb( i)+pda(-i)*pdb(-i)
708 s4 = s4+pda(i)+pda(-i)
709 s5 = s5+pdb(i)+pdb(-i)
711 IF ( mspr.EQ.2 .OR. mspr.EQ.5 .OR. mspr.EQ.6 )
THEN
713 ELSEIF ( mspr.EQ.3 .OR. mspr.EQ.-1 )
THEN
714 pds = pda(0)*s5+pdb(0)*s4
715 ELSEIF ( mspr.EQ.7 )
THEN
717 ELSEIF ( mspr.EQ.8 )
THEN
728 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
730 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
731 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
732 COMMON /haoutl/ noutl,nouter,noutco
733 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
734 COMMON /hasca / ptwant,
a,aln,z1max,z1dif,z2max,z2dif,
735 &
pt,etac,etad,
x1,
x2,v,u,
w,w1,axx,
weight,mspr,irejsc
736 dimension pda(-6:6),pdb(-6:6)
737 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
739 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
745 IF ( mxsect(0,m).EQ.1 ) xsect(2,0) = xsect(2,0)+xsect(2,m)
756 b =
rndm(ai)*xsect(2,0)
760 IF ( mxsect(0,mspr).EQ.1 ) sum = sum+xsect(2,mspr)
761 IF ( sum.LT.
b .AND. mspr.LT.
maxpro ) goto 20
766 IF ( iopt.EQ.0 ) goto 10
770 IF(
f .LE. 1.
d-15 )
f=0.
771 xsect(3,mspr) = xsect(3,mspr)+
f
772 xsect(4,mspr) = xsect(4,mspr)+
f*
f
773 mxsect(1,mspr) = mxsect(1,mspr)+1
792 mxsect(2,mspr) = mxsect(2,mspr)+1
793 IF ( mspr.EQ.-1 ) mspr = 3
796 scheck =
rndm(ai)*pds
797 IF ( mspr.EQ.1 .OR. mspr.EQ.4 )
THEN
800 ELSEIF ( mspr.EQ.2 .OR. mspr.EQ.5 .OR. mspr.EQ.6 )
THEN
802 IF ( ia.EQ.0 ) goto 610
803 sum = sum+pda(ia)*pdb(-ia)
804 IF ( sum.GE.scheck ) goto 620
807 ELSEIF ( mspr.EQ.3 )
THEN
810 IF ( ia.EQ.0 ) goto 630
811 sum = sum+pda(0)*pdb(ia)
812 IF ( sum.GE.scheck ) goto 640
813 sum = sum+pda(ia)*pdb(0)
814 IF ( sum.GE.scheck ) goto 650
819 ELSEIF ( mspr.EQ.7 )
THEN
821 IF ( ia.EQ.0 ) goto 660
822 sum = sum+pda(ia)*pdb(ia)
823 IF ( sum.GE.scheck ) goto 670
826 ELSEIF ( mspr.EQ.8 )
THEN
828 IF ( ia.EQ.0 ) goto 690
830 IF ( abs(ib).EQ.abs(ia) .OR. ib.EQ.0 ) goto 680
831 sum = sum+pda(ia)*pdb(ib)
832 IF ( sum.GE.scheck ) goto 700
840 IF ( mspr.EQ.2 )
THEN
843 ELSEIF ( mspr.EQ.4 )
THEN
844 ic =
int(float(nf+nf)*
rndm(ai))+1
845 IF ( ic.GT.nf ) ic = nf-ic
847 ELSEIF ( mspr.EQ.6 )
THEN
848 ic =
int(float(nf+nf-2)*
rndm(ai))+1
849 IF ( ic.GT.nf-1 ) ic = nf-1-ic
850 IF ( abs(ic).EQ.abs(ia) ) ic = sign(nf,ic)
856 IF ( ((a1*a1)+(a2*a2)).GT.1.0d0 ) goto 30
857 cosphi = ((a1*a1)-(a2*a2))/((a1*a1)+(a2*a2))
858 sinphi = sign(((a1*a2)+(a1*a2))/((a1*a1)+(a2*a2)),
rndm(ai)-0.5)
860 IF (
rndm(ai)*pda(ia).GT.pda(-ia) ) ia = sign(abs(ia)+10,ia)
861 IF (
rndm(aj)*pdb(ib).GT.pdb(-ib) ) ib = sign(abs(ib)+10,ib)
866 prec(3,line) = 0.5*ecm*
x1
867 prec(0,line) = prec(3,line)
868 lrec1(line) = ia+50+100*mspr
873 prec(3,line) =-0.5*ecm*
x2
874 prec(0,line) =-prec(3,line)
878 prec(1,line) =
pt*cosphi
879 prec(2,line) =
pt*sinphi
880 prec(3,line) =-0.5*ecm*(u*
x1-v*
x2)
881 prec(0,line) =-0.5*ecm*(u*
x1+v*
x2)
885 prec(1,line) =-
pt*cosphi
886 prec(2,line) =-
pt*sinphi
887 prec(3,line) =-0.5*ecm*(v*
x1-u*
x2)
888 prec(0,line) =-0.5*ecm*(v*
x1+u*
x2)
895 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
897 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
898 COMMON /haoutl/ noutl,nouter,noutco
899 COMMON /haevnt/ pt1,pt2,nhard,ntry,ihard,itry,irejev
900 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
901 COMMON /harslt/ lscahd,lsc1hd,
902 & etahd(mscahd,2) ,pthd(mscahd),
903 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
904 & ninhd(mscahd,2) ,nouthd(mscahd,2),
905 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
908 IF ( noutl.GE.4 )
THEN
909 WRITE(6,1010) nhard,ihard,irejev
910 1010
FORMAT(
' ===HARD EVENT=== NHARD,NTRUE,REJECTIONS ',3i5,/
911 &
' IA IB IC ID XA XB PT YC YD',
914 phi = atan2(prec(1,4*
n-1),prec(2,4*
n-1))
915 WRITE(6,1020) ninhd(
n,1),ninhd(
n,2),nouthd(
n,1),nouthd(
n,2),
916 & xhd(
n,1),xhd(
n,2),pthd(
n),etahd(
n,1),etahd(
n,2),
phi
917 1020
FORMAT(1
x,4i3,2f11.7,4f9.3)
920 IF ( noutl.GE.6 )
THEN
923 1030
FORMAT(
' EVENTRECORD')
925 WRITE(6,1040) lrec1(l),lrec2(l),(prec(i,l),i=0,3)
927 1040
FORMAT(2i12,4(1pe12.4))
944 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
946 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
953 IF ( mspr.EQ.1 .OR. mspr.EQ.4 ) maxfl = 0
959 IF ( npd.EQ.1 .OR. npd.EQ.2 )
THEN
961 WRITE(6,*)
' unsupported PDF number: ',npd
962 ELSEIF ( npd.GE.3 .AND. npd.LE.5 )
THEN
964 WRITE(6,*)
' unsupported PDF number: ',npd
967 WRITE(6,*)
' unsupported PDF number: ',npd
970 WRITE(6,*)
' unsupported PDF number: ',npd
973 WRITE(6,*)
' unsupported PDF number: ',npd
976 WRITE(6,*)
' unsupported PDF number: ',npd
977 ELSEIF(npd.EQ.10)
THEN
979 WRITE(6,*)
' unsupported PDF number: ',npd
980 ELSEIF(npd.EQ.11)
THEN
982 WRITE(6,*)
' unsupported PDF number: ',npd
983 ELSEIF(npd.EQ.12)
THEN
985 WRITE(6,*)
' unsupported PDF number: ',npd
987 ELSEIF((npd.GE.13).AND.(npd.LE.20))
THEN
989 WRITE(6,*)
' unsupported PDF number: ',npd
990 ELSEIF((npd.GE.21).AND.(npd.LE.23))
THEN
993 WRITE(6,*)
' unsupported PDF number: ',npd
997 IF ( pd(i).LT.1.
d-15 ) pd(i) = 0.0
1000 IF ( ihatyp.EQ.-1 )
THEN
1074 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1083 dimension pdff(-6:2)
1095 IF((mode.EQ.15))
THEN
1118 IF((mode.EQ.16))
THEN
1142 IF((mode.EQ.17))
THEN
1143 CALL
structm(
x,
scale,upv,dnv,usea,dsea,str,chm,bot,top,glu)
1190 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1192 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1193 COMMON /hacons/ pi,pi2,pi4,gevtmb
1194 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1195 COMMON /hapadi/ npdm
1196 COMMON /hapdco/ npdcor
1197 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
1198 COMMON /haenvi/ nindep
1199 COMMON /haoutl/ noutl,nouter,noutco
1200 COMMON /hacuts/ ptl,ptu,etacl,etacu,etadl,etadu
1201 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1202 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
1203 COMMON /harslt/ lscahd,lsc1hd,
1204 & etahd(mscahd,2) ,pthd(mscahd),
1205 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
1206 & ninhd(mscahd,2) ,nouthd(mscahd,2),
1207 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
1209 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
1224 2000
FORMAT(
'1***************************************************'
1225 & ,/,
' MONTE-CARLO GENERATION OF HARD HADRONIC SCATTERINGS'
1226 & ,/,
' ***************************************************',/)
1231 IF ( inp(1:1).EQ.
'-' ) goto 10
1233 READ(inp,1012,err=99) cw,
what
1238 1011
FORMAT(
' *********.* CONTROL.CARD*****.',4(9
x,
'.'),/,1
x,a70,/)
1239 1012
FORMAT(a8,2
x,6e10.0)
1240 1013
FORMAT(
' CARD IS INCORRECT, IGNORE AND TRY NEXT CARD',/)
1244 IF ( cw.EQ.
'END ' )
THEN
1249 1030
FORMAT(
' ******** END OF PROGRAM EXECUTION ********')
1252 ELSEIF ( cw.EQ.
'COMMENT ' )
THEN
1261 20
WRITE(6,1050) commnt
1265 ELSEIF ( cw.EQ.
'ENERGYPT' )
THEN
1275 IF (
what(1).GT.0.0d0 ) ecm =
what(1)
1277 ptini(i) =
what(i+1)
1280 ELSEIF ( cw.EQ.
'PARDISTR' )
THEN
1301 IF ( ipd.GE.1 .AND. ipd.LE.15 ) npd = ipd
1302 IF ( ipdm.EQ.1 ) npdm = ipdm
1304 ELSEIF ( cw.EQ.
'CUTS ' )
THEN
1326 IF ( ptu .LE.ptl ) ptu = ptl +1.0
1327 IF ( etacu.LE.etacl ) etacu = etacl+1.0
1328 IF ( etadu.LE.etadl ) etadu = etadl+1.0
1330 ELSEIF ( cw.EQ.
'INTPOINT' )
THEN
1352 ELSEIF ( cw.EQ.
'FLAVOR ' )
THEN
1357 IF ( nff.GE.0 .AND. nff .LE.6 ) nf = nff
1359 ELSEIF ( cw.EQ.
'PARTICLE' )
THEN
1368 IF ( abs(iha).EQ.1 ) nha = iha
1370 IF ( abs(ihb).EQ.1 ) nhb = ihb
1372 ELSEIF ( cw.EQ.
'OUTPUT ' )
THEN
1382 ELSEIF ( cw.EQ.
'INIT ' )
THEN
1388 ELSEIF ( cw.EQ.
'TESTINCL' )
THEN
1397 IF ( j.GE.1 .AND. j.LE.4 ) CALL
hatest(j)
1400 ELSEIF ( cw.EQ.
'TESTMC ' )
THEN
1410 IF ( nevt.LE.0 ) nevt = 100
1420 ELSEIF ( cw.EQ.
'SUBPRON ' )
THEN
1427 IF ( m.GE.1 .AND. m.LE.
maxpro ) mxsect(0,m) = 1
1429 mxsect(0,-1) = mxsect(0,3)
1431 ELSEIF ( cw.EQ.
'SUBPROFF' )
THEN
1438 IF ( m.GE.1 .AND. m.LE.
maxpro ) mxsect(0,m) = 0
1440 mxsect(0,-1) = mxsect(0,3)
1442 ELSEIF ( cw.EQ.
'HISOUT ' )
THEN
1455 IF ( j.GE.1 .AND. j.LE.6 ) CALL
hisout(j)
1458 ELSEIF ( cw.EQ.
'HISINI ' )
THEN
1464 ELSEIF ( cw.EQ.
'HARDSCAL' )
THEN
1480 IF (
what(2).GT.0.d0 ) aqqal =
what(2)
1482 IF (
what(4).GT.0.d0 ) aqqpd =
what(4)
1493 ELSEIF ( cw.EQ.
'PARDISCO' )
THEN
1504 9999
FORMAT(
' ##### UNKNOWN CODEWORD; CARD IS IGNORED ###',/)
1521 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1523 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1524 parameter( tiny= 1.
d-30, onep1=1.1d0 ,tiny6=1.
d-06)
1525 COMMON /hacons/ pi,pi2,pi4,gevtmb
1526 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1527 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
1528 DOUBLE PRECISION ec,ed,xa,xb,sp,tp,
up,
tt,uu,
1530 dimension dsigmm(0:
maxpro),pda(-6:6),pdb(-6:6)
1540 IF ( xa.GE.1.d0 .OR. xb.GE.1.d0 )
RETURN
1548 IF ( nqqal.EQ.1 )
THEN
1550 ELSEIF ( nqqal.EQ.2 )
THEN
1552 ELSEIF ( nqqal.EQ.3 )
THEN
1553 qqal = aqqal*sp*(
up*tp)**(1./3.)
1554 ELSEIF ( nqqal.EQ.4 )
THEN
1555 qqal = aqqal*sp*
up*tp/(1.+
tt+uu)
1557 IF ( nqqpd.EQ.1 )
THEN
1559 ELSEIF ( nqqpd.EQ.2 )
THEN
1561 ELSEIF ( nqqpd.EQ.3 )
THEN
1562 qqpd = aqqpd*sp*(
up*tp)**(1./3.)
1563 ELSEIF ( nqqpd.EQ.4 )
THEN
1564 qqpd = aqqpd*sp*
up*tp/(1.+
tt+uu)
1567 alpha = bqcd/
log(
max(qqal/alasqr,onep1))
1568 factor = pi2*gevtmb*
pt*(alpha/sp)**2
1580 s2 = s2+pda(i)*pdb(-i)+pda(-i)*pdb( i)
1581 s3 = s3+pda(i)*pdb( i)+pda(-i)*pdb(-i)
1582 s4 = s4+pda(i)+pda(-i)
1583 s5 = s5+pdb(i)+pdb(-i)
1587 dsigm(1) = 2.25*(3.-((
up*tp)+
up/
tt+tp/uu))
1588 dsigm(6) = (4./9.)*(uu+
tt)
1589 dsigm(8) = (4./9.)*(1.+uu)/
tt
1590 dsigm(2) = (16./27.)*(uu+
tt)/(
up*tp)-3.*dsigm(6)
1591 dsigm(3) = ((1.+uu)/
tt)-(4./9.)*(1.+uu)/
up
1592 dsigm(4) = (9./32.)*dsigm(2)
1593 dsigm(5) = dsigm(6)+dsigm(8)-(8./27.)*uu/tp
1594 dsigm(7) = 0.5*(dsigm(8)+(4./9.)*(1.+
tt)/uu-(8./27.)/(
up*tp))
1596 dsigm(1) = factor*dsigm(1)*s1
1597 dsigm(2) = factor*dsigm(2)*s2
1598 dsigm(3) = factor*dsigm(3)*(pda(0)*s5+pdb(0)*s4)
1599 dsigm(4) = factor*dsigm(4)*s1*nf
1600 dsigm(5) = factor*dsigm(5)*s2
1601 dsigm(6) = factor*dsigm(6)*s2*
max(0,(nf-1))
1602 dsigm(7) = factor*dsigm(7)*s3
1603 dsigm(8) = factor*dsigm(8)*(s4*s5-(s2+s3))
1606 dsigm(0) = dsigm(0)+dsigm(m)
1609 dsigmm(m) = dsigm(m)
1617 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1619 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1623 parameter( tiny= 1.
d-20 )
1624 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1625 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1627 dimension absz(32),weig(32)
1634 IF ( arg.LE.ec .OR. arg.LE.1./ec )
RETURN
1636 edl =-
log(arg-1./ec)
1638 CALL
gset(edl,edu,npoint,absz,weig)
1640 CALL
csj2m(
pt,etac,absz(i),dsig1)
1643 pctrl= dsig1(m)/tiny
1645 IF( pctrl.GE.1.d0 )
THEN
1646 dsigm(m) = dsigm(m)+weig(i)*dsig1(m)
1656 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1658 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1659 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1660 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1662 dimension absz(32),weig(32)
1668 IF ( amt.GE.1.d0 )
RETURN
1669 ecu =
log((
sqrt(1.-amt*amt)+1.)/amt)
1672 CALL
gset(ecl,ecu,npoint,absz,weig)
1676 dsigm(m) = dsigm(m)+weig(i)*dsig1(m)
1687 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1689 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1690 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1691 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
1692 COMMON /xsecpt/ ptcut,sigs,dsigh
1694 dimension absz(32),weig(32)
1700 IF ( ptini(1).GE.ecm/2.d0 )
RETURN
1703 ptmax =
min(fac*ptmin,ecm/2.)
1708 1000
FORMAT(1
x,
' d sigma/ p_t d p_t ',e12.5)
1712 ex =
log(sig1/(dsig1(0)+1.
e-30))/
log(fac)
1715 IF ( ptmin.GE.ptmax ) goto 40
1718 CALL
gset(rl,ru,npoint,absz,weig)
1723 f = weig(i)*
pt/(
r*ex1)
1725 dsigm(m) = dsigm(m)+
f*dsig1(m)
1747 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1749 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1750 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06,
zero=0.)
1751 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1753 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
1756 CHARACTER*11 pdset,partic
1757 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
1759 COMMON /histo / pt10,dpt1,eta10,deta1,pt20,dpt2,eta20,deta2,
1760 &
x(50,-5:5),ab(50,-5:5),hpe(50,-5:5),hep(50,5),
1761 & hpm(50,8),hem(50,8),hp(50),he(50),
1770 xsect(2,0) = xsect(2,-1)
1771 mxsect(1,0) = mxsect(1,-1)
1772 mxsect(2,0) = mxsect(2,-1)
1774 mxsect(1,0) = mxsect(1,0)+mxsect(1,m)
1775 mxsect(2,0) = mxsect(2,0)+mxsect(2,m)
1776 7 xsect(2,0) = xsect(2,0)+xsect(2,m)
1778 1010
FORMAT(1
x,20(
'=='),
' HISTO-OUTPUT ',i2,1
x,10(
'=='),/)
1779 IF ( iout.EQ.1 )
THEN
1781 1040
FORMAT(
' PROCESS',15
x,
'EVENTS',22
x,
'HARD CROSS SECTION',/,
1782 & 25
x,
'TOTAL ACCEPT.',10
x,
'MONTE-CARLO',11
x,
'INCLUSIVE')
1788 IF ( mxsect(1,m).GT.0 )
THEN
1789 sig(m) = xsect(3,m)/mxsect(1,m)
1790 stdev(m) =
sqrt(
max(
zero,xsect(4,m)-xsect(3,m)*sig(m)))/
1793 IF ( m.EQ.3 .AND. mxsect(1,-1).GT.0 )
THEN
1794 sigg = xsect(3,-1)/mxsect(1,-1)
1795 sig(3) = sig(3)+sigg
1797 & +
sqrt(
max(
zero,xsect(4,-1)-xsect(3,-1)*sigg))/mxsect(1,-1)
1799 sigsum = sigsum+sig(m)
1800 stdevs = stdevs+stdev(m)
1802 mxsect(1,3) = mxsect(1,3)+mxsect(1,-1)
1803 mxsect(2,3) = mxsect(2,3)+mxsect(2,-1)
1804 WRITE(6,1050) proc(0),(mxsect(l,0),l=0,2),
1805 & sigsum,stdevs,xsect(5,0)
1807 IF ( mxsect(0,m).EQ.1 )
WRITE(6,1050) proc(m),
1808 & (mxsect(l,m),l=0,2),sig(m),stdev(m),xsect(5,m)
1810 1050
FORMAT(a19,i3,2i8,e14.4,
' +- ',e10.4,e14.4)
1811 mxsect(1,3) = mxsect(1,3)-mxsect(1,-1)
1812 mxsect(2,3) = mxsect(2,3)-mxsect(2,-1)
1813 ELSEIF ( iout.EQ.2 )
THEN
1814 fac = xsect(2,0)/(dpt1*mxsect(1,0))
1816 ab(i,1) = pt10+(i-1)*dpt1
1817 IF ( hp(i).GT.1.
d-35 )
x(i,1) = log10(fac*hp(i))
1820 1060
FORMAT(
' JET CROSS SECTION PT-DISTRIBUTION',/)
1821 CALL
plot(ab(1,1),
x(1,1),50,1,50,pt10,dpt1,xsmin,xsstep)
1822 ELSEIF ( iout.EQ.3 )
THEN
1823 fac = xsect(2,0)/(dpt1*mxsect(1,0))
1825 pt = pt10+(i-1)*dpt1
1828 IF ( hpm(i,j).GT.1.
d-35 )
x(i,j-6) = log10(fac*hpm(i,j))
1832 1070
FORMAT(
' JET CROSS SECTION PT-DISTRIBUTION',/,
1833 &
' FOR THE DIFF. SUBPROCESSES',/)
1834 CALL
plot(ab,
x,400,8,50,pt10,dpt1,xsmin,xsstep)
1835 ELSEIF ( iout.EQ.4 )
THEN
1836 fac = xsect(2,0)/(dpt1*deta1*mxsect(1,0))
1838 pt = pt10+(i-1)*dpt1
1841 IF ( hpe(i,j).GT.1.
d-35 )
x(i,j) = log10(fac*hpe(i,j))
1844 WRITE(6,1080) eta10,-eta10
1845 1080
FORMAT(
' JET CROSS SECTION PT-DISTRIBUTION',/,
1846 &
' RAP.=',f5.2,
'...',
f4.2,/)
1847 CALL
plot(ab,
x,550,11,50,pt10,dpt1,xsmin,xsstep)
1848 ELSEIF ( iout.EQ.5 )
THEN
1849 fac = xsect(2,0)/(deta2*dpt2*mxsect(1,0))
1851 eta = eta20+(i-1)*deta2
1854 IF ( hep(i,j).GT.1.
d-35 )
x(i,j) = log10(fac*hep(i,j))
1857 WRITE(6,1090) pt20,pt20+4.*dpt2
1858 1090
FORMAT(
' JET CROSS SECTION RAP.-DISTRIBUTION',/,
1859 &
' PT=',f6.2,
'...',f6.2,/)
1860 CALL
plot(ab(1,1),
x(1,1),250,5,50,eta20,deta2,xsmin,xsstep)
1861 ELSEIF ( iout.EQ.6 )
THEN
1862 fac = xsect(2,0)/(deta2*mxsect(1,0))
1864 eta = eta20+(i-1)*deta2
1867 IF ( hem(i,j).GT.1.
d-35 )
x(i,j-6) = log10(fac*hem(i,j))
1871 1100
FORMAT(
' JET CROSS SECTION RAP.-DISTRIBUTION',/,
1872 &
' FOR THE DIFF. SUBPROCESSES',/)
1873 CALL
plot(ab,
x,400,8,50,eta20,deta2,xsmin,xsstep)
1882 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1884 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1886 COMMON /histo / pt10,dpt1,eta10,deta1,pt20,dpt2,eta20,deta2,
1887 &
x(50,-5:5),ab(50,-5:5),hpe(50,-5:5),hep(50,5),
1888 & hpm(50,8),hem(50,8),hp(50),he(50),
1915 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1917 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1918 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
1919 COMMON /harslt/ lscahd,lsc1hd,
1920 & etahd(mscahd,2) ,pthd(mscahd),
1921 & xhd(mscahd,2) ,vhd(mscahd) ,x0hd(mscahd,2),
1922 & ninhd(mscahd,2) ,nouthd(mscahd,2),
1923 & n0inhd(mscahd,2),nbrahd(mscahd,2),nprohd(mscahd)
1925 COMMON /histo / pt10,dpt1,eta10,deta1,pt20,dpt2,eta20,deta2,
1926 &
x(50,-5:5),ab(50,-5:5),hpe(50,-5:5),hep(50,5),
1927 & hpm(50,8),hem(50,8),hp(50),he(50),
1934 ipt1 =
int((pthd(
n)-pt10)/dpt1)+1
1935 ieta1 =
int((etahd(
n,k)-eta10)/deta1+0.5)-5
1936 ipt2 =
int((pthd(
n)-pt20)/dpt2)+1
1937 ieta2 =
int((etahd(
n,k)-eta20)/deta2+0.5)
1938 IF ( ipt1.GE. 1 .AND. ipt1.LE.50 )
THEN
1939 hpm(ipt1,mspr) = hpm(ipt1,mspr)+1.
1940 hp(ipt1) = hp(ipt1)+1.
1941 IF ( abs(ieta1).LE.5 ) hpe(ipt1,ieta1) = hpe(ipt1,ieta1)+1.
1943 IF ( ieta2.GE. 1 .AND. ieta2.LE.50 )
THEN
1944 hem(ieta2,mspr) = hem(ieta2,mspr)+1.
1945 he(ieta2) = he(ieta2)+1.
1946 IF ( ipt2.GE.1 .AND. ipt2.LE.5 ) hep(ieta2,ipt2) =
1947 & hep(ieta2,ipt2)+1.
1955 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1957 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
1958 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
1960 CHARACTER*11 pdset,partic
1961 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
1963 COMMON /histo / vvv(50),xs(50,6),ab(50,6),dsig(0:
maxpro),pd(-6:6),
1965 IF ( iout.EQ.1 )
THEN
1967 WRITE(6,1010) ecm,ptini(1),(proc(m),dsig(m),m=0,
maxpro)
1968 1010
FORMAT(
' HARD CROSS SECTIONS FOR SINGLE PROCESSES',/,
1969 &
' AT CM-ENERGY=',e8.1,
' AND PTMIN=',f5.1,/,9(a25,e14.6,/))
1970 ELSEIF ( iout.EQ.2 )
THEN
1988 CALL
jtpdis(vvv(j),qq,1,1,pd)
1989 IF ( pd(0).GT.1.
d-30 ) xs(j,i) = log10(pd(0))
1992 1020
FORMAT(
' GLUONDISTRIBUTION OVER LOG10(X) ( Q**2=10**I;',
1994 CALL
plot(ab,xs,250,5,50,ymax,-
dy,pdmin,pdstep)
1995 ELSEIF ( iout.EQ.3 )
THEN
1999 b = float(i-1)*qqstep+qqmin
2011 IF ( pd(0).GT.1.
d-30 ) xs(i,j) = log10(pd(0))
2014 1030
FORMAT(
' GLUONDISTRIBUTION OVER LOG10(Q**2) ( X=10**(-I)'
2016 CALL
plot(ab,xs,200,4,50,qqmin,qqstep,pdmin,pdstep)
2017 ELSEIF ( iout.EQ.4 )
THEN
2024 pt = (i-1)*ptstep+ptmin
2034 IF ( dsig(0).GT.1.
d-30 ) xs(i,1) = log10(dsig(0))
2037 1040
FORMAT(
' DIFFERENTIAL HARD CROSS SECTION OVER PT , RAP.=0.')
2038 CALL
plot(ab,xs,50,1,50,ptmin,ptstep,xsmin,xsstep)
2057 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2059 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2060 COMMON /hacons/ pi,pi2,pi4,gevtmb
2061 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2062 COMMON /hapdco/ npdcor
2063 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
2064 COMMON /haoutl/ noutl,nouter,noutco
2066 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
2069 CHARACTER*11 pdset,partic
2070 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
2071 dimension dsig(0:
maxpro),alam(23),q0s(23)
2072 DATA alam / 0.20, 0.29, 0.107, 0.250, 0.178, 0.25,
2073 * 0.10, 0.19, 0.190, 0.190, 0.190, 0.19,
2074 * 0.215,0.215,0.215,
2075 * 0.231,0.231,0.322, 0.247, 0.168,0.2,0.2,0.202 /
2076 DATA q0s / 5.0 , 5.0 , 5.0 , 5.0 , 5.0 , 0.2,
2077 * 5.0 , 5.0 , 5.0 , 5.0 , 5.0 , 5.0,
2078 * 5.0 , 5.0 , 5.0 , 4.0 , 4.0 , 4.0,
2079 * 4.0 , 4.0 , 0.4 ,0.4 ,1.60 /
2081 IF ( noutl.GE.1 )CALL
timdat
2082 alasqr = alam(npd)**2
2084 bqcd = pi4/(11.-(2./3.)*nf)
2088 IF ( ptini(i).LE..5d0.OR.ptini(i).GE.ecm*.5d0)ptini(i)=1.
d+30
2089 IF ( ptini(i).NE.1.
d+30 ) ini = ini+1
2093 IF ( ptini(j).LT.ptini(i) )
THEN
2114 IF ( noutl.GE.10 )
WRITE(6,1060) ptini(i)
2115 1060
FORMAT(
' NORMALIZATION FOR PTMIN=',f10.4,
' CALCULATED')
2117 IF ( noutl.GE.10 )
WRITE(6,1070) ptini(i)
2118 1070
FORMAT(
' MAXIMA FOR PTMIN=',f10.4,
' CALCULATED')
2119 xsecta(1,0,i) = ptini(i)
2121 xsecta(1,m,i) = xsect(1,m)
2122 xsecta(2,m,i) = xsect(2,m)
2128 xsect(5,m) = dsig(m)
2133 IF ( noutl.GE.10 )
WRITE(6,
'(/,1X,70(1H*))')
2134 WRITE(6,1057) ptini(1),pdset(npd),
sqrt(alasqr),q0sqr
2136 &
' --- parameters of the hard scattering program ---',/,
2137 &
' MIN. PT :',f15.1,/,
2138 &
' PARTON-DISTR. :',a15,/,
2139 &
' LAMBDA :',f15.3,/,
2140 &
' Q0**2 :',f15.3,/)
2141 IF ( noutl.GE.1 )
THEN
2142 WRITE(6,1050) partic(nha),partic(nhb),ecm,ptini(1),pdset(npd),
2143 &
sqrt(alasqr),q0sqr,npdcor,nqqal,aqqal,nqqpd,aqqpd
2144 1050
FORMAT(/,1
x,70(
'*'),/,
2145 &
' HARD SCATTERING PROGRAM IS INITIALIZED FOR',/,
2146 &
' PROJECTILE :',a15,/,
2147 &
' TARGET :',a15,/,
2148 &
' CM-ENERGY :',f15.1,/,
2149 &
' MIN. PT :',f15.1,/,
2150 &
' PARTON-DISTR. :',a15,/,
2151 &
' LAMBDA :',f15.3,/,
2152 &
' Q0**2 :',f15.3,/,
2153 &
' NPDCOR :',i15,/,
2155 &
' AQQAL :',f15.3,/,
2157 &
' AQQPD :',f15.3,/)
2164 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2166 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2167 parameter( mxabwt = 1000 )
2168 parameter(
zero=0.d0,
one=1.d0)
2169 COMMON /hacons/ pi,pi2,pi4,gevtmb
2170 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2171 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
2173 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
2175 dimension absz(mxabwt),weig(mxabwt)
2177 DATA f124 / 1.,0.,4.,2.,2.,2.,4.,1.,4.,4. /
2179 a = (2.*ptini(ind)/ecm)**2
2194 z2 = (1.-z1)*absz(i2)
2206 va =-0.5*w1/(w1+
z*
w)
2208 vb =-0.5*faxx/(w1+2.*
w*
z)
2210 vc =-
exp(hln+
z*wlog)
2214 s(1) =
s(1)+(1.+
w)*2.25*(va*va*(3.-ua*va-va/(ua*ua))-ua)*
2216 s(2) =
s(2)+(vc*vc+uc*uc)*((16./27.)/uc-(4./3.)*vc)*fww*
2218 s(3) =
s(3)+(1.+
w)*(1.+ua*ua)*(1.-(4./9.)*va*va/ua)*weig(i)
2219 s(5) =
s(5)+((4./9.)*(1.+ub*ub+(ub*ub+vb*vb)*vb*vb)-
2220 & (8./27.)*ua*ua*va)*weig(i)
2221 s(6) =
s(6)+(4./9.)*(ue*ue+ve*ve)*faxx*weig(i)
2222 s(7) =
s(7)+(1.+
w)*((2./9.)*(1.+ua*ua+(1.+va*va)*va*va/
2223 & (ua*ua))-(4./27.)*va/ua)*weig(i)
2224 s(8) =
s(8)+(4./9.)*(1.+ub*ub)*weig(i)
2225 s(-1) =
s(-1)+(1.+vc*vc)*(vc/(uc*uc)-(4./9.))*fww*weig(i)
2227 s(4) =
s(2)*(9./32.)
2229 s2(m) = s2(m)+
s(m)*weig(i2)*
w
2233 s1(m) = s1(m)+s2(m)*(1.-z1)*weig(i1)
2236 fff = pi*gevtmb*aln*aln/(
a*ecm*ecm)
2238 xsect(1,m) =
fff*f124(m)*s1(m)
2240 xsect(1,4) = xsect(1,4)*nf
2241 xsect(1,6) = xsect(1,6)*
max(0,nf-1)
2246 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2248 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2249 parameter( nkm = 5 )
2250 parameter( tiny= 1.
d-30 )
2251 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2253 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
2255 dimension
z(3),
d(3),
ff(nkm)
2272 IF (
f2.GT.
f3 )
z(i) =
z(i)-
d(i)
2273 IF (
f2.GT.
f3 )
d(i) =-
d(i)
2278 IF (
f3.GT.
f2 ) goto 20
2285 IF ( abs(fold-
f2)/
f2.GT.0.002d0.OR. it.LT.3 ) goto 10
2288 xsect(2,1) =
ff(1)*xsect(1,1)
2289 xsect(2,2) =
ff(2)*xsect(1,2)
2290 xsect(2,3) =
ff(4)*xsect(1,3)
2291 xsect(2,4) =
ff(1)*xsect(1,4)
2292 xsect(2,5) =
ff(2)*xsect(1,5)
2293 xsect(2,6) =
ff(2)*xsect(1,6)
2294 xsect(2,7) =
ff(3)*xsect(1,7)
2295 xsect(2,8) =
ff(5)*xsect(1,8)
2296 xsect(2,-1)=
ff(4)*xsect(1,-1)
2301 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2303 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2304 parameter( nkm = 5 )
2305 parameter( tiny= 1.
d-30,
one=1.d0 ,tiny6=1.
d-06,
zero=0.d0)
2306 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2307 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
2308 dimension
f(nkm),pda(-6:6),pdb(-6:6),
z(3)
2312 IF (
z(1).LE.0.0d0 .OR.
z(1).GE.1.0d0 )
RETURN
2313 IF (
z(2).LE.0.0d0 .OR.
z(2).GE.1.0d0 )
RETURN
2314 IF (
z(3).LT.0.0d0 .OR.
z(3).GT.1.0d0 )
RETURN
2315 a = (2.*ptini(ind)/ecm)**2
2322 v =-0.5+
w*(
z(3)-0.5)
2326 IF ( nqqal.EQ.1 )
THEN
2328 ELSEIF ( nqqal.EQ.2 )
THEN
2329 qqal = aqqal*
y1*ecm*ecm
2330 ELSEIF ( nqqal.EQ.3 )
THEN
2331 qqal = aqqal*
y1*ecm*ecm*(u*v)**(1./3.)
2332 ELSEIF ( nqqal.EQ.4 )
THEN
2333 qqal = aqqal*
y1*ecm*ecm*u*v/(1.+v*v+u*u)
2335 IF ( nqqpd.EQ.1 )
THEN
2337 ELSEIF ( nqqpd.EQ.2 )
THEN
2338 qqpd = aqqpd*
y1*ecm*ecm
2339 ELSEIF ( nqqpd.EQ.3 )
THEN
2340 qqpd = aqqpd*
y1*ecm*ecm*(u*v)**(1./3.)
2341 ELSEIF ( nqqpd.EQ.4 )
THEN
2342 qqpd = aqqpd*
y1*ecm*ecm*u*v/(1.+v*v+u*u)
2344 factor = (bqcd/
log(
max(qqal/alasqr,1.1*
one)))**2
2353 f(2) =
f(2)+pda(i)*pdb(-i)+pda(-i)*pdb( i)
2354 f(3) =
f(3)+pda(i)*pdb( i)+pda(-i)*pdb(-i)
2355 f(4) =
f(4)+pda(i)+pda(-i)
2356 f(5) =
f(5)+pdb(i)+pdb(-i)
2358 f(1) = pda(0)*pdb(0)
2359 t = pda(0)*
f(5)+pdb(0)*
f(4)
2360 f(5) =
f(4)*
f(5)-(
f(2)+
f(3))
2367 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2369 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2370 COMMON /hacons/ pi,pi2,pi4,gevtmb
2371 COMMON /hapara/ ecm,ptini(4),q0sqr,alasqr,bqcd,npd,nf,nha,nhb
2372 COMMON /hapadi/ npdm
2373 COMMON /hapdco/ npdcor
2374 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
2375 COMMON /haoutl/ noutl,nouter,noutco
2376 COMMON /hacuts/ ptl,ptu,etacl,etacu,etadl,etadu
2377 COMMON /hagaup/ ngaup1,ngaup2,ngauet,ngauin
2378 COMMON /haevtr/ line,lin,lrec1(mline),lrec2(mline),prec(0:3,mline)
2380 COMMON /haxsec/ xsecta(2,-1:
maxpro,4),xsect(5,-1:
maxpro),
2382 COMMON /haxsum/xshmx
2399 bqcd = pi4/(11.0-(2./3.)*nf)
2451 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2453 parameter(
maxpro = 8 , mline = 1000 , mscahd = 250 )
2455 CHARACTER*11 pdset,partic
2456 COMMON /peproc/ proc(0:
maxpro),pdset(23),partic(-1:1)
2458 DATA proc /
'SUM OVER PROCESSES',
'G +G --> G +G ',
2459 &
'Q +QB --> G +G ',
'G +Q --> G +Q ',
2460 &
'G +G --> Q +QB ',
'Q +QB --> Q +QB ',
2461 &
'Q +QB --> QS +QBS',
'Q +Q --> Q +Q ',
2462 &
'Q +QS --> Q +QS ' /
2463 DATA pdset /
' EHLQ SET 1',
' EHLQ SET 2',
' MRS SET 1',
2464 &
' MRS SET 2',
' MRS SET 3',
' GRV LO ',
2465 &
' HMRS SET 1',
' HMRS SET 2',
' KMRS SET 1',
2466 &
' KMRS SET 2',
' KMRS SET 3',
' KMRS SET 4',
2467 &
' MRS(S0) ',
' MRS(D0) ',
' MRS(D-) ',
2468 &
' CTEQ 1M ',
' CTEQ 1MS ',
' CTEQ 1ML ',
2469 &
' CTEQ 1D ',
' CTEQ 1L ',
' GRV94LO1 ' ,
2470 &
' GRV98LO ',
' CTEQ96 '/
2471 DATA partic /
' ANTIPROTON',
' ',
' PROTON' /
2527 SUBROUTINE dor94lo (X, Q2, UV, DV, DEL, UDB, SB, GL)
2528 IMPLICIT DOUBLE PRECISION (
a -
z)
2531 lam2 = 0.2322 * 0.2322
2537 nu = 2.284 + 0.802 *
s + 0.055 * s2
2538 aku = 0.590 - 0.024 *
s
2539 bku = 0.131 + 0.063 *
s
2540 au = -0.449 - 0.138 *
s - 0.076 * s2
2541 bu = 0.213 + 2.669 *
s - 0.728 * s2
2542 cu = 8.854 - 9.135 *
s + 1.979 * s2
2543 du = 2.997 + 0.753 *
s - 0.076 * s2
2544 uv =
dor94fv(
x, nu, aku, bku, au, bu, cu, du)
2546 nd = 0.371 + 0.083 *
s + 0.039 * s2
2548 bkd = 0.486 + 0.062 *
s
2549 ad = -0.509 + 3.310 *
s - 1.248 * s2
2550 bd = 12.41 - 10.52 *
s + 2.267 * s2
2551 cd = 6.373 - 6.208 *
s + 1.418 * s2
2552 dd = 3.691 + 0.799 *
s - 0.071 * s2
2553 dv =
dor94fv(
x, nd, akd, bkd, ad, bd,
cd, dd)
2555 ne = 0.082 + 0.014 *
s + 0.008 * s2
2556 ake = 0.409 - 0.005 *
s
2557 bke = 0.799 + 0.071 *
s
2558 ae = -38.07 + 36.13 *
s - 0.656 * s2
2559 be = 90.31 - 74.15 *
s + 7.645 * s2
2561 de = 7.486 + 1.217 *
s - 0.159 * s2
2562 del =
dor94fv(
x, ne, ake, bke, ae, be, ce, de)
2566 akx = 0.410 - 0.232 *
s
2567 bkx = 0.534 - 0.457 *
s
2568 agx = 0.890 - 0.140 *
s
2570 cx = 0.320 + 0.683 *
s
2571 dx = 4.752 + 1.164 *
s + 0.286 * s2
2572 ex = 4.119 + 1.713 *
s
2573 esx = 0.682 + 2.978 *
s
2574 udb=
dor94fw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
dx, ex, esx)
2578 aks = 1.798 - 0.596 *
s
2579 as = -5.548 + 3.669 * ds - 0.616 *
s
2580 bs = 18.92 - 16.73 * ds + 5.168 *
s
2581 dst = 6.379 - 0.350 *
s + 0.142 * s2
2582 est = 3.981 + 1.638 *
s
2584 sb =
dor94fs(
x,
s, als, bes, aks, as, bs, dst, est, ess)
2588 akg = 1.742 - 0.930 *
s
2590 ag = 7.486 - 2.185 *
s
2591 bg = 16.69 - 22.74 *
s + 5.779 * s2
2592 cg = -25.59 + 29.71 *
s - 7.296 * s2
2593 dg = 2.792 + 2.215 *
s + 0.422 * s2 - 0.104 * s3
2594 eg = 0.807 + 2.005 *
s
2595 esg = 3.841 + 0.316 *
s
2596 gl =
dor94fw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
2602 SUBROUTINE dor94ho (X, Q2, UV, DV, DEL, UDB, SB, GL)
2603 IMPLICIT DOUBLE PRECISION (
a -
z)
2606 lam2 = 0.248 * 0.248
2612 nu = 1.304 + 0.863 *
s
2613 aku = 0.558 - 0.020 *
s
2615 au = -0.113 + 0.283 *
s - 0.321 * s2
2616 bu = 6.843 - 5.089 *
s + 2.647 * s2 - 0.527 * s3
2617 cu = 7.771 - 10.09 *
s + 2.630 * s2
2618 du = 3.315 + 1.145 *
s - 0.583 * s2 + 0.154 * s3
2619 uv =
dor94fv(
x, nu, aku, bku, au, bu, cu, du)
2621 nd = 0.102 - 0.017 *
s + 0.005 * s2
2622 akd = 0.270 - 0.019 *
s
2624 ad = 2.393 + 6.228 *
s - 0.881 * s2
2625 bd = 46.06 + 4.673 *
s - 14.98 * s2 + 1.331 * s3
2626 cd = 17.83 - 53.47 *
s + 21.24 * s2
2627 dd = 4.081 + 0.976 *
s - 0.485 * s2 + 0.152 * s3
2628 dv =
dor94fv(
x, nd, akd, bkd, ad, bd,
cd, dd)
2630 ne = 0.070 + 0.042 *
s - 0.011 * s2 + 0.004 * s3
2631 ake = 0.409 - 0.007 *
s
2632 bke = 0.782 + 0.082 *
s
2633 ae = -29.65 + 26.49 *
s + 5.429 * s2
2634 be = 90.20 - 74.97 *
s + 4.526 * s2
2636 de = 8.122 + 2.120 *
s - 1.088 * s2 + 0.231 * s3
2637 del =
dor94fv(
x, ne, ake, bke, ae, be, ce, de)
2644 bgx = 3.210 - 1.866 *
s
2646 dx = 9.010 + 0.896 * ds + 0.222 * s2
2647 ex = 3.077 + 1.446 *
s
2648 esx = 3.173 - 2.445 * ds + 2.207 *
s
2649 udb=
dor94fw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
dx, ex, esx)
2653 aks = 1.690 + 0.650 * ds - 0.922 *
s
2654 as = -4.329 + 1.131 *
s
2655 bs = 9.568 - 1.744 *
s
2656 dst = 9.377 + 1.088 * ds - 1.320 *
s + 0.130 * s2
2657 est = 3.031 + 1.639 *
s
2658 ess = 5.837 + 0.815 *
s
2659 sb =
dor94fs(
x,
s, als, bes, aks, as, bs, dst, est, ess)
2663 akg = 1.724 + 0.157 *
s
2664 bkg = 0.800 + 1.016 *
s
2665 ag = 7.517 - 2.547 *
s
2666 bg = 34.09 - 52.21 * ds + 17.47 *
s
2667 cg = 4.039 + 1.491 *
s
2668 dg = 3.404 + 0.830 *
s
2669 eg = -1.112 + 3.438 *
s - 0.302 * s2
2670 esg = 3.256 - 0.436 *
s
2671 gl =
dor94fw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
2677 SUBROUTINE dor94di (X, Q2, UV, DV, DEL, UDB, SB, GL)
2678 IMPLICIT DOUBLE PRECISION (
a -
z)
2681 lam2 = 0.248 * 0.248
2687 nu = 2.484 + 0.116 *
s + 0.093 * s2
2688 aku = 0.563 - 0.025 *
s
2689 bku = 0.054 + 0.154 *
s
2690 au = -0.326 - 0.058 *
s - 0.135 * s2
2691 bu = -3.322 + 8.259 *
s - 3.119 * s2 + 0.291 * s3
2692 cu = 11.52 - 12.99 *
s + 3.161 * s2
2693 du = 2.808 + 1.400 *
s - 0.557 * s2 + 0.119 * s3
2694 uv =
dor94fv(
x, nu, aku, bku, au, bu, cu, du)
2696 nd = 0.156 - 0.017 *
s
2697 akd = 0.299 - 0.022 *
s
2698 bkd = 0.259 - 0.015 *
s
2699 ad = 3.445 + 1.278 *
s + 0.326 * s2
2700 bd = -6.934 + 37.45 *
s - 18.95 * s2 + 1.463 * s3
2701 cd = 55.45 - 69.92 *
s + 20.78 * s2
2702 dd = 3.577 + 1.441 *
s - 0.683 * s2 + 0.179 * s3
2703 dv =
dor94fv(
x, nd, akd, bkd, ad, bd,
cd, dd)
2705 ne = 0.099 + 0.019 *
s + 0.002 * s2
2706 ake = 0.419 - 0.013 *
s
2707 bke = 1.064 - 0.038 *
s
2708 ae = -44.00 + 98.70 *
s - 14.79 * s2
2709 be = 28.59 - 40.94 *
s - 13.66 * s2 + 2.523 * s3
2710 ce = 84.57 - 108.8 *
s + 31.52 * s2
2711 de = 7.469 + 2.480 *
s - 0.866 * s2
2712 del =
dor94fv(
x, ne, ake, bke, ae, be, ce, de)
2716 akx = 0.326 + 0.150 *
s
2717 bkx = 0.956 + 0.405 *
s
2719 bgx = 3.794 - 2.359 * ds
2721 dx = 7.941 + 0.534 * ds - 0.940 *
s + 0.410 * s2
2722 ex = 3.049 + 1.597 *
s
2723 esx = 4.396 - 4.594 * ds + 3.268 *
s
2724 udb=
dor94fw(
x,
s, alx, bex, akx, bkx, agx, bgx, cx,
dx, ex, esx)
2728 aks = 1.415 - 0.641 * ds
2729 as = 0.580 - 9.763 * ds + 6.795 *
s - 0.558 * s2
2730 bs = 5.617 + 5.709 * ds - 3.972 *
s
2731 dst = 13.78 - 9.581 *
s + 5.370 * s2 - 0.996 * s3
2732 est = 4.546 + 0.372 * s2
2733 ess = 5.053 - 1.070 *
s + 0.805 * s2
2734 sb =
dor94fs(
x,
s, als, bes, aks, as, bs, dst, est, ess)
2739 bkg = 2.427 + 1.311 *
s - 0.153 * s2
2740 ag = 25.09 - 7.935 *
s
2741 bg = -14.84 - 124.3 * ds + 72.18 *
s
2742 cg = 590.3 - 173.8 *
s
2743 dg = 5.196 + 1.857 *
s
2744 eg = -1.648 + 3.988 *
s - 0.432 * s2
2745 esg = 3.232 - 0.542 *
s
2746 gl =
dor94fw(
x,
s, alg, beg, akg, bkg, ag, bg, cg, dg, eg, esg)
2753 IMPLICIT DOUBLE PRECISION (
a -
z)
2760 FUNCTION dor94fw (X, S, AL, BE, AK, BK, A, B, C, D, E, ES)
2761 IMPLICIT DOUBLE PRECISION (
a -
z)
2765 1 * dexp(-
e +
sqrt(es *
s**be * lx))) * (1.-
x)**
d
2769 FUNCTION dor94fs (X, S, AL, BE, AK, AG, B, D, E, ES)
2770 IMPLICIT DOUBLE PRECISION (
a -
z)
2775 1 * dexp(-
e +
sqrt(es *
s**be * lx))