~maddevelopers/mg5amcnlo/MS_with_decayevents

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%born.f

  • Committer: olivier Mattelaer
  • Date: 2014-03-31 16:58:22 UTC
  • mfrom: (252.1.59 2.1.1)
  • Revision ID: olivier.mattelaer@uclouvain.be-20140331165822-4eb1040586ic1y1v
pass to 2.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      SUBROUTINE SBORN(P1,ANS)
 
2
C     
 
3
C     Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
 
4
C     By the MadGraph5_aMC@NLO Development Team
 
5
C     Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
 
6
C     
 
7
C     RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS
 
8
C     AND HELICITIES
 
9
C     FOR THE POINT IN PHASE SPACE P1(0:3,NEXTERNAL-1)
 
10
C     
 
11
C     Process: g g > t t~ WEIGHTED=2 [ QCD ]
 
12
C     
 
13
      IMPLICIT NONE
 
14
C     
 
15
C     CONSTANTS
 
16
C     
 
17
      INCLUDE 'nexternal.inc'
 
18
      INCLUDE 'born_nhel.inc'
 
19
      INCLUDE 'genps.inc'
 
20
      INTEGER     NCOMB
 
21
      PARAMETER ( NCOMB=  16 )
 
22
      INTEGER    THEL
 
23
      PARAMETER (THEL=NCOMB*8)
 
24
      INTEGER NGRAPHS
 
25
      PARAMETER (NGRAPHS=   3)
 
26
C     
 
27
C     ARGUMENTS 
 
28
C     
 
29
      REAL*8 P1(0:3,NEXTERNAL-1)
 
30
      COMPLEX*16 ANS(2)
 
31
C     
 
32
C     LOCAL VARIABLES 
 
33
C     
 
34
      INTEGER IHEL,IDEN,I,J,JJ,GLU_IJ
 
35
      REAL*8 BORN,BORNS(2)
 
36
      COMPLEX*16 BORNTILDE
 
37
      INTEGER NTRY(8)
 
38
      DATA NTRY /8*0/
 
39
      INTEGER NHEL(NEXTERNAL-1,NCOMB)
 
40
      DATA (NHEL(I,   1),I=1,4) /-1,-1,-1,-1/
 
41
      DATA (NHEL(I,   2),I=1,4) /-1,-1,-1, 1/
 
42
      DATA (NHEL(I,   3),I=1,4) /-1,-1, 1,-1/
 
43
      DATA (NHEL(I,   4),I=1,4) /-1,-1, 1, 1/
 
44
      DATA (NHEL(I,   5),I=1,4) /-1, 1,-1,-1/
 
45
      DATA (NHEL(I,   6),I=1,4) /-1, 1,-1, 1/
 
46
      DATA (NHEL(I,   7),I=1,4) /-1, 1, 1,-1/
 
47
      DATA (NHEL(I,   8),I=1,4) /-1, 1, 1, 1/
 
48
      DATA (NHEL(I,   9),I=1,4) / 1,-1,-1,-1/
 
49
      DATA (NHEL(I,  10),I=1,4) / 1,-1,-1, 1/
 
50
      DATA (NHEL(I,  11),I=1,4) / 1,-1, 1,-1/
 
51
      DATA (NHEL(I,  12),I=1,4) / 1,-1, 1, 1/
 
52
      DATA (NHEL(I,  13),I=1,4) / 1, 1,-1,-1/
 
53
      DATA (NHEL(I,  14),I=1,4) / 1, 1,-1, 1/
 
54
      DATA (NHEL(I,  15),I=1,4) / 1, 1, 1,-1/
 
55
      DATA (NHEL(I,  16),I=1,4) / 1, 1, 1, 1/
 
56
      INTEGER IDEN_VALUES(8)
 
57
      DATA IDEN_VALUES /256, 256, 256, 256, 256, 256, 256, 256/
 
58
      INTEGER IJ_VALUES(8)
 
59
      DATA IJ_VALUES /1, 2, 3, 4, 1, 1, 2, 2/
 
60
C     
 
61
C     GLOBAL VARIABLES
 
62
C     
 
63
      DOUBLE PRECISION AMP2(MAXAMPS), JAMP2(0:MAXAMPS)
 
64
      COMMON/TO_AMPS/  AMP2,       JAMP2
 
65
      DATA JAMP2(0) /   2/
 
66
      LOGICAL GOODHEL(NCOMB,8)
 
67
      COMMON /C_GOODHEL/GOODHEL
 
68
      DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL)
 
69
      COMMON/TO_SAVEAMP/SAVEAMP
 
