]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/xzzzz.F
Coding conventions
[u/mrichter/AliRoot.git] / ISAJET / code / xzzzz.F
1 #include "isajet/pilot.h"
2       SUBROUTINE XZZZZ
3 C
4 C          SET UP Z0 Z0 -> Z0 Z0 AMPLITUDES AS RATIONAL FUNCTIONS OF Z
5 C
6 C          RE(F(Z,L)) = SUM(I,J)(ANWWWW(I+1,J,L)*Z**I
7 C                                  /(ADWWWW(1,J)+ADWWWW(2,J)*Z))
8 C          IM(F(Z,L)) = AIWWWW(L)   (INDEPENDENT OF Z)
9 C          J LABELS PIECES WITH SAME DENOMINATOR.
10 C          L=1 FOR 0,0; L=2 FOR 1,-1; L=3 FOR 1,1; L=4 FOR 0,1
11 C
12 C          *NOTE* A FACTOR OF SIN(THETA)/SQRT(2) IS REMOVED FROM F01
13 C
14 #include "isajet/const.inc"
15 #include "isajet/jetpar.inc"
16 #include "isajet/wcon.inc"
17 #include "isajet/hcon.inc"
18 #if defined(CERNLIB_DOUBLE)
19       DOUBLE PRECISION WM,ZM,ZM2,ZM3,ZM4,ZM5,ZM6,HM,HM2,HM3,HM4,HG,HG2
20      $,PROPH,RTS,S,S2,S3,SW,QQ0,QQI,QQF
21 #endif
22 C
23 C          USE UNITS OF WM TO AVOID LARGE NUMBERS - NOTE ANWWWW/ADWWWW
24 C          AND AIWWWW ARE DIMENSIONLESS
25       WM=WMASS(2)
26       ZM=WMASS(4)/WM
27       ZM2=ZM**2
28       ZM3=ZM**3
29       ZM4=ZM**4
30       ZM5=ZM**5
31       ZM6=ZM**6
32       HM=HMASS/WM
33       HM2=HM**2
34       HM3=HM**3
35       HM4=HM**4
36       HG=HGAM/WM
37       HG2=HG**2
38       RTS=QMW/WM
39       S=RTS**2
40       S2=S**2
41       S3=S**3
42       PROPH=(S-HM2)**2+(HM*HG)**2
43 C
44       CW=1./ZM
45       CW2=CW**2
46       SW2=1.-CW2
47       SW=SQRT(SW2)
48       QQ0=.5*RTS
49       QQI=.5*SQRT(S-4.*ZM2)
50       QQF=.5*SQRT(S-4.*ZM2)
51       GSQ=4.*PI*ALFA/SW2
52 C
53 C          FROM ZZZZ3.EX
54       ANWWWW(1,1,1) = -1.60E+01 * ((HM2 * ZM6) / (CW2 * PROPH))
55      $ + 1.60E+01 * ((S * ZM6) / (CW2 * PROPH )) - 1.60E+01 * ((S2
56      $ * ZM4) / (CW2 * PROPH)) + 4.00E+00 * ((S3 * ZM2) / (CW2
57      $ * PROPH)) + 1.60E+01 * ((HM2 * S * ZM4) / (CW2 * PROPH))
58      $ - 4.00E+00 * ((HM2 * S2 * ZM2) / (CW2 * PROPH))
59       ANWWWW(1,1,2) = 0.00E+00
60       ANWWWW(1,1,3) = -1.60E+01 * ((HM2 * ZM6) / (CW2 * PROPH))
61      $ + 1.60E+01 * ((S * ZM6) / (CW2 * PROPH )) - 8.00E+00 * ((S2
62      $ * ZM4) / (CW2 * PROPH)) + 8.00E+00 * ((HM2 * S * ZM4) / (CW2
63      $ * PROPH))
64       ANWWWW(1,1,4) = 0.00E+00
65       ANWWWW(1,2,1) = -3.20E+01 * (ZM6 / CW2) + 1.60E+01 * ((S * ZM4)
66      $ / CW2) - 2.00E+00 * ((S2 * ZM2) / CW2)
67       ANWWWW(1,2,2) = -4.00E+00 * ((S * ZM4) / CW2)
68       ANWWWW(1,2,3) = 4.00E+00 * ((S * ZM4) / CW2)
69       ANWWWW(1,2,4) = -3.20E+01 * ((QQ0 * ZM5) / CW2) + 8.00E+00
70      $ * ((QQ0 * S * ZM3) / CW2)
71       ANWWWW(1,3,1) = -3.20E+01 * (ZM6 / CW2) + 1.60E+01 * ((S * ZM4)
72      $ / CW2) - 2.00E+00 * ((S2 * ZM2) / CW2)
73       ANWWWW(1,3,2) = -4.00E+00 * ((S * ZM4) / CW2)
74       ANWWWW(1,3,3) = 4.00E+00 * ((S * ZM4) / CW2)
75       ANWWWW(1,3,4) = 3.20E+01 * ((QQ0 * ZM5) / CW2) - 8.00E+00
76      $ * ((QQ0 * S * ZM3) / CW2)
77       ANWWWW(1,4,1) = 0.00E+00
78       ANWWWW(1,4,2) = 0.00E+00
79       ANWWWW(1,4,3) = 0.00E+00
80       ANWWWW(1,4,4) = 0.00E+00
81       ANWWWW(2,1,1) = 0.00E+00
82       ANWWWW(2,1,2) = 0.00E+00
83       ANWWWW(2,1,3) = 0.00E+00
84       ANWWWW(2,1,4) = 0.00E+00
85       ANWWWW(2,2,1) = -1.60E+01 * ((S * ZM4) / CW2) + 4.00E+00 * ((S2
86      $ * ZM2) / CW2)
87       ANWWWW(2,2,2) = 0.00E+00
88       ANWWWW(2,2,3) = 0.00E+00
89       ANWWWW(2,2,4) = -8.00E+00 * ((QQ0 * S * ZM3) / CW2 )
90       ANWWWW(2,3,1) = 1.60E+01 * ((S * ZM4) / CW2) - 4.00E+00 * ((S2
91      $ * ZM2) / CW2)
92       ANWWWW(2,3,2) = 0.00E+00
93       ANWWWW(2,3,3) = 0.00E+00
94       ANWWWW(2,3,4) = -8.00E+00 * ((QQ0 * S * ZM3) / CW2 )
95       ANWWWW(2,4,1) = 0.00E+00
96       ANWWWW(2,4,2) = 0.00E+00
97       ANWWWW(2,4,3) = 0.00E+00
98       ANWWWW(2,4,4) = 0.00E+00
99       ANWWWW(3,1,1) = 0.00E+00
100       ANWWWW(3,1,2) = 0.00E+00
101       ANWWWW(3,1,3) = 0.00E+00
102       ANWWWW(3,1,4) = 0.00E+00
103       ANWWWW(3,2,1) = -2.00E+00 * ((S2 * ZM2) / CW2)
104       ANWWWW(3,2,2) = 4.00E+00 * ((S * ZM4) / CW2)
105       ANWWWW(3,2,3) = -4.00E+00 * ((S * ZM4) / CW2)
106       ANWWWW(3,2,4) = 0.00E+00
107       ANWWWW(3,3,1) = -2.00E+00 * ((S2 * ZM2) / CW2)
108       ANWWWW(3,3,2) = 4.00E+00 * ((S * ZM4) / CW2)
109       ANWWWW(3,3,3) = -4.00E+00 * ((S * ZM4) / CW2)
110       ANWWWW(3,3,4) = 0.00E+00
111       ANWWWW(3,4,1) = 0.00E+00
112       ANWWWW(3,4,2) = 0.00E+00
113       ANWWWW(3,4,3) = 0.00E+00
114       ANWWWW(3,4,4) = 0.00E+00
115       ANWWWW(4,1,1) = 0.00E+00
116       ANWWWW(4,1,2) = 0.00E+00
117       ANWWWW(4,1,3) = 0.00E+00
118       ANWWWW(4,1,4) = 0.00E+00
119       ANWWWW(4,2,1) = 0.00E+00
120       ANWWWW(4,2,2) = 0.00E+00
121       ANWWWW(4,2,3) = 0.00E+00
122       ANWWWW(4,2,4) = 0.00E+00
123       ANWWWW(4,3,1) = 0.00E+00
124       ANWWWW(4,3,2) = 0.00E+00
125       ANWWWW(4,3,3) = 0.00E+00
126       ANWWWW(4,3,4) = 0.00E+00
127       ANWWWW(4,4,1) = 0.00E+00
128       ANWWWW(4,4,2) = 0.00E+00
129       ANWWWW(4,4,3) = 0.00E+00
130       ANWWWW(4,4,4) = 0.00E+00
131 C
132       ADWWWW(1,1) = 1.00E+00
133       ADWWWW(1,2) = 2.00E+00 * HM2 + S - 4.00E+00 * ZM2
134       ADWWWW(1,3) = 2.00E+00 * HM2 + S - 4.00E+00 * ZM2
135       ADWWWW(1,4) = 1.00E+00
136       ADWWWW(2,1) = 0.00E+00
137       ADWWWW(2,2) = -1.00E+00 * S + 4.00E+00 * ZM2
138       ADWWWW(2,3) = S - 4.00E+00 * ZM2
139       ADWWWW(2,4) = 0.00E+00
140 C
141       AIWWWW(1) = 1.60E+01 * ((HG * HM * ZM6) / (CW2 * PROPH))
142      $ - 1.60E+01 * ((HG * HM * S * ZM4) / (CW2 * PROPH))
143      $ + 4.00E+00 * ((HG * HM * S2 * ZM2) / (CW2 * PROPH))
144       AIWWWW(2) = 0.00E+00
145       AIWWWW(3) = 1.60E+01 * ((HG * HM * ZM6) / (CW2 * PROPH))
146      $ - 8.00E+00 * ((HG * HM * S * ZM4) / (CW2 * PROPH))
147       AIWWWW(4) = 0.00E+00
148 C
149 C          RESTORE MISSING FACTORS
150       DO 100 J=1,4
151       AIWWWW(J)=AIWWWW(J)*GSQ/(16.*ZM4)
152       DO 100 I=1,4
153       DO 110 K=1,4
154 110   ANWWWW(K,I,J)=ANWWWW(K,I,J)*GSQ/(16.*ZM4)
155 100   CONTINUE
156 C
157       RETURN
158       END