3 C*********************************************************************
5 SUBROUTINE PYSTFE_HIJING(KF,X,Q2,XPQ)
7 C...This is a dummy routine, where the user can introduce an interface
8 C...to his own external structure function parametrization.
10 C...KF : 2212 for p, 211 for pi+; isospin conjugation for n and charge
11 C... conjugation for pbar, nbar or pi- is performed by PYSTFU.
15 C...XPQ(-6:6) : x * f(x,Q2), with index according to KF code,
16 C... except that gluon is placed in 0. Thus XPQ(0) = xg,
17 C... XPQ(1) = xd, XPQ(-1) = xdbar, XPQ(2) = xu, XPQ(-2) = xubar,
18 C... XPQ(3) = xs, XPQ(-3) = xsbar, XPQ(4) = xc, XPQ(-4) = xcbar,
19 C... XPQ(5) = xb, XPQ(-5) = xbbar, XPQ(6) = xt, XPQ(-6) = xtbar.
21 C...One such interface, to the Diemos, Ferroni, Longo, Martinelli
22 C...proton structure functions, already comes with the package. What
23 C...the user needs here is external files with the three routines
24 C...FXG160, FXG260 and FXG360 of the authors above, plus the
25 C...interpolation routine FINT, which is part of the CERN library
26 C...KERNLIB package. To avoid problems with unresolved external
27 C...references, the external calls are commented in the current
28 C...version. To enable this option, remove the C* at the beginning
29 C...of the relevant lines.
31 C...Alternatively, the routine can be used as an interface to the
32 C...structure function evolution program of Tung. This can be achieved
33 C...by removing C* at the beginning of some of the lines below.
34 #include "ludat1_hijing.inc"
35 #include "ludat2_hijing.inc"
36 #include "pypars_hijing.inc"
37 DIMENSION XPQ(-6:6),XFDFLM(9)
38 CHARACTER CHDFLM(9)*5,HEADER*40
39 DATA CHDFLM/'UPVAL','DOVAL','GLUON','QBAR ','UBAR ','SBAR ',
40 &'CBAR ','BBAR ','TBAR '/
41 DATA HEADER/'Tung evolution package has been invoked'/
44 C...Proton structure functions from Diemoz, Ferroni, Longo, Martinelli.
45 C...Allowed variable range 10 GeV2 < Q2 < 1E8 GeV2, 5E-5 < x < .95.
46 IF(MSTP(51).GE.11.AND.MSTP(51).LE.13.AND.MSTP(52).LE.1) THEN
48 Q2DFLM=MAX(10.,MIN(1E8,Q2))
49 IF(MSTP(52).EQ.0) Q2DFLM=10.
51 IF(MSTP(52).EQ.1.AND.J.EQ.9) THEN
52 Q2DFLM=Q2DFLM*(40./PMAS(6,1))**2
53 Q2DFLM=MAX(10.,MIN(1E8,Q2))
56 C...Remove C* on following three lines to enable the DFLM options.
57 C* IF(MSTP(51).EQ.11) CALL FXG160(XDFLM,Q2DFLM,CHDFLM(J),XFDFLM(J))
58 C* IF(MSTP(51).EQ.12) CALL FXG260(XDFLM,Q2DFLM,CHDFLM(J),XFDFLM(J))
59 C* IF(MSTP(51).EQ.13) CALL FXG360(XDFLM,Q2DFLM,CHDFLM(J),XFDFLM(J))
61 IF(X.LT.0.51E-4.AND.ABS(PARP(51)-1.).GT.0.01) THEN
62 CXS=(0.51E-4/X)**(PARP(51)-1.)
64 110 XFDFLM(J)=XFDFLM(J)*CXS
67 XPQ(1)=XFDFLM(2)+XFDFLM(5)
68 XPQ(2)=XFDFLM(1)+XFDFLM(5)
80 C...Proton structure function evolution from Wu-Ki Tung: parton
81 C...distribution functions incorporating heavy quark mass effects.
82 C...Allowed variable range: PARP(52) < Q < PARP(53); PARP(54) < x < 1.
86 IF(MSTP(52).EQ.4) I1=1
90 IF(MSTP(51).GE.11) I2=MSTP(51)-3
92 IF(MSTP(52).EQ.3) I3=1
94 C...Convert to Lambda in CWZ scheme (approximately linear relation).
101 C...Initialize evolution (perform calculation or read results from
103 C...Remove C* on following two lines to enable Tung initialization.
104 C* CALL PDFSET(I1,IHDRN,ALAM,TPMS,QINI,QMAX,XMIN,NU,HEADER,
109 C...Put into output array.
113 C...Remove C* on following line to enable structure function call.
114 C* FIXQ=MAX(0.,PDF(10,1,I,X,Q,IR))
117 C...Change order of u and d quarks from Tung to PYTHIA convention.