~maddevelopers/mg5amcnlo/new_clustering

« back to all changes in this revision

Viewing changes to Template/LO/SubProcesses/finiteterms.f

  • Committer: Rikkert Frederix
  • Date: 2021-09-09 15:51:40 UTC
  • mfrom: (78.75.502 3.2.1)
  • Revision ID: frederix@physik.uzh.ch-20210909155140-rg6umfq68h6h47cf
merge with 3.2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2
 
c FINITE PART OF THE INTEGRATE DIPOLES
3
 
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
4
 
c Returns fi(8):
5
 
c fi(1), regular piece at z!=1
6
 
c fi(2), delta piece at z=1
7
 
c fi(3), plus distribution at z!=1
8
 
c fi(4), plus distribution at z=1
9
 
c fi(5), mass correction to plus distribution at z!=1
10
 
c fi(6), mass correction to plus distribution at z=1
11
 
c fi(7), delta piece at z=1-4m^2/s
12
 
c fi(8), plus distribution at z!=1-4m^2/s
13
 
c fi(9), plus distribution at z=1-4m^2/s
14
 
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
15
 
 
16
 
 
17
 
      SUBROUTINE finiteff(mi,mk,sik,id,id1,fi)
18
 
c  calculates the finite terms when both emitter
19
 
c  and spectator are in the final state
20
 
      implicit none
21
 
 
22
 
      include "coupl.inc"
23
 
      include 'dipole.inc'
24
 
c Arguments
25
 
      REAL*8 mi,mk,sik,fi(9)
26
 
      INTEGER id,id1,i
27
 
c Global
28
 
      REAL*8 ddilog,lambda_tr
29
 
      external ddilog,lambda_tr
30
 
c Local
31
 
      REAl*8 cf,ca,rhoi,rhok,rho,musq_i,musq_k,gsq,pi
32
 
      REAL*8 xp,yp,vik,muk,rho1,rho2,L,yl,rs,Qik2,a,b,c,d,xm,x,mui
33
 
      PARAMETER (cf=4d0/3d0,ca=3d0)
34
 
      PARAMETER (pi=3.1415926535897932385d0)
35
 
      complex*16 test
36
 
 
37
 
      do i=1,9
38
 
         fi(i)=0d0
39
 
      enddo
40
 
 
41
 
c For the massive cases, sik is the Qik^2 from CDST and vice versa.
42
 
 
43
 
      musq_i=mi**2/sik
44
 
      musq_k=mk**2/sik
45
 
      muk=Sqrt(musq_k)
46
 
      mui=Sqrt(musq_i)
47
 
      Qik2=sik-mi**2-mk**2
48
 
      gsq=GG(1)**2
49
 
      L=DLog(mu**2/sik)
50
 
 
51
 
C  ij~ massive and massive spectator
52
 
      if(mi.gt.0d0 .and. mk .gt. 0d0.and.id.eq.1) then
53
 
         rs=0d0
54
 
         vik=Sqrt(lambda_tr(1d0,musq_i,musq_k))/(1d0-musq_i-musq_k)
55
 
         rhoi=Sqrt((1d0-vik+2d0*musq_i/(1d0-musq_i-musq_k))/
56
 
     &        (1d0+vik+2d0*musq_i/(1d0-musq_i-musq_k)))
57
 
         rhok=Sqrt((1d0-vik+2d0*musq_k/(1d0-musq_i-musq_k))/
58
 
     &        (1d0+vik+2d0*musq_k/(1d0-musq_i-musq_k)))
59
 
         rho=Sqrt((1d0-vik)/(1d0+vik))
60
 
         fi(2)=(gsq*(6 + 2*L + 2*rs + 
61
 
     &        2*mk*((4*mk - 2*Sqrt(sik))/Qik2 + 1/(mk - Sqrt(sik))) - 
62
 
     &        (2*Pi**2)/(3.*vik) - 4*Log(-mi**2 + (mk - Sqrt(sik))**2) + 
63
 
     &        2*Log(mi - (mi*mk)/Sqrt(sik)) - 
64
 
     &        (4*mi**2*Log(mi/(-mk + Sqrt(sik))))/Qik2 + 3*Log(sik) - 
65
 
     &        (-4*Log(rho**2)*Log(1 + rho**2) + Log(rhoi**2)**2 + 
66
 
     &        Log(rhok**2)**2 -
67
 
     &        4*Log(rho)*(L + 2*Log(sik/Qik2)))/(2.*vik) - 
68
 
     &        (2*(-2*ddilog(rho**2) + ddilog(1 - rhoi**2) + 
69
 
     &        ddilog(1 - rhok**2)))/vik))/(16.*Pi**2)
70
 
 
71
 
C adding alpha dependent terms
72
 
         if(alpha_ff.ne.1d0) then
73
 
            a=(2*muk)/(1 - musq_i - musq_k)
74
 
            b=(2*(1 - muk))/(1 - musq_i - musq_k)
75
 
            c=(2*(1 - muk)*muk)/(1 - musq_i - musq_k)
76
 
            d=(1 - musq_i - musq_k)/2.
77
 
            xp=(-musq_i + (1 - muk)**2 +
78
 
     &           Sqrt(lambda_tr(1d0,musq_i,musq_k)))/(1-musq_i-musq_k)
79
 
            xm=(-musq_i + (1 - muk)**2 -
80
 
     &           Sqrt(lambda_tr(1d0,musq_i,musq_k)))/(1-musq_i-musq_k)
81
 
            yp=1 - (2*(1 - muk)*muk)/(1 - musq_i - musq_k)
82
 
            x=yp - alpha_ff*yp + Sqrt(((4*musq_i*musq_k)/
83
 
     &           ((musq_i - (1 - muk)**2)*(1 - musq_i - musq_k)) +
84
 
     &           1/yp - alpha_ff*yp)*(yp - alpha_ff*yp))
