More volume overlaps corrected
[u/mrichter/AliRoot.git] / ISAJET / code / szjj4.F
1 #include "isajet/pilot.h"
2       REAL*8 FUNCTION SZJJ4(P1, P2, P3, P4, P5,IM)
3 C
4 C Function generated by Madgraph + hand coding
5 C Returns amplitude squared summed/ave over colors
6 C for the point in phase space P1,P2,P3,P4,P5
7 C and helicity NHEL(1)...
8 C for the process: q(im) qb(im) -> z q(im) qb(im)
9 C with Madgraph code IM
10 C
11 C  
12 #if defined(CERNLIB_IMPNONE)
13       IMPLICIT NONE
14 #endif
15 C  
16 C CONSTANTS
17 C  
18       INTEGER    NEXTERNAL,   NCOMB                     
19       PARAMETER (NEXTERNAL=5, NCOMB= 48)
20 C  
21 C ARGUMENTS 
22 C  
23       REAL*8 P1(0:3),P2(0:3),P3(0:3),P4(0:3),P5(0:3)                             
24       INTEGER IM
25 C  
26 C LOCAL VARIABLES 
27 C  
28       INTEGER NHEL(NEXTERNAL,NCOMB),NTRY                                         
29       REAL*8 T
30       REAL*8 ZJJ4                                                                
31       INTEGER IHEL
32       LOGICAL GOODHEL(NCOMB)
33       DATA GOODHEL/NCOMB*.FALSE./
34       DATA NTRY/0/
35       DATA (NHEL(IHEL,  1),IHEL=1,5) / -1, -1, -1, -1, -1/
36       DATA (NHEL(IHEL,  2),IHEL=1,5) / -1, -1, -1, -1,  1/
37       DATA (NHEL(IHEL,  3),IHEL=1,5) / -1, -1, -1,  1, -1/
38       DATA (NHEL(IHEL,  4),IHEL=1,5) / -1, -1, -1,  1,  1/
39       DATA (NHEL(IHEL,  5),IHEL=1,5) / -1, -1,  0, -1, -1/
40       DATA (NHEL(IHEL,  6),IHEL=1,5) / -1, -1,  0, -1,  1/
41       DATA (NHEL(IHEL,  7),IHEL=1,5) / -1, -1,  0,  1, -1/
42       DATA (NHEL(IHEL,  8),IHEL=1,5) / -1, -1,  0,  1,  1/
43       DATA (NHEL(IHEL,  9),IHEL=1,5) / -1, -1,  1, -1, -1/
44       DATA (NHEL(IHEL, 10),IHEL=1,5) / -1, -1,  1, -1,  1/
45       DATA (NHEL(IHEL, 11),IHEL=1,5) / -1, -1,  1,  1, -1/
46       DATA (NHEL(IHEL, 12),IHEL=1,5) / -1, -1,  1,  1,  1/
47       DATA (NHEL(IHEL, 13),IHEL=1,5) / -1,  1, -1, -1, -1/
48       DATA (NHEL(IHEL, 14),IHEL=1,5) / -1,  1, -1, -1,  1/
49       DATA (NHEL(IHEL, 15),IHEL=1,5) / -1,  1, -1,  1, -1/
50       DATA (NHEL(IHEL, 16),IHEL=1,5) / -1,  1, -1,  1,  1/
51       DATA (NHEL(IHEL, 17),IHEL=1,5) / -1,  1,  0, -1, -1/
52       DATA (NHEL(IHEL, 18),IHEL=1,5) / -1,  1,  0, -1,  1/
53       DATA (NHEL(IHEL, 19),IHEL=1,5) / -1,  1,  0,  1, -1/
54       DATA (NHEL(IHEL, 20),IHEL=1,5) / -1,  1,  0,  1,  1/
55       DATA (NHEL(IHEL, 21),IHEL=1,5) / -1,  1,  1, -1, -1/
56       DATA (NHEL(IHEL, 22),IHEL=1,5) / -1,  1,  1, -1,  1/
57       DATA (NHEL(IHEL, 23),IHEL=1,5) / -1,  1,  1,  1, -1/
58       DATA (NHEL(IHEL, 24),IHEL=1,5) / -1,  1,  1,  1,  1/
59       DATA (NHEL(IHEL, 25),IHEL=1,5) /  1, -1, -1, -1, -1/
60       DATA (NHEL(IHEL, 26),IHEL=1,5) /  1, -1, -1, -1,  1/
61       DATA (NHEL(IHEL, 27),IHEL=1,5) /  1, -1, -1,  1, -1/
62       DATA (NHEL(IHEL, 28),IHEL=1,5) /  1, -1, -1,  1,  1/
63       DATA (NHEL(IHEL, 29),IHEL=1,5) /  1, -1,  0, -1, -1/
64       DATA (NHEL(IHEL, 30),IHEL=1,5) /  1, -1,  0, -1,  1/
65       DATA (NHEL(IHEL, 31),IHEL=1,5) /  1, -1,  0,  1, -1/
66       DATA (NHEL(IHEL, 32),IHEL=1,5) /  1, -1,  0,  1,  1/
67       DATA (NHEL(IHEL, 33),IHEL=1,5) /  1, -1,  1, -1, -1/
68       DATA (NHEL(IHEL, 34),IHEL=1,5) /  1, -1,  1, -1,  1/
69       DATA (NHEL(IHEL, 35),IHEL=1,5) /  1, -1,  1,  1, -1/
70       DATA (NHEL(IHEL, 36),IHEL=1,5) /  1, -1,  1,  1,  1/
71       DATA (NHEL(IHEL, 37),IHEL=1,5) /  1,  1, -1, -1, -1/
72       DATA (NHEL(IHEL, 38),IHEL=1,5) /  1,  1, -1, -1,  1/
73       DATA (NHEL(IHEL, 39),IHEL=1,5) /  1,  1, -1,  1, -1/
74       DATA (NHEL(IHEL, 40),IHEL=1,5) /  1,  1, -1,  1,  1/
75       DATA (NHEL(IHEL, 41),IHEL=1,5) /  1,  1,  0, -1, -1/
76       DATA (NHEL(IHEL, 42),IHEL=1,5) /  1,  1,  0, -1,  1/
77       DATA (NHEL(IHEL, 43),IHEL=1,5) /  1,  1,  0,  1, -1/
78       DATA (NHEL(IHEL, 44),IHEL=1,5) /  1,  1,  0,  1,  1/
79       DATA (NHEL(IHEL, 45),IHEL=1,5) /  1,  1,  1, -1, -1/
80       DATA (NHEL(IHEL, 46),IHEL=1,5) /  1,  1,  1, -1,  1/
81       DATA (NHEL(IHEL, 47),IHEL=1,5) /  1,  1,  1,  1, -1/
82       DATA (NHEL(IHEL, 48),IHEL=1,5) /  1,  1,  1,  1,  1/
83 C ----------
84 C BEGIN CODE
85 C ----------
86       SZJJ4 = 0D0
87       NTRY=NTRY+1
88       DO IHEL=1,NCOMB
89           IF (GOODHEL(IHEL) .OR. NTRY .LT. 10) THEN
90              T=ZJJ4(P1, P2, P3, P4, P5,NHEL(1,IHEL),IM) 
91              SZJJ4 = SZJJ4 + T
92               IF (T .GT. 0D0 .AND. .NOT. GOODHEL(IHEL)) THEN
93                   GOODHEL(IHEL)=.TRUE.
94               ENDIF
95           ENDIF
96       ENDDO
97       SZJJ4 = SZJJ4 /  4D0 
98       END