~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_udx_wp%matrix_2.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 SMATRIX_2(P,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 P(0:3,NEXTERNAL)
 
10
C     
 
11
C     Process: g d~ > w+ u~ WEIGHTED<=3 [ all = QCD ]
 
12
C     Process: g s~ > w+ c~ WEIGHTED<=3 [ all = QCD ]
 
13
C     
 
14
      IMPLICIT NONE
 
15
C     
 
16
C     CONSTANTS
 
17
C     
 
18
      INCLUDE 'nexternal.inc'
 
19
      INTEGER     NCOMB
 
20
      PARAMETER ( NCOMB=24)
 
21
C     
 
22
C     ARGUMENTS 
 
23
C     
 
24
      REAL*8 P(0:3,NEXTERNAL),ANS
 
25
      DOUBLE PRECISION       WGT_ME_BORN,WGT_ME_REAL
 
26
      COMMON /C_WGT_ME_TREE/ WGT_ME_BORN,WGT_ME_REAL
 
27
C     
 
28
C     LOCAL VARIABLES 
 
29
C     
 
30
      INTEGER IHEL,IDEN,I,T_IDENT(NCOMB)
 
31
      REAL*8 MATRIX_2
 
32
      REAL*8 T,T_SAVE(NCOMB)
 
33
      SAVE T_SAVE,T_IDENT
 
34
      INTEGER NHEL(NEXTERNAL,NCOMB)
 
35
      DATA (NHEL(I,   1),I=1,4) /-1,-1,-1, 1/
 
36
      DATA (NHEL(I,   2),I=1,4) /-1,-1,-1,-1/
 
37
      DATA (NHEL(I,   3),I=1,4) /-1,-1, 0, 1/
 
38
      DATA (NHEL(I,   4),I=1,4) /-1,-1, 0,-1/
 
39
      DATA (NHEL(I,   5),I=1,4) /-1,-1, 1, 1/
 
40
      DATA (NHEL(I,   6),I=1,4) /-1,-1, 1,-1/
 
41
      DATA (NHEL(I,   7),I=1,4) /-1, 1,-1, 1/
 
42
      DATA (NHEL(I,   8),I=1,4) /-1, 1,-1,-1/
 
43
      DATA (NHEL(I,   9),I=1,4) /-1, 1, 0, 1/
 
44
      DATA (NHEL(I,  10),I=1,4) /-1, 1, 0,-1/
 
45
      DATA (NHEL(I,  11),I=1,4) /-1, 1, 1, 1/
 
46
      DATA (NHEL(I,  12),I=1,4) /-1, 1, 1,-1/
 
47
      DATA (NHEL(I,  13),I=1,4) / 1,-1,-1, 1/
 
48
      DATA (NHEL(I,  14),I=1,4) / 1,-1,-1,-1/
 
49
      DATA (NHEL(I,  15),I=1,4) / 1,-1, 0, 1/
 
50
      DATA (NHEL(I,  16),I=1,4) / 1,-1, 0,-1/
 
51
      DATA (NHEL(I,  17),I=1,4) / 1,-1, 1, 1/
 
52
      DATA (NHEL(I,  18),I=1,4) / 1,-1, 1,-1/
 
53
      DATA (NHEL(I,  19),I=1,4) / 1, 1,-1, 1/
 
54
      DATA (NHEL(I,  20),I=1,4) / 1, 1,-1,-1/
 
55
      DATA (NHEL(I,  21),I=1,4) / 1, 1, 0, 1/
 
56
      DATA (NHEL(I,  22),I=1,4) / 1, 1, 0,-1/
 
57
      DATA (NHEL(I,  23),I=1,4) / 1, 1, 1, 1/
 
58
      DATA (NHEL(I,  24),I=1,4) / 1, 1, 1,-1/
 
59
      LOGICAL GOODHEL(NCOMB)
 
60
      DATA GOODHEL/NCOMB*.FALSE./
 
61
      INTEGER NTRY
 
62
      DATA NTRY/0/
 
63
      DATA IDEN/96/
 
64
C     ----------
 
65
C     BEGIN CODE
 
66
C     ----------
 
67
      NTRY=NTRY+1
 
68
      ANS = 0D0
 
69
      DO IHEL=1,NCOMB
 
70
        IF (GOODHEL(IHEL) .OR. NTRY .LT. 2) THEN
 
71
          IF (NTRY.LT.2) THEN
 
72
C           for the first ps-point, check for helicities that give
 
73
C           identical matrix elements
 
74
            T=MATRIX_2(P ,NHEL(1,IHEL))
 
75
            T_SAVE(IHEL)=T
 
76
            T_IDENT(IHEL)=-1
 
77
            DO I=1,IHEL-1
 
78
              IF (T.EQ.0D0) EXIT
 
79
              IF (T_SAVE(I).EQ.0D0) CYCLE
 
80
              IF (ABS(T/T_SAVE(I)-1D0) .LT. 1D-12) THEN
 
81
C               WRITE (*,*) 'FOUND IDENTICAL',T,IHEL,T_SAVE(I),I
 
82
                T_IDENT(IHEL) = I
 
83
              ENDIF
 
84
            ENDDO
 
85
          ELSE
 
86
            IF (T_IDENT(IHEL).GT.0) THEN
 
87
C             if two helicity states are identical, dont recompute
 
88
              T=T_SAVE(T_IDENT(IHEL))
 
89
              T_SAVE(IHEL)=T
 
90
            ELSE
 
91
              T=MATRIX_2(P ,NHEL(1,IHEL))
 
92
              T_SAVE(IHEL)=T
 
93
            ENDIF
 
94
          ENDIF
 
95
C         add to the sum of helicities
 
96
          ANS=ANS+T
 
97
          IF (T .NE. 0D0 .AND. .NOT. GOODHEL(IHEL)) THEN
 
98
            GOODHEL(IHEL)=.TRUE.
 
99
          ENDIF
 
100
        ENDIF
 
101
      ENDDO
 
102
      ANS=ANS/DBLE(IDEN)
 
103
      WGT_ME_REAL=ANS
 
104
      END
 
105
 
 
106
 
 
107
      REAL*8 FUNCTION MATRIX_2(P,NHEL)
 
108
C     
 
109
C     Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
 
110
C     By the MadGraph5_aMC@NLO Development Team
 
111
C     Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
 
112
C     
 
113
C     Returns amplitude squared summed/avg over colors
 
114
C     for the point with external lines W(0:6,NEXTERNAL)
 
115
C     
 
116
C     Process: g d~ > w+ u~ WEIGHTED<=3 [ all = QCD ]
 
117
C     Process: g s~ > w+ c~ WEIGHTED<=3 [ all = QCD ]
 
118
C     
 
119
      IMPLICIT NONE
 
120
C     
 
121
C     CONSTANTS
 
122
C     
 
123
      INTEGER    NGRAPHS
 
124
      PARAMETER (NGRAPHS=2)
 
125
      INTEGER    NWAVEFUNCS, NCOLOR
 
126
      PARAMETER (NWAVEFUNCS=5, NCOLOR=1)
 
127
      REAL*8     ZERO
 
128
      PARAMETER (ZERO=0D0)
 
129
      COMPLEX*16 IMAG1
 
130
      PARAMETER (IMAG1=(0D0,1D0))
 
131
      INCLUDE 'nexternal.inc'
 
132
      INCLUDE 'coupl.inc'
 
133
C     
 
134
C     ARGUMENTS 
 
135
C     
 
136
      REAL*8 P(0:3,NEXTERNAL)
 
137
      INTEGER NHEL(NEXTERNAL)
 
138
C     
 
139
C     LOCAL VARIABLES 
 
140
C     
 
141
      INTEGER I,J
 
142
      INTEGER IC(NEXTERNAL)
 
143
      DATA IC /NEXTERNAL*1/
 
144
      REAL*8 DENOM(NCOLOR), CF(NCOLOR,NCOLOR)
 
145
      COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP(NCOLOR), W(8,NWAVEFUNCS)
 
146
C     
 
147
C     COLOR DATA
 
148
C     
 
149
      DATA DENOM(1)/1/
 
150
      DATA (CF(I,  1),I=  1,  1) /    4/
 
151
C     1 T(1,2,4)
 
152
C     ----------
 
153
C     BEGIN CODE
 
154
C     ----------
 
155
      CALL VXXXXX(P(0,1),ZERO,NHEL(1),-1*IC(1),W(1,1))
 
156
      CALL OXXXXX(P(0,2),ZERO,NHEL(2),-1*IC(2),W(1,2))
 
157
      CALL VXXXXX(P(0,3),MDL_MW,NHEL(3),+1*IC(3),W(1,3))
 
158
      CALL IXXXXX(P(0,4),ZERO,NHEL(4),-1*IC(4),W(1,4))
 
159
      CALL FFV1_1(W(1,2),W(1,1),GC_5,ZERO,ZERO,W(1,5))
 
160
C     Amplitude(s) for diagram number 1
 
161
      CALL FFV2_0(W(1,4),W(1,5),W(1,3),GC_47,AMP(1))
 
162
      CALL FFV1_2(W(1,4),W(1,1),GC_5,ZERO,ZERO,W(1,5))
 
163
C     Amplitude(s) for diagram number 2
 
164
      CALL FFV2_0(W(1,5),W(1,2),W(1,3),GC_47,AMP(2))
 
165
      JAMP(1)=-AMP(1)-AMP(2)
 
166
      MATRIX_2 = 0.D0
 
167
      DO I = 1, NCOLOR
 
168
        ZTEMP = (0.D0,0.D0)
 
169
        DO J = 1, NCOLOR
 
170
          ZTEMP = ZTEMP + CF(J,I)*JAMP(J)
 
171
        ENDDO
 
172
        MATRIX_2 = MATRIX_2+ZTEMP*DCONJG(JAMP(I))/DENOM(I)
 
173
      ENDDO
 
174
      END
 
175