85
 
            fi(2)=fi(2)+gsq*(1/(1- muk)-(2*(2-2*musq_i-muk))/
86
 
     &           (1-musq_i-musq_k)+(3*(1+alpha_ff*yp))/2. + 
87
 
     &           (musq_i*(1 - alpha_ff*yp))/(2.*(musq_i +
88
 
     &           alpha_ff*(1 - musq_i - musq_k)*yp)) - 
89
 
     &           2*DLog((alpha_ff*(1 - musq_i - musq_k)*yp)/
90
 
     &           (-musq_i + (1 - muk)**2)) + 
91
 
     &           ((1 + musq_i - musq_k)*
92
 
     &           DLog((musq_i + alpha_ff*(1 - musq_i - musq_k)*yp)
93
 
     &           /(1 - muk)**2))/(2.*(1 - musq_i - musq_k)) + 
94
 
     &           (2*(-(DLog(b)*DLog((a*(-b + xm))/((a + b)*xm))) +
95
 
     &           DLog(b - x)*DLog(((a + x)*(-b + xm))/
96
 
     &           ((a + b)*(-x + xm))) + 
97
 
     &           DLog((c + xm)/(a + xm))*DLog((-x + xm)/xm) +
98
 
     &           DLog(a*(b - xp))*DLog(xp) + 
99
 
     &           (DLog((a + x)/a)*DLog(a*(a + x)*(a + xp)**2))/2. -
100
 
     &           DLog(c)*DLog(((a - c)*xp)/(a*(c + xp))) + 
101
 
     &           DLog(d)*DLog(((a + x)*xm*xp)/(a*(-x + xm)*(-x + xp))) -
102
 
     &           DLog((a + x)*(b - xp))*DLog(-x + xp) + 
103
 
     &           DLog(c + x)*DLog(((a-c)*(-x + xp))/((a + x)*(c + xp)))-
104
 
     &           ddilog(b/(a + b)) + ddilog(c/(-a + c)) + 
105
 
     &           ddilog((b - x)/(a + b)) - ddilog((c + x)/(-a + c)) +
106
 
     &           ddilog(b/(b - xm)) - ddilog((b - x)/(b - xm)) -
107
 
     &           ddilog(xm/(a + xm)) + ddilog(xm/(c + xm)) +
108
 
     &           ddilog((-x + xm)/(a+xm)) - ddilog((-x + xm)/(c + xm))+
109
 
     &           ddilog(a/(a + xp)) - ddilog((a + x)/(a + xp)) -
110
 
     &           ddilog(xp/(-b + xp)) - ddilog(c/(c + xp)) +
111
 
     &           ddilog((c + x)/(c + xp)) +
112
 
     &           ddilog((-x + xp)/(-b + xp))))/vik)/(8.*Pi**2)
113
 
 
114
 
         endif
115
 
 
116
 
C ij~ massive and massless spectator
117
 
      elseif(mi.gt.0d0.and.mk.eq.0d0.and.id.eq.1) then
118
 
         rs=0d0
119
 
         fi(2)= (gsq*(72d0 + 6d0*L*(4d0 + L) - 11d0*Pi**2 + 24d0*rs + 
120
 
     &        (24d0*musq_i*DLog(musq_i))/(-1d0 + musq_i) + 
121
 
     &        6d0*(4d0*DLog(1 - musq_i)**2 + 
122
 
     &        (2d0 + 2d0*L - Log(musq_i))*DLog(musq_i) - 
123
 
     &        4d0*DLog(1d0 - musq_i)*(2d0 + L + DLog(musq_i))) - 
124
 
     &        24d0*ddilog(1d0 - musq_i)))/(192d0*Pi**2)
125
 
 
126
 
C adding alpha dependent terms
127
 
         if(alpha_ff.ne.1d0) then
128
 
            fi(2)=fi(2)+(gsq*(-2*DLog(alpha_ff) + 
129
 
     &           (2*DLog(alpha_ff+(1-alpha_ff)*musq_i))/(1-musq_i) + 
130
 
     &           (-2 + 3*alpha_ff-alpha_ff/(alpha_ff+(1-alpha_ff)*musq_i) - 
131
 
     &           ((3 - musq_i)*DLog(alpha_ff+(1-alpha_ff)*musq_i))/
132
 
     &           (1 - musq_i))/2. +2*(-(DLog(alpha_ff)*DLog(musq_i))- 
133
 
     &           ddilog((-1+ musq_i)/musq_i) + 
134
 
     &           ddilog((alpha_ff*(-1 + musq_i))/musq_i))))/(8.*pi**2)
135
 
         endif
136
 
 
137
 
C ij~ massless quark and massive spectator
138
 
      elseif(mi.eq.0d0 .and. mk.gt.0d0 .and. id.eq.1) then
139
 
         if(scheme .eq. 'HV') then
140
 
            rs=0d0
141
 
         elseif(scheme .eq. 'DR') then
142
 
            rs=-1d0/2d0
143
 
         endif
144
 
         fi(2)= (gsq*((36*L*(1 + muk) + 
145
 
     &        6*L**2*(1 + muk) - 11*Pi**2 + 
146
 
     &        24*(5 + rs) + muk*(-11*Pi**2 + 24*(2 + rs)) - 
147
 
     &        36*(1 + muk)*Log((-1 + muk)**2) - 6*(1 + muk)*
148
 
     &        (-4*Log(1 - musq_k)**2 + Log(musq_k)*(-2*L + Log(musq_k))+ 
149
 
     &        4*Log(1 - musq_k)*(L + Log(musq_k))))/(1 + muk) 
150
 
     &        - 24*ddilog(1 - musq_k)))/
151
 
     &        (192.*Pi**2)
152
 
 
153
 
C adding alpha dependent terms
154
 
         if(alpha_ff.ne.1d0) then
155
 
            yp=(1d0-musq_k)/(1d0+musq_k)
156
 
            xp=yp*(1d0-alpha_ff)+
157
 
     &           Sqrt((1d0-alpha_ff)*(1d0-alpha_ff*yp**2))
158
 
            fi(2)=fi(2)+(gsq*((-3*((1-alpha_ff)*yp+DLog(alpha_ff)))/2. + 
159
 
     &           2*(-DLog((1-xp+yp)/(1+yp))**2+DLog((1+2*xp*yp-yp**2)/
160
 
     &           ((1 + xp - yp)*(1 - xp + yp)))**2/2. + 
161
 
     &           2*(DLog((1+xp-yp)/(1-yp))*DLog((1+yp)/2.) + 
162
 
     &           DLog((1+yp)/(2.*yp))*DLog((1+2*xp*yp-yp**2)/(1-yp**2))- 
163
 
     &           ddilog((1-yp)/2.) +ddilog((1 + xp - yp)/2.) + 
164
 
     &           ddilog((1 - yp)/(1 + yp)) - 
165
 
     &           ddilog((1+2*xp*yp-yp**2)/(1+yp)**2)))
166
 
     &           ))/(8.*pi**2)
167
 
         endif
168
 
 
169
 
 
170
 
C ij~ massless quark and massless spectator
171
 
      elseif(mi.eq.0d0 .and. mk.eq.0d0 .and. id.eq.1) then
172
 
         if(scheme .eq. 'HV') then
173
 
            rs=0d0
174
 
         elseif(scheme .eq. 'DR') then
175
 
            rs=-1d0/2d0
176
 
         endif
177
 
         fi(2)=(gsq*(6*L*(3+L)-7*pi**2+12*(5+rs)))/(96.*pi**2)
178
 
         
179
 
C     adding alpha dependent terms
180
 
         if (alpha_ff.ne.1d0) then
181
 
            fi(2)=fi(2)+((gsq*((3*(-1 + alpha_ff - DLog(alpha_ff)))/2.
182
 
     &           - DLog(alpha_ff)**2))/(8.*pi**2))
183
 
         endif
184
 
 
185
 
 
186
 
C ij~ gluon and massive spectator
187
 
      elseif(mk.gt.0d0.and. id.eq.0) then
188
 
         if(scheme .eq. 'HV') then
189
 
            rs=0d0
190
 
         elseif(scheme .eq. 'DR') then
191
 
            rs=-1d0/6d0
192
 
         endif
193
 
C  1. g->QQ splitting
194
 
       if(id1.eq.1.and.mi.gt.0d0) then
