ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ulalps.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ulalps.f
1 
2 C*********************************************************************
3 
4  FUNCTION ulalps(Q2)
5 
6 C...Purpose: to give the value of alpha_strong.
7  common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
8  SAVE /ludat1/
9  common/ludat2/kchg(500,3),pmas(500,4),parf(2000),vckm(4,4)
10  SAVE /ludat2/
11 
12 C...Constant alpha_strong trivial.
13  IF(mstu(111).LE.0) THEN
14  ulalps=paru(111)
15  mstu(118)=mstu(112)
16  paru(117)=0.
17  paru(118)=paru(111)
18  RETURN
19  ENDIF
20 
21 C...Find effective Q2, number of flavours and Lambda.
22  q2eff=q2
23  IF(mstu(115).GE.2) q2eff=max(q2,paru(114))
24  nf=mstu(112)
25  alam2=paru(112)**2
26  100 IF(nf.GT.max(2,mstu(113))) THEN
27  q2thr=paru(113)*pmas(nf,1)**2
28  IF(q2eff.LT.q2thr) THEN
29  nf=nf-1
30  alam2=alam2*(q2thr/alam2)**(2./(33.-2.*nf))
31  goto 100
32  ENDIF
33  ENDIF
34  110 IF(nf.LT.min(8,mstu(114))) THEN
35  q2thr=paru(113)*pmas(nf+1,1)**2
36  IF(q2eff.GT.q2thr) THEN
37  nf=nf+1
38  alam2=alam2*(alam2/q2thr)**(2./(33.-2.*nf))
39  goto 110
40  ENDIF
41  ENDIF
42  IF(mstu(115).EQ.1) q2eff=q2eff+alam2
43  paru(117)=sqrt(alam2)
44 
45 C...Evaluate first or second order alpha_strong.
46  b0=(33.-2.*nf)/6.
47  algq=log(q2eff/alam2)
48  IF(mstu(111).EQ.1) THEN
49  ulalps=paru(2)/(b0*algq)
50  ELSE
51  b1=(153.-19.*nf)/6.
52  ulalps=paru(2)/(b0*algq)*(1.-b1*log(algq)/(b0**2*algq))
53  ENDIF
54  mstu(118)=nf
55  paru(118)=ulalps
56 
57  RETURN
58  END