]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA/pythia/pystpi.F
Corrections needed when AliH2F was moved to CONTAINERS
[u/mrichter/AliRoot.git] / PYTHIA / pythia / pystpi.F
1  
2 C*********************************************************************
3  
4       SUBROUTINE PYSTPI(X,Q2,XPPI)
5  
6 C...Gives pi+ structure function according to two different
7 C...parametrizations.
8       COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
9       COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
10       COMMON/PYINT1/MINT(400),VINT(400)
11       SAVE /LUDAT1/
12       SAVE /PYPARS/,/PYINT1/
13       DIMENSION XPPI(-6:6),COW(3,5,4,2),XQ(9),TS(6)
14  
15 C...The following data lines are coefficients needed in the
16 C...Owens pion structure function parametrizations, see below.
17 C...Expansion coefficients for up and down valence quark distributions.
18       DATA ((COW(IP,IS,1,1),IS=1,5),IP=1,3)/
19      1  4.0000E-01,  7.0000E-01,  0.0000E+00,  0.0000E+00,  0.0000E+00,
20      2 -6.2120E-02,  6.4780E-01,  0.0000E+00,  0.0000E+00,  0.0000E+00,
21      3 -7.1090E-03,  1.3350E-02,  0.0000E+00,  0.0000E+00,  0.0000E+00/
22       DATA ((COW(IP,IS,1,2),IS=1,5),IP=1,3)/
23      1  4.0000E-01,  6.2800E-01,  0.0000E+00,  0.0000E+00,  0.0000E+00,
24      2 -5.9090E-02,  6.4360E-01,  0.0000E+00,  0.0000E+00,  0.0000E+00,
25      3 -6.5240E-03,  1.4510E-02,  0.0000E+00,  0.0000E+00,  0.0000E+00/
26 C...Expansion coefficients for gluon distribution.
27       DATA ((COW(IP,IS,2,1),IS=1,5),IP=1,3)/
28      1  8.8800E-01,  0.0000E+00,  3.1100E+00,  6.0000E+00,  0.0000E+00,
29      2 -1.8020E+00, -1.5760E+00, -1.3170E-01,  2.8010E+00, -1.7280E+01,
30      3  1.8120E+00,  1.2000E+00,  5.0680E-01, -1.2160E+01,  2.0490E+01/
31       DATA ((COW(IP,IS,2,2),IS=1,5),IP=1,3)/
32      1  7.9400E-01,  0.0000E+00,  2.8900E+00,  6.0000E+00,  0.0000E+00,
33      2 -9.1440E-01, -1.2370E+00,  5.9660E-01, -3.6710E+00, -8.1910E+00,
34      3  5.9660E-01,  6.5820E-01, -2.5500E-01, -2.3040E+00,  7.7580E+00/
35 C...Expansion coefficients for (up+down+strange) quark sea distribution.
36       DATA ((COW(IP,IS,3,1),IS=1,5),IP=1,3)/
37      1  9.0000E-01,  0.0000E+00,  5.0000E+00,  0.0000E+00,  0.0000E+00,
38      2 -2.4280E-01, -2.1200E-01,  8.6730E-01,  1.2660E+00,  2.3820E+00,
39      3  1.3860E-01,  3.6710E-03,  4.7470E-02, -2.2150E+00,  3.4820E-01/
40       DATA ((COW(IP,IS,3,2),IS=1,5),IP=1,3)/
41      1  9.0000E-01,  0.0000E+00,  5.0000E+00,  0.0000E+00,  0.0000E+00,
42      2 -1.4170E-01, -1.6970E-01, -2.4740E+00, -2.5340E+00,  5.6210E-01,
43      3 -1.7400E-01, -9.6230E-02,  1.5750E+00,  1.3780E+00, -2.7010E-01/
44 C...Expansion coefficients for charm quark sea distribution.
45       DATA ((COW(IP,IS,4,1),IS=1,5),IP=1,3)/
46      1  0.0000E+00, -2.2120E-02,  2.8940E+00,  0.0000E+00,  0.0000E+00,
47      2  7.9280E-02, -3.7850E-01,  9.4330E+00,  5.2480E+00,  8.3880E+00,
48      3 -6.1340E-02, -1.0880E-01, -1.0852E+01, -7.1870E+00, -1.1610E+01/
49       DATA ((COW(IP,IS,4,2),IS=1,5),IP=1,3)/
50      1  0.0000E+00, -8.8200E-02,  1.9240E+00,  0.0000E+00,  0.0000E+00,
51      2  6.2290E-02, -2.8920E-01,  2.4240E-01, -4.4630E+00, -8.3670E-01,
52      3 -4.0990E-02, -1.0820E-01,  2.0360E+00,  5.2090E+00, -4.8400E-02/
53  
54 C...Euler's beta function, requires ordinary Gamma function
55       EULBET(X,Y)=PYGAMM(X)*PYGAMM(Y)/PYGAMM(X+Y)
56  
57 C...Reset output array.
58       DO 100 KFL=-6,6
59       XPPI(KFL)=0.
60   100 CONTINUE
61  
62       IF(MSTP(53).LE.2) THEN
63 C...Pion structure functions from Owens.
64 C...Allowed variable range: 4 GeV^2 < Q^2 < approx 2000 GeV^2.
65  
66 C...Determine set, Lambda and s expansion variable.
67         NSET=MSTP(53)
68         IF(NSET.EQ.1) ALAM=0.2
69         IF(NSET.EQ.2) ALAM=0.4
70         VINT(231)=4.
71         IF(MSTP(57).LE.0) THEN
72           SD=0.
73         ELSE
74           Q2IN=MIN(2E3,MAX(4.,Q2))
75           SD=LOG(LOG(Q2IN/ALAM**2)/LOG(4./ALAM**2))
76         ENDIF
77  
78 C...Calculate structure functions.
79         DO 120 KFL=1,4
80         DO 110 IS=1,5
81         TS(IS)=COW(1,IS,KFL,NSET)+COW(2,IS,KFL,NSET)*SD+
82      &  COW(3,IS,KFL,NSET)*SD**2
83   110   CONTINUE
84         IF(KFL.EQ.1) THEN
85           XQ(KFL)=X**TS(1)*(1.-X)**TS(2)/EULBET(TS(1),TS(2)+1.)
86         ELSE
87           XQ(KFL)=TS(1)*X**TS(2)*(1.-X)**TS(3)*(1.+TS(4)*X+TS(5)*X**2)
88         ENDIF
89   120   CONTINUE
90  
91 C...Put into output array.
92         XPPI(0)=XQ(2)
93         XPPI(1)=XQ(3)/6.
94         XPPI(2)=XQ(1)+XQ(3)/6.
95         XPPI(3)=XQ(3)/6.
96         XPPI(4)=XQ(4)
97         XPPI(-1)=XQ(1)+XQ(3)/6.
98         XPPI(-2)=XQ(3)/6.
99         XPPI(-3)=XQ(3)/6.
100         XPPI(-4)=XQ(4)
101  
102 C...Leading order pion structure functions from Gluck, Reya and Vogt.
103 C...Allowed variable range: 0.25 GeV^2 < Q^2 < 10^8 GeV^2 and
104 C...10^-5 < x < 1.
105       ELSE
106  
107 C...Determine s expansion variable and some x expressions.
108         VINT(231)=0.25
109         IF(MSTP(57).LE.0) THEN
110           SD=0.
111         ELSE
112           Q2IN=MIN(1E8,MAX(0.25,Q2))
113           SD=LOG(LOG(Q2IN/0.232**2)/LOG(0.25/0.232**2))
114         ENDIF
115         SD2=SD**2
116         XL=-LOG(X)
117         XS=SQRT(X)
118  
119 C...Evaluate valence, gluon and sea distributions.
120         XFVAL=(0.519+0.180*SD-0.011*SD2)*X**(0.499-0.027*SD)*
121      &  (1.+(0.381-0.419*SD)*XS)*(1.-X)**(0.367+0.563*SD)
122         XFGLU=(X**(0.482+0.341*SQRT(SD))*((0.678+0.877*SD-0.175*SD2)+
123      &  (0.338-1.597*SD)*XS+(-0.233*SD+0.406*SD2)*X)+
124      &  SD**0.599*EXP(-(0.618+2.070*SD)+SQRT(3.676*SD**1.263*XL)))*
125      &  (1.-X)**(0.390+1.053*SD)
126         XFSEA=SD**0.55*(1.-0.748*XS+(0.313+0.935*SD)*X)*(1.-X)**3.359*
127      &  EXP(-(4.433+1.301*SD)+SQRT((9.30-0.887*SD)*SD**0.56*XL))/
128      &  XL**(2.538-0.763*SD)
129         IF(SD.LE.0.888) THEN
130           XFCHM=0.
131         ELSE
132           XFCHM=(SD-0.888)**1.02*(1.+1.008*X)*(1.-X)**(1.208+0.771*SD)*
133      &    EXP(-(4.40+1.493*SD)+SQRT((2.032+1.901*SD)*SD**0.39*XL))
134         ENDIF
135         IF(SD.LE.1.351) THEN
136           XFBOT=0.
137         ELSE
138           XFBOT=(SD-1.351)**1.03*(1.-X)**(0.697+0.855*SD)*
139      &    EXP(-(4.51+1.490*SD)+SQRT((3.056+1.694*SD)*SD**0.39*XL))
140         ENDIF
141  
142 C...Put into output array.
143         XPPI(0)=XFGLU
144         XPPI(1)=XFSEA
145         XPPI(2)=XFSEA
146         XPPI(3)=XFSEA
147         XPPI(4)=XFCHM
148         XPPI(5)=XFBOT
149         DO 130 KFL=1,5
150         XPPI(-KFL)=XPPI(KFL)
151   130   CONTINUE
152         XPPI(2)=XPPI(2)+XFVAL
153         XPPI(-1)=XPPI(-1)+XFVAL
154       ENDIF
155  
156       RETURN
157       END