]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HERWIG/src/hwsdgq.f
use TMath::Abs() instead of ambiguous abs().
[u/mrichter/AliRoot.git] / HERWIG / src / hwsdgq.f
1
2 CDECK  ID>, HWSDGQ.
3
4 *CMZ :-        -26/04/91  13.04.45  by  Federico Carminati
5
6 *-- Author :    Drees, Grassie, Charchula, modified by Bryan Webber
7
8 C --------------------------------------
9
10 C  QUARK PART OF THE PHOTON SF
11
12 C --------------------------------------
13
14       FUNCTION HWSDGQ(X,Q2,NFL,NCH)
15
16       IMPLICIT REAL (A-H,P-Z)
17
18       INTEGER NFL,NCH
19
20       DIMENSION A(5,4,2,3),AT(5,2),XQPOM(2),E(2)
21
22       COMMON/DG/F2
23
24 C SQUARE OF LAMBDA=0.4 GEV
25
26       ALAM2=0.160
27
28       T=LOG(Q2/ALAM2)
29
30 C
31
32 C  CHECK WHETHER NFL AND NCH HAVE RIGHT VALUES
33
34 C
35
36       IF(.NOT.((NFL.EQ.3).OR.(NFL.EQ.4).OR.(NFL.EQ.5))) THEN
37
38  110   WRITE(6,111)
39
40  111   FORMAT('NUMBER OF FLAVOURS (NFL) HAS NOT BEEN SET TO: 3,4 OR 5'/
41
42      *'          NFL=3 IS ASSUMED')
43
44        NFL=3
45
46       ELSEIF (T.LE.0) THEN
47
48        WRITE(6,132)
49
50  132   FORMAT(' HWSDGQ CALLED WITH SCALE < LAMBDA. RETURNING ZERO.')
51
52        HWSDGQ=0
53
54        RETURN
55
56       ENDIF
57
58       IF (.NOT.((NCH.EQ.1).OR.(NCH.EQ.2))) THEN
59
60  120     WRITE(6,121)
61
62  121     FORMAT(' QUARK CHARGE NUMBER (NCH) HAS NOT BEEN SET',
63
64      *'           TO 1 OR 2;'/
65
66      *'           NCH=1 IS ASSUMED')
67
68          NCH=1
69
70       ENDIF
71
72 C ------ INITIALIZATION ------
73
74       DATA(((A(I,J,K,1),I=1,5),J=1,4),K=1,2)/
75
76      + 2.28500,  6.07300, -0.42020,-0.08080, 0.05530,
77
78      +-0.01530, -0.81320,  0.01780, 0.63460, 1.13600,
79
80      + 1.3300E3,-41.3100,   0.92160, 1.20800, 0.95120,
81
82      + 4.21900,  3.16500,  0.18000, 0.20300, 0.01160,
83
84      +16.6900,   0.17600, -0.02080,-0.01680,-0.19860,
85
86      +-0.79160,  0.04790,  0.3386E-2,1.35300, 1.10000,
87
88      + 1.0990E3,  1.04700,  4.85300, 1.42600, 1.13600,
89
90      + 4.42800,  0.02500,  0.84040, 1.23900,-0.27790/
91
92         DATA(((A(I,J,K,2),I=1,5),J=1,4),K=1,2)/
93
94      +-0.37110,-0.17170, 0.087660,-0.89150,-0.18160,
95
96      + 1.06100, 0.78150, 0.021970, 0.28570, 0.58660,
97
98      + 4.75800, 1.53500, 0.109600, 2.97300, 2.42100,
99
100      +-0.01500, 0.7067E-2,0.204000, 0.11850, 0.40590,
101
102      +-0.12070,25.00000,-0.012300,-0.09190, 0.020150,
103
104      + 1.07100,-1.64800, 1.162000, 0.79120, 0.98690,
105
106      + 1.97700,-0.015630,0.482400, 0.63970,-0.070360,
107
108      +-0.8625E-2,6.43800,-0.011000, 2.32700, 0.016940/
109
110         DATA(((A(I,J,K,3),I=1,5),J=1,4),K=1,2)/
111
112      +15.80,     2.7420,  0.029170,-0.03420, -0.023020,
113
114      +-0.94640, -0.73320, 0.046570, 0.71960,  0.92290,
115
116      +-0.50,     0.71480, 0.17850,  0.73380,  0.58730,
117
118      +-0.21180,  3.2870,  0.048110, 0.081390,-0.79E-4,
119
120      + 6.7340,  59.880,  -0.3226E-2,-0.03321,   0.10590,
121
122      +-1.0080,  -2.9830,  0.84320,  0.94750,  0.69540,
123
124      +-0.085940, 4.480,   0.36160, -0.31980, -0.66630,
125
126      + 0.076250, 0.96860, 0.1383E-2, 0.021320, 0.36830/
127
128       CF=10.0
129
130 C ------- EVALUATION OF PARAMETERS IN Q2 ---------
131
132       E(1)=1.0
133
134       IF (NFL.EQ.3) THEN
135
136         E(2)=9.0
137
138         LF=1
139
140       ELSEIF (NFL.EQ.4) THEN
141
142         E(2)=10.0
143
144         LF=2
145
146       ELSEIF (NFL.EQ.5) THEN
147
148         E(2)=55.0/6.0
149
150         LF=3
151
152       ENDIF
153
154       DO 10 J=1,2
155
156         DO 20 I=1,5
157
158            ATP=A(I,1,J,LF)*T**A(I,2,J,LF)
159
160            AT(I,J)=ATP+A(I,3,J,LF)*T**(-A(I,4,J,LF))
161
162  20     CONTINUE
163
164  10   CONTINUE
165
166       DO 30 J=1,2
167
168        POM1=X*(X*X+(1.0-X)**2)/(AT(1,J)-AT(2,J)*ALOG(1.0-X))
169
170        POM2=AT(3,J)*X**AT(4,J)*(1.0-X)**AT(5,J)
171
172        XQPOM(J)=E(J)*POM1+POM2
173
174  30   CONTINUE
175
176 C -------  QUARK DISTRIBUTIONS ----------
177
178       IF (NFL.EQ.3) THEN
179
180          IF (NCH.EQ.2) THEN
181
182            HWSDGQ=1.0/6.0*(XQPOM(2)+9.0*XQPOM(1))
183
184          ELSEIF(NCH.EQ.1) THEN
185
186            HWSDGQ=1.0/6.0*(XQPOM(2)-9.0/2.0*XQPOM(1))
187
188          ENDIF
189
190         F2=2.0/9.0*XQPOM(2)+XQPOM(1)
191
192       ELSEIF (NFL.EQ.4) THEN
193
194          IF (NCH.EQ.2) THEN
195
196            HWSDGQ=1.0/8.0*(XQPOM(2)+6.0*XQPOM(1))
197
198          ELSEIF(NCH.EQ.1) THEN
199
200            HWSDGQ=1.0/8.0*(XQPOM(2)-6.0*XQPOM(1))
201
202          ENDIF
203
204         F2=5.0/18.0*XQPOM(2)+XQPOM(1)
205
206       ELSEIF (NFL.EQ.5) THEN
207
208          IF (NCH.EQ.2) THEN
209
210            HWSDGQ=1.0/10.0*(XQPOM(2)+15.0/2.0*XQPOM(1))
211
212          ELSEIF(NCH.EQ.1) THEN
213
214            HWSDGQ=1.0/10.0*(XQPOM(2)-5.0*XQPOM(1))
215
216          ENDIF
217
218         F2=11.0/45.0*XQPOM(2)+XQPOM(1)
219
220       ENDIF
221
222       HWSDGQ=HWSDGQ/137.
223
224       RETURN
225
226       END