195
 
          fi(2)=(gsq*((2*(1 - (4*musq_i)/(-1 + muk)**2)**1.5*muk)/
196
 
     &         (1 + muk) + (8*Sqrt(1 - (4*musq_i)/(-1 + muk)**2)*
197
 
     &         (1 + mui - muk)*(-1 + mui + muk))/(3.*(-1 + muk)**2)
198
 
     &         - 2*DLog(mui) + 2*DLog((1 +
199
 
     &         Sqrt(1 - (4*musq_i)/(-1 + muk)**2))/2.)+2*DLog(1 - muk)- 
200
 
     &         (2*musq_k*((8*musq_i*Sqrt(1 - (4*musq_i)/(-1 + muk)**2))/
201
 
     &         (-1 + musq_k)-DLog((1-Sqrt(1-(4*musq_i)/(-1 + muk)**2))/
202
 
     &         (1 + Sqrt(1 - (4*musq_i)/(-1 + muk)**2))) + 
203
 
     &         ((-1 + 4*musq_i + musq_k)/(-1 + musq_k))**1.5*
204
 
     &         DLog((-Sqrt(1 - (4*musq_i)/(-1 + muk)**2) +
205
 
     &         Sqrt((-1 + 4*musq_i + musq_k)/(-1 + musq_k)))/
206
 
     &         (Sqrt(1 - (4*musq_i)/(-1 + muk)**2) +
207
 
     &         Sqrt((-1 + 4*musq_i + musq_k)/(-1 + musq_k))))))
208
 
     &         /(1 - musq_k)))/(24.*Pi**2)/ca
209
 
 
210
 
 
211
 
C adding alpha dependent terms
212
 
          if(alpha_ff.ne.1d0) then
213
 
           a=1.-musq_k
214
 
           c=-1.+2*musq_i+musq_k
215
 
           yp=1.-2*muk*(1.-muk)/(1.-2*musq_i-musq_k)
216
 
           b=sqrt(c**2*yp**2-4.*musq_i**2)
217
 
           d=sqrt(alpha_ff*c**2*yp**2-4.*musq_i**2)
218
 
           fi(2)=fi(2)-gsq*((c*Sqrt(-c + 2*musq_i)*(4*(b - d)*musq_i**2 
219
 
     &          + c**2*yp*(-2*alpha_ff*b-d*(-2+yp) + alpha_ff**2*b*yp)+ 
220
 
     &          4*c*musq_i*(d - d*yp + b*(-1 + alpha_ff*yp))) - 
221
 
     &          2*b*d*Sqrt(-c + 2*musq_i)*
222
 
     &          (c**2 - 2*(1 + c)*musq_i + 4*musq_i**2)
223
 
     &          *DATAN((2*musq_i)/Sqrt(-4*musq_i**2 + c**2*yp**2)) + 
224
 
     &          2*b*d*Sqrt(-c + 2*musq_i)*
225
 
     &          (c**2 - 2*(1 + c)*musq_i + 4*musq_i**2)
226
 
     &          *DATAN((2*musq_i)/
227
 
     &          Sqrt(-4*musq_i**2 + alpha_ff**2*c**2*yp**2)) + 
228
 
     &          b*d*(2*a*(c + c**2 + 2*musq_i - 4*musq_i**2)*
229
 
     &          DLog(-((-c - 2*musq_i)**2.5
230
 
     &          *(1 + c - 2*musq_i)*(-1 + yp))) - 
231
 
     &          2*a*(c + c**2 + 2*musq_i - 4*musq_i**2)*
232
 
     &          DLog((-c - 2*musq_i)**2.5
233
 
     &          *(1 + c - 2*musq_i)*(1 - alpha_ff*yp)) + 
234
 
     &          2*c*Sqrt(-c + 2*musq_i)*DLog(-2*(b + c*yp)) 
235
 
     &          + 3*c**2*Sqrt(-c + 2*musq_i)*DLog(-2*(b + c*yp)) - 
236
 
     &          4*c*musq_i*Sqrt(-c + 2*musq_i)*DLog(-2*(b + c*yp)) 
237
 
     &          - 2*c*Sqrt(-c + 2*musq_i)*Log(-2*(d + alpha_ff*c*yp)) - 
238
 
     &          3*c**2*Sqrt(-c + 2*musq_i)*DLog(-2*(d + alpha_ff*c*yp)) 
239
 
     &          + 4*c*musq_i*Sqrt(-c + 2*musq_i)*
240
 
     &          DLog(-2*(d + alpha_ff*c*yp)) - 
241
 
     &          2*a*c*DLog(-4*musq_i**2 - b*Sqrt(c**2 - 4*musq_i**2) +
242
 
     &          c**2*yp) - 2*a*c**2*DLog(-4*musq_i**2 -
243
 
     &          b*Sqrt(c**2 - 4*musq_i**2) + c**2*yp) - 
244
 
     &          4*a*musq_i*DLog(-4*musq_i**2 - b*Sqrt(c**2 - 4*musq_i**2)
245
 
     &          + c**2*yp) + 8*a*musq_i**2*DLog(-4*musq_i**2 -
246
 
     &          b*Sqrt(c**2 - 4*musq_i**2) + c**2*yp) + 
247
 
     &          2*a*c*DLog(-4*musq_i**2 - d*Sqrt(c**2 - 4*musq_i**2) +
248
 
     &          alpha_ff*c**2*yp) + 2*a*c**2*Log(-4*musq_i**2 -
249
 
     &          d*Sqrt(c**2 - 4*musq_i**2) + alpha_ff*c**2*yp) + 
250
 
     &          4*a*musq_i*DLog(-4*musq_i**2 - d*Sqrt(c**2 - 4*musq_i**2)
251
 
     &          + alpha_ff*c**2*yp) - 8*a*musq_i**2*DLog(-4*musq_i**2 -
252
 
     &          d*Sqrt(c**2 - 4*musq_i**2) + alpha_ff*c**2*yp)))/
253
 
     &          (3.*c*(-c+2*musq_i)**1.5*Sqrt(-4*musq_i**2 + c**2*yp**2)
254
 
     &          *Sqrt(-4*musq_i**2+alpha_ff**2*c**2*yp**2)))/
255
 
     &          (8.*Pi**2)/ca
256
 
 
257
 
 
258
 
          endif
259
 
 
260
 
C  2. g->qq splitting
261
 
       elseif(id1.eq.1.and. mi.eq.0d0) then
262
 
          fi(2)=(gsq*((-1 + muk)*(-6*L*(1 + muk) - 4*(4 + muk)
263
 
c$$$     &         + 9*(1 + muk)*rs) + 12*(-1 + muk**2)*DLog(1 - muk) + 
264
 
c     RF No scheme dependence here. All in the g -> gg.
265
 
     &         ) + 12*(-1 + musq_k)*DLog(1 - muk) + 
266
 
     &         12*musq_k*DLog((2*muk)/(1 + muk))))/
267
 
     &         (144.*(-1 + musq_k)*pi**2)/ca
268
 
C     adding alpha dependent terms
269
 
          if(alpha_ff.ne.1d0) then
