]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/shaker/ulalps.f
Syntax problems on HP-UX corrected
[u/mrichter/AliRoot.git] / PHOS / shaker / ulalps.f
CommitLineData
fe4da5cc 1*CMZ : 17/07/98 15.44.33 by Federico Carminati
2*-- Author :
3C*********************************************************************
4
5 FUNCTION ULALPS(Q2)
6
7C...Purpose: to give the value of alpha_strong.
8*KEEP,LUDAT1.
9 COMMON /LUDAT1/ MSTU(200),PARU(200),MSTJ(200),PARJ(200)
10 SAVE /LUDAT1/
11*KEEP,LUDAT2.
12 COMMON /LUDAT2/ KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4)
13 SAVE /LUDAT2/
14*KEND.
15
16C...Constant alpha_strong trivial.
17 IF(MSTU(111).LE.0) THEN
18 ULALPS=PARU(111)
19 MSTU(118)=MSTU(112)
20 PARU(117)=0.
21 PARU(118)=PARU(111)
22 RETURN
23 ENDIF
24
25C...Find effective Q2, number of flavours and Lambda.
26 Q2EFF=Q2
27 IF(MSTU(115).GE.2) Q2EFF=MAX(Q2,PARU(114))
28 NF=MSTU(112)
29 ALAM2=PARU(112)**2
30 100 IF(NF.GT.MAX(2,MSTU(113))) THEN
31 Q2THR=PARU(113)*PMAS(NF,1)**2
32 IF(Q2EFF.LT.Q2THR) THEN
33 NF=NF-1
34 ALAM2=ALAM2*(Q2THR/ALAM2)**(2./(33.-2.*NF))
35 GOTO 100
36 ENDIF
37 ENDIF
38 110 IF(NF.LT.MIN(8,MSTU(114))) THEN
39 Q2THR=PARU(113)*PMAS(NF+1,1)**2
40 IF(Q2EFF.GT.Q2THR) THEN
41 NF=NF+1
42 ALAM2=ALAM2*(ALAM2/Q2THR)**(2./(33.-2.*NF))
43 GOTO 110
44 ENDIF
45 ENDIF
46 IF(MSTU(115).EQ.1) Q2EFF=Q2EFF+ALAM2
47 PARU(117)=SQRT(ALAM2)
48
49C...Evaluate first or second order alpha_strong.
50 B0=(33.-2.*NF)/6.
51 ALGQ=LOG(MAX(1.0001,Q2EFF/ALAM2))
52 IF(MSTU(111).EQ.1) THEN
53 ULALPS=MIN(PARU(115),PARU(2)/(B0*ALGQ))
54 ELSE
55 B1=(153.-19.*NF)/6.
56 ULALPS=MIN(PARU(115),PARU(2)/(B0*ALGQ)*(1.-B1*LOG(ALGQ)/
57 & (B0**2*ALGQ)))
58 ENDIF
59 MSTU(118)=NF
60 PARU(118)=ULALPS
61
62 RETURN
63 END