More volume overlaps corrected
[u/mrichter/AliRoot.git] / ISAJET / code / sigwhs.F
1 #include "isajet/pilot.h"
2       SUBROUTINE SIGWHS
3 C
4 C          Calculate d(sigma)/d(pt**2)d(y1)d(y2) for 
5 C          Wh, WH, Zh, ZH, hA, HA and H+H- production in SUSY
6 C
7 C          SIGMA    = cross section summed over types allowed by
8 C                     JETTYPE cards.
9 C          SIGS(I)  = partial cross section for I1 + I2 --> I3 + I4
10 C          INOUT(I) = IOPAK**3*I4 + IOPAK**2*I3 + IOPAK*I2 +I1
11 C
12 C          Extra factor of 1/2 needed for nonidentical final jets.
13 C          Y=-log(tan(theta/2)) gives jacobean P1*P2/E1*E2
14 C
15 C
16 #if defined(CERNLIB_IMPNONE)
17       IMPLICIT NONE
18 #endif
19 #include "isajet/itapes.inc"
20 #include "isajet/const.inc"
21 #include "isajet/jetpar.inc"
22 #include "isajet/jetsig.inc"
23 #include "isajet/primar.inc"
24 #include "isajet/q1q2.inc"
25 #include "isajet/qcdpar.inc"
26 #include "isajet/wcon.inc"
27 #include "isajet/sspar.inc"
28 C
29       REAL X(2)
30       EQUIVALENCE (X(1),X1)
31       EQUIVALENCE (S,SHAT),(T,THAT),(U,UHAT)
32       REAL SIG,S,T,U,FAC,AMW,AMZ,AMW2,AMZ2,E1,E2,EQ1
33       REAL QFCN,STRUC,SIGHW,SCFAC,BETA,SINW,COS2W
34       REAL PROPZ,PROPW,GV(2),GA(2),AMH,GAMW,GAMZ
35       INTEGER IS2UD(25),IQ,IH,I,IQ1,IQ2,IFLQ
36       SAVE IS2UD
37 C
38 C          IS2UD: Susy jettype -> u/d code
39       DATA IS2UD/0,1,1,2,2,2,2,1,1,2,2,1,1,1,1,2,2,2,2,1,1,2,2,1,1/
40
41 C          Functions
42       QFCN(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
43 C
44 C          Initialize
45       DO 10 I=1,MXSIGS
46 10    SIGS(I)=0.
47       SIGMA=0.
48       NSIGS=0
49 C
50       BETA=ATAN(1./RV2V1)
51       AMW=WMASS(2)
52       AMW2=AMW**2
53       AMZ=WMASS(4)
54       AMZ2=AMZ**2
55       GAMW=WGAM(2)
56       GAMZ=WGAM(4)
57       GV(1)=.25-2*SIN2W/3.
58       GV(2)=-.25+SIN2W/3.
59       GA(1)=-.25
60       GA(2)=.25
61       SINW=SQRT(SIN2W)
62       THW=ASIN(SINW)
63       COS2W=COS(2*THW)
64       DO IH=81,82
65       IF (IH.EQ.81) THEN
66         SCFAC=SIN(ALFAH+BETA)**2
67         AMH=AMHL
68       ELSE
69         SCFAC=COS(ALFAH+BETA)**2
70         AMH=AMHH
71       END IF
72 C
73 C          Wh, WH production via W-*
74 C
75       IF (GOQ(79,1).AND.GOQ(IH,2)) THEN
76           CALL TWOKIN(0.,0.,AMW,AMH)
77           IF(X1.GE.1..OR.X2.GE.1.) GO TO 100
78           E1=SQRT(P(1)**2+AMW**2)
79           E2=SQRT(P(2)**2+AMH**2)
80           FAC=1./(12.*PI*S**2)
81           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
82           PROPW=(S-AMW**2)**2+AMW**2*GAMW**2
83           SIGHW=GF**2*AMW**8*(S/AMW2+(1.-T/AMW2)*(1.-U/AMW2))/
84      $          PROPW*TBRWW(3,1)*SCFAC
85           SIG=.5*SIGHW*FAC*QFCN(3,1)*QFCN(4,2)
86           CALL SIGFIL(SIG,3,4,79,IH)
87           SIG=.5*SIGHW*FAC*QFCN(4,1)*QFCN(3,2)
88           CALL SIGFIL(SIG,4,3,79,IH)
89           SIG=.5*SIGHW*FAC*QFCN(9,1)*QFCN(6,2)
90           CALL SIGFIL(SIG,9,6,79,IH)
91           SIG=.5*SIGHW*FAC*QFCN(6,1)*QFCN(9,2)
92           CALL SIGFIL(SIG,6,9,79,IH)
93 100       CONTINUE
94       END IF
95 C
96       IF (GOQ(IH,1).AND.GOQ(79,2)) THEN
97           CALL TWOKIN(0.,0.,AMH,AMW)
98           IF(X1.GE.1..OR.X2.GE.1.) GO TO 110
99           E1=SQRT(P(1)**2+AMH**2)
100           E2=SQRT(P(2)**2+AMW**2)
101           FAC=1./(12.*PI*S**2)
102           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
103           PROPW=(S-AMW**2)**2+AMW**2*GAMW**2
104           SIGHW=GF**2*AMW**8*(S/AMW2+(1.-T/AMW2)*(1.-U/AMW2))/
105      $          PROPW*TBRWW(3,2)*SCFAC
106           SIG=.5*SIGHW*FAC*QFCN(3,1)*QFCN(4,2)
107           CALL SIGFIL(SIG,3,4,IH,79)
108           SIG=.5*SIGHW*FAC*QFCN(4,1)*QFCN(3,2)
109           CALL SIGFIL(SIG,4,3,IH,79)
110           SIG=.5*SIGHW*FAC*QFCN(9,1)*QFCN(6,2)
111           CALL SIGFIL(SIG,9,6,IH,79)
112           SIG=.5*SIGHW*FAC*QFCN(6,1)*QFCN(9,2)
113           CALL SIGFIL(SIG,6,9,IH,79)
114 110       CONTINUE
115       END IF
116 C
117 C
118 C          Wh, WH production via W+*
119 C
120       IF (GOQ(78,1).AND.GOQ(IH,2)) THEN
121           CALL TWOKIN(0.,0.,AMW,AMH)
122           IF(X1.GE.1..OR.X2.GE.1.) GO TO 120
123           E1=SQRT(P(1)**2+AMW**2)
124           E2=SQRT(P(2)**2+AMH**2)
125           FAC=1./(12.*PI*S**2)
126           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
127           PROPW=(S-AMW**2)**2+AMW**2*GAMW**2
128           SIGHW=GF**2*AMW**8*(S/AMW2+(1.-T/AMW2)*(1.-U/AMW2))/
129      $          PROPW*TBRWW(2,1)*SCFAC
130           SIG=.5*SIGHW*FAC*QFCN(2,1)*QFCN(5,2)
131           CALL SIGFIL(SIG,2,5,78,IH)
132           SIG=.5*SIGHW*FAC*QFCN(5,1)*QFCN(2,2)
133           CALL SIGFIL(SIG,5,2,78,IH)
134           SIG=.5*SIGHW*FAC*QFCN(8,1)*QFCN(7,2)
135           CALL SIGFIL(SIG,8,7,78,IH)
136           SIG=.5*SIGHW*FAC*QFCN(7,1)*QFCN(8,2)
137           CALL SIGFIL(SIG,7,8,78,IH)
138 120       CONTINUE
139       END IF
140 C
141       IF (GOQ(IH,1).AND.GOQ(78,2)) THEN
142           CALL TWOKIN(0.,0.,AMH,AMW)
143           IF(X1.GE.1..OR.X2.GE.1.) GO TO 130
144           E1=SQRT(P(1)**2+AMH**2)
145           E2=SQRT(P(2)**2+AMW**2)
146           FAC=1./(12.*PI*S**2)
147           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
148           PROPW=(S-AMW**2)**2+AMW**2*GAMW**2
149           SIGHW=GF**2*AMW**8*(S/AMW2+(1.-T/AMW2)*(1.-U/AMW2))/
150      $          PROPW*TBRWW(2,2)*SCFAC
151           SIG=.5*SIGHW*FAC*QFCN(2,1)*QFCN(5,2)
152           CALL SIGFIL(SIG,2,5,IH,78)
153           SIG=.5*SIGHW*FAC*QFCN(5,1)*QFCN(2,2)
154           CALL SIGFIL(SIG,5,2,IH,78)
155           SIG=.5*SIGHW*FAC*QFCN(8,1)*QFCN(7,2)
156           CALL SIGFIL(SIG,8,7,IH,78)
157           SIG=.5*SIGHW*FAC*QFCN(7,1)*QFCN(8,2)
158           CALL SIGFIL(SIG,7,8,IH,78)
159 130       CONTINUE
160       END IF
161 C
162 C          Zh, ZH production via Z*
163 C          
164       IF (GOQ(80,1).AND.GOQ(IH,2)) THEN
165           CALL TWOKIN(0.,0.,AMZ,AMH)
166           IF(X1.GE.1..OR.X2.GE.1.) GO TO 200
167           E1=SQRT(P(1)**2+AMZ2)
168           E2=SQRT(P(2)**2+AMH**2)
169           FAC=1./(3.*PI*S**2)
170           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
171           PROPZ=(S-AMZ**2)**2+AMZ**2*GAMZ**2
172           DO 210 IQ1=2,11
173             IFLQ=IS2UD(IQ1)
174             IQ2=MATCH(IQ1,4)
175             IF (IQ2.EQ.0.OR.IQ2.GE.12) GO TO 210
176             SIG=GF**2*AMZ**8*(GV(IFLQ)**2+GA(IFLQ)**2)*
177      $     (S/AMZ2+(1.-T/AMZ2)*(1.-U/AMZ2))/PROPZ*TBRWW(4,1)*SCFAC
178             SIG=.5*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
179             CALL SIGFIL(SIG,IQ1,IQ2,80,IH)
180 210         CONTINUE
181 200       CONTINUE
182       END IF
183 C          hZ, HZ production via Z*
184 C          
185       IF (GOQ(IH,1).AND.GOQ(80,2)) THEN
186           CALL TWOKIN(0.,0.,AMH,AMZ)
187           IF(X1.GE.1..OR.X2.GE.1.) GO TO 220
188           E1=SQRT(P(1)**2+AMH**2)
189           E2=SQRT(P(2)**2+AMZ2)
190           FAC=1./(3.*PI*S**2)
191           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
192           PROPZ=(S-AMZ**2)**2+AMZ**2*GAMZ**2
193           DO 230 IQ1=2,11
194             IFLQ=IS2UD(IQ1)
195             IQ2=MATCH(IQ1,4)
196             IF (IQ2.EQ.0.OR.IQ2.GE.12) GO TO 230
197             SIG=GF**2*AMZ**8*(GV(IFLQ)**2+GA(IFLQ)**2)*
198      $     (S/AMZ2+(1.-T/AMZ2)*(1.-U/AMZ2))/PROPZ*TBRWW(4,2)*SCFAC
199             SIG=.5*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
200             CALL SIGFIL(SIG,IQ1,IQ2,IH,80)
201 230         CONTINUE
202 220       CONTINUE
203       END IF
204 C
205 C     Next, do Ah and AH production
206 C
207       IF (GOQ(83,1).AND.GOQ(IH,2)) THEN
208           CALL TWOKIN(0.,0.,AMHA,AMH)
209           IF(X1.GE.1..OR.X2.GE.1.) GO TO 240
210           E1=SQRT(P(1)**2+AMHA**2)
211           E2=SQRT(P(2)**2+AMH**2)
212           FAC=1./(12.*PI*S**2)
213           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
214           PROPZ=(S-AMZ**2)**2+AMZ**2*GAMZ**2
215           DO 250 IQ1=2,11
216             IFLQ=IS2UD(IQ1)
217             IQ2=MATCH(IQ1,4)
218             IF (IQ2.EQ.0.OR.IQ2.GE.12) GO TO 250
219             SIG=GF**2*AMZ**4*(GV(IFLQ)**2+GA(IFLQ)**2)*
220      $          ((AMHA**2+U-T-AMH**2)*(AMHA**2+T-U-AMH**2)-
221      $          S*(2*AMHA**2+2*AMH**2-S))/PROPZ*SCFAC
222             SIG=.5*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
223             CALL SIGFIL(SIG,IQ1,IQ2,83,IH)
224 250         CONTINUE
225 240       CONTINUE
226       END IF
227       IF (GOQ(IH,1).AND.GOQ(83,2)) THEN
228           CALL TWOKIN(0.,0.,AMH,AMHA)
229           IF(X1.GE.1..OR.X2.GE.1.) GO TO 260
230           E1=SQRT(P(1)**2+AMH**2)
231           E2=SQRT(P(2)**2+AMHA**2)
232           FAC=1./(12.*PI*S**2)
233           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
234           PROPZ=(S-AMZ**2)**2+AMZ**2*GAMZ**2
235           DO 270 IQ1=2,11
236             IFLQ=IS2UD(IQ1)
237             IQ2=MATCH(IQ1,4)
238             IF (IQ2.EQ.0.OR.IQ2.GE.12) GO TO 270
239             SIG=GF**2*AMZ**4*(GV(IFLQ)**2+GA(IFLQ)**2)*
240      $          ((AMHA**2+U-T-AMH**2)*(AMHA**2+T-U-AMH**2)-
241      $          S*(2*AMHA**2+2*AMH**2-S))/PROPZ*SCFAC
242             SIG=.5*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
243             CALL SIGFIL(SIG,IQ1,IQ2,IH,83)
244 270         CONTINUE
245 260       CONTINUE
246       END IF
247       END DO
248 C
249 C     Next, do H+H- production
250 C
251       IF (GOQ(84,1).AND.GOQ(85,2)) THEN
252           CALL TWOKIN(0.,0.,AMHC,AMHC)
253           IF(X1.GE.1..OR.X2.GE.1.) GO TO 300
254           E1=SQRT(P(1)**2+AMHC**2)
255           E2=SQRT(P(2)**2+AMHC**2)
256           FAC=1./(96.*PI*S**2)
257           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
258           PROPZ=(S-AMZ**2)**2+AMZ**2*GAMZ**2
259           DO 310 IQ1=2,11
260             IFLQ=IS2UD(IQ1)
261             IQ2=MATCH(IQ1,4)
262             IF (IFLQ.EQ.1) THEN
263               EQ1=2./3.
264             ELSE
265               EQ1=-1./3.
266             END IF
267             IF (IQ2.EQ.0.OR.IQ2.GE.12) GO TO 310
268             SIG=((4*PI*ALFA)**2*EQ1**2/S/S+32*PI*ALFA*EQ1*GF*AMZ**2*
269      $          COS2W*GV(IFLQ)*(S-AMZ**2)/S/PROPZ/SQRT2+8*GF**2*
270      $          AMZ**4*COS2W**2*(GV(IFLQ)**2+GA(IFLQ)**2)/PROPZ)*
271      $          ((U-T)*(T-U)-S*(4*AMHC**2-S))
272             SIG=.5*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
273             CALL SIGFIL(SIG,IQ1,IQ2,84,85)
274 310         CONTINUE
275 300       CONTINUE
276       END IF
277       IF (GOQ(85,1).AND.GOQ(84,2)) THEN
278           CALL TWOKIN(0.,0.,AMHC,AMHC)
279           IF(X1.GE.1..OR.X2.GE.1.) GO TO 320
280           E1=SQRT(P(1)**2+AMHC**2)
281           E2=SQRT(P(2)**2+AMHC**2)
282           FAC=1./(96.*PI*S**2)
283           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
284           PROPZ=(S-AMZ**2)**2+AMZ**2*GAMZ**2
285           DO 330 IQ1=2,11
286             IFLQ=IS2UD(IQ1)
287             IQ2=MATCH(IQ1,4)
288             IF (IFLQ.EQ.1) THEN
289               EQ1=2./3.
290             ELSE
291               EQ1=-1./3.
292             END IF
293             IF (IQ2.EQ.0.OR.IQ2.GE.12) GO TO 330
294             SIG=((4*PI*ALFA)**2*EQ1**2/S/S+32*PI*ALFA*EQ1*GF*AMZ**2*
295      $          COS2W*GV(IFLQ)*(S-AMZ**2)/S/PROPZ/SQRT2+8*GF**2*
296      $          AMZ**4*COS2W**2*(GV(IFLQ)**2+GA(IFLQ)**2)/PROPZ)*
297      $          ((U-T)*(T-U)-S*(4*AMHC**2-S))
298             SIG=.5*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
299             CALL SIGFIL(SIG,IQ1,IQ2,85,84)
300 330         CONTINUE
301 320       CONTINUE
302       END IF
303       RETURN
304       END