37 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
40 parameter(conv=.38935d0)
41 parameter(pi=3.141592654d0,
45 parameter(thousa = 1000.d0)
48 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
51 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
52 common/pompar/alfa,alfap,
a,
c,ak
53 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
57 CHARACTER*8 projty,targty
60 COMMON /user1/
title,projty,targty
61 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
63 COMMON /strufu/istrum,istrut
65 common/collis/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
66 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
70 dimension xsqsj(21),xxhhj4(21)
75 DATA xsqsj/0.005,0.01,0.02,0.035,0.053,
76 * 0.1,0.2,0.35,0.54,1.,2.,5.,
77 *10.,20.,40.,100.,200.,400.,1000.,2000.,4000./
80 DATA sqs/1.,2.,3.,4.,5.,10.,20.,30.,40.,100.,200.,500.,1000./
89 go to(10,20,30,40,50,60,70,80,90,100),isig
92 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
98 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
103 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
110 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
117 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
124 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
131 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
136 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
140 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
169 IF(abs(ptthr-three).LT.eps)
THEN
170 WRITE(6,*)
' PTTHR=3. not available in dpmjet25'
171 WRITE(6,*)
' WARNING: no model parameter set available'
172 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
173 WRITE(6,*)
' (initialization using default values)'
184 IF(abs(ptthr-two).LT.eps)
THEN
185 WRITE(6,*)
' PTTHR=2. not available in dpmjet25'
186 WRITE(6,*)
' WARNING: no model parameter set available'
187 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
188 WRITE(6,*)
' (initialization using default values)'
205 WRITE(6,*)
' ISTRUT=1 (PTTHR=2.1+0.15*(LOG10(ECM/50.))**3)',
206 *
'not available in dpmjet25'
207 ptthr=2.1+0.15*(log10(ecm/50.))**3
209 WRITE(6,*)
' WARNING: no model parameter set available'
210 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
211 WRITE(6,*)
' (initialization using default values)'
231 ptthr=2.5+0.12*(log10(ecm/50.))**3
233 IF( istruf.EQ.9 )
THEN
234 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
235 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
237 ELSEIF( istruf.EQ.10 )
THEN
238 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
239 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
241 ELSEIF( istruf.EQ.11 )
THEN
242 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
243 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
245 ELSEIF( istruf.EQ.12 )
THEN
246 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
247 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
249 ELSEIF( istruf.EQ.13 )
THEN
250 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
251 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
253 ELSEIF( istruf.EQ.14 )
THEN
254 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
255 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
257 ELSEIF( istruf.EQ.15 )
THEN
258 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
259 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
262 ELSEIF( istruf.EQ.16 )
THEN
263 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
264 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
267 ELSEIF( istruf.EQ.17 )
THEN
268 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
269 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
271 ELSEIF( istruf.EQ.18 )
THEN
272 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
273 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
275 ELSEIF( istruf.EQ.19 )
THEN
276 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
277 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
279 ELSEIF( istruf.EQ.20 )
THEN
280 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
281 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
284 ELSEIF( istruf.EQ.21 )
THEN
293 ELSEIF( istruf.EQ.22 )
THEN
302 ELSEIF( istruf.EQ.23 )
THEN
312 WRITE(6,*)
' WARNING: no model parameter set available'
313 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
314 WRITE(6,*)
' (initialization using default values)'
344 sigsof=
a*
s**(alfa-1.)
350 IF(istruf.EQ.21)ak=2.
353 * sighar=ak*0.1*(
s-2450.)**0.35
354 IF(ecm.GE.thousa*xsqsj(2))
THEN
357 IF(ecm.LT.xsqsj(iii)*thousa.AND.
358 * ecm.GE.thousa*xsqsj(i))
THEN
359 dsq=ecm-thousa*xsqsj(i)
360 ddsq=thousa*(xsqsj(iii)-xsqsj(i))
361 dhs=(xxhhj4(iii)-xxhhj4(i))
362 sighar=ak*(xxhhj4(i)+dhs*dsq/ddsq)*0.5
378 bsdca=bsdoca+2.*alsca*alns
379 sigtrp=g3ca*gaca*
log(
s/10.)/(8.*3.14*bsdca)
380 IF (sigtrp.LT.0.d0)sigtrp=0.01
383 alo1sq=(
log(
s/400.))**2
384 alo2sq=(
log(25./
s))**2
385 alo3sq=(
log(5./20.))**2
386 sigloo=
a*gaca**2*(alo1sq+alo2sq-2.*alo3sq)/(32.*3.14*bddca)
393 WRITE(6,
'(2(/1X,A))')
'SELECTED PARAMETERS:',
394 &
'===================='
395 WRITE(6,
'(1X,A,E12.3)')
' ALFA ',alfa
396 WRITE(6,
'(1X,A,E12.3)')
' ALFAP ',alfap
397 WRITE(6,
'(1X,A,E12.3)')
' A ',
a
398 WRITE(6,
'(1X,A,2E12.3)')
' BS,BSOO',bs,bsoo*conv
399 WRITE(6,
'(1X,A,2E12.3)')
' BH,BHOO',bh,bhoo*conv
400 WRITE(6,
'(1X,A,E12.3)')
' GACA ',gaca
401 WRITE(6,
'(1X,A,E12.3,/)')
' AK ',ak
426 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
429 CHARACTER*8 projty,targty
432 COMMON /user1/
title,projty,targty
433 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
435 common/collis/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
436 COMMON /strufu/istrum,istrut
441 parameter(epsil=1.
d-4,
446 & 0.000000
e+00,0.137854
e-04, .02, .13, .37, 1.32,
447 & 3.88, 8.02, 13.15, 24.32, 43.43, 79.69, 113.13,
448 & 147.5, 180.47, 221.01, 250.37,
449 & 279.4, 320.1, 349.6, 381.6,
451 & .000000
e+00, .494767
e-05, .02, .14, .41,
452 & 1.48, 4.17, 7.92, 11.90, 19.03, 28.59, 42.36,
453 & 52.78, 62.86, 72.65, 85.61, 95.97,
454 & 96., 96., 96., 96.,
457 & 0.517461
e-05, .02, .14, .42, 1.49, 4.14,
458 & 7.87, 11.93, 19.58, 30.67, 48.39, 63.08,
459 & 78.1, 93.28, 114.33, 132.24,
460 & 133., 133., 133., 133.,
463 & 0.717097
e-05, .03, .19, .54, 1.91, 5.33, 10.11,
464 & 16.16, 24.21, 36.41, 54.21, 67.92, 81.44,
465 & 94.81,112.9, 127.63,
466 & 128., 128., 128., 128.,
469 & 0.761464
e-05, .02, .17, .47, 1.56, 4.19,
470 & 7.76, 11.48, 18.11, 26.97, 39.82, 49.86, 59.35,
471 & 68.88, 81.65, 91.94,
472 & 92., 92., 92., 92.,
475 & .620779
e-05, .02, .12, .34, 1.19, 3.27,
476 & 6.16, 9.27, 14.99, 23.2, 36.85, 49.45,
477 & 64.43, 82.38, 112.06, 140.36,
478 & 141., 141., 141., 141.,
481 & .620779
e-05, .01, .05, .14, 0.55, 1.87,
482 & 4.29, 7.49, 14.81, 27.8, 55.99, 77.49,
483 & 105.98,138.48, 189.33, 236.37,
484 & 294., 395., 496., 629.,
487 & .620779
e-05, .01, .10, .31, 1.16, 3.76,
488 & 8.31, 14.16, 27.11, 49.3, 90.93,129.77,
489 & 174.16,223.83, 300.20, 370.00,
490 & 455., 600., 746., 936.,
493 & .620779
e-05, .01, .08, .27, 1.17, 4.15,
494 & 9.60, 16.75, 32.88, 61.1,125.98,169.87,
495 & 233.75,308.22, 426.95, 537.90,
496 & 673., 898., 1112., 1379./
499 IF( abs(ptthr-three).LT.epsil )
THEN
500 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
502 ELSEIF( abs(ptthr-two).LT.epsil )
THEN
503 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
505 ELSEIF( istrut.EQ.1 )
THEN
506 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
508 ELSEIF( istrut.EQ.2 )
THEN
509 IF( (istruf.GE.9).AND.(istruf.LE.20) )
THEN
510 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
512 ELSEIF( (istruf.GE.21).AND.(istruf.LE.23) )
THEN
514 nxs = 21*(istruf-15)+i
518 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
522 WRITE(6,*)
' ERROR RDXSEC: PTCUT ',ptthr,
' not supported ***'
550 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
552 parameter(
zero=0.d0,
one=1.d0)
553 parameter(conv=0.38935d0)
554 parameter(pi=3.141592654d0)
555 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
557 parameter(mxpa50=250,mxpa51=mxpa50+1)
564 parameter(mxlmn=5,lsqrt=.true.)
565 DOUBLE PRECISION dtiny
569 parameter(tiny=1.2
d-38,dtiny=1.
d-70,tin=1.
d-22,tinexp=-700.d0)
572 parameter(tinyex = -48.d0)
575 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
576 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
577 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
578 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
581 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
582 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
584 common/pompar/alfa,alfap,
a,
c,ak
585 COMMON /singdi/silmsd,sigdi
587 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
590 CHARACTER*8 projty,targty
593 COMMON /user1/
title,projty,targty
594 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
596 DOUBLE PRECISION sig,sigp,sigm,sign,sigo
597 dimension sig(0:mxpa25,0:mxpa50,0:mxpa13),
598 &sigp(0:mxpa25,0:mxpa50,0:mxpa13),sigm(0:mxpa25,0:mxpa50,0:mxpa13),
599 &sign(0:mxpa25,0:mxpa50,0:mxpa13),sigo(0:mxpa25,0:mxpa50,0:mxpa13)
600 dimension xpnt(mxpa96),wght(mxpa96),
601 &ssoft(0:mxpa25),shard(0:mxpa50),strpl(0:mxpa25)
603 dimension fak(0:mxpa13),cmbin(0:mxpa13,0:mxpa13)
605 & expsop,expsoh,exmsop,exmsoh,exnsop,exnsoh,exosop,exosoh,
606 & exphap,exphah,exmhap,exmhah,exnhap,exnhah,exohap,exohah,
607 & exptrp,exptrh,exmtrp,exmtrh,exntrp,exntrh,exotrp,exotrh,
608 & explop,exploh,exmlop,exmloh,exnlop,exnloh,exolop,exoloh,
609 & expexh,exmexh,exnexh,exoexh,expexp,exmexp,exnexp,exoexp
610 DOUBLE PRECISION fapsof,famsof,fansof,faosof,
611 & faphar,famhar,fanhar,faohar,
612 & faptrp,famtrp,fantrp,faotrp,
613 & faploo,famloo,fanloo,faoloo
614 DOUBLE PRECISION denom,denomi,xpntk,wghtk,rmxlmn
615 & ,sigsum,siginl,sighri
620 IF(icon/10.EQ.4)
nmax=2
621 IF(icon/10.EQ.5)
nmax=1
624 IF(
nmax.GT.mxpa13)
THEN
625 WRITE(6,*)
' arrays limit NMAX set to' , mxpa13
628 IF( mmax.GT.mxpa50)
THEN
629 WRITE(6,*)
' arrays limit MMAX set to' , mxpa50
632 IF( lmax.GT.mxpa25)
THEN
633 WRITE(6,*)
' arrays limit LMAX set to' , mxpa25
641 nnmaxi=(mxpa13-nmaxi)/(1+nmaxi)
644 ELSEIF(
nmax.EQ.2)
THEN
648 ELSEIF(
nmax.EQ.1)
THEN
652 ELSEIF(
nmax.LE.0)
THEN
671 IF(icon/10.EQ.4)
nmax=2
672 IF(icon/10.EQ.5)
nmax=1
725 IF(alalam.LE.1.
d-2)
THEN
734 IF(ecm.LT.2000.d0)
THEN
744 IF(ioutpo.GE.0)
WRITE (6,*)
' ALAM,REDU= ',alam,redu
750 zharp=(1.+alam)**2*zhar
751 zsofp=(1.+alam)**2*zsof
752 zloop=(1.+alam)**2*zloo * redu
753 zharm=(1.-alam)**2*zhar
754 zsofm=(1.-alam)**2*zsof
755 zloom=(1.-alam)**2*zloo * redu
756 zharn=(1.-alam**2)*zhar
757 zsofn=(1.-alam**2)*zsof
758 zloon=(1.-alam**2)*zloo * redu
759 zharo=(1.-alam**2)*zhar
760 zsofo=(1.-alam**2)*zsof
761 zlooo=(1.-alam**2)*zloo * redu
763 ztrpp=(1.+alam)**3*ztrp * redu
764 ztrpm=(1.-alam)**3*ztrp * redu
765 ztrpn=(1.-alam**2)*(1.+alam)*ztrp * redu
766 ztrpo=(1.-alam**2)*(1.-alam)*ztrp * redu
777 fapsof=fapsof*
sqrt( zsofp/float(l))
778 famsof=famsof*
sqrt( zsofm/float(l))
779 fansof=fansof*
sqrt( zsofn/float(l))
780 faosof=faosof*
sqrt( zsofo/float(l))
781 IF ( fapsof .LT.dtiny ) fapsof=0.
782 IF ( famsof .LT.dtiny ) famsof=0.
783 IF ( fansof .LT.dtiny ) fansof=0.
784 IF ( faosof .LT.dtiny ) faosof=0.
785 ELSEIF(.NOT.lsqrt)
THEN
786 fapsof=fapsof*zsofp/float(l)
787 famsof=famsof*zsofm/float(l)
788 fansof=fansof*zsofn/float(l)
789 faosof=faosof*zsofo/float(l)
790 IF (fapsof.LT.dtiny ) fapsof=0.
791 IF (famsof.LT.dtiny ) famsof=0.
792 IF (fansof.LT.dtiny ) fansof=0.
793 IF (faosof.LT.dtiny ) faosof=0.
803 faphar=faphar*
sqrt( zharp/float(m) )
804 famhar=famhar*
sqrt( zharm/float(m) )
805 fanhar=fanhar*
sqrt( zharn/float(m) )
806 faohar=faohar*
sqrt( zharo/float(m) )
807 IF ( fapsof*faphar .LT.dtiny ) faphar=0.
808 IF ( famsof*famhar .LT.dtiny ) famhar=0.
809 IF ( fansof*fanhar .LT.dtiny ) fanhar=0.
810 IF ( faosof*faohar .LT.dtiny ) faohar=0.
811 ELSEIF(.NOT.lsqrt)
THEN
812 faphar=faphar*zharp/float(m)
813 famhar=famhar*zharm/float(m)
814 fanhar=fanhar*zharn/float(m)
815 faohar=faohar*zharo/float(m)
816 IF (fapsof*faphar.LT.dtiny ) faphar=0.
817 IF (famsof*famhar.LT.dtiny ) famhar=0.
818 IF (fansof*fanhar.LT.dtiny ) fanhar=0.
819 IF (faosof*faohar.LT.dtiny ) faohar=0.
828 faptrp=-faptrp*
sqrt( ztrpp/float(
n) )
829 famtrp=-famtrp*
sqrt( ztrpm/float(
n) )
830 fantrp=-fantrp*
sqrt( ztrpn/float(
n) )
831 faotrp=-faotrp*
sqrt( ztrpo/float(
n) )
832 IF (abs(faptrp*fapsof*faphar).LT.dtiny ) faptrp=0.
833 IF (abs(famtrp*famsof*famhar).LT.dtiny ) famtrp=0.
834 IF (abs(fantrp*fansof*fanhar).LT.dtiny ) fantrp=0.
835 IF (abs(faotrp*faosof*faohar).LT.dtiny ) faotrp=0.
836 ELSEIF(.NOT.lsqrt)
THEN
837 faptrp=-faptrp*ztrpp/float(
n)
838 famtrp=-famtrp*ztrpm/float(
n)
839 fantrp=-fantrp*ztrpn/float(
n)
840 faotrp=-faotrp*ztrpo/float(
n)
841 IF (abs(faptrp*fapsof*faphar).LT.dtiny ) faptrp=0.
842 IF (abs(famtrp*famsof*famhar).LT.dtiny ) famtrp=0.
843 IF (abs(fantrp*fansof*fanhar).LT.dtiny ) fantrp=0.
844 IF (abs(faotrp*faosof*faohar).LT.dtiny ) faotrp=0.
850 IF(
nmax.LE.2 .AND.
n.EQ.1 .AND. nn.EQ.1 ) go to 750
857 faploo=-faploo*
sqrt( zloop/float(nn))
858 famloo=-famloo*
sqrt( zloom/float(nn))
859 fanloo=-fanloo*
sqrt( zloon/float(nn))
860 faoloo=-faoloo*
sqrt( zlooo/float(nn))
861 IF(abs(faploo*faptrp*fapsof*faphar).LT.dtiny )faploo=0.
862 IF(abs(famloo*famtrp*famsof*famhar).LT.dtiny )famloo=0.
863 IF(abs(fanloo*fantrp*fansof*fanhar).LT.dtiny )fanloo=0.
864 IF(abs(faoloo*faotrp*faosof*faohar).LT.dtiny )faoloo=0.
865 ELSEIF(.NOT.lsqrt)
THEN
866 faploo=-faploo*zloop/float(nn)
867 famloo=-famloo*zloom/float(nn)
868 fanloo=-fanloo*zloon/float(nn)
869 faoloo=-faoloo*zlooo/float(nn)
870 IF(abs(faploo*faptrp*fapsof*faphar).LT.dtiny )faploo=0.
871 IF(abs(famloo*famtrp*famsof*famhar).LT.dtiny )famloo=0.
872 IF(abs(fanloo*fantrp*fansof*fanhar).LT.dtiny )fanloo=0.
873 IF(abs(faoloo*faotrp*faosof*faohar).LT.dtiny )faoloo=0.
877 IF(l.EQ.0.AND.m.EQ.0.AND.
n.EQ.0.AND.nn.EQ.0) go to 750
879 denom=dble(m)/dble(bh)+dble(l)/dble(bs)+dble(
n)/dble(bt)
885 IF ( (m+l+
n+nn) .LE. mxlmn )
THEN
890 rmxlmn = dble(m+l+
n+nn) /dble(mxlmn)
892 wghtk= dble(wght(k)) * xpntk**(rmxlmn-1.)
893 denomi= denom / rmxlmn
896 exposp=-zsofp*xpntk**(1./(denomi*dble(bs)))
897 exposm=-zsofm*xpntk**(1./(denomi*dble(bs)))
898 exposn=-zsofn*xpntk**(1./(denomi*dble(bs)))
899 exposo=-zsofo*xpntk**(1./(denomi*dble(bs)))
901 expohp=-zharp*xpntk**(1./(denomi*dble(bh)))
902 expohm=-zharm*xpntk**(1./(denomi*dble(bh)))
903 expohn=-zharn*xpntk**(1./(denomi*dble(bh)))
904 expoho=-zharo*xpntk**(1./(denomi*dble(bh)))
906 expotp=+ztrpp*xpntk**(1./(denomi*dble(bt)))
907 expotm=+ztrpm*xpntk**(1./(denomi*dble(bt)))
908 expotn=+ztrpn*xpntk**(1./(denomi*dble(bt)))
909 expoto=+ztrpo*xpntk**(1./(denomi*dble(bt)))
911 expolp=+zloop*xpntk**(1./(denomi*dble(bt)))
912 expolm=+zloom*xpntk**(1./(denomi*dble(bt)))
913 expoln=+zloon*xpntk**(1./(denomi*dble(bt)))
914 expolo=+zlooo*xpntk**(1./(denomi*dble(bt)))
918 *
' K=',k,
' EXPOS/H=',exposp,expohp,
' DENOMI/BH=',denomi,bh
920 *
' K=',k,
' EXPOS/H=',exposm,expohm,
' DENOMI/BH=',denomi,bh
922 *
' K=',k,
' EXPOS/H=',exposn,expohn,
' DENOMI/BH=',denomi,bh
924 *
' K=',k,
'XPNT=',xpntk,
'WGHT=',wghtk,
'DENO=',denomi
930 IF( exposp .GT. tinexp)
THEN
931 expsoh=
exp(0.5d00*exposp)
932 exmsoh=
exp(0.5d00*exposm)
933 exnsoh=
exp(0.5d00*exposn)
934 exosoh=
exp(0.5d00*exposo)
946 IF( expohp .GT. tinexp)
THEN
947 exphah=
exp(0.5d00*expohp)
948 exmhah=
exp(0.5d00*expohm)
949 exnhah=
exp(0.5d00*expohn)
950 exohah=
exp(0.5d00*expoho)
963 IF( expotp .GT. tinexp)
THEN
964 exptrh=
exp(0.5d00*expotp)
965 exmtrh=
exp(0.5d00*expotm)
966 exntrh=
exp(0.5d00*expotn)
967 exotrh=
exp(0.5d00*expoto)
978 ELSEIF(
nmax.LE.2)
THEN
979 exptrh= 1 + 0.5*expotp
980 exmtrh= 1 + 0.5*expotm
981 exntrh= 1 + 0.5*expotn
982 exotrh= 1 + 0.5*expoto
990 IF( expolp .GT. tinexp)
THEN
991 exploh=
exp(0.5d00*expolp)
992 exmloh=
exp(0.5d00*expolm)
993 exnloh=
exp(0.5d00*expoln)
994 exoloh=
exp(0.5d00*expolo)
1005 ELSEIF(
nmax.EQ.2 )
THEN
1006 exploh= 1 + 0.5*expolp
1007 exmloh= 1 + 0.5*expolm
1008 exnloh= 1 + 0.5*expoln
1009 exoloh= 1 + 0.5*expolo
1014 ELSEIF(
nmax.LE.1 )
THEN
1025 expexh = expsoh *exphah *exptrh *exploh
1026 exmexh = exmsoh *exmhah *exmtrh *exmloh
1027 exnexh = exnsoh *exnhah *exntrh *exnloh
1028 exoexh = exosoh *exohah *exotrh *exoloh
1029 expexp = expsop *exphap *exptrp *explop
1030 exmexp = exmsop *exmhap *exmtrp *exmlop
1031 exnexp = exnsop *exnhap *exntrp *exnlop
1032 exoexp = exosop *exohap *exotrp *exolop
1034 IF( (
nmax.LE.2 .AND.
n.EQ.1 ) .OR.
1035 * (
nmax.EQ.2 .AND. nn.EQ.1 ) .OR.
1037 sigp(l,m,nnn)=sigp(l,m,nnn)+expsop *exphap *wghtk
1038 sigm(l,m,nnn)=sigm(l,m,nnn)+exmsop *exmhap *wghtk
1039 sign(l,m,nnn)=sign(l,m,nnn)+exnsop *exnhap *wghtk
1040 sigo(l,m,nnn)=sigo(l,m,nnn)+exosop *exohap *wghtk
1042 sigp(l,m,nnn)=sigp(l,m,nnn)+expexp*wghtk
1043 sigm(l,m,nnn)=sigm(l,m,nnn)+exmexp*wghtk
1044 sign(l,m,nnn)=sign(l,m,nnn)+exnexp*wghtk
1045 sigo(l,m,nnn)=sigo(l,m,nnn)+exoexp*wghtk
1050 IF(l.EQ.1.AND.m.EQ.0.AND.
n.EQ.0.AND.nn.EQ.0)
THEN
1052 IF ( (m+l+
n+nn) .GT. mxlmn )
THEN
1053 WRITE(6,*)
' MXLMN too low ' , mxlmn,m,l,
n,nn
1056 wghfac = wghtk/xpntk *pi4/denomi
1057 IF (
nmax.GE.3 )
THEN
1058 sigele = sigele + wghfac *
1059 * 0.0625*( 1.-expexh + 1.-exmexh
1060 * +1.-exnexh + 1.-exoexh )**2
1062 silmsd = silmsd + wghfac *
1063 * 0.125*(expexh -exmexh)**2
1064 silmdd = silmdd + wghfac *
1065 * 0.0625*(expexh+exmexh-exnexh-exoexh)**2
1066 ELSEIF(
nmax.LE.2 )
THEN
1067 sigele = sigele + wghfac *
1068 * 0.0625*( ( 1.-expexh + 1.-exmexh
1069 * +1.-exnexh + 1.-exoexh
1072 * +(1.-exptrh)*(1-exploh) *expsoh *exphah
1073 * +(1.-exmtrh)*(1-exmloh) *exmsoh *exmhah
1074 * +(1.-exntrh)*(1-exnloh) *exnsoh *exnhah
1075 * +(1.-exotrh)*(1-exoloh) *exosoh *exohah)**2
1077 * - ( (2.-exptrh-exploh) *expsoh *exphah
1078 * +(2.-exmtrh-exmloh) *exmsoh *exmhah
1079 * +(2.-exntrh-exnloh) *exnsoh *exnhah
1080 * +(2.-exotrh-exoloh) *exosoh *exohah ) **2)
1082 silmsd = silmsd + wghfac *
1083 * 0.125*( ( expexh -exmexh
1085 * -(1.-exptrh)*(1-exploh) *expsoh*exphah
1086 * +(1.-exmtrh)*(1-exmloh) *exmsoh*exmhah )**2
1088 * -( (2.-exptrh-exploh) *expsoh *exphah
1089 * -(2.-exmtrh-exmloh) *exmsoh*exmhah ) **2)
1090 silmdd = silmdd + wghfac *
1091 * 0.0625*( (expexh+exmexh-exnexh-exoexh
1093 * -(1.-exptrh)*(1-exploh) *expsoh *exphah
1094 * -(1.-exmtrh)*(1-exmloh) *exmsoh *exmhah
1095 * +(1.-exntrh)*(1-exnloh) *exnsoh *exnhah
1096 * +(1.-exotrh)*(1-exoloh) *exosoh *exohah)**2
1098 * - ( (2.-exptrh-exploh) *expsoh *exphah
1099 * +(2.-exmtrh-exmloh) *exmsoh *exmhah
1100 * -(2.-exntrh-exnloh) *exnsoh *exnhah
1101 * -(2.-exotrh-exoloh) *exosoh *exohah ) **2)
1103 IF(
nmax.NE.2 )
THEN
1104 sigtot=sigtot+2.*wghfac*
1105 * 0.25*( 1.-expexh + 1.-exmexh +
1106 * 1.-exnexh + 1.-exoexh )
1107 sigine = sigine + wghfac *
1108 * 0.25*( 1.-expexp + 1.-exmexp +
1109 * 1.-exnexp + 1.-exoexp )
1111 sigsin=sigsin+ wghfac *
1112 * 0.25*( (exphap-expexp)
1115 * +(exohap-exoexp) )
1117 sighin=sighin+ wghfac*
1118 * 0.25*( 1.-exphap + 1.-exmhap +
1119 * 1.-exnhap + 1.-exohap )
1120 ELSEIF(
nmax.EQ.2 )
THEN
1121 sigtot=sigtot+2.*wghfac*
1122 * 0.25*( 1.-expexh + 1.-exmexh +
1123 * 1.-exnexh + 1.-exoexh
1126 * +(1.-exptrh)*(1-exploh) *expsoh *exphah
1127 * +(1.-exmtrh)*(1-exmloh) *exmsoh *exmhah
1128 * +(1.-exntrh)*(1-exnloh) *exnsoh *exnhah
1129 * +(1.-exotrh)*(1-exoloh) *exosoh *exohah )
1130 sigine = sigine + wghfac *
1131 * 0.25*( 1.-expexp + 1.-exmexp +
1132 * 1.-exnexp + 1.-exoexp
1135 * +(1.-exptrp)*(1-explop) *expsop *exphap
1136 * +(1.-exmtrp)*(1-exmlop) *exmsop *exmhap
1137 * +(1.-exntrp)*(1-exnlop) *exnsop *exnhap
1138 * +(1.-exotrp)*(1-exolop) *exosop *exohap )
1140 sigsin=sigsin+ wghfac *
1141 * 0.25*( (exphap-expexp)
1146 * +(1.-exptrp)*(1-explop) *expsop *exphap
1147 * +(1.-exmtrp)*(1-exmlop) *exmsop *exmhap
1148 * +(1.-exntrp)*(1-exnlop) *exnsop *exnhap
1149 * +(1.-exotrp)*(1-exolop) *exosop *exohap)
1151 sighin=sighin+ wghfac*
1152 * 0.25*( 1.-exphap + 1.-exmhap +
1153 * 1.-exnhap + 1.-exohap )
1157 IF(
nmax.GE.3 )
THEN
1158 sighmd=sighmd + wghfac *
1159 * 0.25*( (exptrp-1.)*expexp
1160 * +(exmtrp-1.)*exmexp
1161 * +(exntrp-1.)*exnexp
1162 * +(exotrp-1.)*exoexp)
1164 sighmd=sighmd + wghfac *
1165 * 0.25*( expotp * expsop*exphap
1166 * +expotm * exmsop*exmhap
1167 * +expotn * exnsop*exnhap
1168 * +expoto * exosop*exohap )
1170 IF(
nmax.GE.3 )
THEN
1171 sihmdd=sihmdd + wghfac *
1172 * 0.25*( (explop-1.)*expexp
1173 * +(exmlop-1.)*exmexp
1174 * +(exnlop-1.)*exnexp
1175 * +(exolop-1.)*exoexp)
1176 ELSEIF (
nmax.EQ.2 )
THEN
1177 sihmdd=sihmdd + wghfac *
1178 * 0.25*( expolp * expsop*exphap
1179 * +expolm * exmsop*exmhap
1180 * +expoln * exnsop*exnhap
1181 * +expolo * exosop*exohap )
1196 IF(abs(faphar*fapsof*faptrp*faploo*sigp(l,m,nnn)).LT.dtiny)
1200 sigp(l,m,nnn)=faphar*fapsof*faptrp*faploo*sigp(l,m,nnn)
1201 * * abs(faphar*fapsof*faptrp*faploo)/denomi*pi4
1202 ELSEIF(.NOT.lsqrt)
THEN
1203 sigp(l,m,nnn)=faphar*fapsof*faptrp*faploo*sigp(l,m,nnn)
1206 IF(abs(famhar*famsof*famtrp*famloo*sigm(l,m,nnn)).LT.dtiny)
1210 sigm(l,m,nnn)=famhar*famsof*famtrp*famloo*sigm(l,m,nnn)
1211 * * abs( famhar*famsof*famtrp*famloo)/denomi*pi4
1212 ELSEIF(.NOT.lsqrt)
THEN
1213 sigm(l,m,nnn)=famhar*famsof*famtrp*famloo*sigm(l,m,nnn)
1216 IF(abs(fanhar*fansof*fantrp*fanloo*sign(l,m,nnn)).LT.dtiny)
1220 sign(l,m,nnn)=fanhar*fansof*fantrp*fanloo*sign(l,m,nnn)
1221 * * abs( fanhar*fansof*fantrp*fanloo)/denomi*pi4
1222 ELSEIF(.NOT.lsqrt)
THEN
1223 sign(l,m,nnn)=fanhar*fansof*fantrp*fanloo*sign(l,m,nnn)
1226 IF(abs(faohar*faosof*faotrp*faoloo*sigo(l,m,nnn)).LT.dtiny)
1230 sigo(l,m,nnn)=faohar*faosof*faotrp*faoloo*sigo(l,m,nnn)
1231 * * abs( faohar*faosof*faotrp*faoloo/denomi)*pi4
1232 ELSEIF(.NOT.lsqrt)
THEN
1233 sigo(l,m,nnn)=faohar*faosof*faotrp*faoloo*sigo(l,m,nnn)
1244 nnnmax=nmaxi+(nmaxi+1)*nnmaxi
1248 sig(l,m,nnn)=(sigp(l,m,nnn)+sigm(l,m,nnn)+
1249 * sign(l,m,nnn)+sigo(l,m,nnn) )/4.
1260 IF(
nmax.LE.2 .AND.
n.EQ.1 .AND. nn.EQ.1 ) go to 4
1262 sigsum=sigsum + sig(l,m,nnn)
1264 IF(m.EQ.0.OR.l.GE.1) sigsme=sigsme + sig(l,m,nnn)
1265 shard(m)=shard(m)+sig(l,m,nnn)
1266 ssoft(l)=ssoft(l)+sig(l,m,nnn)
1267 strpl(
n)=strpl(
n)+sig(l,m,nnn)
1268 siginl = siginl + sig(l,m,nnn)
1269 IF(m.GE.1) sighri = sighri + sig(l,m,nnn)
1270 IF(l.EQ.0.AND.m.EQ.0.AND.nn.EQ.0.AND.
n.GE.1)
THEN
1271 sigdi = sigdi + (-1)**
n*sig(l,m,nnn)
1272 ELSEIF(l.EQ.0.AND.m.EQ.0.AND.
n.EQ.0.AND.nn.GE.1)
THEN
1273 sigddi= sigddi + (-1)**nn*sig(l,m,nnn)
1279 siglmd=silmsd+silmdd
1280 sithmd=sighmd+sihmdd
1281 sigd = siglmd + sithmd
1282 slhmdd =
sqrt(abs(silmdd*sihmdd))
1283 sigdd= silmdd + sihmdd + slhmdd
1289 IF(lentry.EQ.1.AND.ioutpo.LE.1)
RETURN
1292 WRITE(6,*)
' --- properties of events ---'
1294 WRITE(6,*)
' Energy=',ecm
1296 WRITE(6,*)
' max.contributing soft/hard/diffr./doubl.diffr. cuts'
1297 WRITE(6,*)
' LMAXI= MMAXI= NMAXI= NNMAXI='
1298 WRITE(6,
'(15X,4I9)') lmaxi,mmaxi,nmaxi,nnmaxi
1299 WRITE(6,*)
' methode used: '
1300 WRITE(6,*)
' ISIG= ICON= IPIM= '
1301 WRITE(6,
'(15X,3I9)') isig,icon,ipim
1303 WRITE(6,*)
' --- bare cross section and eikonal constants ---'
1307 WRITE(6,*)
' ALFA =',alfa,
' ALFAP =',alfap,
' A =',
a
1308 WRITE(6,*)
' C =',
c,
' AK =',ak
1309 WRITE(6,*)
' ALALAM =',alalam
1311 WRITE(6,*)
' SIGSOF=',sigsof,
' BS=',bs,
' ZSOF=',zsof
1312 WRITE(6,*)
' SIGHAR=',sighar,
' BH=',bh,
' ZHAR=',zhar
1313 WRITE(6,*)
' SIGTRP=',sigtrp,
' BT=',bt,
' ZTRP=',ztrp
1314 WRITE(6,*)
' SIGLOO=',sigloo,
' BT=',bt,
' ZLOO=',zloo
1316 WRITE(6,*)
' --- observable cross sections ---'
1318 WRITE(6,*)
' TOTAL X-SECTION = ',sigtot
1319 WRITE(6,*)
' ELASTIC X-SECTION = ',sigele
1320 WRITE(6,*)
' INELASTIC X-SECTION-LMD = ',sigine
1321 WRITE(6,*)
' INELASTIC X-SECTION = ',sigin
1322 WRITE(6,*)
' HARD INEL. X-SECTION = ',sighin
1324 WRITE(6,*)
' LOW MASS SING./DOUB.DIFFR.X-SECTION= ',silmsd,silmdd
1325 WRITE(6,*)
' => LOW MASS TOTAL DIFFRACTIV.X-SECTION= ',siglmd
1326 WRITE(6,*)
' HIGH MASS SING./DOUB.DIFFR.X-SECTION= ',sigdi,sigddi
1327 WRITE(6,*)
' => HIGH MASS TOTAL DIFFRACTIV.X-SECTION= ',sithmd
1328 WRITE(6,*)
' ESTIMAT.MIXED (LM+HM) DOUBL.DIFFRAC.X.SEC.= ',slhmdd
1330 WRITE(6,*)
' DIFFRACTIVE X-SECTION = ',sigd
1331 WRITE(6,*)
' DOUBLY DIFFRACTIVE X-SECT. =',sigdd
1334 IF(ioutpo.GE.0)
THEN
1335 WRITE(6,*)
' --- observ. x-sections, altern. calculated ---'
1336 WRITE(6,*)
' ELASTIC X-SECTION = ',sigel
1337 WRITE(6,*)
' INELASTIC X-SECTION-LMD = ',siginl
1338 WRITE(6,*)
' HARD INEL. X-SECTION= ',sighri
1339 WRITE(6,*)
' HIGH MASS SING./DOUB.DIFFR.X-SECT.=',sighmd,sihmdd
1340 WRITE(6,*)
' X-SECTION FOR (L,M,N,NN)= 1000 0100 0010 0001'
1341 WRITE(6,*)
' ',sig(1,0,0),sig(0,1,0)
1342 * ,sig(0,0,1),sig(0,0,2)
1346 IF(ioutpo.GE.2)
THEN
1349 IF( nmaxi.LT.2)nnmaxp=1
1353 48
WRITE(6,101)(sig(l,m,
n),m=0,7)
1356 50
WRITE(6,101)(sig(l,m,
n),m=8,15)
1359 &
' # CUT-POMERON SSOFT X-SECT. SHARD X-SECT.'
1361 58
WRITE (6,103)l,ssoft(l),shard(l)
1379 cmbin(i,j)=fak(i)/(fak(j)*fak(i-j))
1385 IF(icon.EQ.44.OR.icon.EQ.46.OR.icon.EQ.48.
1386 * or.icon.EQ.54)
THEN
1389 plmntm=sig(l,m,0)/(sigsum+tin)
1390 plmn(l,m,0) = plmntm + plmn(l,m,0)
1393 plmntm=sig(l,m,1)/(sigsum+tin)
1395 IF(l+2.LE.lmaxi)
THEN
1396 plmn(l+2,m,0) = (-2.)* plmntm + plmn(l+2,m,0)
1397 plmn(l+1,m,0) = 4. * plmntm + plmn(l+1,m,0)
1399 plmn(lmaxi,m,0) = (-2.)* plmntm + plmn(lmaxi,m,0)
1400 plmn(lmaxi,m,0) = 4. * plmntm + plmn(lmaxi,m,0)
1402 IF(l.EQ.0 .AND. m.EQ.0)
THEN
1403 plmn(l ,m,1) = (-1.)* plmntm + plmn(l ,m,1)
1405 plmn(l ,m,0) = (-1.)* plmntm + plmn(l ,m,0)
1408 plmntm=sig(l,m,2)/(sigsum+tin)
1410 IF(l+2.LE.lmaxi)
THEN
1411 plmn(l+2,m,0) = (-2.)* plmntm + plmn(l+2,m,0)
1412 plmn(l+1,m,0) = 4. * plmntm + plmn(l+1,m,0)
1414 plmn(lmaxi,m,0) = (-2.)* plmntm + plmn(lmaxi,m,0)
1415 plmn(lmaxi,m,0) = 4. * plmntm + plmn(lmaxi,m,0)
1417 IF(l.EQ.0 .AND. m.EQ.0)
THEN
1418 plmn(l ,m,2) = (-1.)* plmntm + plmn(l ,m,2)
1420 plmn(l ,m,0) = (-1.)* plmntm + plmn(l ,m,0)
1426 IF(
nmax.LE.2 .AND.
n.EQ.1 .AND. nn.EQ.1) go to 51
1430 plmntm=sig(l,m,nnn)/(sigsum+tin)
1435 DO 511 n1cut=0,
n-n0cut
1439 cmb1=cmbin(
n-n2cut,n1cut)
1443 DO 511 nn1cut=0,nn-nn0cut
1444 nn2cut=nn-nn0cut-nn1cut
1446 cmbn0=cmbin(nn,nn2cut)
1447 cmbn1=cmbin(nn-nn2cut,nn1cut)
1458 l2str=l2str + n1cut + nn1cut + n2cut + nn2cut
1461 nl2str= n2cut + nn2cut
1462 ELSEIF(
nmax.GE.3)
THEN
1464 l2str=l2str+n2cut+nn2cut
1466 IF((icon.EQ.26.OR.icon.EQ.36.OR.icon.EQ.46.OR.icon.EQ.56)
1467 & .AND. (l2str.GE.1.OR.m2str.GE.1))
THEN
1468 l2str=l2str + nl2str
1475 IF(l2str.GT.lmaxi) l2str=lmaxi
1476 IF(m2str.GT.lmaxi) m2str=lmaxi
1477 nnnstr =n2str +(nmaxi+1)*nn2str
1478 * +(nnmaxi+1)*(nmaxi+1)*nl2str
1479 IF(nnnstr.GT.mxpa13) nnnstr=mxpa13
1482 plmn(l2str,m2str,nnnstr) = plmntm
1483 * *cmb0*cmb1 * (-2)**n2cut * (4)**n1cut * (-1)**n0cut
1484 * *cmbn0*cmbn1*(-2)**nn2cut* (4)**nn1cut* (-1)**nn0cut
1485 & + plmn(l2str,m2str,nnnstr)
1492 IF(abs(tmmp-1.d0).GT..03d0)
THEN
1494 &
' NORMALISATION ERROR SUM PLM before LMD reatribution=',tmmp
1501 plmfac= (sigsum+tin) / (sigsum+tin +siglmd)
1502 plmn(0,0,1)= plmn(0,0,1) +
1503 & ( silmsd - slhmdd ) / (sigsum+tin)
1504 plmn(0,0,2)= plmn(0,0,2) +
1505 & ( silmdd + slhmdd ) / (sigsum+tin)
1523 IF(
nmax.LE.2 .AND.
n+nn+nl.GE.2) go to 6
1524 nnn =
n +(nmaxi+1)*nn +(nnmaxi+1)*(nmaxi+1)* nl
1527 IF(nl.EQ.0)tmmp1 = tmmp1 + sig(l,m,nnn)
1528 tmmp = tmmp + sig(l,m,nnn)
1529 plmn(l,m,nnn)=plmn(l,m,nnn) * plmfac
1530 tmp =
tmp + plmn(l,m,nnn)
1532 IF(plmn(l,m,nnn).LT.-.000005d0)
1533 &
WRITE(6,*)
' 0>PLMN',plmn(l,m,nnn),l,m,
n,nn,nl
1534 avsofn=avsofn+plmn(l,m,nnn)*l
1535 avharn=avharn+plmn(l,m,nnn)*m
1536 avdifn=avdifn+plmn(l,m,nnn)*
n
1537 avddfn=avddfn+plmn(l,m,nnn)*nn
1538 avdlfn=avdlfn+plmn(l,m,nnn)*nl
1539 IF (m.EQ.0)psoft=psoft+plmn(l,m,nnn)
1542 IF(abs(
tmp-1.d0).GT..01d0)
THEN
1544 &
' NORMALISATION ERROR SUM PLM before M reatribution=',
tmp
1548 IF(abs(tmmp-1.d0).GT..01d0 .OR.abs(tmmp1-1.d0).GT..01d0)
THEN
1550 &
' NORMALISATION ERROR TMMP,TMMP1=',tmmp,tmmp1
1560 IF(
nmax.LE.2 .AND.
n+nn+nl.GE.2) go to 61
1561 nnn =
n +(nmaxi+1)*nn +(nnmaxi+1)*(nmaxi+1)* nl
1568 IF (l.EQ.0.AND.m.GE.1)
THEN
1569 plmn(1,m,nnn)=plmn(1,m,nnn)+plmn(0,m,nnn)
1573 temp = temp + plmn(l,m,nnn)
1574 plmncu(l,m,nnn)=temp
1577 IF(ioutpo.GE.3)
WRITE (6,*)
' M,(L,PLMN(L,M,N),L=0,LMAX)'
1578 IF(ioutpo.GE.3)
WRITE (6,106) m,(l,plmn(l,m,
n),l=0,lmaxi)
1579 IF(ioutpo.GE.2)
WRITE (6,*)
' M,(L,PLMNCU(L,M,N),L=0,LMAX/2)'
1580 IF(ioutpo.GE.2)
WRITE (6,106) m,(l,plmncu(l,m,
n),l=0,lmaxi/2)
1581 106
FORMAT (i3,9(i3,e11.2))
1586 IF(abs(temp-1.d0).GT..01d0)
THEN
1587 WRITE(6,*)
' NORMALISATION ERROR SUM PLM=',temp
1588 plmfac=1./(temp+tin)
1592 IF(ioutpo.GE.1)
WRITE (6,*)
1593 &
'(((L,M,N,PLMN(L,M,N),N=0,2),M=0,5),L=0,7)'
1594 IF(ioutpo.GE.1)
WRITE (6,1106)
1595 & (((l,m,
n,plmn(l,m,
n),
n=0,2),m=0,5),l=0,7)
1596 IF(ioutpo.GE.1)
WRITE (6,*)
1597 &
'(((L,M,N,SIG(L,M,N),N=0,2),M=0,5),L=0,7)'
1598 IF(ioutpo.GE.1)
WRITE (6,1106)
1599 & (((l,m,
n,sig(l,m,
n),
n=0,2),m=0,5),l=0,7)
1600 1106
FORMAT (1
x,3(i5,i5,i5,g12.5))
1603 alfah=sighin/(sigine+0.00001)
1605 WRITE(6,116)avsofn,avharn,avdifn,avddfn,avdlfn,
1606 & phard,psoft,alfah,betah
1607 116
FORMAT(/
'--- various averages:'/
1608 & /
' AVSOFN= AVHARN= AVDIFN= AVDDFN= AVDLFN='
1610 & /
' PHARD= PSOFT= ALFAH= BETAH= '
1612 IF(ioutpo.GE.1)
WRITE(6,*)
'SIGSUM=SIGINL-LMD',sigsum
1614 IF(ioutpo.GE.1)
WRITE(6,610) sigtot,sigine,sigd,sigdd,sighin
1615 610
FORMAT (
' SIGTOT,SIGINE,SIGD,SIGDD,SIGHIN= '/
' ',5e18.6)
1617 101
FORMAT(
' ',10e10.3)
1619 103
FORMAT(
' ',5
x,i4,5
x,2e15.3)
1628 SUBROUTINE samplx(L2STR,M2STR,N2STR,NN2STR,NL2STR)
1637 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1639 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
1641 parameter(mxpa50=250,mxpa51=mxpa50+1)
1645 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1646 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
1648 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
1649 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
1650 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
1651 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
1653 parameter(pi=3.141592654d0)
1663 ELSEIF(ipim.EQ.2)
THEN
1666 nnmaxi=(13-nmaxi)/(1+nmaxi)
1669 ELSEIF(
nmax.EQ.2)
THEN
1673 ELSEIF(
nmax.EQ.1)
THEN
1683 IF (
x.LE.plmncu(0,0,0) .AND. nprint.LT.100)
THEN
1684 WRITE(6,*)
' No generator of elastic events '
1685 WRITE(6,*)
' PLMNCU (0,0,0) =!= 0 = ',plmncu(0,0,0)
1693 nnn =
n +(nmaxi+1)*nn +(nnmaxi+1)*(nmaxi+1)* nl
1697 IF (
x.LE.plmncu(l,m,nnn))
THEN
1711 IF(nprint.LT.100)
WRITE(6,*)
' RAR.IN SAMPLM,PLMNCU,RND=',
1712 & plmncu(lmax, mmax,nnn),
x,nprint
1713 IF( plmncu(lmax,mmax,nnn) .GT. 0.1d0 )
RETURN
1714 IF( plmncu(lmax,0,0) .GT. 0.1d0 )
RETURN
1715 WRITE(6,*)
' RAR.IN SAMPLM- PROBLEM SEEMS BAD, DECIDE TO STOP'
1731 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1734 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1735 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
1737 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
1739 parameter(mxpa50=250,mxpa51=mxpa50+1)
1742 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
1743 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
1744 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
1745 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
1747 parameter(pi=3.141592654d0)
1752 IF (
x.LE.plmncu(0,0,0))
THEN
1753 WRITE(6,*)
' No generator of elastic events '
1754 WRITE(6,*)
' PLMNCU (0,0,0) =!= 0 = ',plmncu(0,0,0)
1763 IF (
x.LE.plmncu(l,m,
n))
THEN
1774 WRITE(6,*)
' RAR.IN SAMPLM,PLMNCU,RND=',plmncu(lmax,mmax,
nmax),
x
1775 IF( plmncu(lmax,mmax,
nmax) .GT. 0.1d0 )
RETURN
1776 IF( plmncu(lmax,0,0) .GT. 0.1d0 )
RETURN
1777 WRITE(6,*)
' RAR.IN SAMPLM- PROBLEM SEEMS BAD, DECIDE TO STOP'
1845 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1849 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
1851 parameter(mxpa50=250,mxpa51=mxpa50+1)
1854 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
1855 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
1856 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
1857 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
1860 COMMON /histoo/as(50,9),aecm(50,9),asig(50,9),alos(50,9),
1861 * aloecm(50,9),ndislm(0:mxpa25,0:mxpa50,0:mxpa13)
1863 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1868 common/pompar/alfa,alfap,
a,
c,ak
1873 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
1878 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
1879 COMMON /alala/alalam
1880 common/collis/ss,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
1883 parameter(pi=3.141592654d0)
1899 *
' ------ testing the energy dependence of x-sections ----------'
1901 IF(ioutpo.GT.-1)
WRITE(6,*)
1902 *
' (as function of ALAM i.e.a low mass diffr.parameter)'
1903 WRITE(6,*)
' -----------------------------------------------'
1907 IF(ioutpo.GT.-1 .OR. iijj.EQ.6)
THEN
1911 IF(ioutpo.GT.-1)
WRITE(6,1008)alalam
1912 1008
FORMAT (
' ALAM= ',f10.3)
1934 nnmaxi=(13-nmaxi)/(1+nmaxi)
1937 ELSEIF(
nmax.EQ.2)
THEN
1941 ELSEIF(
nmax.EQ.1)
THEN
1948 IF(ipim.LT.1.AND.ipim.GT.9)
THEN
1949 WRITE(6,*)
'RETURN caused by IPIM=',ipim
1958 * (
'--- sample distribution for L soft and M hard inelastic'
1959 * ,
' pomerons (string pairs)--- '
1960 * / 20
x,
'at ECM = ',f10.2,
' S = ',f12.1)
1968 IF(icon.EQ.12)go to 100
1971 CALL
samplx(l2str,m2str,n2str,nn2str,nl2str)
1972 nnnstr =n2str +(nmaxi+1)*nn2str
1973 * +(nnmaxi+1)*(nmaxi+1)*nl2str
1974 ndislm(l2str,m2str,nnnstr)=ndislm(l2str,m2str,nnnstr)+1
1976 CALL
samplm(l2str,m2str,n2str)
1977 ndislm(l2str,m2str,n2str)=ndislm(l2str,m2str,n2str)+1
1982 *
' with no diffractive contribution'
1985 *
' ....... vertical: NSTR, horizontal MSTR .........'
1986 DO 3344 l=0,
min(20,lmaxi)
1987 3344
WRITE(6,34)l,(ndislm(l,m,0),m=0,20)
1992 WRITE(6,*)
' WITH NSTR=',
n
1993 DO 334 l=0,
min(20,lmaxi)
1994 WRITE(6,34)l,(ndislm(l,m,
n),m=0,20)
1998 jmpa50 =
int(mxpa50/25)
2000 WRITE(6,*)
'WIDE PLOT 0<L<',mxpa25,
' 0<M<'
2001 & ,mxpa50,
' IN STEPS OF ',jmpa50
2004 WRITE(6,35)l,(ndislm(l,m,
n),m=0,mxpa50,jmpa50)
2009 34
FORMAT (i5,
':',21i4)
2032 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2036 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
2038 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
2039 parameter(
zero=0.d0,
one=1.d0)
2041 parameter(mxpa50=250,mxpa51=mxpa50+1)
2044 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
2045 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
2046 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
2047 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
2050 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
2051 common/pompar/alfa,alfap,
a,
c,ak
2052 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
2055 COMMON /topdr/itopd,idumtp
2058 COMMON /histoo/as(50,9),aecm(50,9),asig(50,9),alos(50,9),
2059 * aloecm(50,9),ndislm(0:mxpa25,0:mxpa50,0:mxpa13)
2061 parameter(pi=3.141592654d0)
2068 IF(ioutpo.GT.-1)istep=7
2079 alos(i,iii)=log10(
s)
2080 aloecm(i,iii)=log10(ecm)
2088 IF(i.EQ.1 .AND. ioutpo.GE.0 )
WRITE(6,*)
2089 &
' s-dep. by integr.with Y,PHI,LMD'
2092 IF(i.EQ.1 .AND. ioutpo.GE.0 )
WRITE(6,*)
2093 &
' s-dep. by integr.with Y,PHI,LMD (DEFAULT)'
2105 asig(i,7)=sigtot-sigine
2106 asig(i,8)=sigine-sighin
2108 WRITE (6,1007)ecm,sigtot,sigine,sigel,sigd
2109 1007
FORMAT (
' ECM,SIGTOT,SIGINE,SIGEL,SIGD',f10.1,4e14.3)
2117 991
FORMAT (//
' shown as line printer plott'/
' with'/
2119 1
' (*) SIGTOT total x-section',
2120 2
' (2) SIGINE inelastic x-section'/
2121 3
' (3) SIGHIN hard inelastic cross section, one or more jets',
2122 4
' (4) SIGSOF input soft x-section'/
2123 5
' (5) SIGHAR input hard x-sections',
2124 6
' (6) SIGTRP input diffractive x-section (triple pomeron)'/
2125 7
' (7) SIGTOT-SIGINE elastic x-section',
2126 8
' (8) SIGINE-SIGHIN non-hard inelastic x-section, (no jets)'/
2127 9
' (9) SIGD diffractive xross section '/
2128 *
' are plotted against LOG(10)of(CMENERGY)' //)
2134 IF (itopd.EQ.1)
THEN
2136 95
FORMAT(
' NEW FRAME'/
' SET FONT DUPLEX'/
' SET SCALE X LOG'/
2137 *
' SET LIMITS X FROM 1.0 TO 1E5 Y FROM 0. TO 200'/
2138 *
' TITLE TOP < TOTAL,INEL. AND HARD (MINIJET) CROSS SECT.<'/
2139 *
' TITLE BOTTOM <C.M.ENERGY [GEV]<'/
2140 *
' TITLE < DUAL UNITARIZATION OF SOFT AND HARD CROSS SECTIONS<'/
2141 *
' TITLE LEFT LINES=-1 <CROSS SECTION [MB]<'/
2142 *
' TITLE 3 8.5 < SOLID = TOTAL X.S. <'/
2143 *
' TITLE < DASHED= INELASTIC X.S. <'/
2144 *
' TITLE < DOTTED= HARD X.S.<'/
2145 *
' TITLE < DOT-DASH= HARD INPUT X.S. <'/
2146 *
' TITLE < DOT-DASH= ELASTIC X.S. <')
2149 IF (iuu.EQ.4)go to 94
2150 IF (iuu.EQ.6)go to 94
2151 IF (iuu.EQ.1)
WRITE(7,97)
2152 97
FORMAT (
' SET TEXTURE SOLID')
2153 IF (iuu.EQ.2)
WRITE(7,98)
2154 98
FORMAT (
' SET TEXTURE DASHES')
2155 IF (iuu.EQ.3)
WRITE(7,99)
2156 99
FORMAT (
' SET TEXTURE DOTS')
2157 IF (iuu.EQ.5)
WRITE(7,197)
2158 197
FORMAT (
' SET TEXTURE DOTDASH')
2160 WRITE(7,92)aecm(iu,iuu),asig(iu,iuu)