]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hipyset1_35/luxtot_hijing.F
Code cleanup
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / luxtot_hijing.F
CommitLineData
e74335a4 1* $Id$
2
3C*********************************************************************
4
5 SUBROUTINE LUXTOT_HIJING(KFL,ECM,XTOT)
6
7C...Purpose: to calculate total cross-section, including initial
8C...state radiation effects.
9#include "ludat1_hijing.inc"
10#include "ludat2_hijing.inc"
11
12C...Status, (optimized) Q^2 scale, alpha_strong.
13 PARJ(151)=ECM
14 MSTJ(119)=10*MSTJ(102)+KFL
15 IF(MSTJ(111).EQ.0) THEN
16 Q2R=ECM**2
17 ELSEIF(MSTU(111).EQ.0) THEN
18 PARJ(168)=MIN(1.,MAX(PARJ(128),EXP(-12.*PARU(1)/
19 & ((33.-2.*MSTU(112))*PARU(111)))))
20 Q2R=PARJ(168)*ECM**2
21 ELSE
22 PARJ(168)=MIN(1.,MAX(PARJ(128),PARU(112)/ECM,
23 & (2.*PARU(112)/ECM)**2))
24 Q2R=PARJ(168)*ECM**2
25 ENDIF
26 ALSPI=ULALPS_HIJING(Q2R)/PARU(1)
27
28C...QCD corrections factor in R.
29 IF(MSTJ(101).EQ.0.OR.MSTJ(109).EQ.1) THEN
30 RQCD=1.
31 ELSEIF(IABS(MSTJ(101)).EQ.1.AND.MSTJ(109).EQ.0) THEN
32 RQCD=1.+ALSPI
33 ELSEIF(MSTJ(109).EQ.0) THEN
34 RQCD=1.+ALSPI+(1.986-0.115*MSTU(118))*ALSPI**2
35 IF(MSTJ(111).EQ.1) RQCD=MAX(1.,RQCD+(33.-2.*MSTU(112))/12.*
36 & LOG(PARJ(168))*ALSPI**2)
37 ELSEIF(IABS(MSTJ(101)).EQ.1) THEN
38 RQCD=1.+(3./4.)*ALSPI
39 ELSE
40 RQCD=1.+(3./4.)*ALSPI-(3./32.+0.519*MSTU(118))*ALSPI**2
41 ENDIF
42
43C...Calculate Z0 width if default value not acceptable.
44 IF(MSTJ(102).GE.3) THEN
45 RVA=3.*(3.+(4.*PARU(102)-1.)**2)+6.*RQCD*(2.+(1.-8.*PARU(102)/
46 & 3.)**2+(4.*PARU(102)/3.-1.)**2)
47 DO 100 KFLC=5,6
48 VQ=1.
49 IF(MOD(MSTJ(103),2).EQ.1) VQ=SQRT(MAX(0.,1.-(2.
50 $ *ULMASS_HIJING(KFLC)/ECM)**2))
51 IF(KFLC.EQ.5) VF=4.*PARU(102)/3.-1.
52 IF(KFLC.EQ.6) VF=1.-8.*PARU(102)/3.
53 100 RVA=RVA+3.*RQCD*(0.5*VQ*(3.-VQ**2)*VF**2+VQ**3)
54 PARJ(124)=PARU(101)*PARJ(123)*RVA/(48.*PARU(102)*(1.-PARU(102)))
55 ENDIF
56
57C...Calculate propagator and related constants for QFD case.
58 POLL=1.-PARJ(131)*PARJ(132)
59 IF(MSTJ(102).GE.2) THEN
60 SFF=1./(16.*PARU(102)*(1.-PARU(102)))
61 SFW=ECM**4/((ECM**2-PARJ(123)**2)**2+(PARJ(123)*PARJ(124))**2)
62 SFI=SFW*(1.-(PARJ(123)/ECM)**2)
63 VE=4.*PARU(102)-1.
64 SF1I=SFF*(VE*POLL+PARJ(132)-PARJ(131))
65 SF1W=SFF**2*((VE**2+1.)*POLL+2.*VE*(PARJ(132)-PARJ(131)))
66 HF1I=SFI*SF1I
67 HF1W=SFW*SF1W
68 ENDIF
69
70C...Loop over different flavours: charge, velocity.
71 RTOT=0.
72 RQQ=0.
73 RQV=0.
74 RVA=0.
75 DO 110 KFLC=1,MAX(MSTJ(104),KFL)
76 IF(KFL.GT.0.AND.KFLC.NE.KFL) GOTO 110
77 MSTJ(93)=1
78 PMQ=ULMASS_HIJING(KFLC)
79 IF(ECM.LT.2.*PMQ+PARJ(127)) GOTO 110
80 QF=KCHG(KFLC,1)/3.
81 VQ=1.
82 IF(MOD(MSTJ(103),2).EQ.1) VQ=SQRT(1.-(2.*PMQ/ECM)**2)
83
84C...Calculate R and sum of charges for QED or QFD case.
85 RQQ=RQQ+3.*QF**2*POLL
86 IF(MSTJ(102).LE.1) THEN
87 RTOT=RTOT+3.*0.5*VQ*(3.-VQ**2)*QF**2*POLL
88 ELSE
89 VF=SIGN(1.,QF)-4.*QF*PARU(102)
90 RQV=RQV-6.*QF*VF*SF1I
91 RVA=RVA+3.*(VF**2+1.)*SF1W
92 RTOT=RTOT+3.*(0.5*VQ*(3.-VQ**2)*(QF**2*POLL-2.*QF*VF*HF1I+
93 & VF**2*HF1W)+VQ**3*HF1W)
94 ENDIF
95 110 CONTINUE
96 RSUM=RQQ
97 IF(MSTJ(102).GE.2) RSUM=RQQ+SFI*RQV+SFW*RVA
98
99C...Calculate cross-section, including QCD corrections.
100 PARJ(141)=RQQ
101 PARJ(142)=RTOT
102 PARJ(143)=RTOT*RQCD
103 PARJ(144)=PARJ(143)
104 PARJ(145)=PARJ(141)*86.8/ECM**2
105 PARJ(146)=PARJ(142)*86.8/ECM**2
106 PARJ(147)=PARJ(143)*86.8/ECM**2
107 PARJ(148)=PARJ(147)
108 PARJ(157)=RSUM*RQCD
109 PARJ(158)=0.
110 PARJ(159)=0.
111 XTOT=PARJ(147)
112 IF(MSTJ(107).LE.0) RETURN
113
114C...Virtual cross-section.
115 XKL=PARJ(135)
116 XKU=MIN(PARJ(136),1.-(2.*PARJ(127)/ECM)**2)
117 ALE=2.*LOG(ECM/ULMASS_HIJING(11))-1.
118 SIGV=ALE/3.+2.*LOG(ECM**2/(ULMASS_HIJING(13)*ULMASS_HIJING(15)))/3
119 $ .-4./3.+1.526*LOG(ECM**2/0.932)
120
121C...Soft and hard radiative cross-section in QED case.
122 IF(MSTJ(102).LE.1) THEN
123 SIGV=1.5*ALE-0.5+PARU(1)**2/3.+2.*SIGV
124 SIGS=ALE*(2.*LOG(XKL)-LOG(1.-XKL)-XKL)
125 SIGH=ALE*(2.*LOG(XKU/XKL)-LOG((1.-XKU)/(1.-XKL))-(XKU-XKL))
126
127C...Soft and hard radiative cross-section in QFD case.
128 ELSE
129 SZM=1.-(PARJ(123)/ECM)**2
130 SZW=PARJ(123)*PARJ(124)/ECM**2
131 PARJ(161)=-RQQ/RSUM
132 PARJ(162)=-(RQQ+RQV+RVA)/RSUM
133 PARJ(163)=(RQV*(1.-0.5*SZM-SFI)+RVA*(1.5-SZM-SFW))/RSUM
134 PARJ(164)=(RQV*SZW**2*(1.-2.*SFW)+RVA*(2.*SFI+SZW**2-4.+3.*SZM-
135 & SZM**2))/(SZW*RSUM)
136 SIGV=1.5*ALE-0.5+PARU(1)**2/3.+((2.*RQQ+SFI*RQV)/RSUM)*SIGV+
137 & (SZW*SFW*RQV/RSUM)*PARU(1)*20./9.
138 SIGS=ALE*(2.*LOG(XKL)+PARJ(161)*LOG(1.-XKL)+PARJ(162)*XKL+
139 & PARJ(163)*LOG(((XKL-SZM)**2+SZW**2)/(SZM**2+SZW**2))+
140 & PARJ(164)*(ATAN((XKL-SZM)/SZW)-ATAN(-SZM/SZW)))
141 SIGH=ALE*(2.*LOG(XKU/XKL)+PARJ(161)*LOG((1.-XKU)/(1.-XKL))+
142 & PARJ(162)*(XKU-XKL)+PARJ(163)*LOG(((XKU-SZM)**2+SZW**2)/
143 & ((XKL-SZM)**2+SZW**2))+PARJ(164)*(ATAN((XKU-SZM)/SZW)-
144 & ATAN((XKL-SZM)/SZW)))
145 ENDIF
146
147C...Total cross-section and fraction of hard photon events.
148 PARJ(160)=SIGH/(PARU(1)/PARU(101)+SIGV+SIGS+SIGH)
149 PARJ(157)=RSUM*(1.+(PARU(101)/PARU(1))*(SIGV+SIGS+SIGH))*RQCD
150 PARJ(144)=PARJ(157)
151 PARJ(148)=PARJ(144)*86.8/ECM**2
152 XTOT=PARJ(148)
153
154 RETURN
155 END