5 * Revision 1.3 1996/10/30 11:05:22 cernlib
8 * Revision 1.1.1.2 1996/10/30 08:32:07 cernlib
11 * Revision 1.2 1996/05/31 13:57:48 pdflib
14 * Revision 1.1.1.1 1996/04/12 15:29:01 plothow
18 #include "pdf/pilot.h"
19 C-----------------------------------------------------------------------
20 #if defined(CERNLIB_SINGLE)
21 FUNCTION ALPHAS2(SCALE)
23 #if defined(CERNLIB_DOUBLE)
24 DOUBLE PRECISION FUNCTION ALPHAS2(SCALE)
28 C **********************************************************************
30 C * Program to calculate alfa strong to second order *
31 C * as a function of lambda of 5 flavours *
32 C * and the desired number of flavours (NFL) *
33 C * for the selected set of structure functions which fixes lambda. *
34 C * NFL is limited to max. of 6 flavours. *
35 C * The value of alfa is matched at the thresholds q = mq. *
36 C * When invoked with NFL < 0, it chooses NFL *
37 C * as the number of flavours with mass less then q. *
38 C * (mc = 1.5 GeV, mb = 4.75 GeV, mt = 100 GeV) *
40 C * Input: SCALE = QCD scale in GeV *
42 C * Output: ALPHAS2 = alpha strong to second order, *
45 C * The variables NPTYPE,NGROUP,NSET,NFL,LO,TMAS,QCDL4,QCDL5 *
46 C * should be provided by the user via a call to the *
47 C * subroutine PDFSET at the initialization phase. *
49 C * Author: H. Plothow-Besch (CERN-PPE) *
51 C **********************************************************************
53 #include "pdf/impdp.inc"
55 #include "pdf/w5051p1.inc"
56 #include "pdf/w5051p2.inc"
57 #include "pdf/w5051p7.inc"
58 #include "pdf/w50510.inc"
59 #include "pdf/w50511.inc"
60 #include "pdf/w50512.inc"
61 #include "pdf/w50513.inc"
62 #include "pdf/w50515.inc"
63 #include "pdf/w50516.inc"
64 #include "pdf/w50517.inc"
65 #include "pdf/w50519.inc"
66 #include "pdf/w505120.inc"
67 #include "pdf/w505121.inc"
69 #include "pdf/expdp.inc"
71 CHARACTER*20 PARM(NCHDIM)
72 #include "pdf/expdp.inc"
74 DATA XMC/1.5D0/,XMB/4.75D0/,XMT/100.D0/
75 DATA ZEROD/0.D0/,PONED/0.001D0/,ONED/1.D0/,TWOD/2.D0/
77 C. initialization of the parameters for the coupling constant
79 C. QCDL4 : QCD scale, which is matched to the scale used in the
80 C. parton distribution function chosen above for 4 flavours.
82 C. QCDL5 : QCD scale, which is matched to the scale used in the
83 C. parton distribution function chosen above.
85 C. be aware, this lambda is given for 5 flavours (mb = 4.75 GeV/c**2) !!
88 C set the default values
94 #include "pdf/w50511c.inc"
96 C User wants new version (4.0 or bigger) of PDFLIB format
99 WRITE(N6,*) ' Warning : NO initialisation via PDFSET made !!'
101 + ' ALL Parameters set to default (Nucleon PDFs) !!'
114 CALL PDFSET(PARM,VAL)
117 C User wants old version (3.0 or less) of PDFLIB format
119 IF (MODE .GE.0 .AND. MODE .LE.MODEMX) THEN
125 NPTYPE = NPTYCR(MODE)
126 NGROUP = NGROCR(MODE)
128 C Check on validity of parameter values
129 IF (NPTYPE.LT.0 .OR. NGROUP.LT.0 .OR. NSET.LT.0) THEN
131 WRITE(N6,*) ' PDFLIB : MODE value INCORRECT, MODE = ',
133 WRITE(N6,*) ' Warning : MODE value set to OLD default !!'
143 IF (QCDL5 .LE. PONED) THEN
145 WRITE (N6,*) ' PDFLIB: QCD-Lambda5 is not defined !! '
152 B6 = (33.D0-2.D0*6.D0)/PI/12.D0
153 BP6 = (153.D0 - 19.D0*6.D0) / PI / TWOD / (33.D0 - 2.D0*6.D0)
154 B5 = (33.D0-2.D0*5.D0)/PI/12.D0
155 BP5 = (153.D0 - 19.D0*5.D0) / PI / TWOD / (33.D0 - 2.D0*5.D0)
156 B4 = (33.D0-2.D0*4.D0)/PI/12.D0
157 BP4 = (153.D0 - 19.D0*4.D0) / PI / TWOD / (33.D0 - 2.D0*4.D0)
158 B3 = (33.D0-2.D0*3.D0)/PI/12.D0
159 BP3 = (153.D0 - 19.D0*3.D0) / PI / TWOD / (33.D0 - 2.D0*3.D0)
160 XLC = TWOD * LOG( XMC/QCDL5)
161 XLB = TWOD * LOG( XMB/QCDL5)
162 XLT = TWOD * LOG( XMT/QCDL5 * TMAS/XMT)
166 C65 = ONED/( ONED/(B5 * XLT) - XLLT*BP5/(B5 * XLT)**2 )
167 + - ONED/( ONED/(B6 * XLT) - XLLT*BP6/(B6 * XLT)**2 )
168 C45 = ONED/( ONED/(B5 * XLB) - XLLB*BP5/(B5 * XLB)**2 )
169 + - ONED/( ONED/(B4 * XLB) - XLLB*BP4/(B4 * XLB)**2 )
170 C35 = ONED/( ONED/(B4 * XLC) - XLLC*BP4/(B4 * XLC)**2 )
171 + - ONED/( ONED/(B3 * XLC) - XLLC*BP3/(B3 * XLC)**2 ) + C45
174 XLQ = TWOD * LOG( Q/QCDL5 )
178 IF ( NF .LT. ZEROD) THEN
179 IF ( Q .GT. XMT * TMAS/XMT) THEN
181 ELSEIF ( Q .GT. XMB ) THEN
183 ELSEIF ( Q .GT. XMC ) THEN
189 IF(NF .GT. 6.D0) NF = 6.D0
190 IF ( NF .EQ. 6.D0 ) THEN
191 ALF = ONED/(ONED/(ONED/(B6*XLQ)- BP6/(B6*XLQ)**2*XLLQ) + C65)
192 IF (LO.EQ.1) ALF = ONED/B6/XLQ
193 ELSEIF ( NF .EQ. 5.D0 ) THEN
194 ALF = ONED/(B5 * XLQ) - BP5/(B5 * XLQ)**2 * XLLQ
195 IF (LO.EQ.1) ALF = ONED/B5/XLQ
196 ELSEIF ( NF .EQ. 4.D0 ) THEN
197 ALF = ONED/(ONED/(ONED/(B4*XLQ)- BP4/(B4*XLQ)**2*XLLQ) + C45)
198 IF (LO.EQ.1) ALF = ONED/B4/XLQ
199 ELSEIF ( NF .EQ. 3.D0 ) THEN
200 ALF = ONED/(ONED/(ONED/(B3*XLQ)- BP3/(B3*XLQ)**2*XLLQ) + C35)
201 IF (LO.EQ.1) ALF = ONED/B3/XLQ
203 WRITE(N6,*)'Error in Alphas2: unimplemented # of light flavours',