PROGRAM MAKETABLE C C This is an interface to the GRV92 parton distribution C routines that produces a table in the standard form. C D. E. Soper and P. Anandam. 17 June 1996. C DOUBLE PRECISION LAMBDA DOUBLE PRECISION X,LX,LXMIN,LXMAX,DELTALX DOUBLE PRECISION MU,LMU,LMUMIN,LMUMAX,DELTALMU DOUBLE PRECISION Q2, UDV, DV, GL, UDB, SB, CB, BB DOUBLE PRECISION DBAR, UBAR, GLUON, U, D, S, C, B, T C CHARACTER*100 FILENAME CHARACTER*100 HEADER DOUBLE PRECISION LAMBDA INTEGER LAMBDAFLAVORS DOUBLE PRECISION XMIN,XMAX INTEGER NX DOUBLE PRECISION MUMIN,MUMAX INTEGER NMU C C Loop variables C INTEGER N,M C LAMBDA = 0.131 XMIN = 0.1000000000D-04 XMAX = 0.9500000000 NX = 32 MUMIN = DSQRT(0.4D0) MUMAX = DSQRT(1D8) NMU = 32 C FILENAME='grv92.ptn' OPEN(UNIT = 99, FILE = FILENAME, STATUS = 'NEW') HEADER = $'! GRV 92 HO distribution generated by DES and PA 16 May 1996' WRITE(99,*)HEADER WRITE(99,*)'!' WRITE(99,*)'PARTON DATA' WRITE(99,*)' VERSION = 110496' WRITE(99,103)LAMBDA 103 FORMAT(' LAMBDA',' = ',G20.10) LAMBDAFLAVORS = 5 WRITE(99,104)LAMBDAFLAVORS 104 FORMAT('NFL_LAMBDA',' = ',I10) WRITE(99,105)XMIN 105 FORMAT(' XMIN',' = ',G20.10) WRITE(99,106)XMAX 106 FORMAT(' XMAX',' = ',G20.10) WRITE(99,107)NX 107 FORMAT(' N_XPOINTS',' = ',I10) WRITE(99,108)MUMIN 108 FORMAT(' MUMIN',' = ',G20.10) WRITE(99,109)MUMAX 109 FORMAT(' MUMAX',' = ',G20.10) WRITE(99,110)NMU 110 FORMAT('N_MUPOINTS',' = ',I10) C C C Calculate lattice info. C LXMIN = DLOG(XMIN/(1.0D0 - XMIN)) LXMAX = DLOG(XMAX/(1.0D0 - XMAX)) DELTALX = (LXMAX - LXMIN)/(NX-1) LMUMIN = DLOG(MUMIN) LMUMAX = DLOG(MUMAX) DELTALMU = (LMUMAX - LMUMIN)/(NMU-1) C LX = LXMIN - DELTALX DO 20 N=1,NX LX = LX + DELTALX X = DEXP(LX)/(1.0D0+DEXP(LX)) LMU = LMUMIN - DELTALMU DO 20 M=1,NMU LMU = LMU + DELTALMU MU = DEXP(LMU) C Q2 = MU**2 CALL GRVHO (X, Q2, UDV, DV, GL, UDB, SB, CB, BB) DBAR = DLOG(1.0D-16 + UDB/X ) UBAR = DLOG(1.0D-16 + UDB/X) GLUON = DLOG(1.0D-16 + GL/X) U = DLOG(1.0D-16 + ((UDV-DV)+UDB)/X) D = DLOG(1.0D-16 + (DV+UDB)/X) S = DLOG(1.0D-16 + SB/X) C = DLOG(1.0D-16 + CB/X) B = DLOG(1.0D-16 + BB/X) T = DLOG(1.0D-16 + 0.0) WRITE(99,50) DBAR,UBAR,GLUON,U,D,S,C,B,T 50 FORMAT(9G12.5) C 20 CONTINUE C STOP END C C C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * G R V - P R O T O N - P A R A M E T R I Z A T I O N S * * * * FOR A DETAILED EXPLANATION SEE : * * M. GLUECK, E.REYA, A.VOGT: DO-TH 91/07 * * * * THE PARAMETRIZATIONS ARE FITTED TO THE PARTON DISTRIBUTIONS * * FOR Q ** 2 BETWEEN MU ** 2 (= 0.25 / 0.30 GEV ** 2 IN LO * * / HO) AND 1.E8 GEV ** 2 AND FOR X BETWEEN 1.E-5 AND 1. * * REGIONS, WHERE THE DISTRIBUTION UNDER CONSIDERATION IS NEG- * * LIGIBLE, I.E. BELOW ABOUT 1.E-4, WERE EXCLUDED FROM THE FIT. * * * * HEAVY QUARK THRESHOLDS Q(H) = M(H) : * * M(C) = 1.5, M(B) = 4.5, M(T) = 100 GEV * * * * CORRESPONDING LAMBDA(F) VALUES FOR F ACTIVE FLAVOURS : * * LO : LAMBDA(3) = 0.232, LAMBDA(4) = 0.200, * * LAMBDA(5) = 0.153, LAMBDA(6) = 0.082 GEV * * HO : LAMBDA(3) = 0.248, LAMBDA(4) = 0.200, * * LAMBDA(5) = 0.131, LAMBDA(6) = 0.053 GEV * * * * HO DISTRIBUTION REFER TO THE MS-BAR SCHEME OF BARDEEN ET AL. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C C SUBROUTINE GRVLO (X, Q2, UDV, DV, GL, UDB, SB, CB, BB) IMPLICIT DOUBLE PRECISION (A - Z) MU2 = 0.25 LAM2 = 0.232 * 0.232 S = DLOG (DLOG(Q2/LAM2) / DLOG(MU2/LAM2)) S2 = S * S S3 = S2 * S C...X * (UV + DV) : NUD = 0.663 + 0.191 * S - 0.041 * S2 + 0.031 * S3 AKUD = 0.326 AGUD = -1.97 + 6.74 * S - 1.96 * S2 BUD = 24.4 - 20.7 * S + 4.08 * S2 DUD = 2.86 + 0.70 * S - 0.02 * S2 UDV = FV (X, NUD, AKUD, AGUD, BUD, DUD) C...X * DV : ND = 0.579 + 0.283 * S + 0.047 * S2 AKD = 0.523 - 0.015 * S AGD = 2.22 - 0.59 * S - 0.27 * S2 BD = 5.95 - 6.19 * S + 1.55 * S2 DD = 3.57 + 0.94 * S - 0.16 * S2 DV = FV (X, ND, AKD, AGD, BD, DD) C...X * G : ALG = 0.558 BEG = 1.218 AKG = 1.00 - 0.17 * S BKG = 0.0 AGG = 0.0 + 4.879 * S - 1.383 * S2 BGG = 25.92 - 28.97 * S + 5.596 * S2 CG = -25.69 + 23.68 * S - 1.975 * S2 DG = 2.537 + 1.718 * S + 0.353 * S2 EG = 0.595 + 2.138 * S ESG = 4.066 GL = FW (X, S, ALG, BEG, AKG, BKG, AGG, BGG, CG, DG, EG, ESG) C...X * UBAR = X * DBAR : ALU = 1.396 BEU = 1.331 AKU = 0.412 - 0.171 * S BKU = 0.566 - 0.496 * S AGU = 0.363 BGU = -1.196 CU = 1.029 + 1.785 * S - 0.459 * S2 DU = 4.696 + 2.109 * S EU = 3.838 + 1.944 * S ESU = 2.845 UDB = FW (X, S, ALU, BEU, AKU, BKU, AGU, BGU, CU, DU, EU, ESU) C...X * SBAR = X * S : SS = 0.0 ALS = 0.803 BES = 0.563 AKS = 2.082 - 0.577 * S AGS = -3.055 + 1.024 * S ** 0.67 BS = 27.4 - 20.0 * S ** 0.154 DS = 6.22 EST = 4.33 + 1.408 * S ESS = 8.27 - 0.437 * S SB = FWS (X, S, SS, ALS, BES, AKS, AGS, BS, DS, EST, ESS) C...X * CBAR = X * C : SC = 0.888 ALC = 1.01 BEC = 0.37 AKC = 0.0 AGC = 0.0 BC = 4.24 - 0.804 * S DC = 3.46 + 1.076 * S EC = 4.61 + 1.490 * S ESC = 2.555 + 1.961 * S CB = FWS (X, S, SC, ALC, BEC, AKC, AGC, BC, DC, EC, ESC) C...X * BBAR = X * B : SBO = 1.351 ALB = 1.00 BEB = 0.51 AKB = 0.0 AGB = 0.0 BBO = 1.848 DB = 2.929 + 1.396 * S EB = 4.71 + 1.514 * S ESB = 4.02 + 1.239 * S BB = FWS (X, S, SBO, ALB, BEB, AKB, AGB, BBO, DB, EB, ESB) RETURN END C SUBROUTINE GRVHO (X, Q2, UDV, DV, GL, UDB, SB, CB, BB) IMPLICIT DOUBLE PRECISION (A - Z) MU2 = 0.3 LAM2 = 0.248 * 0.248 S = DLOG (DLOG(Q2/LAM2) / DLOG(MU2/LAM2)) DS = DSQRT (S) S2 = S * S S3 = S2 * S C...X * (UV + DV) : NUD = 0.330 + 0.151 * S - 0.059 * S2 + 0.027 * S3 AKUD = 0.285 AGUD = -2.28 + 15.73 * S - 4.58 * S2 BUD = 56.7 - 53.6 * S + 11.21 * S2 DUD = 3.17 + 1.17 * S - 0.47 * S2 + 0.09 * S3 UDV = FV (X, NUD, AKUD, AGUD, BUD, DUD) C...X * DV : ND = 0.459 + 0.315 * DS + 0.515 * S AKD = 0.624 - 0.031 * S AGD = 8.13 - 6.77 * DS + 0.46 * S BD = 6.59 - 12.83 * DS + 5.65 * S DD = 3.98 + 1.04 * S - 0.34 * S2 DV = FV (X, ND, AKD, AGD, BD, DD) C...X * G : ALG = 1.128 BEG = 1.575 AKG = 0.323 + 1.653 * S BKG = 0.811 + 2.044 * S AGG = 0.0 + 1.963 * S - 0.519 * S2 BGG = 0.078 + 6.24 * S CG = 30.77 - 24.19 * S DG = 3.188 + 0.720 * S EG = -0.881 + 2.687 * S ESG = 2.466 GL = FW (X, S, ALG, BEG, AKG, BKG, AGG, BGG, CG, DG, EG, ESG) C...X * UBAR = X * DBAR : ALU = 0.594 BEU = 0.614 AKU = 0.636 - 0.084 * S BKU = 0.0 AGU = 1.121 - 0.193 * S BGU = 0.751 - 0.785 * S CU = 8.57 - 1.763 * S DU = 10.22 + 0.668 * S EU = 3.784 + 1.280 * S ESU = 1.808 + 0.980 * S UDB = FW (X, S, ALU, BEU, AKU, BKU, AGU, BGU, CU, DU, EU, ESU) C...X * SBAR = X * S : SS = 0.0 ALS = 0.756 BES = 0.101 AKS = 2.942 - 1.016 * S AGS = -4.60 + 1.167 * S BS = 9.31 - 1.324 * S DS = 11.49 - 1.198 * S + 0.053 * S2 EST = 2.630 + 1.729 * S ESS = 8.12 SB = FWS (X, S, SS, ALS, BES, AKS, AGS, BS, DS, EST, ESS) C...X * CBAR = X * C : SC = 0.820 ALC = 0.98 BEC = 0.0 AKC = -0.625 - 0.523 * S AGC = 0.0 BC = 1.896 + 1.616 * S DC = 4.12 + 0.683 * S EC = 4.36 + 1.328 * S ESC = 0.677 + 0.679 * S CB = FWS (X, S, SC, ALC, BEC, AKC, AGC, BC, DC, EC, ESC) C...X * BBAR = X * B : SBO = 1.297 ALB = 0.99 BEB = 0.0 AKB = 0.0 - 0.193 * S AGB = 0.0 BBO = 0.0 DB = 3.447 + 0.927 * S EB = 4.68 + 1.259 * S ESB = 1.892 + 2.199 * S BB = FWS (X, S, SBO, ALB, BEB, AKB, AGB, BBO, DB, EB, ESB) RETURN END C FUNCTION FV (X, N, AK, AG, B, D) IMPLICIT DOUBLE PRECISION (A - Z) DX = DSQRT (X) FV = N * X**AK * (1.+ AG*DX + B*X) * (1.- X)**D RETURN END C FUNCTION FW (X, S, AL, BE, AK, BK, AG, BG, C, D, E, ES) IMPLICIT DOUBLE PRECISION (A - Z) LX = DLOG (1./X) FW = (X**AK * (AG + X * (BG + X*C)) * LX**BK + S**AL 1 * DEXP (-E + DSQRT (ES * S**BE * LX))) * (1.- X)**D RETURN END C FUNCTION FWS (X, S, ST, AL, BE, AK, AG, B, D, E, ES) IMPLICIT DOUBLE PRECISION (A - Z) DX = DSQRT (X) LX = DLOG (1./X) IF (S .LE. ST) THEN FWS = 0.0 ELSE FWS = (S-ST)**AL / LX**AK * (1.+ AG*DX + B*X) * (1.- X)**D 1 * DEXP (-E + DSQRT (ES * S**BE * LX)) END IF RETURN END