~maddevelopers/mg5amcnlo/2.5.4_run_py8_at_evtgen

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%born.f

  • Committer: olivier Mattelaer
  • Date: 2016-05-12 11:00:18 UTC
  • mfrom: (262.1.150 2.3.4)
  • Revision ID: olivier.mattelaer@uclouvain.be-20160512110018-sevb79f0wm4g8mpp
pass to 2.4.0

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