270
 
             fi(2)=fi(2)-(gsq*(-((-1 + alpha_ff)*(-1 + muk)**2) + 
271
 
     &            DLog(alpha_ff) + musq_k*(DLog(4d0) + DLog(1/alpha_ff)
272
 
     &            + 2*DLog(muk) - 2*DLog(1 + muk) - 
273
 
     &            2*DLog(1+alpha_ff-(2*alpha_ff)/(1+muk))))/
274
 
     &            (3.*(-1+musq_k)))/(8.*pi**2)/ca
275
 
          endif
276
 
 
277
 
C  3. g->gg splitting
278
 
       elseif(id1.eq.0) then
279
 
          fi(2)=(gsq*((200 + 66*L + 9*L**2-(132*muk)/(1 + muk)-15*Pi**2
280
 
     &         - 132*DLog(1 - muk) - (24*musq_k*DLog((2*muk)/(1 +
281
 
     &         muk)))/(-1 + musq_k) +66*DLog(1 - musq_k) + 9*(4*(L -
282
 
     &         DLog(muk))*DLog(muk) - 2*(L + 2*DLog(muk))*DLog(1 -
283
 
     &         musq_k) + DLog(1 - musq_k)**2) - 36*ddilog(1 - musq_k)))
284
 
     &         /18d0)/(8.*pi**2)
285
 
 
286
 
C     adding alpha dependent terms
287
 
          if (alpha_ff.ne.1d0) then
288
 
             yl=1d0 + alpha_ff*(-1 + muk)**2 - musq_k - 
289
 
     &            Sqrt(abs((-1+muk)**2*(alpha_ff**2*(-1+muk)**2+
290
 
     &            (1+muk)**2-2*alpha_ff*(1+musq_k))))
291
 
             fi(2)=fi(2)-(gsq*((11*(-2+2*muk+yl)**2)/
292
 
     &            ((-1+musq_k)*(-2+yl))
293
 
     &            -44*Log(2-2*muk) - 22*Log(muk) + 24*Log(2/(1 + muk))*
294
 
     &            (Log(2/(1 + muk)) + 2*Log(1 + muk)) +
295
 
     &            (2*((-11 + 15*musq_k)*Log(2*muk) + 
296
 
     &            4*musq_k*(-Log(-8*(-1+muk)*musq_k)+
297
 
     &            Log((-2 + yl)**2+4*musq_k*(-1 + yl))) + 
298
 
     &            (11 - 15*musq_k)*Log(2 - yl)))/(-1 + musq_k) + 
299
 
     &            22*Log(2 - 2*musq_k - yl) + 
300
 
     &            22*Log(yl)-12*(4*Log(1-yl/2.)*Log(-(yl/(-1+musq_k)))-
301
 
     &            Log(-(yl/(-1+musq_k)))**2 + 
302
 
     &            Log((-2*(-2 + 2*musq_k + yl))/
303
 
     &            ((-1 + musq_k)*(-2 + yl)))**2 + 
304
 
     &            2*Log(-(yl/(-1+musq_k)))*(
305
 
     &            Log((-2*(-2+2*musq_k+yl))/((-1+musq_k)*(-2+yl))) - 
306
 
     &            2*Log(1 + yl/(-2 + 2*musq_k)))) + 48*ddilog(1 - muk) -
307
 
     &            48*ddilog(1/(1 + muk)) - 
308
 
     &            48*ddilog(yl/2.) + 48*ddilog(yl/(2 - 2*musq_k))))/
309
 
     &            (48.*pi**2)
310
 
          endif
311
 
       endif
312
 
 
313
 
C ij~ gluon and massless spectator
314
 
      elseif(mk.eq.0d0.and.id.eq.0) then
315
 
         if(scheme .eq. 'HV') then
316
 
            rs=0d0
317
 
         elseif(scheme .eq. 'DR') then
318
 
            rs=-1d0/6d0
319
 
         endif
320
 
C     1. g->QQ splitting
321
 
         if(id1.eq.1.and.mi.gt.0d0) then
322
 
            fi(2)=(gsq*(-16*Sqrt(1-4*musq_i)+16*musq_i*Sqrt(1-4*musq_i)+
323
 
c$$$     &           9*rs-12*DLog(Sqrt(musq_i))+ 
324
 
c     RF No scheme dependence here. All in the g -> gg.
325
 
     &           12*DLog(Sqrt(musq_i))+ 
326
 
     &           12*DLog((1 + Sqrt(1 - 4*musq_i))/2.)))/(144.*pi**2)/ca
327
 
C adding alpha dependent terms
328
 
            if (alpha_ff.ne.1d0) then
329
 
               fi(2)=fi(2)-(gsq*(Sqrt(1-4*musq_i)+
330
 
     &              Sqrt(-4*musq_i**2+alpha_ff**2*(1-2*musq_i)**2) + 
331
 
     &              (2*Sqrt(-4*musq_i**2+alpha_ff**2*(1-2*musq_i)**2))/
332
 
     &              (-alpha_ff+2*(-1+alpha_ff)*musq_i) + 
333
 
     &              (-1 + 2*musq_i)*(-2*DATAN((2*musq_i)/
334
 
     &              Sqrt(1 - 4*musq_i)) + 
335
 
     &              2*DATan((2*musq_i)/
336
 
     &              Sqrt(-4*musq_i**2 + alpha_ff**2*(1 - 2*musq_i)**2))+ 
337
 
     &              DLog(-2*(-1 + 2*musq_i + Sqrt(1 - 4*musq_i))) - 
338
 
     &              DLog(-2*(alpha_ff*(-1+2*musq_i)+
339
 
     &              Sqrt(-4*musq_i**2+alpha_ff**2*(1-2*musq_i)**2))))))/
340
 
     &              (24.*pi**2)/ca
341
 
            endif
342
 
C  2. g->qq splitting
343
 
         elseif(id1.eq.1.and. mi.eq.0d0) then
344
 
c$$$            fi(2)=-(gsq*(8 + 3*L - 9*rs*ca))/(144.*pi**2)/ca
345
 
c     RF No scheme dependence here. All in the g -> gg.
346
 
            fi(2)=-(gsq*(8 + 3*L))/(144.*pi**2)/ca
347
 
 
348
 
C adding alpha dependent terms
349
 
            if (alpha_ff.ne.1d0) then
350
 
               fi(2)=fi(2)-(gsq*(-1 + alpha_ff - DLog(alpha_ff)))/
351
 
     &              (24.*pi**2)/ca
352
 
            endif
353
 
 
354
 
C  3. g->gg splitting
355
 
         elseif(id1.eq.0) then
356
 
            fi(2)=(gsq*((200+6*L*(11+3*L)-21*pi**2)+36*rs))/(144.*pi**2)
357
 
 
358
 
C adding alpha dependent terms
359
 
            if (alpha_ff.ne.1d0) then
360
 
               fi(2)=fi(2)-(gsq*(11-11*alpha_ff+11*DLog(alpha_ff)+
361
 
     &              6*DLog(alpha_ff)**2))/(24.*pi**2)
362
 
            endif
363
 
         endif
364
 
      endif
365
 
 
366
 
      end
367
 
 
368
 
 
369
 
      SUBROUTINE finitefi(mi,sik,sikzone,x,id1,id2,fi)
370
 
