~maddevelopers/mg5amcnlo/FKS_EW_flattened_dsig_merged2.3.3

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/mp_coef_construction_1.f

  • Committer: Marco Zaro
  • Date: 2016-05-24 12:48:05 UTC
  • mfrom: (78.337.150 2.4.1)
  • Revision ID: marco.zaro@gmail.com-20160524124805-d0y3ij808wdroloh
merged with 2.4.1 rev 410

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      SUBROUTINE ML5_0_MP_COEF_CONSTRUCTION_1(P,NHEL,H,IC)
 
2
C     
 
3
      USE ML5_0_POLYNOMIAL_CONSTANTS
 
4
      IMPLICIT NONE
 
5
C     
 
6
C     CONSTANTS
 
7
C     
 
8
      INTEGER    NEXTERNAL
 
9
      PARAMETER (NEXTERNAL=5)
 
10
      INTEGER    NCOMB
 
11
      PARAMETER (NCOMB=32)
 
12
 
 
13
      INTEGER NBORNAMPS
 
14
      PARAMETER (NBORNAMPS=2)
 
15
      INTEGER    NLOOPS, NLOOPGROUPS, NCTAMPS
 
16
      PARAMETER (NLOOPS=11, NLOOPGROUPS=9, NCTAMPS=28)
 
17
      INTEGER    NLOOPAMPS
 
18
      PARAMETER (NLOOPAMPS=39)
 
19
      INTEGER    NWAVEFUNCS,NLOOPWAVEFUNCS
 
20
      PARAMETER (NWAVEFUNCS=10,NLOOPWAVEFUNCS=27)
 
21
      REAL*16     ZERO
 
22
      PARAMETER (ZERO=0.0E0_16)
 
23
      COMPLEX*32     IZERO
 
24
      PARAMETER (IZERO=CMPLX(0.0E0_16,0.0E0_16,KIND=16))
 
25
C     These are constants related to the split orders
 
26
      INTEGER    NSO, NSQUAREDSO, NAMPSO
 
27
      PARAMETER (NSO=0, NSQUAREDSO=0, NAMPSO=0)
 
28
C     
 
29
C     ARGUMENTS
 
30
C     
 
31
      REAL*16 P(0:3,NEXTERNAL)
 
32
      INTEGER NHEL(NEXTERNAL), IC(NEXTERNAL)
 
33
      INTEGER H
 
34
C     
 
35
C     LOCAL VARIABLES
 
36
C     
 
37
      INTEGER I,J,K
 
38
      COMPLEX*32 COEFS(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
 
39
C     
 
40
C     GLOBAL VARIABLES
 
41
C     
 
42
      INCLUDE 'mp_coupl_same_name.inc'
 
43
 
 
44
      INTEGER GOODHEL(NCOMB)
 
45
      LOGICAL GOODAMP(NSQUAREDSO,NLOOPGROUPS)
 
46
      COMMON/ML5_0_FILTERS/GOODAMP,GOODHEL
 
47
 
 
48
      INTEGER SQSO_TARGET
 
49
      COMMON/ML5_0_SOCHOICE/SQSO_TARGET
 
50
 
 
51
      LOGICAL UVCT_REQ_SO_DONE,MP_UVCT_REQ_SO_DONE,CT_REQ_SO_DONE
 
52
     $ ,MP_CT_REQ_SO_DONE,LOOP_REQ_SO_DONE,MP_LOOP_REQ_SO_DONE
 
53
     $ ,CTCALL_REQ_SO_DONE,FILTER_SO
 
54
      COMMON/ML5_0_SO_REQS/UVCT_REQ_SO_DONE,MP_UVCT_REQ_SO_DONE
 
55
     $ ,CT_REQ_SO_DONE,MP_CT_REQ_SO_DONE,LOOP_REQ_SO_DONE
 
56
     $ ,MP_LOOP_REQ_SO_DONE,CTCALL_REQ_SO_DONE,FILTER_SO
 
57
 
 
58
      COMPLEX*32 AMP(NBORNAMPS)
 
59
      COMMON/ML5_0_MP_AMPS/AMP
 
60
      COMPLEX*32 W(20,NWAVEFUNCS)
 
61
      COMMON/ML5_0_MP_W/W
 
62
 
 
63
      COMPLEX*32 WL(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE
 
64
     $ ,0:NLOOPWAVEFUNCS)
 
65
      COMPLEX*32 PL(0:3,0:NLOOPWAVEFUNCS)
 
66
      COMMON/ML5_0_MP_WL/WL,PL
 
67
 
 
68
      COMPLEX*32 AMPL(3,NCTAMPS)
 
69
      COMMON/ML5_0_MP_AMPL/AMPL
 
70
 
 
71
C     
 
72
C     ----------
 
73
C     BEGIN CODE
 
74
C     ----------
 
75
 
 
76
C     The target squared split order contribution is already reached
 
77
C      if true.
 
78
      IF (FILTER_SO.AND.MP_LOOP_REQ_SO_DONE) THEN
 
79
        GOTO 1001
 
80
      ENDIF
 
81
 
 
82
C     Coefficient construction for loop diagram with ID 3
 
83
      CALL MP_FFV1L2P0_3(PL(0,0),W(1,6),GC_5,ZERO,ZERO,PL(0,1),COEFS)
 
84
      CALL MP_ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,1))
 
