1
SUBROUTINE MP_HELAS_CALLS_AMPB_1(P,NHEL,H,IC)
3
USE POLYNOMIAL_CONSTANTS
9
PARAMETER (NEXTERNAL=3)
14
PARAMETER (NBORNAMPS=1)
15
INTEGER NLOOPS, NLOOPGROUPS, NCTAMPS
16
PARAMETER (NLOOPS=1, NLOOPGROUPS=1, NCTAMPS=1)
18
PARAMETER (NLOOPAMPS=2)
19
INTEGER NWAVEFUNCS,NLOOPWAVEFUNCS
20
PARAMETER (NWAVEFUNCS=3,NLOOPWAVEFUNCS=3)
22
PARAMETER (ZERO=0.0E0_16)
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=1, NSQUAREDSO=1, NAMPSO=2)
31
REAL*16 P(0:3,NEXTERNAL)
32
INTEGER NHEL(NEXTERNAL), IC(NEXTERNAL)
38
COMPLEX*32 COEFS(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
42
INCLUDE 'mp_coupl_same_name.inc'
44
INTEGER GOODHEL(NCOMB)
45
LOGICAL GOODAMP(NSQUAREDSO,NLOOPGROUPS)
46
COMMON/FILTERS/GOODAMP,GOODHEL
49
COMMON/SOCHOICE/SQSO_TARGET
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/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
58
COMPLEX*32 AMP(NBORNAMPS)
60
COMPLEX*32 W(20,NWAVEFUNCS)
63
COMPLEX*32 WL(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE
65
COMPLEX*32 PL(0:3,0:NLOOPWAVEFUNCS)
68
COMPLEX*32 AMPL(3,NCTAMPS)
76
C The target squared split order contribution is already reached
78
IF (FILTER_SO.AND.MP_CT_REQ_SO_DONE) THEN
82
CALL MP_IXXXXX(P(0,1),ZERO,NHEL(1),+1*IC(1),W(1,1))
83
CALL MP_OXXXXX(P(0,2),ZERO,NHEL(2),-1*IC(2),W(1,2))
84
CALL MP_VXXXXX(P(0,3),MDL_MW,NHEL(3),+1*IC(3),W(1,3))
85
C Amplitude(s) for born diagram with ID 1
86
CALL MP_FFV2_0(W(1,1),W(1,2),W(1,3),GC_47,AMP(1))
87
C Counter-term amplitude(s) for loop diagram number 2
88
CALL MP_FFV2_0(W(1,1),W(1,2),W(1,3),R2_SXCW,AMPL(1,1))
89
C At this point, all CT amps needed for (QCD=2), i.e. of split
90
C order ID=1, are computed.
91
IF(FILTER_SO.AND.SQSO_TARGET.EQ.1) GOTO 2000
95
MP_CT_REQ_SO_DONE=.TRUE.