~maddevelopers/mg5amcnlo/new_clustering

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%loop_CT_calls_1.f

  • Committer: Rikkert Frederix
  • Date: 2021-09-09 15:51:40 UTC
  • mfrom: (78.75.502 3.2.1)
  • Revision ID: frederix@physik.uzh.ch-20210909155140-rg6umfq68h6h47cf
merge with 3.2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      SUBROUTINE LOOP_CT_CALLS_1(P,NHEL,H,IC)
 
2
C     
 
3
C     Modules
 
4
C     
 
5
      USE POLYNOMIAL_CONSTANTS
 
6
C     
 
7
      IMPLICIT NONE
 
8
C     
 
9
C     CONSTANTS
 
10
C     
 
11
      INTEGER    NEXTERNAL
 
12
      PARAMETER (NEXTERNAL=4)
 
13
      INTEGER    NCOMB
 
14
      PARAMETER (NCOMB=16)
 
15
      INTEGER NBORNAMPS
 
16
      PARAMETER (NBORNAMPS=1)
 
17
      INTEGER    NLOOPS, NLOOPGROUPS, NCTAMPS
 
18
      PARAMETER (NLOOPS=35, NLOOPGROUPS=25, NCTAMPS=15)
 
19
      INTEGER    NLOOPAMPS
 
20
      PARAMETER (NLOOPAMPS=50)
 
21
      INTEGER    NWAVEFUNCS,NLOOPWAVEFUNCS
 
22
      PARAMETER (NWAVEFUNCS=6,NLOOPWAVEFUNCS=73)
 
23
      REAL*8     ZERO
 
24
      PARAMETER (ZERO=0D0)
 
25
      REAL*16     MP__ZERO
 
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)
 
30
C     
 
31
C     ARGUMENTS
 
32
C     
 
33
      REAL*8 P(0:3,NEXTERNAL)
 
34
      INTEGER NHEL(NEXTERNAL), IC(NEXTERNAL)
 
35
      INTEGER H
 
36
C     
 
37
C     LOCAL VARIABLES
 
38
C     
 
39
      INTEGER I,J,K
 
40
      COMPLEX*16 COEFS(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
 
41
 
 
42
      LOGICAL DUMMYFALSE
 
43
      DATA DUMMYFALSE/.FALSE./
 
44
C     
 
45
C     GLOBAL VARIABLES
 
46
C     
 
47
      INCLUDE 'coupl.inc'
 
48
      INCLUDE 'mp_coupl.inc'
 
49
 
 
50
      INTEGER HELOFFSET
 
51
      INTEGER GOODHEL(NCOMB)
 
52
      LOGICAL GOODAMP(NSQUAREDSO,NLOOPGROUPS)
 
53
      COMMON/FILTERS/GOODAMP,GOODHEL,HELOFFSET
 
54
 
 
55
      LOGICAL CHECKPHASE
 
56
      LOGICAL HELDOUBLECHECKED
 
57
      COMMON/INIT/CHECKPHASE, HELDOUBLECHECKED
 
58
 
 
59
      INTEGER SQSO_TARGET
 
60
      COMMON/SOCHOICE/SQSO_TARGET
 
61
 
 
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
 
68
 
 
69
      INTEGER I_SO
 
70
      COMMON/I_SO/I_SO
 
71
      INTEGER I_LIB
 
72
      COMMON/I_LIB/I_LIB
 
73
 
 
74
      COMPLEX*16 AMP(NBORNAMPS)
 
75
      COMMON/AMPS/AMP
 
76
      COMPLEX*16 W(20,NWAVEFUNCS)
 
77
      COMMON/W/W
 
78
 
 
79
      COMPLEX*16 WL(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE,
 
80
     $ -1:NLOOPWAVEFUNCS)
 
81
      COMPLEX*16 PL(0:3,-1:NLOOPWAVEFUNCS)
 
82
      COMMON/WL/WL,PL
 
83
 
 
84
      COMPLEX*16 AMPL(3,NCTAMPS)
 
85
      COMMON/AMPL/AMPL
 
86
 
 
87
C     
 
88
C     ----------
 
89
C     BEGIN CODE
 
90
C     ----------
 
91
 
 
92
C     The target squared split order contribution is already reached
 
93
C      if true.
 
94
      IF (FILTER_SO.AND.CTCALL_REQ_SO_DONE) THEN
 
95
        GOTO 1001
 
96
      ENDIF
 
97
 
 
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)
 
102
     $ ,2,I_SO,2)
 
103
C     CutTools call for loop numbers 4
 
104
      CALL LOOP_3(1,2,6,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(ZERO),2,I_SO
 
105
     $ ,3)
 
106
C     CutTools call for loop numbers 5
 
107
      CALL LOOP_3(1,2,6,DCMPLX(ZERO),DCMPLX(CMASS_MDL_MW),DCMPLX(ZERO)
 
108
     $ ,2,I_SO,4)
 
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)
 
114
     $ ,2,I_SO,6)
 
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
 
122
     $ ,9)
 
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)
 
128
     $ ,2,I_SO,11)
 
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)
 
134
     $ ,2,I_SO,13)
 
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
 
157
     $ ,21)
 
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
 
160
     $ ,22)
 
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
 
170
 
 
171
      GOTO 1001
 
172
 5000 CONTINUE
 
173
      CTCALL_REQ_SO_DONE=.TRUE.
 
174
 1001 CONTINUE
 
175
      END
 
176