70
      DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2)
 
71
      COMMON/TO_SAVEMOM/SAVEMOM
 
72
      DOUBLE PRECISION HEL_FAC
 
73
      INTEGER GET_HEL,SKIP(8)
 
74
      COMMON/CBORN/HEL_FAC,GET_HEL,SKIP
 
75
      LOGICAL CALCULATEDBORN
 
76
      COMMON/CCALCULATEDBORN/CALCULATEDBORN
 
77
      INTEGER NFKSPROCESS
 
78
      COMMON/C_NFKSPROCESS/NFKSPROCESS
 
79
C     ----------
 
80
C     BEGIN CODE
 
81
C     ----------
 
82
      IDEN=IDEN_VALUES(NFKSPROCESS)
 
83
      GLU_IJ = IJ_VALUES(NFKSPROCESS)
 
84
      NTRY(NFKSPROCESS)=NTRY(NFKSPROCESS)+1
 
85
      IF (NTRY(NFKSPROCESS).LT.2) THEN
 
86
        SKIP(NFKSPROCESS)=1
 
87
        DO WHILE(NHEL(GLU_IJ ,SKIP(NFKSPROCESS)).NE.1)
 
88
          SKIP(NFKSPROCESS)=SKIP(NFKSPROCESS)+1
 
89
        ENDDO
 
90
        SKIP(NFKSPROCESS)=SKIP(NFKSPROCESS)-1
 
91
      ENDIF
 
92
      DO JJ=1,NGRAPHS
 
93
        AMP2(JJ)=0D0
 
94
      ENDDO
 
95
      DO JJ=1,INT(JAMP2(0))
 
96
        JAMP2(JJ)=0D0
 
97
      ENDDO
 
98
      IF (CALCULATEDBORN) THEN
 
99
        DO J=1,NEXTERNAL-1
 
100
          IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3
 
101
     $     ,J)) THEN
 
102
            CALCULATEDBORN=.FALSE.
 
103
            WRITE (*,*) 'momenta not the same in Born'
 
104
            STOP
 
105
          ENDIF
 
106
        ENDDO
 
107
      ENDIF
 
108
      IF (.NOT.CALCULATEDBORN) THEN
 
109
        DO J=1,NEXTERNAL-1
 
110
          SAVEMOM(J,1)=P1(0,J)
 
111
          SAVEMOM(J,2)=P1(3,J)
 
112
        ENDDO
 
113
        DO J=1,MAX_BHEL
 
114
          DO JJ=1,NGRAPHS
 
115
            SAVEAMP(JJ,J)=(0D0,0D0)
 
116
          ENDDO
 
117
        ENDDO
 
118
      ENDIF
 
119
      ANS(1) = 0D0
 
120
      ANS(2) = 0D0
 
121
      HEL_FAC=1D0
 
122
      DO IHEL=1,NCOMB
 
123
        IF (NHEL(GLU_IJ,IHEL).LE.0) THEN
 
124
          IF ((GOODHEL(IHEL,NFKSPROCESS) .OR. GOODHEL(IHEL+SKIP(NFKSPRO
 
125
     $     CESS),NFKSPROCESS) .OR. NTRY(NFKSPROCESS) .LT. 2) ) THEN
 
126
            ANS(1)=ANS(1)+BORN(P1,NHEL(1,IHEL),IHEL,BORNTILDE,BORNS)
 
127
            ANS(2)=ANS(2)+BORNTILDE
 
128
            IF ( BORNS(1).NE.0D0 .AND. .NOT. GOODHEL(IHEL,NFKSPROCESS
 
129
     $       ) ) THEN
 
130
              GOODHEL(IHEL,NFKSPROCESS)=.TRUE.
 
131
            ENDIF
 
132
            IF ( BORNS(2).NE.0D0 .AND. .NOT. GOODHEL(IHEL+SKIP(NFKSPROC
 
133
     $       ESS),NFKSPROCESS) ) THEN
 
134
              GOODHEL(IHEL+SKIP(NFKSPROCESS),NFKSPROCESS)=.TRUE.
 
135
            ENDIF
 
136
          ENDIF
 
137
        ENDIF
 
138
      ENDDO
 
139
      ANS(1)=ANS(1)/DBLE(IDEN)
 
140
      ANS(2)=ANS(2)/DBLE(IDEN)
 
141
      CALCULATEDBORN=.TRUE.
 
142
      END
 
143
 
 
144
 
 
145
      REAL*8 FUNCTION BORN(P,NHEL,HELL,BORNTILDE,BORNS)
 
