1
## if(not AmplitudeReduction){
1
2
C THE SUBROUTINE TO CREATE THE COEFFICIENTS FROM LAST LOOP WF AND
2
3
C MULTIPLY BY THE BORN
4
SUBROUTINE %(mp_prefix)s%(proc_prefix)sCREATE_LOOP_COEFS(LOOP_WF,RANK,LCUT_SIZE,LOOP_GROUP_NUMBER,SYMFACT,COLOR_ID,HELCONFIG)
5
SUBROUTINE %(mp_prefix)s%(proc_prefix)sCREATE_LOOP_COEFS(LOOP_WF,RANK,LCUT_SIZE,LOOP_GROUP_NUMBER,SYMFACT,MULTIPLIER,COLOR_ID,HELCONFIG)
10
## if (not LoopInduced) {
12
PARAMETER (NBORNAMPS=%(nbornamps)d)
10
14
%(real_format)s ZERO,ONE
11
15
PARAMETER (ZERO=%(zero_def)s,ONE=%(one_def)s)
12
16
%(complex_format)s IMAG1
32
36
%(complex_format)s LOOP_WF(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
33
INTEGER RANK, COLOR_ID, SYMFACT, LCUT_SIZE, HELCONFIG, LOOP_GROUP_NUMBER
37
INTEGER RANK, COLOR_ID, SYMFACT, MULTIPLIER, LCUT_SIZE, HELCONFIG, LOOP_GROUP_NUMBER
79
86
IF (CONST(I).NE.CMPLX_ZERO) THEN
80
CONST(I)=CONST(I)/SYMFACT
87
CONST(I)=(CONST(I)*MULTIPLIER)/SYMFACT
81
88
IF (.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.HELPICKED.EQ.-1) THEN
82
89
CONST(I)=CONST(I)*GOODHEL(HELCONFIG)
97
C The subroutine to create the loop coefficients form the last loop wf.
98
C In this case of loop-induced process, the reduction is performed at the loop
99
C amplitude level so that no multiplication is performed.
101
SUBROUTINE %(mp_prefix)s%(proc_prefix)sCREATE_LOOP_COEFS(LOOP_WF,RANK,LCUT_SIZE,LOOP_GROUP_NUMBER,SYMFACT,MULTIPLIER)
106
%(real_format)s ZERO,ONE
107
PARAMETER (ZERO=%(zero_def)s,ONE=%(one_def)s)
108
%(complex_format)s IMAG1
109
PARAMETER (IMAG1=(ZERO,ONE))
110
%(complex_format)s CMPLX_ZERO
111
PARAMETER (CMPLX_ZERO=(ZERO,ZERO))
113
PARAMETER (MAXLWFSIZE=%(max_lwf_size)d)
115
PARAMETER (LOOPMAXCOEFS=%(loop_max_coefs)d)
117
PARAMETER (NLOOPGROUPS=%(nloop_groups)d)
119
PARAMETER (NCOMB=%(ncomb)d)
123
%(complex_format)s LOOP_WF(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE)
124
INTEGER RANK, SYMFACT, LCUT_SIZE, LOOP_GROUP_NUMBER, MULTIPLIER
128
%(complex_format)s CONST
133
%(complex_format)s LOOPCOEFS(0:LOOPMAXCOEFS-1,NLOOPGROUPS)
134
common/%(proc_prefix)s%(mp_prefix)sLCOEFS/LOOPCOEFS
138
CONST=CMPLX((ONE*MULTIPLIER)/SYMFACT,ZERO,KIND=16)
140
CALL %(mp_prefix)s%(proc_prefix)sMERGE_WL(LOOP_WF,RANK,LCUT_SIZE,CONST,LOOPCOEFS(0,LOOP_GROUP_NUMBER))