c  calculates the finite terms when emitter is in
371
 
c  final state and spectator is in initial state
372
 
      implicit none
373
 
 
374
 
      include "coupl.inc"
375
 
      include 'dipole.inc'
376
 
c Arguments
377
 
      REAL*8 mi,qsq,sik,x,fi(9),sikzone
378
 
      INTEGER id1,id2
379
 
c Global
380
 
      REAL*8 ddilog
381
 
      external ddilog
382
 
c Local
383
 
      INTEGER i
384
 
      REAl*8 cf,ca,rhoi,rhok,rho,musq_i,gsq,pi
385
 
      REAL*8 L,L_one,rs,musq_i_one
386
 
      PARAMETER (cf=4d0/3d0,ca=3d0)
387
 
      PARAMETER (pi=3.1415926535897932385d0)
388
 
 
389
 
      musq_i=mi**2/sik
390
 
      musq_i_one=mi**2/sikzone
391
 
      gsq=GG(1)**2
392
 
      L_one=DLog(mu**2/sikzone)
393
 
 
394
 
      do i=1,9
395
 
         fi(i)=0d0
396
 
      enddo
397
 
 
398
 
C  massive quark (ij~: quark)
399
 
      if(mi .gt. 0d0 .and. id1.eq.1) then
400
 
         rs=0d0
401
 
         fi(2)=(gsq*((1d0+DLOG(musq_i_one/(musq_i_one+1d0)))*L_one
402
 
     &        -2d0*ddilog(-musq_i_one)-pi**2/3d0+2d0+
403
 
     &        DLOG(musq_i_one)**2/2d0+DLOG(1+musq_i_one)**2/2d0-
404
 
     &        2d0*DLOG(musq_i_one)*DLOG(1+musq_i_one)+DLOG(musq_i_one)))
405
 
     &        /(8.*pi**2)
406
 
 
407
 
c adding the alpha dependent term
408
 
         if(alpha_fi.ne.1d0) then
409
 
            fi(2)=fi(2)+gsq/(8.*pi**2)*2.*DLog(alpha_fi)*
410
 
     &           (DLog((1d0+musq_i_one)/(musq_i_one))-1d0)
411
 
         endif
412
 
         if(x.gt.(1d0-alpha_fi)) then
413
 
            fi(1)=gsq/(8.*pi**2)*((1.-x)/(2.*(1-x+musq_i)**2)+2./
414
 
     &           (1-x)*DLog(((2.-x+musq_i)*musq_i_one)
415
 
     &           /((1.+musq_i_one)*(1-x+musq_i))))
416
 
            fi(3)=gsq/(8.*pi**2)*2./(1-x)*
417
 
     &           (DLOG((1+musq_i_one)/(musq_i_one))-1d0)
418
 
            fi(4)=fi(3)
419
 
         endif
420
 
 
421
 
C  massless quark (ij~: quark)
422
 
      elseif(mi.eq.0d0 .and. id1.eq.1) then
423
 
         if(scheme .eq. 'HV') then
424
 
            rs=0d0
425
 
         elseif(scheme .eq. 'DR') then
426
 
            rs=-1d0/2d0
427
 
         endif
428
 
         fi(2)=(gsq*(6*(7+L_one*(3+L_one))-7*pi**2+12*rs))/(96.*pi**2)
429
 
c     adding the alpha dependent term
430
 
         if (alpha_fi.ne.1d0) then
431
 
            fi(2)=fi(2)+gsq/(8.*pi**2)*(-3./2.*Dlog(alpha_fi)-
432
 
     &           Dlog(alpha_fi)**2)
433
 
         endif
434
 
         if(x.gt.(1d0-alpha_fi)) then
435
 
            fi(1)=gsq/(4d0*pi**2*(1-x))*DLog(2d0-x)
436
 
            fi(3)=-(gsq*(3/(1-x)+(4*DLog(1-x))/(1-x)))/(16.*pi**2)
437
 
            fi(4)=fi(3)
438
 
         endif
439
 
 
440
 
C  gluon (ij~: gluon)
441
 
      elseif(id1.eq.0) then
442
 
         if(scheme .eq. 'HV') then
443
 
            rs=0d0
444
 
         elseif(scheme .eq. 'DR') then
445
 
            rs=-1d0/6d0
446
 
         endif
447
 
C  1. g-> QQ (i:massive quark )
448
 
         if(id2.eq.1.and.mi.gt.0d0) then
449
 
            fi(7)=-(gsq*(5*Sqrt(1-4*musq_i_one)+
450
 
     &           4*musq_i_one*Sqrt(1-4*musq_i_one)+DLog(64d0) + 
451
 
     &           3*DLog(musq_i_one) -
452
 
     &           6*DLog(1+Sqrt(1-4*musq_i_one))))/(72.*pi**2)/ca
453
 
c adding the alpha dependent term
454
 
            if (alpha_fi.ne.1d0) then
455
 
               fi(7)=fi(7)+(gsq*((5 - 16*musq_i_one**2 -
456
 
     &              5*Sqrt(((1 - 4*musq_i_one)*
457
 
     &              (alpha_fi - 4*musq_i_one))/alpha_fi) - 
458
 
     &              4*musq_i_one*(4 + Sqrt(((1 - 4*musq_i_one)*
459
 
     &              (alpha_fi - 4*musq_i_one))/
460
 
     &              alpha_fi**3)))/Sqrt(1 - 4*musq_i_one)-
461
 
     &              6*DLog(1+Sqrt(1-4*musq_i_one)) + 
462
 
     &              6*DLog(Sqrt(alpha_fi)+
463
 
     &              Sqrt(alpha_fi-4*musq_i_one))))/(72.*pi**2)/ca
464
 
            endif
465
 
            if(x.lt.1d0-4d0*musq_i)then
466
 
               if(x.gt.(1d0-alpha_fi)) then
467
 
                  fi(8)=(gsq*Sqrt(1+(4*musq_i)/(-1 +x))*
468
 
     &                 (1 + 2*musq_i - x))/(24.*pi**2*(-1 + x)**2)/ca
469
 
                  fi(9)=fi(8)
470
 
               endif
471
 
            endif
472
 
 
473
 
c  2. g-> qq (i:massless quark)
474
 
         elseif(id2.eq.1.and.mi.eq.0d0) then
475
 
c     RF No scheme dependence here. All in the g -> gg.
476
 
            fi(2)=-(gsq*(10 + 6*L_one))/(144.*pi**2)/ca
477
 
c     adding the alpha dependent term
478
 
            if(alpha_fi.ne.1d0) then
479
 
               fi(2)=fi(2)+gsq/(8d0*pi**2)*DLog(alpha_fi)/3./ca
480
 
            endif
481
 
            if(x.gt.(1d0-alpha_fi)) then
482
 
               fi(3)=gsq/(24.*pi**2*(1 - x))/ca
483
 
               fi(4)=fi(3)
484
 
            endif
485
 
 
486
 
C  3. g-> gg (i: gluon )
487
 
         elseif(id2.eq.0) then
488
 
            fi(2)=(gsq*(134 + 6*L_one*(11 + 3*L_one) -
489
 
     &           21*pi**2 + 36*rs))/(144.*pi**2)
