Merging the VirtualMC branch to the main development branch (HEAD)
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / ulalps_hijing.F
1 * $Id$
2     
3 C*********************************************************************  
4     
5       FUNCTION ULALPS_HIJING(Q2)   
6     
7 C...Purpose: to give the value of alpha_strong. 
8 #include "ludat1_hijing.inc"
9 #include "ludat2_hijing.inc"
10     
11 C...Constant alpha_strong trivial.  
12       IF(MSTU(111).LE.0) THEN   
13         ULALPS_HIJING=PARU(111)    
14         MSTU(118)=MSTU(112) 
15         PARU(117)=0.    
16         PARU(118)=PARU(111) 
17         RETURN  
18       ENDIF 
19     
20 C...Find effective Q2, number of flavours and Lambda.   
21       Q2EFF=Q2  
22       IF(MSTU(115).GE.2) Q2EFF=MAX(Q2,PARU(114))    
23       NF=MSTU(112)  
24       ALAM2=PARU(112)**2    
25   100 IF(NF.GT.MAX(2,MSTU(113))) THEN   
26         Q2THR=PARU(113)*PMAS(NF,1)**2   
27         IF(Q2EFF.LT.Q2THR) THEN 
28           NF=NF-1   
29           ALAM2=ALAM2*(Q2THR/ALAM2)**(2./(33.-2.*NF))   
30           GOTO 100  
31         ENDIF   
32       ENDIF 
33   110 IF(NF.LT.MIN(8,MSTU(114))) THEN   
34         Q2THR=PARU(113)*PMAS(NF+1,1)**2 
35         IF(Q2EFF.GT.Q2THR) THEN 
36           NF=NF+1   
37           ALAM2=ALAM2*(ALAM2/Q2THR)**(2./(33.-2.*NF))   
38           GOTO 110  
39         ENDIF   
40       ENDIF 
41       IF(MSTU(115).EQ.1) Q2EFF=Q2EFF+ALAM2  
42       PARU(117)=SQRT(ALAM2) 
43     
44 C...Evaluate first or second order alpha_strong.    
45       B0=(33.-2.*NF)/6. 
46       ALGQ=LOG(Q2EFF/ALAM2) 
47       IF(MSTU(111).EQ.1) THEN   
48         ULALPS_HIJING=PARU(2)/(B0*ALGQ)    
49       ELSE  
50         B1=(153.-19.*NF)/6. 
51         ULALPS_HIJING=PARU(2)/(B0*ALGQ)*(1.-B1*LOG(ALGQ)/(B0**2*ALGQ)) 
52       ENDIF 
53       MSTU(118)=NF  
54       PARU(118)=ULALPS_HIJING  
55     
56       RETURN    
57       END