1
SUBROUTINE LOOP_CT_CALLS_1(P,NHEL,H,IC)
5
USE POLYNOMIAL_CONSTANTS
12
PARAMETER (NEXTERNAL=4)
16
PARAMETER (NBORNAMPS=1)
17
INTEGER NLOOPS, NLOOPGROUPS, NCTAMPS
18
PARAMETER (NLOOPS=35, NLOOPGROUPS=25, NCTAMPS=15)
20
PARAMETER (NLOOPAMPS=50)
21
INTEGER NWAVEFUNCS,NLOOPWAVEFUNCS
22
PARAMETER (NWAVEFUNCS=6,NLOOPWAVEFUNCS=73)
26
PARAMETER (MP__ZERO=0.0E0_16)
27
C These are constants related to the split orders
28
INTEGER NSO, NSQUAREDSO, NAMPSO
29
PARAMETER (NSO=2, NSQUAREDSO=1, NAMPSO=2)
33
REAL*8 P(0:3,NEXTERNAL)
34
INTEGER NHEL(NEXTERNAL), IC(NEXTERNAL)
40
COMPLEX*16 COEFS(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
43
DATA DUMMYFALSE/.FALSE./
48
INCLUDE 'mp_coupl.inc'
51
INTEGER GOODHEL(NCOMB)
52
LOGICAL GOODAMP(NSQUAREDSO,NLOOPGROUPS)
53
COMMON/FILTERS/GOODAMP,GOODHEL,HELOFFSET
56
LOGICAL HELDOUBLECHECKED
57
COMMON/INIT/CHECKPHASE, HELDOUBLECHECKED
60
COMMON/SOCHOICE/SQSO_TARGET
62
LOGICAL UVCT_REQ_SO_DONE,MP_UVCT_REQ_SO_DONE,CT_REQ_SO_DONE
63
$ ,MP_CT_REQ_SO_DONE,LOOP_REQ_SO_DONE,MP_LOOP_REQ_SO_DONE
64
$ ,CTCALL_REQ_SO_DONE,FILTER_SO
65
COMMON/SO_REQS/UVCT_REQ_SO_DONE,MP_UVCT_REQ_SO_DONE
66
$ ,CT_REQ_SO_DONE,MP_CT_REQ_SO_DONE,LOOP_REQ_SO_DONE
67
$ ,MP_LOOP_REQ_SO_DONE,CTCALL_REQ_SO_DONE,FILTER_SO
74
COMPLEX*16 AMP(NBORNAMPS)
76
COMPLEX*16 W(20,NWAVEFUNCS)
79
COMPLEX*16 WL(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE,
81
COMPLEX*16 PL(0:3,-1:NLOOPWAVEFUNCS)
84
COMPLEX*16 AMPL(3,NCTAMPS)
92
C The target squared split order contribution is already reached
94
IF (FILTER_SO.AND.CTCALL_REQ_SO_DONE) THEN
98
C CutTools call for loop numbers 1,29,30,2
99
CALL LOOP_2(5,6,DCMPLX(CMASS_MDL_MW),DCMPLX(ZERO),2,I_SO,1)
100
C CutTools call for loop numbers 3
101
CALL LOOP_3(3,4,5,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW)
103
C CutTools call for loop numbers 4
104
CALL LOOP_3(1,2,6,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(ZERO),2,I_SO
106
C CutTools call for loop numbers 5
107
CALL LOOP_3(1,2,6,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW),DCMPLX(ZERO)
109
C CutTools call for loop numbers 6
110
CALL LOOP_4(1,2,3,4,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW)
111
$ ,DCMPLX(ZERO),DCMPLX(ZERO),2,I_SO,5)
112
C CutTools call for loop numbers 7
113
CALL LOOP_3(1,2,6,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW)
115
C CutTools call for loop numbers 8
116
CALL LOOP_4(1,2,4,3,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(ZERO)
117
$ ,DCMPLX(CMASS_MDL_MW),2,I_SO,7)
118
C CutTools call for loop numbers 9,25
119
CALL LOOP_1_2(2,5,6,DCMPLX(CMASS_MDL_MZ),0,I_SO,8)
120
C CutTools call for loop numbers 10,26,31,32,11
121
CALL LOOP_2(5,6,DCMPLX(CMASS_MDL_MW),DCMPLX(CMASS_MDL_MZ),2,I_SO
123
C CutTools call for loop numbers 12
124
CALL LOOP_3(3,4,5,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW)
125
$ ,DCMPLX(CMASS_MDL_MZ),2,I_SO,10)
126
C CutTools call for loop numbers 13
127
CALL LOOP_3(3,4,5,DCMPLX(CMASS_MDL_MZ),DCMPLX(ZERO),DCMPLX(ZERO)
129
C CutTools call for loop numbers 14
130
CALL LOOP_3(3,4,5,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MZ)
131
$ ,DCMPLX(CMASS_MDL_MW),2,I_SO,12)
132
C CutTools call for loop numbers 15
133
CALL LOOP_3(1,2,6,DCMPLX(CMASS_MDL_MZ),DCMPLX(ZERO),DCMPLX(ZERO)
135
C CutTools call for loop numbers 16
136
CALL LOOP_3(1,2,6,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW)
137
$ ,DCMPLX(CMASS_MDL_MZ),2,I_SO,14)
138
C CutTools call for loop numbers 17
139
CALL LOOP_4(1,2,4,3,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW)
140
$ ,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MZ),2,I_SO,15)
141
C CutTools call for loop numbers 18
142
CALL LOOP_4(1,2,3,4,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW)
143
$ ,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MZ),2,I_SO,16)
144
C CutTools call for loop numbers 19
145
CALL LOOP_3(1,2,6,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MZ)
146
$ ,DCMPLX(CMASS_MDL_MW),2,I_SO,17)
147
C CutTools call for loop numbers 20
148
CALL LOOP_4(1,2,3,4,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MZ)
149
$ ,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW),2,I_SO,18)
150
C CutTools call for loop numbers 21
151
CALL LOOP_4(1,2,4,3,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MZ)
152
$ ,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW),2,I_SO,19)
153
C CutTools call for loop numbers 22
154
CALL LOOP_1_2(2,5,6,DCMPLX(CMASS_MDL_MH),0,I_SO,20)
155
C CutTools call for loop numbers 23
156
CALL LOOP_2(5,6,DCMPLX(CMASS_MDL_MW),DCMPLX(CMASS_MDL_MH),2,I_SO
158
C CutTools call for loop numbers 24
159
CALL LOOP_2(5,6,DCMPLX(CMASS_MDL_MH),DCMPLX(CMASS_MDL_MW),0,I_SO
161
C CutTools call for loop numbers 27,28
162
CALL LOOP_1_2(2,5,6,DCMPLX(CMASS_MDL_MW),0,I_SO,23)
163
C CutTools call for loop numbers 33,35
164
CALL LOOP_2(5,6,DCMPLX(ZERO),DCMPLX(ZERO),2,I_SO,24)
165
C CutTools call for loop numbers 34
166
CALL LOOP_2(5,6,DCMPLX(CMASS_MDL_MT),DCMPLX(ZERO),2,I_SO,25)
167
C At this point, all reductions needed for (QCD=0 QED=6), i.e. of
168
C split order ID=1, are computed.
169
IF(FILTER_SO.AND.SQSO_TARGET.EQ.1) GOTO 5000
173
CTCALL_REQ_SO_DONE=.TRUE.