490
 
c adding the alpha dependent term
491
 
            if (alpha_fi.ne.1d0) then
492
 
               fi(2)=fi(2)+gsq/(8.*pi**2)*
493
 
     &              (-2d0*DLOG(alpha_fi)**2-11d0/3d0*DLOG(alpha_fi))
494
 
            endif
495
 
            if(x.gt.(1d0-alpha_fi)) then
496
 
               fi(1)=-(gsq*DLog(2 - x))/(2.*pi**2*(-1 + x))
497
 
               fi(3)=(gsq*(-11/(1-x)+(12*DLog(1-x))/(-1+x)))/(24.*pi**2)
498
 
               fi(4)=fi(3)
499
 
            endif
500
 
         endif
501
 
      endif
502
 
 
503
 
      end
504
 
 
505
 
 
506
 
      SUBROUTINE finiteif(mk,sik,sikzone,x,id1,id2,fi)
507
 
c  calculates the finite terms when the emitter is
508
 
c  in the initial state and the spectator is in the
509
 
c  final state.
510
 
      implicit none
511
 
      include "coupl.inc"
512
 
      include "dipole.inc"
513
 
 
514
 
c Arguments
515
 
      REAL*8 mk,sik,sikzone,x,fi(9)
516
 
      INTEGER id1,id2
517
 
c Global
518
 
      REAL*8 ddilog
519
 
      external ddilog
520
 
c Local
521
 
      INTEGER i
522
 
      REAl*8 cf,ca,pi,gsq
523
 
      REAL*8 zp,musq_k,L,L_one,rs,musq_k_one
524
 
      PARAMETER (cf=4d0/3d0,ca=3d0)
525
 
      PARAMETER (pi=3.1415926535897932385d0)
526
 
 
527
 
      gsq=GG(1)**2
528
 
      musq_k=mk**2/sik
529
 
      musq_k_one=mk**2/sikzone
530
 
      zp=(1d0-x)/(1d0-x+musq_k)
531
 
      L=DLog(mu**2/sik)
532
 
      L_one=DLog(mu**2/sikzone)
533
 
 
534
 
      do i=1,9
535
 
         fi(i)=0d0
536
 
      enddo
537
 
      
538
 
c quark-quark splitting
539
 
      if(id1 .eq.1.and.id2.eq.1) then
540
 
         if(scheme .eq. 'HV') then
541
 
            rs=0d0
542
 
         elseif(scheme .eq. 'DR') then
543
 
            rs=-1d0/2d0
544
 
         endif
545
 
         fi(2)=(gsq*(2*L_one**2-pi**2+4*rs+6*DLog(mu**2/muf**2) + 
546
 
     &        2*DLog(1 + musq_k_one)*(2*L_one + DLog(1 + musq_k_one)) + 
547
 
     &        8*ddilog(1/(1 + musq_k_one))))/(32.*pi**2)
548
 
         fi(1)=-(gsq*(-((-1 + x**2)*(L - DLog(mu**2/muf**2)))+ 
549
 
     &        (-1+x**2)*DLog(1 - x) - 2*DLog(2 - x) + 
550
 
     &        (-1+x)*(-1 + x +(1+x)*DLog((-1+x)/(-1-musq_k+x)))))/
551
 
     &        (8.*pi**2*(-1 + x))
552
 
         fi(3)=(gsq*(L-DLog(mu**2/muf**2)-2*DLog(1 - x)))/
553
 
     &        (4.*pi**2*(-1 + x))
554
 
         fi(4)=(gsq*(L_one-DLog(mu**2/muf**2)-2*DLog(1 - x)))/
555
 
     &        (4.*pi**2*(-1 + x))
556
 
         if (mk.ne.0d0) then
557
 
            fi(5)=gsq/(4d0*pi**2)*Dlog((2d0-x)/(2d0-x+musq_k))/(1d0-x)
558
 
            fi(6)=gsq/(4d0*pi**2)*Dlog(1d0/(1d0+musq_k_one))/(1d0-x)
559
 
         endif
560
 
c adding the alpha dependent term
561
 
         if(zp.gt.alpha_if) then
562
 
            fi(1)=fi(1)-(gsq*(-((1+x)*DLog(zp/alpha_if)) + 
563
 
     &           (2*DLog(((1+alpha_if-x)*zp)/(alpha_if*(1-x+zp))))/
564
 
     &           (1 - x)))/(8.*pi**2)
565
 
         endif
566
 
 
567
 
c quark-gluon splitting (i:quark, ij~: gluon)
568
 
      elseif(id1.eq.1.and.id2.eq.0 ) then
569
 
         fi(1)=(cf*gsq*(x**2 - L*(2 + (-2 + x)*x) + 
570
 
     &        (2 + (-2 + x)*x)*DLog(mu**2/muf**2) + 
571
 
     &        (2 + (-2 + x)*x)*DLog(1 - x) + 
572
 
     &        (2 + (-2 + x)*x)*DLog((-1 + x)/(-1 - musq_k + x))))/
573
 
     &        (8.*pi**2*x)/ca
574
 
c adding the alpha dependent term
575
 
         if(zp.gt.alpha_if) then
576
 
            if(musq_k.gt.0d0) then
577
 
               fi(1)=fi(1)-
578
 
     &              (cf*gsq*((2*musq_k*DLog((1 - zp)/(1 - alpha_if)))/x 
579
 
     &              + ((1 + (1 - x)**2)*DLog(zp/alpha_if))/x))/
580
 
     &              (8.*pi**2)/ca
581
 
            elseif(musq_k.eq.0d0) then
582
 
               fi(1)=fi(1)-(cf*gsq*(2-2*x+x**2)*
583
 
     &              DLog(zp/alpha_if))/(8.*pi**2*x)/ca
584
 
            endif
585
 
         endif
586
 
 
587
 
c gluon-quark splitting (i:gluon, ij~: quark)
588
 
      elseif(id1.eq.0.and.id2.eq.1) then
589
 
         fi(1)=(gsq*(-L + 2*(1 + L)*x - 2*(1 + L)*x**2 + 
590
 
     &        (1 + 2*(-1 + x)*x)*DLog(mu**2/muf**2) + 
591
 
     &        (1 + 2*(-1 + x)*x)*DLog(1 - x) + 
592
 
     &        (1 + 2*(-1 + x)*x)*DLog((-1 + x)/(-1 - musq_k + x))))
593
 
     &        /(16.*pi**2)/cf
594
 
c adding the alpha dependent term
595
 
         if(zp.gt.alpha_if) then
596
 
            fi(1)=fi(1)-(gsq*((1-x)**2+x**2)*
597
 
     &           DLog(zp/alpha_if))/(16.*pi**2)/cf
598
 
         endif
599
 
 
600
 
c gluon-gluon splitting (i:gluon, ij~:gluon)
601
 
      elseif(id1.eq.0.and.id2.eq.0) then
602
 
         if(scheme .eq. 'HV') then
603
 
            rs=0d0
604
 
         elseif(scheme .eq. 'DR') then
605
 
            rs=-1d0/6d0
606
 
         endif
607
 
         if(musq_k.gt.0d0) then
