More volume overlaps corrected
[u/mrichter/AliRoot.git] / ISAJET / code / sigtc.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE SIGTC
3C
4C Compute the integrated technirho cross section
5C d(sigma)/d(qmw**2)d(yw) = d(sigma)/d(qmw**2)*f(x1)*f(x2)/scm
6C including W-technirho mixing from EHLQ 6.22 and 6.23 and
7C elastic resonance in longitudinal WW fusion.
8C
9C Use WTYPE for control with
10C WTYPE = 2 3 4
11C rho+ rho- rho0
12C
13C SIGMA = cross section summed over allowed types.
14C SIGS(I) = partial cross section for I1 + I2 --> I3 + I4.
15C INOUT(I) = IOPAK**3*I4 + IOPAK**2*I3 + IOPAK*I2 + I1
16C using JETTYPE code.
17C
18#if defined(CERNLIB_IMPNONE)
19 IMPLICIT NONE
20#endif
21#include "isajet/itapes.inc"
22#include "isajet/qcdpar.inc"
23#include "isajet/jetpar.inc"
24#include "isajet/primar.inc"
25#include "isajet/q1q2.inc"
26#include "isajet/jetsig.inc"
27#include "isajet/qsave.inc"
28#include "isajet/wcon.inc"
29#include "isajet/const.inc"
30#include "isajet/jetlim.inc"
31#include "isajet/hcon.inc"
32#include "isajet/tcpar.inc"
33C
34 REAL AMQCUR(6),WTHELI(4),FINT(9),X(2)
35 EQUIVALENCE (S,SHAT),(T,THAT),(U,UHAT),(X(1),X1)
36 INTEGER MATCHT(4,4)
37 REAL ACOSH,Z,ATANH,AMASS,QMW2,QMZ,EHAT,ANEFF,Q2SAVE,YHAT,EY,AMW,
38 $AMZ,STRUC,STRUCW,WM,ZM,PWWCM,SIG0,S,T,U,FACINV,RATZ,Q1L,Q1R,SIG1,
39 $SIG,QZW
40 INTEGER I,IH,IQ,IW,IQ1,IQ2,IQ3,IQ4,IRHO,LISTW(4)
41C
42 DATA AMQCUR/.005,.009,.175,1.25,4.50,30./
43 DATA LISTW/10,80,-80,90/
44 DATA MATCHT/0,0,0,0, 0,29,0,27, 0,0,29,28, 0,28,27,0/
45C
46C Functions
47 ACOSH(Z)=ALOG(Z+SQRT(Z**2-1.))
48 ATANH(Z)=.5*ALOG((1.+Z)/(1.-Z))
49C
50C Kinematics (identical to Drell-Yan)
51C
52 AMQCUR(6)=AMASS(6)
53 QMW2=QMW**2
54 QTMW=SQRT(QMW2+QTW**2)
55 Q0W=QTMW*COSH(YW)
56 QZW=QTMW*SINH(YW)
57 QW=SQRT(QZW**2+QTW**2)
58 IF(QW.NE.0.) THEN
59 CTHW=QZW/QW
60 STHW=QTW/QW
61 IF(ABS(CTHW).LT.1.) THEN
62 THW=ACOS(CTHW)
63 ELSE
64 CTHW=0.
65 STHW=1.
66 THW=.5*PI
67 ENDIF
68 ELSE
69 CTHW=0.
70 STHW=1.
71 THW=.5*PI
72 ENDIF
73 EHAT=QMW
74 SHAT=QMW**2
75 QSQ=SHAT
76 ANEFF=4.+QSQ/(QSQ+AMASS(5)**2)+QSQ/(QSQ+AMASS(6)**2)
77 ALFQSQ=12.*PI/((33.-ANEFF)*ALOG(QSQ/ALAM2))
78 Q2SAVE=QSQ
79 YHAT=YW
80 EY=EXP(YHAT)
81 X1=EHAT/ECM*EY
82 X2=EHAT/(ECM*EY)
83C
84C Initialize
85C
86 SIGMA=0.
87 NSIGS=0
88 DO 100 I=1,MXSIGS
89100 SIGS(I)=0
90C
91 IF(X1.GE.1..OR.X2.GE.1.) RETURN
92 AMW=WMASS(2)
93 AMZ=WMASS(4)
94C
95C Compute structure functions
96C
97 DO 110 IH=1,2
98 DO 120 IQ=1,13
99120 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
100 DO 130 IQ=14,26
101130 QSAVE(IQ,IH)=0.
102 DO 140 IW=2,4
103 AMW=AMASS(LISTW(IW))
104 IF(QMW.GT.2.*AMW) THEN
105 QSAVE(25+IW,IH)=STRUCW(X(IH),IW,IDIN(IH))/X(IH)
106 ELSE
107 QSAVE(25+IW,IH)=0.
108 ENDIF
109140 CONTINUE
110110 CONTINUE
111C
112C qk + qb --> technirho0
113C
114 IF(.NOT.((GOQ(27,1).AND.GOQ(28,2)).OR.(GOQ(28,1).AND.GOQ(27,2))))
115 $GO TO 300
116 WM=WMASS(2)
117 ZM=WMASS(4)
118 IF(QMW.LE.2.*AMW) GO TO 300
119 PWWCM=.5*SQRT(QMW**2-4.*WM**2)
120 SIG0=PI*ALFA**2/(72.*SIN2W*S)*(2.*PWWCM/QMW)**3*X1*X2*UNITS
121 SIG0=SIG0*TCMRHO**2/((S-TCMRHO**2)**2+TCMRHO**2*TCGRHO**2)
122C Initial state sum
123 DO 210 IQ1=2,13
124 IQ2=MATCH(IQ1,4)
125 IF(IQ2.EQ.0) GO TO 210
126 FACINV=2.*SQRT(SIN2W*(1.-SIN2W))
127 RATZ=S/(S-ZM**2)
128 Q1L=AQ(IQ1/2,4)*FACINV
129 Q1R=BQ(IQ1/2,4)*FACINV
130 SIG1=.25*SIG0*(1.-RATZ*Q1L/(Q1R*(1.-SIN2W))
131 $ +RATZ**2*(Q1L**2+Q1R**2)/(4.*(1-SIN2W)**2))
132 $ *QSAVE(IQ1,1)*QSAVE(IQ2,2)
133C Final state sum
134 DO 220 IQ3=27,28
135 IQ4=MATCHT(IQ3-25,4)
136 IF(GOQ(IQ3,1).AND.GOQ(IQ4,2)) THEN
137 SIG=SIG1*TBRWW(IQ3-25,1)*TBRWW(IQ4-25,2)
138 CALL SIGFIL(SIG,IQ1,IQ2,IQ3,IQ4)
139 ENDIF
140220 CONTINUE
141210 CONTINUE
142C
143C W+ + W- -> technirho0 -> W+ + W-
144C
145 SIG0=12*PI/PWWCM**2*TCGRHO**2*X1*X2*UNITS
146 $/((S-TCMRHO**2)**2+TCMRHO**2*TCGRHO**2)
147C Initial state sum
148 DO 230 IQ1=27,28
149 IQ2=MATCHT(IQ1-25,4)
150 SIG1=.25*SIG0*QSAVE(IQ1,1)*QSAVE(IQ2,2)
151C Final state sum
152 DO 240 IQ3=27,28
153 IQ4=MATCHT(IQ3-25,4)
154 IF(GOQ(IQ3,1).AND.GOQ(IQ4,2)) THEN
155 SIG=SIG1*TBRWW(IQ3-25,1)*TBRWW(IQ4-25,2)
156 CALL SIGFIL(SIG,IQ1,IQ2,IQ3,IQ4)
157 ENDIF
158240 CONTINUE
159230 CONTINUE
160C
161C q + qbar -> technirho+-
162C
163300 IF(.NOT.((GOQ(27,1).AND.GOQ(29,2)).OR.(GOQ(28,1).AND.GOQ(29,2))
164 $.OR.(GOQ(29,1).AND.GOQ(27,2)).OR.(GOQ(29,1).AND.GOQ(28,2))))
165 $GO TO 400
166 WM=WMASS(2)
167 ZM=WMASS(4)
168 IF(QMW.LE.WM+ZM) GO TO 400
169 PWWCM=SQRT((S-WM**2-ZM**2)**2-4.*WM**2*ZM**2)/(2.*QMW)
170 SIG0=PI*ALFA**2/(144.*SIN2W)*S/(S-WM**2)**2*(2.*PWWCM/QMW)**3
171 $*X1*X2*UNITS
172 SIG0=SIG0*TCMRHO**2/((S-TCMRHO**2)**2+TCMRHO**2*TCGRHO**2)
173 DO 310 IRHO=2,3
174C Initial state sum
175 DO 320 IQ1=2,13
176 IQ2=MATCH(IQ1,IRHO)
177 IF(IQ2.EQ.0) GO TO 320
178 SIG1=.25*SIG0*QSAVE(IQ1,1)*QSAVE(IQ2,2)
179C Final state sum
180 DO 330 IQ3=27,28
181 IQ4=MATCHT(IQ3-25,IRHO)
182 IF(IQ4.EQ.0) GO TO 330
183 IF(GOQ(IQ3,1).AND.GOQ(IQ4,2)) THEN
184 SIG=SIG1*TBRWW(IQ3-25,1)*TBRWW(IQ4-25,2)
185 CALL SIGFIL(SIG,IQ1,IQ2,IQ3,IQ4)
186 ENDIF
187330 CONTINUE
188320 CONTINUE
189310 CONTINUE
190C
191C W+- + Z0 -> technirho+- -> W+- + Z0
192C
193 SIG0=12*PI/PWWCM**2*TCGRHO**2*X1*X2*UNITS
194 $/((S-TCMRHO**2)**2+TCMRHO**2*TCGRHO**2)
195 DO 340 IRHO=2,3
196C Initial state sum
197 DO 350 IQ1=27,29
198 IQ2=MATCHT(IQ1-25,IRHO)
199 IF(IQ2.EQ.0) GO TO 350
200 SIG1=.25*SIG0*QSAVE(IQ1,1)*QSAVE(IQ2,2)
201C Final state sum
202 DO 360 IQ3=27,29
203 IQ4=MATCHT(IQ3-25,IRHO)
204 IF(IQ4.EQ.0) GO TO 360
205 IF(GOQ(IQ3,1).AND.GOQ(IQ4,2)) THEN
206 SIG=SIG1*TBRWW(IQ3-25,1)*TBRWW(IQ4-25,2)
207 CALL SIGFIL(SIG,IQ1,IQ2,IQ3,IQ4)
208 ENDIF
209360 CONTINUE
210350 CONTINUE
211340 CONTINUE
212C
213400 RETURN
214 END