146
C     
 
147
C     Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
 
148
C     By the MadGraph5_aMC@NLO Development Team
 
149
C     Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
 
150
C     RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS
 
151
C     FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1)
 
152
 
 
153
C     Process: g g > t t~ WEIGHTED=2 [ QCD ]
 
154
C     
 
155
      IMPLICIT NONE
 
156
C     
 
157
C     CONSTANTS
 
158
C     
 
159
      INTEGER    NGRAPHS,    NEIGEN
 
160
      PARAMETER (NGRAPHS=   3,NEIGEN=  1)
 
161
      INTEGER    NWAVEFUNCS, NCOLOR
 
162
      PARAMETER (NWAVEFUNCS=7, NCOLOR=2)
 
163
      REAL*8     ZERO
 
164
      PARAMETER (ZERO=0D0)
 
165
      COMPLEX*16 IMAG1
 
166
      PARAMETER (IMAG1 = (0D0,1D0))
 
167
      INCLUDE 'nexternal.inc'
 
168
      INCLUDE 'born_nhel.inc'
 
169
      INCLUDE 'coupl.inc'
 
170
      INCLUDE 'genps.inc'
 
171
C     
 
172
C     ARGUMENTS 
 
173
C     
 
174
      REAL*8 P(0:3,NEXTERNAL-1),BORNS(2)
 
175
      INTEGER NHEL(NEXTERNAL-1), HELL
 
176
      COMPLEX*16 BORNTILDE
 
177
C     
 
178
C     LOCAL VARIABLES 
 
179
C     
 
180
      INTEGER I,J,IHEL,BACK_HEL,GLU_IJ
 
181
      INTEGER IC(NEXTERNAL-1),NMO
 
182
      PARAMETER (NMO=NEXTERNAL-1)
 
183
      DATA IC /NMO*1/
 
184
      REAL*8 DENOM(NCOLOR), CF(NCOLOR,NCOLOR)
 
185
      COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP(NCOLOR), W(8,NWAVEFUNCS)
 
186
     $ , JAMPH(2, NCOLOR)
 
187
C     
 
188
C     GLOBAL VARIABLES
 
189
C     
 
190
      DOUBLE PRECISION AMP2(MAXAMPS), JAMP2(0:MAXAMPS)
 
191
      COMMON/TO_AMPS/  AMP2,       JAMP2
 
192
      DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL)
 
193
      COMMON/TO_SAVEAMP/SAVEAMP
 
194
      DOUBLE PRECISION HEL_FAC
 
195
      INTEGER GET_HEL,SKIP(8)
 
196
      COMMON/CBORN/HEL_FAC,GET_HEL,SKIP
 
197
      LOGICAL CALCULATEDBORN
 
198
      COMMON/CCALCULATEDBORN/CALCULATEDBORN
 
199
      INTEGER NFKSPROCESS
 
200
      COMMON/C_NFKSPROCESS/NFKSPROCESS
 
201
      INTEGER IJ_VALUES(8)
 
202
      DATA IJ_VALUES /1, 2, 3, 4, 1, 1, 2, 2/
 
203
C     
 
204
C     COLOR DATA
 
205
C     
 
206
      DATA DENOM(1)/3/
 
207
      DATA (CF(I,  1),I=  1,  2) /   16,   -2/
 
208
C     1 T(1,2,3,4)
 
209
      DATA DENOM(2)/3/
 
210
      DATA (CF(I,  2),I=  1,  2) /   -2,   16/
 
211
C     1 T(2,1,3,4)
 
212
C     ----------
 
213
C     BEGIN CODE
 
214
C     ----------
 
215
      GLU_IJ = IJ_VALUES(NFKSPROCESS)
 
216
      BORN = 0D0
 
217
      BORNTILDE = (0D0,0D0)
 
218
      BACK_HEL = NHEL(GLU_IJ)
 
219
      BORNS(1) = 0D0
 
220
      BORNS(2) = 0D0
 
221
      DO IHEL=-1,1,2
 
222
        IF (IHEL.EQ.-1.OR.NHEL(GLU_IJ).NE.0) THEN
 
223
          IF (NHEL(GLU_IJ).NE.0) NHEL(GLU_IJ) = IHEL
 
224
          IF (.NOT. CALCULATEDBORN) THEN
 
225
            CALL VXXXXX(P(0,1),ZERO,NHEL(1),-1*IC(1),W(1,1))
 
226
            CALL VXXXXX(P(0,2),ZERO,NHEL(2),-1*IC(2),W(1,2))
 