608
 
            fi(2)=(gsq*(6*L_one**2 - 3*pi**2 + 12*rs 
609
 
     &           + (22 - 4*Nf/ca)*DLog(mu**2/muf**2) + 
610
 
     &           6*DLog(1 + musq_k_one)*(2*L_one + Log(1 + musq_k_one)) 
611
 
     &           + 24*ddilog(1/(1 + musq_k_one))))/(96.*pi**2)
612
 
            fi(1)=(gsq*(L - 3*L*x + 3*L*x**2 - 2*L*x**3 + L*x**4 - 
613
 
     &           (-1 + x)*(-1 + x*(2 + (-1 + x)*x))*DLog(mu**2/muf**2) - 
614
 
     &           (-1 + x)*(-1 + x*(2 + (-1 + x)*x))*DLog(1 - x) 
615
 
     &           + x*DLog(2 - x) - musq_k*DLog(musq_k/(1 + musq_k - x))
616
 
     &           + musq_k*x*DLog(musq_k/(1 + musq_k - x)) - 
617
 
     &           (-1 + x)*(-1 + x*(2 + (-1 + x)*x))*Log((-1 + x)/
618
 
     &           (-1 - musq_k + x))))/(4.*pi**2*(-1 + x)*x)
619
 
            fi(4)=(gsq*(L_one - DLog(mu**2/muf**2) - 2*DLog(1 - x)))/
620
 
     &           (4.*pi**2*(-1 + x))
621
 
            fi(3)=(gsq*(L - DLog(mu**2/muf**2) - 2*DLog(1 - x)))/
622
 
     &           (4.*pi**2*(-1 + x))
623
 
            fi(5)=gsq/(4d0*pi**2)*DLog((2d0-x)/(2d0-x+musq_k))/(1d0-x)
624
 
            fi(6)=gsq/(4d0*pi**2)*Dlog((1d0)/(1d0+musq_k_one))/(1d0-x)
625
 
c     adding the alpha dependent term
626
 
            if(zp.gt.alpha_if) then
627
 
               fi(1)=fi(1)+(gsq*((-2*musq_k*DLog((1-zp)/(1-alpha_if)))/x 
628
 
     &              -2*(-1+(1 - x)/x + (1 - x)*x)*DLog(zp/alpha_if) + 
629
 
     &              (2*DLog((alpha_if*(1-x+zp))/((1+alpha_if-x)*zp)))/
630
 
     &              (1 - x)))/(8.*pi**2)
631
 
            endif
632
 
         elseif(musq_k.eq.0d0) then
633
 
            fi(2)=(gsq*((6*L_one**2 + pi**2) + 12*rs 
634
 
     &           + (22 - 4*Nf/ca)*DLog(mu**2/muf**2)))/(96.*pi**2)
635
 
            fi(1)=(gsq*((-1 + x*(2 + (-1 + x)*x))*
636
 
     &           (L-DLog(mu**2/muf**2)-DLog(1-x))-
637
 
     &           x*Dlog(2-x)/(1-x)))/(4.*pi**2*x)
638
 
            fi(4)=(gsq*(L_one-DLog(mu**2/muf**2)-2*DLog(1-x)))/
639
 
     &           (4.*pi**2*(-1 + x))
640
 
            fi(3)=(gsq*(L-DLog(mu**2/muf**2)-2*DLog(1-x)))/
641
 
     &           (4.*pi**2*(-1 + x))
642
 
c     adding the alpha dependent term
643
 
            if(zp.gt.alpha_if) then
644
 
               fi(1)=fi(1)+(gsq*((1 - 3*x + 3*x**2 
645
 
     &              - 2*x**3 + x**4)*DLog(zp/alpha_if) - 
646
 
     &              x*DLog((alpha_if*(1 - x + zp))/
647
 
     &              ((1 + alpha_if - x)*zp))))/(4.*pi**2*(-1 + x)*x)
648
 
            endif
649
 
         endif
650
 
      endif
651
 
 
652
 
      end
653
 
 
654
 
 
655
 
      SUBROUTINE finiteii(sik,sikzone,x,id1,id2,fi)
656
 
c  calculates the finite terms when both emitter
657
 
c  and spectator are in the initial state.
658
 
      implicit none
659
 
      include "coupl.inc"
660
 
      include "dipole.inc"
661
 
 
662
 
c Arguments
663
 
      REAL*8 sik,sikzone,x,fi(9)
664
 
      INTEGER id1,id2
665
 
c Global
666
 
      REAL*8 ddilog
667
 
      external ddilog
668
 
c Local
669
 
      INTEGER i
670
 
      REAl*8 cf,ca,pi,gsq
671
 
      REAL*8 L,L_one,rs
672
 
      PARAMETER (cf=4d0/3d0,ca=3d0)
673
 
      PARAMETER (pi=3.1415926535897932385d0)
674
 
 
675
 
      gsq=GG(1)**2
676
 
      L=dlog(mu**2/sik)
677
 
      L_one=dlog(mu**2/sikzone)
678
 
 
679
 
      do i=1,9
680
 
         fi(i)=0d0
681
 
      enddo
682
 
 
683
 
c quark-quark splitting (i:quark, ij~: quark)
684
 
      if(id1 .eq.1.and.id2.eq.1) then
685
 
         if(scheme .eq. 'HV') then
686
 
            rs=0d0
687
 
         elseif(scheme .eq. 'DR') then
688
 
            rs=-1d0/2d0
689
 
         endif
690
 
         fi(2)=(gsq*(2*L_one**2-pi**2+4*rs+6*DLog(mu**2/muf**2)))/
691
 
     &        (32.*pi**2)
692
 
         fi(1)=-(gsq*(-1 + x + (-1 - x)*(L -dLog(mu**2/muf**2)) 
693
 
     &        + 2*(1 + x)*dLog(1 - x)))/(8.*pi**2)
694
 
         fi(4)=-(gsq*((2*(L_one - dLog(mu**2/muf**2)))/(1 - x)
695
 
     &        + (4*dLog(1 - x))/(-1 + x)))/(8.*pi**2)
696
 
         fi(3)=-(gsq*((2*(L - dLog(mu**2/muf**2)))/(1 - x)
697
 
     &        + (4*dLog(1 - x))/(-1 + x)))/(8.*pi**2)
698
 
c     adding the alpha dependent term
699
 
         if((1d0-x).gt.alpha_ii) then
700
 
            fi(1)=fi(1)+(gsq*(1+x**2)*DLog(alpha_ii/(1-x)))/
701
 
     &           (8.*pi**2*(1-x))
702
 
         endif
703
 
 
704
 
 
705
 
c quark-gluon splitting (i:quark, ij~:gluon)
706
 
      elseif(id1.eq.1.and.id2.eq.0) then
707
 
         fi(1)=(cf*gsq*(x**2 - L*(2 + (-2 + x)*x)
708
 
     &        +(2 + (-2 + x)*x)*dLog(mu**2/muf**2) + 
709
 
     &        2*(2 + (-2 + x)*x)*DLog(1 - x)))/(8.*pi**2*x)/ca
710
 
c     adding the alpha dependent term
711
 
         if((1d0-x).gt.alpha_ii) then
