~maddevelopers/mg5amcnlo/ttbar_MadSpin_FO

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_nogroup/matrix.f

  • Committer: olivier-mattelaer
  • Date: 2020-05-25 18:16:07 UTC
  • mfrom: (956.1.32 3.0.2)
  • Revision ID: olivier-mattelaer-20200525181607-eevbr5wynsn782ll
pass to 3.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
      LOGICAL GOODHEL(NCOMB)
40
40
      INTEGER NTRY
41
41
      COMMON/BLOCK_GOODHEL/NTRY,GOODHEL
 
42
      INTEGER NB_SPIN_STATE(2)
 
43
      DATA  NB_SPIN_STATE /2,2/
 
44
      COMMON /NB_HEL_STATE/ NB_SPIN_STATE
42
45
C     
43
46
C     LOCAL VARIABLES 
44
47
C     
51
54
      INTEGER IDUM, NGOOD, IGOOD(NCOMB), JHEL, J, JJ
52
55
      REAL     XRAN1
53
56
      EXTERNAL XRAN1
 
57
 
54
58
C     
55
59
C     GLOBAL VARIABLES
56
60
C     
71
75
      DATA IDUM /-1/
72
76
      DATA XTRY, XREJ, NGOOD /0,0,0/
73
77
      SAVE YFRAC, IGOOD, JHEL
 
78
 
74
79
      DATA (NHEL(I,   1),I=1,4) / 1,-1,-1,-1/
75
80
      DATA (NHEL(I,   2),I=1,4) / 1,-1,-1, 1/
76
81
      DATA (NHEL(I,   3),I=1,4) / 1,-1, 1,-1/
120
125
            DO JJ=1,NINCOMING
121
126
              IF(POL(JJ).NE.1D0.AND.NHEL(JJ,I).EQ.INT(SIGN(1D0,POL(JJ))
122
127
     $         )) THEN
123
 
                T=T*ABS(POL(JJ))
 
128
                T=T*ABS(POL(JJ))*NB_SPIN_STATE(JJ)/2D0  ! NB_SPIN_STATE(JJ)/2d0 is added for polarised beam
124
129
              ELSE IF(POL(JJ).NE.1D0)THEN
125
 
                T=T*(2D0-ABS(POL(JJ)))
 
130
                T=T*(2D0-ABS(POL(JJ)))*NB_SPIN_STATE(JJ)/2D0
126
131
              ENDIF
127
132
            ENDDO
128
133
            IF (ISUM_HEL.NE.0) THEN
150
155
          JHEL = 1
151
156
          IF(NTRY.LE.MAXTRIES)THEN
152
157
            DO I=1,NCOMB
153
 
              IF (.NOT.GOODHEL(I) .AND. (TS(I).GT.ANS*LIMHEL/NCOMB))
154
 
     $          THEN
 
158
              IF (.NOT.GOODHEL(I) .AND. (DABS(TS(I)).GT.ANS*LIMHEL
 
159
     $         /NCOMB)) THEN
155
160
                GOODHEL(I)=.TRUE.
156
161
                NGOOD = NGOOD +1
157
162
                IGOOD(NGOOD) = I
261
266
C     Needed for v4 models
262
267
      COMPLEX*16 DUM0,DUM1
263
268
      DATA DUM0, DUM1/(0D0, 0D0), (1D0, 0D0)/
 
269
 
 
270
      DOUBLE PRECISION FK_ZERO
 
271
      SAVE FK_ZERO
 
272
 
 
273
      LOGICAL FIRST
 
274
      DATA FIRST /.TRUE./
 
275
      SAVE FIRST
264
276
C     
265
277
C     FUNCTION
266
278
C     
271
283
      DOUBLE PRECISION AMP2(MAXAMPS), JAMP2(0:MAXFLOW)
272
284
      COMMON/TO_AMPS/  AMP2,       JAMP2
273
285
      INCLUDE 'coupl.inc'
 
286
 
 
287
      DOUBLE PRECISION SMALL_WIDTH_TREATMENT
 
288
      COMMON/NARROW_WIDTH/SMALL_WIDTH_TREATMENT
274
289
C     
275
290
C     COLOR DATA
276
291
C     
283
298
C     ----------
284
299
C     BEGIN CODE
285
300
C     ----------
 
301
      IF (FIRST) THEN
 
302
        FIRST=.FALSE.
 
303
        FK_ZERO = 0D0
 
304
      ENDIF
 
305
 
286
306
      CALL IXXXXX(P(0,1),ZERO,NHEL(1),+1*IC(1),W(1,1))
287
307
      CALL OXXXXX(P(0,2),ZERO,NHEL(2),-1*IC(2),W(1,2))
288
308
      CALL VXXXXX(P(0,3),ZERO,NHEL(3),+1*IC(3),W(1,3))
289
309
      CALL VXXXXX(P(0,4),ZERO,NHEL(4),+1*IC(4),W(1,4))
290
 
      CALL FFV1_3(W(1,1),W(1,2),GQQ,ZERO,ZERO,W(1,5))
 
310
      CALL FFV1_3(W(1,1),W(1,2),GQQ,ZERO, FK_ZERO,W(1,5))
291
311
C     Amplitude(s) for diagram number 1
292
312
      CALL VVV1_0(W(1,3),W(1,4),W(1,5),G,AMP(1))
293
 
      CALL FFV1_2(W(1,1),W(1,3),GQQ,ZERO,ZERO,W(1,5))
 
313
      CALL FFV1_2(W(1,1),W(1,3),GQQ,ZERO, FK_ZERO,W(1,5))
294
314
C     Amplitude(s) for diagram number 2
295
315
      CALL FFV1_0(W(1,5),W(1,2),W(1,4),GQQ,AMP(2))
296
 
      CALL FFV1_2(W(1,1),W(1,4),GQQ,ZERO,ZERO,W(1,5))
 
316
      CALL FFV1_2(W(1,1),W(1,4),GQQ,ZERO, FK_ZERO,W(1,5))
297
317
C     Amplitude(s) for diagram number 3
298
318
      CALL FFV1_0(W(1,5),W(1,2),W(1,3),GQQ,AMP(3))
299
319
C     JAMPs contributing to orders ALL_ORDERS=1