~maddevelopers/mg5amcnlo/2.5.3

« back to all changes in this revision

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

  • Committer: olivier-mattelaer
  • Date: 2017-03-08 12:31:17 UTC
  • Revision ID: olivier-mattelaer-20170308123117-h0zkqjyh9sihsc61
empty version to have an effective freeze of the code

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