227
            CALL OXXXXX(P(0,3),MDL_MT,NHEL(3),+1*IC(3),W(1,3))
 
228
            CALL IXXXXX(P(0,4),MDL_MT,NHEL(4),-1*IC(4),W(1,4))
 
229
            CALL VVV1P0_1(W(1,1),W(1,2),GC_10,ZERO,ZERO,W(1,5))
 
230
C           Amplitude(s) for diagram number 1
 
231
            CALL FFV1_0(W(1,4),W(1,3),W(1,5),GC_11,AMP(1))
 
232
            CALL FFV1_1(W(1,3),W(1,1),GC_11,MDL_MT,MDL_WT,W(1,5))
 
233
C           Amplitude(s) for diagram number 2
 
234
            CALL FFV1_0(W(1,4),W(1,5),W(1,2),GC_11,AMP(2))
 
235
            CALL FFV1_2(W(1,4),W(1,1),GC_11,MDL_MT,MDL_WT,W(1,5))
 
236
C           Amplitude(s) for diagram number 3
 
237
            CALL FFV1_0(W(1,5),W(1,3),W(1,2),GC_11,AMP(3))
 
238
            DO I=1,NGRAPHS
 
239
              IF(IHEL.EQ.-1)THEN
 
240
                SAVEAMP(I,HELL)=AMP(I)
 
241
              ELSEIF(IHEL.EQ.1)THEN
 
242
                SAVEAMP(I,HELL+SKIP(NFKSPROCESS))=AMP(I)
 
243
              ELSE
 
244
                WRITE(*,*) 'ERROR #1 in born.f'
 
245
                STOP
 
246
              ENDIF
 
247
            ENDDO
 
248
          ELSEIF (CALCULATEDBORN) THEN
 
249
            DO I=1,NGRAPHS
 
250
              IF(IHEL.EQ.-1)THEN
 
251
                AMP(I)=SAVEAMP(I,HELL)
 
252
              ELSEIF(IHEL.EQ.1)THEN
 
253
                AMP(I)=SAVEAMP(I,HELL+SKIP(NFKSPROCESS))
 
254
              ELSE
 
255
                WRITE(*,*) 'ERROR #1 in born.f'
 
256
                STOP
 
257
              ENDIF
 
258
            ENDDO
 
259
          ENDIF
 
260
          JAMP(1)=+IMAG1*AMP(1)-AMP(2)
 
261
          JAMP(2)=-IMAG1*AMP(1)-AMP(3)
 
262
          DO I = 1, NCOLOR
 
263
            ZTEMP = (0.D0,0.D0)
 
264
            DO J = 1, NCOLOR
 
265
              ZTEMP = ZTEMP + CF(J,I)*JAMP(J)
 
266
            ENDDO
 
267
            BORNS(2-(1-IHEL)/2)=BORNS(2-(1-IHEL)/2)+ZTEMP*DCONJG(JAMP(I
 
268
     $       ))/DENOM(I)
 
269
          ENDDO
 
270
          DO I = 1, NGRAPHS
 
271
            AMP2(I)=AMP2(I)+AMP(I)*DCONJG(AMP(I))
 
272
          ENDDO
 
273
          DO I = 1, NCOLOR
 
274
            JAMP2(I)=JAMP2(I)+JAMP(I)*DCONJG(JAMP(I))
 
275
            JAMPH(2-(1-IHEL)/2,I)=JAMP(I)
 
276
          ENDDO
 
277
        ENDIF
 
278
      ENDDO
 
279
      BORN=BORNS(1)+BORNS(2)
 
280
      DO I = 1, NCOLOR
 
281
        ZTEMP = (0.D0,0.D0)
 
282
        DO J = 1, NCOLOR
 
283
          ZTEMP = ZTEMP + CF(J,I)*JAMPH(2,J)
 
284
        ENDDO
 
285
        BORNTILDE = BORNTILDE + ZTEMP*DCONJG(JAMPH(1,I))/DENOM(I)
 
286
      ENDDO
 
287
      NHEL(GLU_IJ) = BACK_HEL
 
288
      END
 
289
 
 
290
 
 
291
      BLOCK DATA GOODHELS
 
292
      INTEGER     NCOMB
 
293
      PARAMETER ( NCOMB=  16 )
 
294
      INTEGER    THEL
 
295
      PARAMETER (THEL=NCOMB*8)
 
296
      LOGICAL GOODHEL(NCOMB,8)
 
297
      COMMON /C_GOODHEL/GOODHEL
 
298
      DATA GOODHEL/THEL*.FALSE./
 
299
      END
 
300