4 *CMZ :- -15/07/92 14.08.45 by Mike Seymour
6 *-- Author : Bryan Webber
8 C-----------------------------------------------------------------------
10 SUBROUTINE HWSFBR(X,QQ,FORCED,ID,IW,ID1,ID2,IW1,IW2,Z)
12 C-----------------------------------------------------------------------
14 C FINDS BRANCHING (ID1->ID+ID2) AND Z=X/X1 IN BACKWARD
16 C EVOLUTION AT ENERGY FRACTION X AND SCALE QQ
20 C FORCED=.TRUE. FORCES SPLITTING OF NON-VALENCE PARTON
24 C IW,IW1,IW2 ARE COLOUR CONNECTION WORDS
28 C ID1.LT.0 ON RETURN MEANS NO PHASE SPACE
30 C ID1.EQ.0 ON RETURN FLAGS REJECTED BRANCHINGS
32 C-----------------------------------------------------------------------
34 INCLUDE 'HERWIG61.INC'
36 DOUBLE PRECISION HWBVMC,HWR,HWUALF,HWUAEM,QP,X,QQ,Z,WQG,WQV,
38 & WQP,XQV,ZMIN,ZMAX,YMIN,YMAX,DELY,YY,PSUM,EZ,WQN,WR,ZR,WZ,ZZ,AZ,
40 & PVAL,EY,DIST(13),PROB(13,100),PPHO
42 INTEGER ID,IW,ID1,ID2,IW1,IW2,NZ,IDHAD,IP,IZ
44 LOGICAL HWRLOG,HWSVAL,FORCED,NONF,NONV,PHOTPR
46 EXTERNAL HWBVMC,HWR,HWUALF,HWUAEM,HWRLOG,HWSVAL
104 IF (ZMIN.GE.ZMAX) RETURN
108 C---INTERPOLATION VARIABLE IS Y=LN(Z/(1-Z))
110 YMIN=LOG(ZMIN/(1.-ZMIN))
112 YMAX=LOG(ZMAX/(1.-ZMAX))
116 NZ=MIN(INT(ZBINM*DELY)+1,NZBIN)
118 DELY=(YMAX-YMIN)/FLOAT(NZ)
126 C---SET UP TABLES FOR CHOOSING BRANCHING
140 AZ=WZ*ZZ*HWUALF(5-2*SUDORD,MAX(WZ*QQ,QG))
142 CALL HWSFUN(X*ZR,QQ,IDHAD,NSTRU,DIST,JNHAD)
146 C---SPLITTING INTO QUARK
152 IF (NONF) PSUM=PSUM+DIST(ID)*AZ*CFFAC*(1.+ZZ*ZZ)*WR
158 PSUM=PSUM+DIST(13)*AZ*0.5*(ZZ*ZZ+WZ*WZ)
164 C---SPLITTING INTO GLUON
168 PSUM=PSUM+DIST(IP)*AZ*CFFAC*(1.+WZ*WZ)*ZR
172 IF (NONF) PSUM=PSUM+DIST(13)*AZ*2.*CAFAC*(WZ*ZR+ZZ*WR+WZ*ZZ)
180 50 PHOTPR=IDHAD.EQ.59.AND.ID.NE.13
184 C---ALLOW ANOMALOUS PHOTON SPLITTING
186 PPHO=HWUAEM(-QQ*QQ)*CAFAC*(ZMIN**2+(1.-ZMIN)**2)
188 & *ICHRG(ID)**2/(18.*PIFAC)
190 IF (PPHO.GT.(PPHO+PSUM*DELY)*HWR()) THEN
192 C---ANOMALOUS PHOTON SPLITTING OCCURRED
202 IF (PSUM.LE.ZERO) RETURN
210 IF (PROB(13,IZ).GT.PVAL) GOTO 70
216 70 EY=EXP(YMIN+DELY*(FLOAT(IZ)-HWR()))
224 IF (PROB(IP,IZ).GT.PVAL) GOTO 90
230 C---CHECK THAT Z IS INSIDE PHASE SPACE (RETURN IF NOT)
238 IF ((NONV.AND.ZZ*WQP.LT.XQV).OR.ZZ.GT.WQG) THEN
248 IF (ZZ.LT.XQV.OR.ZZ.GT.WQP) THEN
262 IF (ZZ.LT.XQV.OR.ZZ.GT.WQG) RETURN
264 ELSEIF (.NOT.HWSVAL(IP)) THEN
268 IF (ZZ*WQN.LT.XQV.OR.ZZ.GT.WQN) RETURN
274 C---EVERYTHING OK: LABEL NEW BRANCHES
298 ELSE IF (ID.NE.13) THEN
318 IF (HWRLOG(HALF)) IW2=IW1
320 ELSE IF (ID1.GT.6) THEN
328 IF (IW2.EQ.IW1) IW1=IW1+1
334 *CMZ :- -02/05/91 11.30.51 by Federico Carminati
336 *-- Author : Miscellaneous, combined by Bryan Webber
338 C-----------------------------------------------------------------------
340 SUBROUTINE HWSFUN(X,SCALE,IDHAD,NSET,DIST,IBEAM)
342 C-----------------------------------------------------------------------
344 C NUCLEON AND PION STRUCTURE FUNCTIONS DIST=X*QRK(X,Q=SCALE)
348 C IDHAD = TYPE OF HADRON:
350 C 73=P 91=PBAR 75=N 93=NBAR 38=PI+ 30=PI- 59=PHOTON
356 C 71=`REMNANT PHOTON' 72=`REMNANT NUCLEON'
360 C NSET = STRUCTURE FUNCTION SET
362 C = 1,2 FOR DUKE+OWENS SETS 1,2 (SOFT/HARD GLUE)
364 C = 3,4 FOR EICHTEN ET AL SETS 1,2 (NUCLEON ONLY)
366 C = 5 FOR OWENS SET 1.1 (PREPRINT FSU-HEP-910606)
370 C FOR PHOTON DREES+GRASSIE IS USED
374 C N.B. IF IBEAM.GT.0.AND.MODPDF(IBEAM).GE.0 THEN NSET IS
376 C IGNORED AND CERN PDFLIB WITH AUTHOR GROUP=AUTPDF(IBEAM) AND
378 C SET=MODPDF(IBEAM) IS USED. FOR COMPATABILITY WITH VERSIONS 3
380 C AND EARLIER, AUTPDF SHOULD BE SET TO 'MODE'
382 C NOTE THAT NO CONSISTENCY CHECK IS MADE, FOR EXAMPLE THAT THE
384 C REQUESTED SET FOR A PHOTON IS ACTUALLY A PHOTON SET
388 C IF (ISPAC.GT.0) SCALE IS REPLACED BY MAX(SCALE,QSPAC)
392 C FOR PHOTON, IF (PHOMAS.GT.0) THEN QUARK DISTRIBUTIONS ARE
394 C SUPPRESSED BY LOG((Q**2+PHOMAS**2)/(P**2+PHOMAS**2))
396 C L = -------------------------------------- ,
398 C LOG((Q**2+PHOMAS**2)/( PHOMAS**2))
400 C WHILE GLUON DISTRIBUTIONS ARE SUPPRESSED BY L**2,
402 C WHERE Q=SCALE AND P=VIRTUALITY OF THE PHOTON
406 C DUKE+OWENS = D.W.DUKE AND J.F.OWENS, PHYS. REV. D30 (1984) 49 (P/N)
408 C + J.F.OWENS, PHYS. REV. D30 (1984) 943 (PI+/-)
410 C WITH EXTRA SIGNIFICANT FIGURES VIA ED BERGER
412 C WARNING....MOMENTUM SUM RULE BADLY VIOLATED ABOVE 1 TEV
414 C DUKE+OWENS SETS 1,2 OBSOLETE. SET 1 UPDATED TO OWENS 1.1 (1991)
416 C PION NOT RELIABLE ABOVE SCALE = 50 GEV
420 C EICHTEN ET AL = E.EICHTEN,I.HINCHLIFFE,K.LANE AND C.QUIGG,
422 C REV. MOD. PHYS. 56 (1984) 579
424 C REVISED AS IN REV. MOD. PHYS. 58 (1986) 1065
426 C RELIABLE RANGE : SQRT(5)GEV < SCALE < 10TEV, 1E-4 < X < 1
430 C DREES+GRASSIE = M.DREES & K.GRASSIE, ZEIT. PHYS. C28 (1985) 451
432 C MODIFIED IN M.DREES & C.S.KIM, DESY 91-039
434 C AND C.S.KIM, DTP/91/16 FOR HEAVY QUARKS
438 C FOR CERN PDFLIB DETAILS SEE PDFLIB DOC Q ON CERNVM OR
440 C CERN_ROOT:[DOC]PDFLIB.TXT ON VXCERN
442 C-----------------------------------------------------------------------
444 INCLUDE 'HERWIG61.INC'
446 DOUBLE PRECISION HWSGAM,X,SCALE,XOLD,QOLD,XMWN,QSCA,SS,SMIN,S,T,
448 & TMIN,TMAX,VX,AA,VT,WT,UPV,DNV,SEA,STR,CHM,BTM,TOP,GLU,WX,XQSUM,
450 & DMIN,TPMIN,TPMAX,DIST(13),G(2),Q0(5),QL(5),F(5),A(6,5),
452 & B(3,6,5,4),XQ(6),TX(6),TT(6),TB(6),NEHLQ(8,2),CEHLQ(6,6,2,8,2),
454 & BB(4,6,5),VAL(20),USEA,DSEA,TOTAL,SCALEF,FAC,TBMIN(2),TTMIN(2)
456 REAL HWSDGG,HWSDGQ,XSP,Q2,P2,W2,EMB2,EMC2,ALAM2,XPGA(-6:6),F2GM,
458 & XPVMD,XPANL,XPANH,XPBEH,XPDIR
460 COMMON/SASCOM/XPVMD(-6:6),XPANL(-6:6),XPANH(-6:6),XPBEH(-6:6),
464 LOGICAL PDFWRX(2,2),PDFWRQ(2,2)
466 DOUBLE PRECISION PDFXMN,PDFXMX,PDFQMN,PDFQMX
468 COMMON /W50513/PDFXMN,PDFXMX,PDFQMN,PDFQMX
470 INTEGER IDHAD,NSET,IBEAM,IOLD,NOLD,IP,I,J,K,NX,IT,IX,IFL,NFL,
472 & MPDF,IHAD,ISET,IOP1,IOP2,IP2
474 CHARACTER*20 PARM(20)
476 EXTERNAL HWSGAM,HWSDGG,HWSDGQ
478 SAVE QOLD,IOLD,NOLD,XOLD,SS,S,T,TMIN,TMAX,G,A,TX,TT,TB,IP,NX
480 DATA PDFWRX,PDFWRQ/8*.TRUE./
482 DATA (((B(I,J,K,1),I=1,3),J=1,6),K=1,5)/
484 &3.,0.,0.,.419,.004383,-.007412,
486 &3.46,.72432,-.065998,4.4,-4.8644,1.3274,
490 &0.,0.,.763,-.23696,.025836,4.,.62664,-.019163,
492 &0.,-.42068,.032809,6*0.,1.265,-1.1323,.29268,
494 &0.,-.37162,-.028977,8.05,1.5877,-.15291,
496 &0.,6.3059,-.27342,0.,-10.543,-3.1674,
498 &0.,14.698,9.798,0.,.13479,-.074693,
500 &-.0355,-.22237,-.057685,6.3494,3.2649,-.90945,
502 &0.,-3.0331,1.5042,0.,17.431,-11.255,
504 &0.,-17.861,15.571,1.564,-1.7112,.63751,
506 &0.,-.94892,.32505,6.,1.4345,-1.0485,
508 &9.,-7.1858,.25494,0.,-16.457,10.947,
512 DATA (((B(I,J,K,2),I=1,3),J=1,6),K=1,5)/
514 &3.,0.,0.,.3743,.013946,-.00031695,
516 &3.329,.75343,-.076125,6.032,-6.2153,1.5561,
520 &0.,.7608,-.2317,.023232,3.83,.62746,-.019155,
522 &0.,-.41843,.035972,6*0.,1.6714,-1.9168,.58175,
524 &0.,-.27307,-.16392,9.145,.53045,-.76271,
526 &0.,15.665,-2.8341,0.,-100.63,44.658,
528 &0.,223.24,-116.76,0.,.067368,-.030574,
530 &-.11989,-.23293,-.023273,3.5087,3.6554,-.45313,
532 &0.,-.47369,.35793,0.,9.5041,-5.4303,
534 &0.,-16.563,15.524,.8789,-.97093,.43388,
536 &0.,-1.1612,.4759,4.,1.2271,-.25369,
538 &9.,-5.6354,-.81747,0.,-7.5438,5.5034,
542 DATA (((B(I,J,K,3),I=1,3),J=1,6),K=1,5)/
544 &1.,0.,0.,0.4,-0.06212,-0.007109,0.7,0.6478,0.01335,27*0.,
546 &0.9,-0.2428,0.1386,0.,-0.2120,0.003671,5.0,0.8673,0.04747,
548 &0.,1.266,-2.215,0.,2.382,0.3482,3*0.,
550 &0.,0.07928,-0.06134,-0.02212,-0.3785,-0.1088,2.894,9.433,
552 &-10.852,0.,5.248,-7.187,0.,8.388,-11.61,3*0.,
554 &0.888,-1.802,1.812,0.,-1.576,1.20,3.11,-0.1317,0.5068,
556 &6.0,2.801,-12.16,0.,-17.28,20.49,3*0./
558 DATA (((B(I,J,K,4),I=1,3),J=1,6),K=1,5)/
560 &1.,0.,0.,0.4,-0.05909,-0.006524,0.628,0.6436,0.01451,27*0.,
562 &0.90,-0.1417,-0.1740,0.,-0.1697,-0.09623,5.0,-2.474,1.575,
564 &0.,-2.534,1.378,0.,0.5621,-0.2701,3*0.,
566 &0.,0.06229,-0.04099,-0.0882,-0.2892,-0.1082,1.924,0.2424,
568 &2.036,0.,-4.463,5.209,0.,-0.8367,-0.04840,3*0.,
570 &0.794,-0.9144,0.5966,0.,-1.237,0.6582,2.89,0.5966,-0.2550,
572 &6.0,-3.671,-2.304,0.,-8.191,7.758,3*0./
574 C---COEFFTS FOR NEW OWENS 1.1 SET
576 DATA BB/3.,3*0.,.665,-.1097,-.002442,0.,
578 &3.614,.8395,-.02186,0.,.8673,-1.6637,.342,0.,
580 &0.,1.1049,-.2369,5*0.,1.,3*0.,
582 &.8388,-.2092,.02657,0.,4.667,.7951,.1081,0.,
584 &0.,-1.0232,.05799,0.,0.,.8616,.153,5*0.,
586 &.909,-.4023,.006305,0.,
588 &0.,-.3823,.02766,0.,7.278,-.7904,.8108,0.,
590 &0.,-1.6629,.5719,0.,0.,-.01333,.5299,0.,
592 &0.,.1211,-.1739,0.,0.,.09469,-.07066,.01236,
594 &-.1447,-.402,.1533,-.06479,6.7599,1.6596,.6798,-.8525,
596 &0.,-4.4559,3.3756,-.9468,
598 &0.,7.862,-3.6591,.03672,0.,-.2472,-.751,.0487,
600 &3.017,-4.7347,3.3594,-.9443,0.,-.9342,.5454,-.1668,
602 &5.304,1.4654,-1.4292,.7569,0.,-3.9141,2.8445,-.8411,
604 &0.,9.0176,-10.426,4.0983,0.,-5.9602,7.515,-2.7329/
606 C...THE FOLLOWING DATA LINES ARE COEFFICIENTS NEEDED IN THE
608 C...EICHTEN, HINCHLIFFE, LANE, QUIGG PROTON STRUCTURE FUNCTION
610 C...POWERS OF 1-X IN DIFFERENT CASES
612 DATA NEHLQ/3,4,7,5,7,7,7,7,3,4,7,6,7,7,7,7/
614 C...EXPANSION COEFFICIENTS FOR UP VALENCE QUARK DISTRIBUTION
616 DATA (((CEHLQ(IX,IT,NX,1,1),IX=1,6),IT=1,6),NX=1,2)/
618 1 7.677E-01,-2.087E-01,-3.303E-01,-2.517E-02,-1.570E-02,-1.000E-04,
620 2-5.326E-01,-2.661E-01, 3.201E-01, 1.192E-01, 2.434E-02, 7.620E-03,
622 3 2.162E-01, 1.881E-01,-8.375E-02,-6.515E-02,-1.743E-02,-5.040E-03,
624 4-9.211E-02,-9.952E-02, 1.373E-02, 2.506E-02, 8.770E-03, 2.550E-03,
626 5 3.670E-02, 4.409E-02, 9.600E-04,-7.960E-03,-3.420E-03,-1.050E-03,
628 6-1.549E-02,-2.026E-02,-3.060E-03, 2.220E-03, 1.240E-03, 4.100E-04,
630 1 2.395E-01, 2.905E-01, 9.778E-02, 2.149E-02, 3.440E-03, 5.000E-04,
632 2 1.751E-02,-6.090E-03,-2.687E-02,-1.916E-02,-7.970E-03,-2.750E-03,
634 3-5.760E-03,-5.040E-03, 1.080E-03, 2.490E-03, 1.530E-03, 7.500E-04,
636 4 1.740E-03, 1.960E-03, 3.000E-04,-3.400E-04,-2.900E-04,-1.800E-04,
638 5-5.300E-04,-6.400E-04,-1.700E-04, 4.000E-05, 6.000E-05, 4.000E-05,
640 6 1.700E-04, 2.200E-04, 8.000E-05, 1.000E-05,-1.000E-05,-1.000E-05/
642 DATA (((CEHLQ(IX,IT,NX,1,2),IX=1,6),IT=1,6),NX=1,2)/
644 1 7.237E-01,-2.189E-01,-2.995E-01,-1.909E-02,-1.477E-02, 2.500E-04,
646 2-5.314E-01,-2.425E-01, 3.283E-01, 1.119E-01, 2.223E-02, 7.070E-03,
648 3 2.289E-01, 1.890E-01,-9.859E-02,-6.900E-02,-1.747E-02,-5.080E-03,
650 4-1.041E-01,-1.084E-01, 2.108E-02, 2.975E-02, 9.830E-03, 2.830E-03,
652 5 4.394E-02, 5.116E-02,-1.410E-03,-1.055E-02,-4.230E-03,-1.270E-03,
654 6-1.991E-02,-2.539E-02,-2.780E-03, 3.430E-03, 1.720E-03, 5.500E-04,
656 1 2.410E-01, 2.884E-01, 9.369E-02, 1.900E-02, 2.530E-03, 2.400E-04,
658 2 1.765E-02,-9.220E-03,-3.037E-02,-2.085E-02,-8.440E-03,-2.810E-03,
660 3-6.450E-03,-5.260E-03, 1.720E-03, 3.110E-03, 1.830E-03, 8.700E-04,
662 4 2.120E-03, 2.320E-03, 2.600E-04,-4.900E-04,-3.900E-04,-2.300E-04,
664 5-6.900E-04,-8.200E-04,-2.000E-04, 7.000E-05, 9.000E-05, 6.000E-05,
666 6 2.400E-04, 3.100E-04, 1.100E-04, 0.000E+00,-2.000E-05,-2.000E-05/
668 C...EXPANSION COEFFICIENTS FOR DOWN VALENCE QUARK DISTRIBUTION
670 DATA (((CEHLQ(IX,IT,NX,2,1),IX=1,6),IT=1,6),NX=1,2)/
672 1 3.813E-01,-8.090E-02,-1.634E-01,-2.185E-02,-8.430E-03,-6.200E-04,
674 2-2.948E-01,-1.435E-01, 1.665E-01, 6.638E-02, 1.473E-02, 4.080E-03,
676 3 1.252E-01, 1.042E-01,-4.722E-02,-3.683E-02,-1.038E-02,-2.860E-03,
678 4-5.478E-02,-5.678E-02, 8.900E-03, 1.484E-02, 5.340E-03, 1.520E-03,
680 5 2.220E-02, 2.567E-02,-3.000E-05,-4.970E-03,-2.160E-03,-6.500E-04,
682 6-9.530E-03,-1.204E-02,-1.510E-03, 1.510E-03, 8.300E-04, 2.700E-04,
684 1 1.261E-01, 1.354E-01, 3.958E-02, 8.240E-03, 1.660E-03, 4.500E-04,
686 2 3.890E-03,-1.159E-02,-1.625E-02,-9.610E-03,-3.710E-03,-1.260E-03,
688 3-1.910E-03,-5.600E-04, 1.590E-03, 1.590E-03, 8.400E-04, 3.900E-04,
690 4 6.400E-04, 4.900E-04,-1.500E-04,-2.900E-04,-1.800E-04,-1.000E-04,
692 5-2.000E-04,-1.900E-04, 0.000E+00, 6.000E-05, 4.000E-05, 3.000E-05,
694 6 7.000E-05, 8.000E-05, 2.000E-05,-1.000E-05,-1.000E-05,-1.000E-05/
696 DATA (((CEHLQ(IX,IT,NX,2,2),IX=1,6),IT=1,6),NX=1,2)/
698 1 3.578E-01,-8.622E-02,-1.480E-01,-1.840E-02,-7.820E-03,-4.500E-04,
700 2-2.925E-01,-1.304E-01, 1.696E-01, 6.243E-02, 1.353E-02, 3.750E-03,
702 3 1.318E-01, 1.041E-01,-5.486E-02,-3.872E-02,-1.038E-02,-2.850E-03,
704 4-6.162E-02,-6.143E-02, 1.303E-02, 1.740E-02, 5.940E-03, 1.670E-03,
706 5 2.643E-02, 2.957E-02,-1.490E-03,-6.450E-03,-2.630E-03,-7.700E-04,
708 6-1.218E-02,-1.497E-02,-1.260E-03, 2.240E-03, 1.120E-03, 3.500E-04,
710 1 1.263E-01, 1.334E-01, 3.732E-02, 7.070E-03, 1.260E-03, 3.400E-04,
712 2 3.660E-03,-1.357E-02,-1.795E-02,-1.031E-02,-3.880E-03,-1.280E-03,
714 3-2.100E-03,-3.600E-04, 2.050E-03, 1.920E-03, 9.800E-04, 4.400E-04,
716 4 7.700E-04, 5.400E-04,-2.400E-04,-3.900E-04,-2.400E-04,-1.300E-04,
718 5-2.600E-04,-2.300E-04, 2.000E-05, 9.000E-05, 6.000E-05, 4.000E-05,
720 6 9.000E-05, 1.000E-04, 2.000E-05,-2.000E-05,-2.000E-05,-1.000E-05/
722 C...EXPANSION COEFFICIENTS FOR UP AND DOWN SEA QUARK DISTRIBUTIONS
724 DATA (((CEHLQ(IX,IT,NX,3,1),IX=1,6),IT=1,6),NX=1,2)/
726 1 6.870E-02,-6.861E-02, 2.973E-02,-5.400E-03, 3.780E-03,-9.700E-04,
728 2-1.802E-02, 1.400E-04, 6.490E-03,-8.540E-03, 1.220E-03,-1.750E-03,
730 3-4.650E-03, 1.480E-03,-5.930E-03, 6.000E-04,-1.030E-03,-8.000E-05,
732 4 6.440E-03, 2.570E-03, 2.830E-03, 1.150E-03, 7.100E-04, 3.300E-04,
734 5-3.930E-03,-2.540E-03,-1.160E-03,-7.700E-04,-3.600E-04,-1.900E-04,
736 6 2.340E-03, 1.930E-03, 5.300E-04, 3.700E-04, 1.600E-04, 9.000E-05,
738 1 1.014E+00,-1.106E+00, 3.374E-01,-7.444E-02, 8.850E-03,-8.700E-04,
740 2 9.233E-01,-1.285E+00, 4.475E-01,-9.786E-02, 1.419E-02,-1.120E-03,
742 3 4.888E-02,-1.271E-01, 8.606E-02,-2.608E-02, 4.780E-03,-6.000E-04,
744 4-2.691E-02, 4.887E-02,-1.771E-02, 1.620E-03, 2.500E-04,-6.000E-05,
746 5 7.040E-03,-1.113E-02, 1.590E-03, 7.000E-04,-2.000E-04, 0.000E+00,
748 6-1.710E-03, 2.290E-03, 3.800E-04,-3.500E-04, 4.000E-05, 1.000E-05/
750 DATA (((CEHLQ(IX,IT,NX,3,2),IX=1,6),IT=1,6),NX=1,2)/
752 1 1.008E-01,-7.100E-02, 1.973E-02,-5.710E-03, 2.930E-03,-9.900E-04,
754 2-5.271E-02,-1.823E-02, 1.792E-02,-6.580E-03, 1.750E-03,-1.550E-03,
756 3 1.220E-02, 1.763E-02,-8.690E-03,-8.800E-04,-1.160E-03,-2.100E-04,
758 4-1.190E-03,-7.180E-03, 2.360E-03, 1.890E-03, 7.700E-04, 4.100E-04,
760 5-9.100E-04, 2.040E-03,-3.100E-04,-1.050E-03,-4.000E-04,-2.400E-04,
762 6 1.190E-03,-1.700E-04,-2.000E-04, 4.200E-04, 1.700E-04, 1.000E-04,
764 1 1.081E+00,-1.189E+00, 3.868E-01,-8.617E-02, 1.115E-02,-1.180E-03,
766 2 9.917E-01,-1.396E+00, 4.998E-01,-1.159E-01, 1.674E-02,-1.720E-03,
768 3 5.099E-02,-1.338E-01, 9.173E-02,-2.885E-02, 5.890E-03,-6.500E-04,
770 4-3.178E-02, 5.703E-02,-2.070E-02, 2.440E-03, 1.100E-04,-9.000E-05,
772 5 8.970E-03,-1.392E-02, 2.050E-03, 6.500E-04,-2.300E-04, 2.000E-05,
774 6-2.340E-03, 3.010E-03, 5.000E-04,-3.900E-04, 6.000E-05, 1.000E-05/
776 C...EXPANSION COEFFICIENTS FOR GLUON DISTRIBUTION
778 DATA (((CEHLQ(IX,IT,NX,4,1),IX=1,6),IT=1,6),NX=1,2)/
780 1 9.482E-01,-9.578E-01, 1.009E-01,-1.051E-01, 3.456E-02,-3.054E-02,
782 2-9.627E-01, 5.379E-01, 3.368E-01,-9.525E-02, 1.488E-02,-2.051E-02,
784 3 4.300E-01,-8.306E-02,-3.372E-01, 4.902E-02,-9.160E-03, 1.041E-02,
786 4-1.925E-01,-1.790E-02, 2.183E-01, 7.490E-03, 4.140E-03,-1.860E-03,
788 5 8.183E-02, 1.926E-02,-1.072E-01,-1.944E-02,-2.770E-03,-5.200E-04,
790 6-3.884E-02,-1.234E-02, 5.410E-02, 1.879E-02, 3.350E-03, 1.040E-03,
792 1 2.948E+01,-3.902E+01, 1.464E+01,-3.335E+00, 5.054E-01,-5.915E-02,
794 2 2.559E+01,-3.955E+01, 1.661E+01,-4.299E+00, 6.904E-01,-8.243E-02,
796 3-1.663E+00, 1.176E+00, 1.118E+00,-7.099E-01, 1.948E-01,-2.404E-02,
798 4-2.168E-01, 8.170E-01,-7.169E-01, 1.851E-01,-1.924E-02,-3.250E-03,
800 5 2.088E-01,-4.355E-01, 2.239E-01,-2.446E-02,-3.620E-03, 1.910E-03,
802 6-9.097E-02, 1.601E-01,-5.681E-02,-2.500E-03, 2.580E-03,-4.700E-04/
804 DATA (((CEHLQ(IX,IT,NX,4,2),IX=1,6),IT=1,6),NX=1,2)/
806 1 2.367E+00, 4.453E-01, 3.660E-01, 9.467E-02, 1.341E-01, 1.661E-02,
808 2-3.170E+00,-1.795E+00, 3.313E-02,-2.874E-01,-9.827E-02,-7.119E-02,
810 3 1.823E+00, 1.457E+00,-2.465E-01, 3.739E-02, 6.090E-03, 1.814E-02,
812 4-1.033E+00,-9.827E-01, 2.136E-01, 1.169E-01, 5.001E-02, 1.684E-02,
814 5 5.133E-01, 5.259E-01,-1.173E-01,-1.139E-01,-4.988E-02,-2.021E-02,
816 6-2.881E-01,-3.145E-01, 5.667E-02, 9.161E-02, 4.568E-02, 1.951E-02,
818 1 3.036E+01,-4.062E+01, 1.578E+01,-3.699E+00, 6.020E-01,-7.031E-02,
820 2 2.700E+01,-4.167E+01, 1.770E+01,-4.804E+00, 7.862E-01,-1.060E-01,
822 3-1.909E+00, 1.357E+00, 1.127E+00,-7.181E-01, 2.232E-01,-2.481E-02,
824 4-2.488E-01, 9.781E-01,-8.127E-01, 2.094E-01,-2.997E-02,-4.710E-03,
826 5 2.506E-01,-5.427E-01, 2.672E-01,-3.103E-02,-1.800E-03, 2.870E-03,
828 6-1.128E-01, 2.087E-01,-6.972E-02,-2.480E-03, 2.630E-03,-8.400E-04/
830 C...EXPANSION COEFFICIENTS FOR STRANGE SEA QUARK DISTRIBUTION
832 DATA (((CEHLQ(IX,IT,NX,5,1),IX=1,6),IT=1,6),NX=1,2)/
834 1 4.968E-02,-4.173E-02, 2.102E-02,-3.270E-03, 3.240E-03,-6.700E-04,
836 2-6.150E-03,-1.294E-02, 6.740E-03,-6.890E-03, 9.000E-04,-1.510E-03,
838 3-8.580E-03, 5.050E-03,-4.900E-03,-1.600E-04,-9.400E-04,-1.500E-04,
840 4 7.840E-03, 1.510E-03, 2.220E-03, 1.400E-03, 7.000E-04, 3.500E-04,
842 5-4.410E-03,-2.220E-03,-8.900E-04,-8.500E-04,-3.600E-04,-2.000E-04,
844 6 2.520E-03, 1.840E-03, 4.100E-04, 3.900E-04, 1.600E-04, 9.000E-05,
846 1 9.235E-01,-1.085E+00, 3.464E-01,-7.210E-02, 9.140E-03,-9.100E-04,
848 2 9.315E-01,-1.274E+00, 4.512E-01,-9.775E-02, 1.380E-02,-1.310E-03,
850 3 4.739E-02,-1.296E-01, 8.482E-02,-2.642E-02, 4.760E-03,-5.700E-04,
852 4-2.653E-02, 4.953E-02,-1.735E-02, 1.750E-03, 2.800E-04,-6.000E-05,
854 5 6.940E-03,-1.132E-02, 1.480E-03, 6.500E-04,-2.100E-04, 0.000E+00,
856 6-1.680E-03, 2.340E-03, 4.200E-04,-3.400E-04, 5.000E-05, 1.000E-05/
858 DATA (((CEHLQ(IX,IT,NX,5,2),IX=1,6),IT=1,6),NX=1,2)/
860 1 6.478E-02,-4.537E-02, 1.643E-02,-3.490E-03, 2.710E-03,-6.700E-04,
862 2-2.223E-02,-2.126E-02, 1.247E-02,-6.290E-03, 1.120E-03,-1.440E-03,
864 3-1.340E-03, 1.362E-02,-6.130E-03,-7.900E-04,-9.000E-04,-2.000E-04,
866 4 5.080E-03,-3.610E-03, 1.700E-03, 1.830E-03, 6.800E-04, 4.000E-04,
868 5-3.580E-03, 6.000E-05,-2.600E-04,-1.050E-03,-3.800E-04,-2.300E-04,
870 6 2.420E-03, 9.300E-04,-1.000E-04, 4.500E-04, 1.700E-04, 1.100E-04,
872 1 9.868E-01,-1.171E+00, 3.940E-01,-8.459E-02, 1.124E-02,-1.250E-03,
874 2 1.001E+00,-1.383E+00, 5.044E-01,-1.152E-01, 1.658E-02,-1.830E-03,
876 3 4.928E-02,-1.368E-01, 9.021E-02,-2.935E-02, 5.800E-03,-6.600E-04,
878 4-3.133E-02, 5.785E-02,-2.023E-02, 2.630E-03, 1.600E-04,-8.000E-05,
880 5 8.840E-03,-1.416E-02, 1.900E-03, 5.800E-04,-2.500E-04, 1.000E-05,
882 6-2.300E-03, 3.080E-03, 5.500E-04,-3.700E-04, 7.000E-05, 1.000E-05/
884 C...EXPANSION COEFFICIENTS FOR CHARM SEA QUARK DISTRIBUTION
886 DATA (((CEHLQ(IX,IT,NX,6,1),IX=1,6),IT=1,6),NX=1,2)/
888 1 9.270E-03,-1.817E-02, 9.590E-03,-6.390E-03, 1.690E-03,-1.540E-03,
890 2 5.710E-03,-1.188E-02, 6.090E-03,-4.650E-03, 1.240E-03,-1.310E-03,
892 3-3.960E-03, 7.100E-03,-3.590E-03, 1.840E-03,-3.900E-04, 3.400E-04,
894 4 1.120E-03,-1.960E-03, 1.120E-03,-4.800E-04, 1.000E-04,-4.000E-05,
896 5 4.000E-05,-3.000E-05,-1.800E-04, 9.000E-05,-5.000E-05,-2.000E-05,
898 6-4.200E-04, 7.300E-04,-1.600E-04, 5.000E-05, 5.000E-05, 5.000E-05,
900 1 8.098E-01,-1.042E+00, 3.398E-01,-6.824E-02, 8.760E-03,-9.000E-04,
902 2 8.961E-01,-1.217E+00, 4.339E-01,-9.287E-02, 1.304E-02,-1.290E-03,
904 3 3.058E-02,-1.040E-01, 7.604E-02,-2.415E-02, 4.600E-03,-5.000E-04,
906 4-2.451E-02, 4.432E-02,-1.651E-02, 1.430E-03, 1.200E-04,-1.000E-04,
908 5 1.122E-02,-1.457E-02, 2.680E-03, 5.800E-04,-1.200E-04, 3.000E-05,
910 6-7.730E-03, 7.330E-03,-7.600E-04,-2.400E-04, 1.000E-05, 0.000E+00/
912 DATA (((CEHLQ(IX,IT,NX,6,2),IX=1,6),IT=1,6),NX=1,2)/
914 1 9.980E-03,-1.945E-02, 1.055E-02,-6.870E-03, 1.860E-03,-1.560E-03,
916 2 5.700E-03,-1.203E-02, 6.250E-03,-4.860E-03, 1.310E-03,-1.370E-03,
918 3-4.490E-03, 7.990E-03,-4.170E-03, 2.050E-03,-4.400E-04, 3.300E-04,
920 4 1.470E-03,-2.480E-03, 1.460E-03,-5.700E-04, 1.200E-04,-1.000E-05,
922 5-9.000E-05, 1.500E-04,-3.200E-04, 1.200E-04,-6.000E-05,-4.000E-05,
924 6-4.200E-04, 7.600E-04,-1.400E-04, 4.000E-05, 7.000E-05, 5.000E-05,
926 1 8.698E-01,-1.131E+00, 3.836E-01,-8.111E-02, 1.048E-02,-1.300E-03,
928 2 9.626E-01,-1.321E+00, 4.854E-01,-1.091E-01, 1.583E-02,-1.700E-03,
930 3 3.057E-02,-1.088E-01, 8.022E-02,-2.676E-02, 5.590E-03,-5.600E-04,
932 4-2.845E-02, 5.164E-02,-1.918E-02, 2.210E-03,-4.000E-05,-1.500E-04,
934 5 1.311E-02,-1.751E-02, 3.310E-03, 5.100E-04,-1.200E-04, 5.000E-05,
936 6-8.590E-03, 8.380E-03,-9.200E-04,-2.600E-04, 1.000E-05,-1.000E-05/
938 C...EXPANSION COEFFICIENTS FOR BOTTOM SEA QUARK DISTRIBUTION
940 DATA (((CEHLQ(IX,IT,NX,7,1),IX=1,6),IT=1,6),NX=1,2)/
942 1 9.010E-03,-1.401E-02, 7.150E-03,-4.130E-03, 1.260E-03,-1.040E-03,
944 2 6.280E-03,-9.320E-03, 4.780E-03,-2.890E-03, 9.100E-04,-8.200E-04,
946 3-2.930E-03, 4.090E-03,-1.890E-03, 7.600E-04,-2.300E-04, 1.400E-04,
948 4 3.900E-04,-1.200E-03, 4.400E-04,-2.500E-04, 2.000E-05,-2.000E-05,
950 5 2.600E-04, 1.400E-04,-8.000E-05, 1.000E-04, 1.000E-05, 1.000E-05,
952 6-2.600E-04, 3.200E-04, 1.000E-05,-1.000E-05, 1.000E-05,-1.000E-05,
954 1 8.029E-01,-1.075E+00, 3.792E-01,-7.843E-02, 1.007E-02,-1.090E-03,
956 2 7.903E-01,-1.099E+00, 4.153E-01,-9.301E-02, 1.317E-02,-1.410E-03,
958 3-1.704E-02,-1.130E-02, 2.882E-02,-1.341E-02, 3.040E-03,-3.600E-04,
960 4-7.200E-04, 7.230E-03,-5.160E-03, 1.080E-03,-5.000E-05,-4.000E-05,
962 5 3.050E-03,-4.610E-03, 1.660E-03,-1.300E-04,-1.000E-05, 1.000E-05,
964 6-4.360E-03, 5.230E-03,-1.610E-03, 2.000E-04,-2.000E-05, 0.000E+00/
966 DATA (((CEHLQ(IX,IT,NX,7,2),IX=1,6),IT=1,6),NX=1,2)/
968 1 8.980E-03,-1.459E-02, 7.510E-03,-4.410E-03, 1.310E-03,-1.070E-03,
970 2 5.970E-03,-9.440E-03, 4.800E-03,-3.020E-03, 9.100E-04,-8.500E-04,
972 3-3.050E-03, 4.440E-03,-2.100E-03, 8.500E-04,-2.400E-04, 1.400E-04,
974 4 5.300E-04,-1.300E-03, 5.600E-04,-2.700E-04, 3.000E-05,-2.000E-05,
976 5 2.000E-04, 1.400E-04,-1.100E-04, 1.000E-04, 0.000E+00, 0.000E+00,
978 6-2.600E-04, 3.200E-04, 0.000E+00,-3.000E-05, 1.000E-05,-1.000E-05,
980 1 8.672E-01,-1.174E+00, 4.265E-01,-9.252E-02, 1.244E-02,-1.460E-03,
982 2 8.500E-01,-1.194E+00, 4.630E-01,-1.083E-01, 1.614E-02,-1.830E-03,
984 3-2.241E-02,-5.630E-03, 2.815E-02,-1.425E-02, 3.520E-03,-4.300E-04,
986 4-7.300E-04, 8.030E-03,-5.780E-03, 1.380E-03,-1.300E-04,-4.000E-05,
988 5 3.460E-03,-5.380E-03, 1.960E-03,-2.100E-04, 1.000E-05, 1.000E-05,
990 6-4.850E-03, 5.950E-03,-1.890E-03, 2.600E-04,-3.000E-05, 0.000E+00/
992 C...EXPANSION COEFFICIENTS FOR TOP SEA QUARK DISTRIBUTION
994 DATA (((CEHLQ(IX,IT,NX,8,1),IX=1,6),IT=1,6),NX=1,2)/
996 1 4.410E-03,-7.480E-03, 3.770E-03,-2.580E-03, 7.300E-04,-7.100E-04,
998 2 3.840E-03,-6.050E-03, 3.030E-03,-2.030E-03, 5.800E-04,-5.900E-04,
1000 3-8.800E-04, 1.660E-03,-7.500E-04, 4.700E-04,-1.000E-04, 1.000E-04,
1002 4-8.000E-05,-1.500E-04, 1.200E-04,-9.000E-05, 3.000E-05, 0.000E+00,
1004 5 1.300E-04,-2.200E-04,-2.000E-05,-2.000E-05,-2.000E-05,-2.000E-05,
1006 6-7.000E-05, 1.900E-04,-4.000E-05, 2.000E-05, 0.000E+00, 0.000E+00,
1008 1 6.623E-01,-9.248E-01, 3.519E-01,-7.930E-02, 1.110E-02,-1.180E-03,
1010 2 6.380E-01,-9.062E-01, 3.582E-01,-8.479E-02, 1.265E-02,-1.390E-03,
1012 3-2.581E-02, 2.125E-02, 4.190E-03,-4.980E-03, 1.490E-03,-2.100E-04,
1014 4 7.100E-04, 5.300E-04,-1.270E-03, 3.900E-04,-5.000E-05,-1.000E-05,
1016 5 3.850E-03,-5.060E-03, 1.860E-03,-3.500E-04, 4.000E-05, 0.000E+00,
1018 6-3.530E-03, 4.460E-03,-1.500E-03, 2.700E-04,-3.000E-05, 0.000E+00/
1020 DATA (((CEHLQ(IX,IT,NX,8,2),IX=1,6),IT=1,6),NX=1,2)/
1022 1 4.260E-03,-7.530E-03, 3.830E-03,-2.680E-03, 7.600E-04,-7.300E-04,
1024 2 3.640E-03,-6.050E-03, 3.030E-03,-2.090E-03, 5.900E-04,-6.000E-04,
1026 3-9.200E-04, 1.710E-03,-8.200E-04, 5.000E-04,-1.200E-04, 1.000E-04,
1028 4-5.000E-05,-1.600E-04, 1.300E-04,-9.000E-05, 3.000E-05, 0.000E+00,
1030 5 1.300E-04,-2.100E-04,-1.000E-05,-2.000E-05,-2.000E-05,-1.000E-05,
1032 6-8.000E-05, 1.800E-04,-5.000E-05, 2.000E-05, 0.000E+00, 0.000E+00,
1034 1 7.146E-01,-1.007E+00, 3.932E-01,-9.246E-02, 1.366E-02,-1.540E-03,
1036 2 6.856E-01,-9.828E-01, 3.977E-01,-9.795E-02, 1.540E-02,-1.790E-03,
1038 3-3.053E-02, 2.758E-02, 2.150E-03,-4.880E-03, 1.640E-03,-2.500E-04,
1040 4 9.200E-04, 4.200E-04,-1.340E-03, 4.600E-04,-8.000E-05,-1.000E-05,
1042 5 4.230E-03,-5.660E-03, 2.140E-03,-4.300E-04, 6.000E-05, 0.000E+00,
1044 6-3.890E-03, 5.000E-03,-1.740E-03, 3.300E-04,-4.000E-05, 0.000E+00/
1046 DATA TBMIN,TTMIN/8.1905,7.4474,11.5528,10.8097/
1048 DATA XOLD,QOLD,IOLD,NOLD/-1.,0.,0,0/
1050 DATA DMIN,Q0,QL/0.,2*2.,2*2.236,2.,.2,.4,.2,.29,.177/
1052 IF (X.LE.ZERO) CALL HWWARN('HWSFUN',100,*999)
1056 IF (XMWN.LE.ZERO) THEN
1068 C---FREEZE THE SCALE IF REQUIRED
1072 IF (ISPAC.GT.0) SCALEF=MAX(SCALEF,QSPAC)
1074 C---CHECK IF PDFLIB REQUESTED
1076 IF (IBEAM.EQ.1.OR.IBEAM.EQ.2) THEN
1088 IF (IDHAD.EQ.59.OR.IDHAD.EQ.71) THEN
1092 C---USE PDFLIB PHOTON STRUCTURE FUNCTIONS
1094 PARM(1)=AUTPDF(IBEAM)
1098 C---FIX TO CALL SCHULER-SJOSTRAND CODE
1100 IF (AUTPDF(IBEAM).EQ.'SaSph') THEN
1104 IF ( XSP.LE.ZERO) CALL HWWARN('HWSFUN',102,*999)
1106 IF (ONE-XSP.LE.ZERO) CALL HWWARN('HWSFUN',103,*999)
1110 ISET=MOD(MODPDF(IBEAM),10)
1112 IOP1=MOD(MODPDF(IBEAM)/10,2)
1114 IOP2=MOD(MODPDF(IBEAM)/20,2)
1116 IP2=MODPDF(IBEAM)/100
1126 IF (JDAHEP(1,IHAD).NE.0) IHAD=JDAHEP(1,IHAD)
1132 CALL SASGAM(ISET,XSP,Q2,P2,IP2,F2GM,XPGA)
1134 IF (IOP1.EQ.1 .AND. ISTAT.LT.10) THEN
1138 5 XPGA(I)=XPVMD(I)+XPANL(I)+XPBEH(I)+XPDIR(I)
1162 CALL PDFSET(PARM,VAL)
1164 IF (X.LT.PDFXMN.AND.PDFWRX(IBEAM,1) .OR.
1166 & X.GT.PDFXMX.AND.PDFWRX(IBEAM,2)) THEN
1168 CALL HWWARN('HWSFUN',2,*999)
1170 WRITE (6,'(2A)') ' WARNING: PDFLIB CALLED WITH X',
1172 & ' OUTSIDE ALLOWED RANGE!'
1174 WRITE (6,'(1P,3(A,E9.3))') ' X VALUE=',X,
1176 & ', MINIMUM=',PDFXMN,', MAXIMUM=',PDFXMX
1178 WRITE (6,'(A)') ' NO FURTHER WARNINGS WILL BE ISSUED'
1180 IF (X.LT.PDFXMN) PDFWRX(IBEAM,1)=.FALSE.
1182 IF (X.GT.PDFXMX) PDFWRX(IBEAM,2)=.FALSE.
1186 IF (QSCA**2.LT.PDFQMN.AND.PDFWRQ(IBEAM,1) .OR.
1188 & QSCA**2.GT.PDFQMX.AND.PDFWRQ(IBEAM,2)) THEN
1190 CALL HWWARN('HWSFUN',3,*999)
1192 WRITE (6,'(2A)') ' WARNING: PDFLIB CALLED WITH Q',
1194 & ' OUTSIDE ALLOWED RANGE!'
1196 WRITE (6,'(1P,3(A,E9.3))') ' Q VALUE=',QSCA,
1198 & ', MINIMUM=',SQRT(PDFQMN),', MAXIMUM=',SQRT(PDFQMX)
1200 WRITE (6,'(A)') ' NO FURTHER WARNINGS WILL BE ISSUED'
1202 IF (QSCA**2.LT.PDFQMN) PDFWRQ(IBEAM,1)=.FALSE.
1204 IF (QSCA**2.GT.PDFQMN) PDFWRQ(IBEAM,2)=.FALSE.
1208 CALL STRUCTM(X,QSCA,UPV,DNV,USEA,DSEA,STR,CHM,BTM,TOP,GLU)
1224 IF ( XSP.LE.ZERO) CALL HWWARN('HWSFUN',102,*999)
1226 IF (ONE-XSP.LE.ZERO) CALL HWWARN('HWSFUN',103,*999)
1240 IF (Q2.GT.50.) NFL=4
1242 IF (Q2.GT.500.) NFL=5
1244 STR=HWSDGQ(XSP,Q2,NFL,1)
1246 CHM=HWSDGQ(XSP,Q2,NFL,2)
1248 GLU=HWSDGG(XSP,Q2,NFL)
1258 IF (W2.GT.EMB2) THEN
1262 IF (W2*ALAM2.LT.Q2*EMB2)
1264 & BTM=BTM*LOG(W2/EMB2)/LOG(Q2/ALAM2)
1272 IF (W2.GT.EMC2) THEN
1274 IF (W2*ALAM2.LT.Q2*EMC2)
1276 & CHM=CHM*LOG(W2/EMC2)/LOG(Q2/ALAM2)
1288 C---INCLUDE SUPPRESSION FROM PHOTON VIRTUALITY IF NECESSARY
1290 IF (PHOMAS.GT.ZERO.AND.(IBEAM.EQ.1.OR.IBEAM.EQ.2)) THEN
1294 IF (JDAHEP(1,IHAD).NE.0) IHAD=JDAHEP(1,IHAD)
1296 IF (IDHW(IHAD).EQ.59) THEN
1298 FAC=LOG((QSCA**2+PHOMAS**2)/(PHEP(5,IHAD)**2+PHOMAS**2))/
1300 $ LOG((QSCA**2+PHOMAS**2)/( PHOMAS**2))
1302 IF (FAC.LT.ZERO) FAC=ZERO
1324 CALL HWWARN('HWSFUN',1,*999)
1336 C---USE PDFLIB NUCLEON STRUCTURE FUNCTIONS
1338 PARM(1)=AUTPDF(IBEAM)
1342 CALL PDFSET(PARM,VAL)
1344 IF (X.LT.PDFXMN.AND.PDFWRX(IBEAM,1) .OR.
1346 & X.GT.PDFXMX.AND.PDFWRX(IBEAM,2)) THEN
1348 CALL HWWARN('HWSFUN',4,*999)
1350 WRITE (6,'(2A)') ' WARNING: PDFLIB CALLED WITH X',
1352 & ' OUTSIDE ALLOWED RANGE!'
1354 WRITE (6,'(1P,3(A,E9.3))') ' X VALUE=',X,
1356 & ', MINIMUM=',PDFXMN,', MAXIMUM=',PDFXMX
1358 WRITE (6,'(A)') ' NO FURTHER WARNINGS WILL BE ISSUED'
1360 IF (X.LT.PDFXMN) PDFWRX(IBEAM,1)=.FALSE.
1362 IF (X.GT.PDFXMX) PDFWRX(IBEAM,2)=.FALSE.
1366 IF (QSCA**2.LT.PDFQMN.AND.PDFWRQ(IBEAM,1) .OR.
1368 & QSCA**2.GT.PDFQMX.AND.PDFWRQ(IBEAM,2)) THEN
1370 CALL HWWARN('HWSFUN',5,*999)
1372 WRITE (6,'(2A)') ' WARNING: PDFLIB CALLED WITH Q',
1374 & ' OUTSIDE ALLOWED RANGE!'
1376 WRITE (6,'(1P,3(A,E9.3))') ' Q VALUE=',QSCA,
1378 & ', MINIMUM=',SQRT(PDFQMN),', MAXIMUM=',SQRT(PDFQMX)
1380 WRITE (6,'(A)') ' NO FURTHER WARNINGS WILL BE ISSUED'
1382 IF (QSCA**2.LT.PDFQMN) PDFWRQ(IBEAM,1)=.FALSE.
1384 IF (QSCA**2.GT.PDFQMN) PDFWRQ(IBEAM,2)=.FALSE.
1388 CALL STRUCTM(X,QSCA,UPV,DNV,USEA,DSEA,STR,CHM,BTM,TOP,GLU)
1392 IF (QSCA.LT.Q0(NSET)) QSCA=Q0(NSET)
1394 IF (QSCA.NE.QOLD.OR.IDHAD.NE.IOLD.OR.NSET.NE.NOLD) THEN
1398 IF (NSET.LT.1.OR.NSET.GT.5) CALL HWWARN('HWSFUN',400,*999)
1406 SS=LOG(QSCA/QL(NSET))
1408 SMIN=LOG(Q0(NSET)/QL(NSET))
1410 IF (NSET.LT.3.OR.NSET.EQ.5) THEN
1420 TMAX=2.*LOG(1.E4/QL(NSET))
1424 IF (IDHAD.GE.72) THEN
1434 10 A(J,I)=B(1,J,I,IP)+S*(B(2,J,I,IP)+S*B(3,J,I,IP))
1438 AA=ONE+A(2,K)+A(3,K)
1440 20 G(K)=HWSGAM(AA)/((ONE+A(2,K)*A(4,K)/AA)*HWSGAM(A(2,K))
1442 & *HWSGAM(ONE+A(3,K)))
1444 ELSEIF (NSET.EQ.5) THEN
1450 21 A(J,I)=BB(1,J,I)+S*(BB(2,J,I)+S*(BB(3,J,I)+S*BB(4,J,I)))
1454 AA=ONE+A(2,K)+A(3,K)
1456 22 G(K)=HWSGAM(AA)/((ONE+A(2,K)/AA*(A(4,K)+
1458 & (ONE+A(2,K))/(ONE+AA)*A(5,K)))*HWSGAM(A(2,K))
1460 & *HWSGAM(ONE+A(3,K)))
1466 VT=MAX(-ONE,MIN(ONE,(2.*T-TMAX-TMIN)/(TMAX-TMIN)))
1470 C...CHEBYSHEV POLYNOMIALS FOR T EXPANSION
1478 TT(4)= (4.*WT- 3.)*VT
1480 TT(5)= (8.*WT- 8.)*WT+1.
1482 TT(6)=((16.*WT-20.)*WT+5.)*VT
1486 ELSEIF (NSET.LT.3) THEN
1494 30 A(J,I)=B(1,J,I,IP)+S*(B(2,J,I,IP)+S*B(3,J,I,IP))
1496 AA=ONE+A(2,1)+A(3,1)
1498 G(1)=HWSGAM(AA)/(HWSGAM(A(2,1))*HWSGAM(ONE+A(3,1)))
1508 IF (NSET.LT.3.OR.NSET.EQ.5) THEN
1512 50 F(I)=A(1,I)*X**A(2,I)*XMWN**A(3,I)*(ONE+X*
1514 & (A(4,I)+X*(A(5,I) + X*A(6,I))))
1552 VX=MAX(-ONE,(2.*LOG(X)+11.51293)/6.90776)
1564 TX(4)= (4.*WX- 3.)*VX
1566 TX(5)= (8.*WX- 8.)*WX+1.
1568 TX(6)=((16.*WX-20.)*WX+5.)*VX
1572 C...CALCULATE STRUCTURE FUNCTIONS
1582 110 XQSUM=XQSUM+CEHLQ(IX,IT,NX,IFL,IP)*TX(IX)*TT(IT)
1584 120 XQ(IFL)=XQSUM*XMWN**NEHLQ(IFL,IP)
1598 C...SPECIAL EXPANSION FOR BOTTOM (THRESHOLD EFFECTS)
1600 IF (NFLAV.LT.5.OR.T.LE.TBMIN(IP)) THEN
1606 VT=MAX(-ONE,MIN(ONE,(2.*T-TMAX-TBMIN(IP))/(TMAX-TBMIN(IP))))
1616 TB(4)= (4.*WT- 3.)*VT
1618 TB(5)= (8.*WT- 8.)*WT+1.
1620 TB(6)=((16.*WT-20.)*WT+5.)*VT
1628 130 XQSUM=XQSUM+CEHLQ(IX,IT,NX,7,IP)*TX(IX)*TB(IT)
1630 BTM=XQSUM*XMWN**NEHLQ(7,IP)
1634 C...SPECIAL EXPANSION FOR TOP (THRESHOLD EFFECTS)
1636 TPMIN=TTMIN(IP)+TMTOP
1638 C---TMTOP=2.*LOG(TOPMAS/30.)
1642 IF (NFLAV.LT.6.OR.T.LE.TPMIN) THEN
1648 VT=MAX(-ONE,MIN(ONE,(2.*T-TPMAX-TPMIN)/(TPMAX-TPMIN)))
1658 TB(4)= (4.*WT- 3.)*VT
1660 TB(5)= (8.*WT- 8.)*WT+1.
1662 TB(6)=((16.*WT-20.)*WT+5.)*VT
1670 150 XQSUM=XQSUM+CEHLQ(IX,IT,NX,8,IP)*TX(IX)*TB(IT)
1672 TOP=XQSUM*XMWN**NEHLQ(8,IP)
1688 IF (IDHAD.EQ.73.OR.IDHAD.EQ.72) THEN
1698 ELSEIF (IDHAD.EQ.91) THEN
1708 ELSEIF (IDHAD.EQ.75) THEN
1718 ELSEIF (IDHAD.EQ.93) THEN
1728 ELSEIF (IDHAD.EQ.38) THEN
1738 ELSEIF (IDHAD.EQ.30) THEN
1750 PRINT *,' CALLED HWSFUN FOR IDHAD =',IDHAD
1752 CALL HWWARN('HWSFUN',400,*999)
1776 IF (DIST(I).LT.DMIN) DIST(I)=DMIN
1780 C---FOR REMNANT NUCLEONS SWITCH OFF VALENCE QUARKS,
1782 C WHILE MAINTAINING MOMENTUM SUM RULE
1784 IF (IDHAD.EQ.72) THEN
1798 IF (TOTAL.GT.DNV+UPV) THEN
1802 DIST(I)=DIST(I)*TOTAL/(TOTAL-DNV-UPV)
1814 *CMZ :- -26/04/91 11.11.56 by Bryan Webber
1816 *-- Author : Adapted by Bryan Webber
1818 C-----------------------------------------------------------------------
1820 FUNCTION HWSGAM(ZINPUT)
1822 C-----------------------------------------------------------------------
1824 C Gamma function computed by eq. 6.1.40, Abramowitz.
1826 C B(M) = B2m/(2m *(2m-1)) where B2m is the 2m'th Bernoulli number.
1828 C HLNTPI = .5*LOG(2.*PI)
1830 C-----------------------------------------------------------------------
1832 DOUBLE PRECISION HWSGAM,ZINPUT,B(10),HLNTPI,Z,SHIFT,G,T,RECZSQ
1838 1 0.83333333333333333333D-01, -0.27777777777777777778D-02,
1840 1 0.79365079365079365079D-03, -0.59523809523809523810D-03,
1842 1 0.84175084175084175084D-03, -0.19175269175269175269D-02,
1844 1 0.64102564102564102564D-02, -0.29550653594771241830D-01,
1846 1 0.17964437236883057316D0 , -1.3924322169059011164D0 /
1848 DATA HLNTPI/0.91893853320467274178D0/
1852 C Shift argument to large value ( > 20 )
1860 10 IF (Z.LT.20.D0) THEN
1872 C Compute asymptotic formula
1876 G = (Z-.5D0)*LOG(Z) - Z + HLNTPI
1890 HWSGAM = EXP(G)/SHIFT