712
 
            fi(1)=fi(1)+(cf*gsq*(1+(1-x)**2)*DLog(alpha_ii/(1-x)))/
713
 
     &           (8.*pi**2*x)/ca
714
 
         endif
715
 
 
716
 
 
717
 
c gluon-quark splitting (i:gluon, ij~:quark)
718
 
      elseif(id1.eq.0.and.id2.eq.1) then
719
 
         fi(1)=(gsq*(-L + 2*(1 + L)*x - 2*(1 + L)*x**2 
720
 
     &        + (1 + 2*(-1 + x)*x)*DLog(mu**2/muf**2) + 
721
 
     &        (2 + 4*(-1 + x)*x)*DLog(1 - x)))/(16.*pi**2)/cf
722
 
c adding the alpha dependent term
723
 
         if((1d0-x).gt.alpha_ii) then
724
 
            fi(1)=fi(1)+(gsq*((1-x)**2+x**2)*DLog(alpha_ii/(1-x)))/
725
 
     &           (16.*pi**2)/cf
726
 
         endif
727
 
 
728
 
c gluon-gluon splitting (i:gluon, ij~:gluon)
729
 
      elseif(id1.eq.0.and.id2.eq.0) then
730
 
         if(scheme .eq. 'HV') then
731
 
            rs=0d0
732
 
         elseif(scheme .eq. 'DR') then
733
 
            rs=-1d0/6d0
734
 
         endif
735
 
         fi(2)=(gsq*(6*L_one**2 - 3*pi**2 + 12*rs + (22 -
736
 
     &        4*Nf/ca)*DLog(mu**2/muf**2)))/(96.*pi**2)
737
 
         fi(1)=(gsq*(-1 + x*(2 + (-1 + x)*x))*
738
 
     &        (L-DLog(mu**2/muf**2)-2*DLog(1-x)))/(4.*pi**2*x)
739
 
         fi(4)=-(gsq*((2*(L_one-DLog(mu**2/muf**2)))/(1 - x)
740
 
     &        + (4*DLog(1 - x))/(-1 + x)))/(8.*pi**2)
741
 
         fi(3)=-(gsq*((2*(L-DLog(mu**2/muf**2)))/(1 - x)
742
 
     &        + (4*DLog(1 - x))/(-1 + x)))/(8.*pi**2)
743
 
c adding the alpha dependent term
744
 
         if((1d0-x).gt.alpha_ii) then
745
 
            fi(1)=fi(1)+(gsq*(-1+(1-x)*x)**2*DLog(alpha_ii/(1-x)))/
746
 
     &           (4.*pi**2*(1-x)*x)
747
 
         endif
748
 
      endif
749
 
      end
750
 
 
751
 
 
752
 
*
753
 
* dilog64.F,v 1.1.1.1 1996/04/01 15:02:05 mclareni
754
 
*
755
 
* Revision 1.1.1.1  1996/04/01 15:02:05  mclareni
756
 
* Mathlib gen
757
 
*
758
 
*
759
 
      FUNCTION DDILOG(X)
760
 
*
761
 
* imp64.inc,v 1.1.1.1 1996/04/01 15:02:59 mclareni Exp
762
 
*
763
 
* Revision 1.1.1.1  1996/04/01 15:02:59  mclareni
764
 
* Mathlib gen
765
 
*
766
 
*
767
 
* imp64.inc
768
 
*
769
 
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
770
 
      DIMENSION C(0:19)
771
 
      PARAMETER (Z1 = 1, HF = Z1/2)
772
 
      PARAMETER (PI = 3.14159 26535 89793 24D0)
773
 
      PARAMETER (PI3 = PI**2/3, PI6 = PI**2/6, PI12 = PI**2/12)
774
 
      DATA C( 0) / 0.42996 69356 08136 97D0/
775
 
      DATA C( 1) / 0.40975 98753 30771 05D0/
776
 
      DATA C( 2) /-0.01858 84366 50145 92D0/
777
 
      DATA C( 3) / 0.00145 75108 40622 68D0/
778
 
      DATA C( 4) /-0.00014 30418 44423 40D0/
779
 
      DATA C( 5) / 0.00001 58841 55418 80D0/
780
 
      DATA C( 6) /-0.00000 19078 49593 87D0/
781
 
      DATA C( 7) / 0.00000 02419 51808 54D0/
782
 
      DATA C( 8) /-0.00000 00319 33412 74D0/
783
 
      DATA C( 9) / 0.00000 00043 45450 63D0/
784
 
      DATA C(10) /-0.00000 00006 05784 80D0/
785
 
      DATA C(11) / 0.00000 00000 86120 98D0/
786
 
      DATA C(12) /-0.00000 00000 12443 32D0/
787
 
      DATA C(13) / 0.00000 00000 01822 56D0/
788
 
      DATA C(14) /-0.00000 00000 00270 07D0/
789
 
      DATA C(15) / 0.00000 00000 00040 42D0/
790
 
      DATA C(16) /-0.00000 00000 00006 10D0/
791
 
      DATA C(17) / 0.00000 00000 00000 93D0/
792
 
      DATA C(18) /-0.00000 00000 00000 14D0/
793
 
      DATA C(19) /+0.00000 00000 00000 02D0/
794
 
      IF(X .EQ. 1) THEN
795
 
       H=PI6
796
 
      ELSEIF(X .EQ. -1) THEN
797
 
       H=-PI12
798
 
      ELSE
799
 
       T=-X
800
 
       IF(T .LE. -2) THEN
801
 
        Y=-1/(1+T)
802
 
        S=1
803
 
        A=-PI3+HF*(LOG(-T)**2-LOG(1+1/T)**2)
804
 
       ELSEIF(T .LT. -1) THEN
805
 
        Y=-1-T
806
 
        S=-1
807
 
        A=LOG(-T)
808
 
        A=-PI6+A*(A+LOG(1+1/T))
809
 
       ELSE IF(T .LE. -HF) THEN
810
 
        Y=-(1+T)/T
811
 
        S=1
812
 
        A=LOG(-T)
813
 
        A=-PI6+A*(-HF*A+LOG(1+T))
814
 
       ELSE IF(T .LT. 0) THEN
815
 
        Y=-T/(1+T)
816
 
        S=-1
817
 
        A=HF*LOG(1+T)**2
818
 
       ELSE IF(T .LE. 1) THEN
819
 
        Y=T
820
 
        S=1
821
 
        A=0
822
 
       ELSE
823
 
        Y=1/T
824
 
        S=-1
825
 
        A=PI6+HF*LOG(T)**2
826
 
       ENDIF
827
 
       H=Y+Y-1
828
 
       ALFA=H+H
829
 
       B1=0
830
 
       B2=0
831
 
       DO 1 I = 19,0,-1
832
 
       B0=C(I)+ALFA*B1-B2
833
 
       B2=B1
834
 
    1  B1=B0
835
 
       H=-(S*(B0-H*B2)+A)
836
 
      ENDIF
837
 
      DDILOG=H
838
 
      RETURN
839
 
      END
840
 
 
841
 
 
842
 
 
843
 
 
844
 
 
845