85
      CALL MP_FFV1L3_1(PL(0,1),W(1,9),GC_5,ZERO,ZERO,PL(0,2),COEFS)
 
86
      CALL MP_ML5_0_UPDATE_WL_0_1(WL(1,0,1,1),4,COEFS,4,4,WL(1,0,1,2))
 
87
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,2),1,4,1,1,1,29,H)
 
88
C     Coefficient construction for loop diagram with ID 4
 
89
      CALL MP_FFV1L3_1(PL(0,0),W(1,2),GC_5,ZERO,ZERO,PL(0,3),COEFS)
 
90
      CALL MP_ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,3))
 
91
      CALL MP_FFV2L2_1(PL(0,3),W(1,7),GC_47,ZERO,ZERO,PL(0,4),COEFS)
 
92
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,3),4,COEFS,4,4,WL(1,0,1,4))
 
93
      CALL MP_FFV1L2P0_3(PL(0,4),W(1,6),GC_5,ZERO,ZERO,PL(0,5),COEFS)
 
94
      CALL MP_ML5_0_UPDATE_WL_2_0(WL(1,0,1,4),4,COEFS,4,4,WL(1,0,1,5))
 
95
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,5),2,4,2,1,1,30,H)
 
96
C     Coefficient construction for loop diagram with ID 5
 
97
      CALL MP_FFV1L3_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,6),COEFS)
 
98
      CALL MP_ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,6))
 
99
      CALL MP_FFV2L1_2(PL(0,6),W(1,7),GC_47,ZERO,ZERO,PL(0,7),COEFS)
 
100
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,6),4,COEFS,4,4,WL(1,0,1,7))
 
101
      CALL MP_FFV1L1P0_3(PL(0,7),W(1,8),GC_5,ZERO,ZERO,PL(0,8),COEFS)
 
102
      CALL MP_ML5_0_UPDATE_WL_2_0(WL(1,0,1,7),4,COEFS,4,4,WL(1,0,1,8))
 
103
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,8),2,4,3,1,1,31,H)
 
104
C     Coefficient construction for loop diagram with ID 6
 
105
      CALL MP_FFV1L2P0_3(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,9),COEFS)
 
106
      CALL MP_ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,9))
 
107
      CALL MP_FFV1L3_1(PL(0,9),W(1,2),GC_5,ZERO,ZERO,PL(0,10),COEFS)
 
108
      CALL MP_ML5_0_UPDATE_WL_0_1(WL(1,0,1,9),4,COEFS,4,4,WL(1,0,1,10))
 
109
      CALL MP_FFV1L2_1(PL(0,10),W(1,5),GC_5,ZERO,ZERO,PL(0,11),COEFS)
 
110
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,10),4,COEFS,4,4,WL(1,0,1,11)
 
111
     $ )
 
112
      CALL MP_FFV2L2_1(PL(0,11),W(1,7),GC_47,ZERO,ZERO,PL(0,12),COEFS)
 
113
      CALL MP_ML5_0_UPDATE_WL_2_1(WL(1,0,1,11),4,COEFS,4,4,WL(1,0,1,12)
 
114
     $ )
 
115
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,12),3,4,4,1,1,32,H)
 
116
C     Coefficient construction for loop diagram with ID 7
 
117
      CALL MP_VVV1L2P0_1(PL(0,9),W(1,5),GC_4,ZERO,ZERO,PL(0,13),COEFS)
 
118
      CALL MP_ML5_0_UPDATE_WL_0_1(WL(1,0,1,9),4,COEFS,4,4,WL(1,0,1,13))
 
119
      CALL MP_FFV1L3_1(PL(0,13),W(1,9),GC_5,ZERO,ZERO,PL(0,14),COEFS)
 
120
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,13),4,COEFS,4,4,WL(1,0,1,14)
 
121
     $ )
 
122
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,14),2,4,5,1,1,33,H)
 
123
C     Coefficient construction for loop diagram with ID 8
 
124
      CALL MP_FFV1L3_1(PL(0,13),W(1,2),GC_5,ZERO,ZERO,PL(0,15),COEFS)
 
125
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,13),4,COEFS,4,4,WL(1,0,1,15)
 
126
     $ )
 
127
      CALL MP_FFV2L2_1(PL(0,15),W(1,7),GC_47,ZERO,ZERO,PL(0,16),COEFS)
 
128
      CALL MP_ML5_0_UPDATE_WL_2_1(WL(1,0,1,15),4,COEFS,4,4,WL(1,0,1,16)
 
129
     $ )
 
130
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,16),3,4,6,1,1,34,H)
 
131
C     Coefficient construction for loop diagram with ID 9
 
132
      CALL MP_FFV2L2_1(PL(0,10),W(1,7),GC_47,ZERO,ZERO,PL(0,17),COEFS)
 
133
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,10),4,COEFS,4,4,WL(1,0,1,17)
 
134
     $ )
 
135
      CALL MP_FFV1L2_1(PL(0,17),W(1,5),GC_5,ZERO,ZERO,PL(0,18),COEFS)
 
136
      CALL MP_ML5_0_UPDATE_WL_2_1(WL(1,0,1,17),4,COEFS,4,4,WL(1,0,1,18)
 
137
     $ )
 
138
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,18),3,4,7,1,1,35,H)
 
139
C     Coefficient construction for loop diagram with ID 10
 
140
      CALL MP_FFV1L1_2(PL(0,6),W(1,5),GC_5,ZERO,ZERO,PL(0,19),COEFS)
 
141
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,6),4,COEFS,4,4,WL(1,0,1,19))
 
142
      CALL MP_FFV1L1P0_3(PL(0,19),W(1,9),GC_5,ZERO,ZERO,PL(0,20),COEFS)
 
143
      CALL MP_ML5_0_UPDATE_WL_2_0(WL(1,0,1,19),4,COEFS,4,4,WL(1,0,1,20)
 
144
     $ )
 
145
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,20),2,4,5,1,1,36,H)
 
146
C     Coefficient construction for loop diagram with ID 11
 
147
      CALL MP_FFV1L1P0_3(PL(0,0),W(1,8),GC_5,ZERO,ZERO,PL(0,21),COEFS)
 
148
      CALL MP_ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,21))
 
149
      CALL MP_FFV1L3_2(PL(0,21),W(1,10),GC_5,ZERO,ZERO,PL(0,22),COEFS)
 
150
      CALL MP_ML5_0_UPDATE_WL_0_1(WL(1,0,1,21),4,COEFS,4,4,WL(1,0,1,22)
 
151
     $ )
 
152
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,22),1,4,8,1,1,37,H)
 
153
C     Coefficient construction for loop diagram with ID 12
 
154
      CALL MP_FFV1L1P0_3(PL(0,0),W(1,2),GC_5,ZERO,ZERO,PL(0,23),COEFS)
 
155
      CALL MP_ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,23))
 
156
      CALL MP_VVV1L2P0_1(PL(0,23),W(1,5),GC_4,ZERO,ZERO,PL(0,24),COEFS)
 
157
      CALL MP_ML5_0_UPDATE_WL_0_1(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1,24)
 
158
     $ )
 
159
      CALL MP_FFV1L3_2(PL(0,24),W(1,10),GC_5,ZERO,ZERO,PL(0,25),COEFS)
 
160
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,24),4,COEFS,4,4,WL(1,0,1,25)
 
161
     $ )
 
162
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,25),2,4,9,1,1,38,H)
 
163
C     Coefficient construction for loop diagram with ID 13
 
164
      CALL MP_FFV1L2_1(PL(0,3),W(1,5),GC_5,ZERO,ZERO,PL(0,26),COEFS)
 
165
      CALL MP_ML5_0_UPDATE_WL_1_1(WL(1,0,1,3),4,COEFS,4,4,WL(1,0,1,26))
 
166
      CALL MP_FFV1L2P0_3(PL(0,26),W(1,10),GC_5,ZERO,ZERO,PL(0,27)
 
167
     $ ,COEFS)
 
168
      CALL MP_ML5_0_UPDATE_WL_2_0(WL(1,0,1,26),4,COEFS,4,4,WL(1,0,1,27)
 
169
     $ )
 
170
      CALL MP_ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,27),2,4,9,1,1,39,H)
 
171
 
 
172
      GOTO 1001
 
173
 4000 CONTINUE
 
174
      MP_LOOP_REQ_SO_DONE=.TRUE.
 
175
 1001 CONTINUE
 
176
      END
 
177