1
SUBROUTINE SB_SF_006(P1,ANS)
1
SUBROUTINE SB_SF_006(P,ANS_SUMMED)
3
C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
4
C By the MadGraph5_aMC@NLO Development Team
5
C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
8
C Return the sum of the split orders which are required in
9
C orders.inc (BORN_ORDERS)
10
C Also the values needed for the counterterms are stored in the
11
C C_BORN_CNT common block
14
C Process: g g > t t~ [ real = QED QCD ] QCD^2<=6 QED^2<=0
22
INCLUDE 'nexternal.inc'
24
PARAMETER (NSQAMPSO=1)
28
REAL*8 P(0:3,NEXTERNAL), ANS_SUMMED
34
REAL*8 ANS(0:NSQAMPSO)
35
LOGICAL KEEP_ORDER_CNT(NSPLITORDERS, NSQAMPSO)
36
COMMON /C_KEEP_ORDER_CNT/ KEEP_ORDER_CNT
37
INTEGER AMP_ORDERS(NSPLITORDERS)
39
PARAMETER (TINY = 1D-12)
40
DOUBLE PRECISION MAX_VAL
44
INTEGER GETORDPOWFROMINDEX_B
45
INTEGER ORDERS_TO_AMP_SPLIT_POS
49
CALL SB_SF_006_SPLITORDERS(P,ANS)
50
C color-linked borns are called for QCD-type emissions
54
C reset the amp_split_cnt array
55
AMP_SPLIT_CNT(1:AMP_SPLIT_SIZE,1:2,1:NSPLITORDERS) = DCMPLX(0D0
60
MAX_VAL = MAX(MAX_VAL, ABS(ANS(I)))
64
IF (KEEP_ORDER_CNT(QCD_POS, I)) THEN
65
ANS_SUMMED = ANS_SUMMED + ANS(I)
66
DO J = 1, NSPLITORDERS
67
AMP_ORDERS(J) = GETORDPOWFROMINDEX_B(J, I)
68
C take into account the fact that this is for QCD
69
IF (J.EQ.QCD_POS) AMP_ORDERS(J) = AMP_ORDERS(J) + 2
71
!amp_split_cnt(orders_to_amp_split_pos(amp_orders),1,qcd_pos) = ans(I)
72
IF(ABS(ANS(I)).GT.MAX_VAL*TINY)
73
$ AMP_SPLIT_CNT(ORDERS_TO_AMP_SPLIT_POS(AMP_ORDERS),1
78
C this is to avoid fake non-zero contributions
79
IF (ABS(ANS_SUMMED).LT.MAX_VAL*TINY) ANS_SUMMED=0D0
85
SUBROUTINE SB_SF_006_SPLITORDERS(P1,ANS)
3
87
C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
4
88
C By the MadGraph5_aMC@NLO Development Team
29
REAL*8 P1(0:3,NEXTERNAL-1),ANS
115
REAL*8 P1(0:3,NEXTERNAL-1),ANS(0:NSQAMPSO)
119
INTEGER IHEL,IDEN,I,J
120
DOUBLE PRECISION T(NSQAMPSO)
35
121
INTEGER IDEN_VALUES(8)
36
122
DATA IDEN_VALUES /256, 256, 256, 256, 256, 256, 256, 256/
64
150
$ //' called only with calculatedborn = true'
69
157
IF (GOODHEL(IHEL,NFKSPROCESS)) THEN
70
ANS=ANS+B_SF_006(P1,IHEL)
158
CALL B_SF_006(IHEL,T)
165
ANS(I)=ANS(I)/DBLE(IDEN)
77
REAL*8 FUNCTION B_SF_006(P,HELL)
171
SUBROUTINE B_SF_006(HELL,ANS)
79
173
C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
80
174
C By the MadGraph5_aMC@NLO Development Team
106
REAL*8 P(0:3,NEXTERNAL-1)
109
205
C LOCAL VARIABLES
112
REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1)
113
COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2)
208
REAL*8 CF(NCOLOR2,NCOLOR1)
209
COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1,NAMPSO),
210
$ JAMP2(NCOLOR2,NAMPSO)
211
COMPLEX*16 TMP_JAMP(0)
115
213
C GLOBAL VARIABLES
119
217
LOGICAL CALCULATEDBORN
120
218
COMMON/CCALCULATEDBORN/CALCULATEDBORN
125
DATA (CF(I, 1),I= 1, 2) / 16, -2/
127
DATA (CF(I, 2),I= 1, 2) / -2, 16/
226
DATA (CF(I, 1),I= 1, 2) /5.333333333333333D+00,
227
$ -6.666666666666666D-01/
228
DATA (CF(I, 2),I= 1, 2) /-6.666666666666666D-01
229
$ ,5.333333333333333D+00/
137
239
AMP(I)=SAVEAMP(I,HELL)
140
JAMP1(1)=+IMAG1*AMP(1)-AMP(2)
141
JAMP1(2)=-IMAG1*AMP(1)-AMP(3)
142
JAMP2(1)=+1D0/4D0*(+3D0*IMAG1*AMP(1)-1D0/3D0*IMAG1*AMP(1)-3D0
143
$ *AMP(2)+1D0/3D0*AMP(2))
144
JAMP2(2)=+1D0/4D0*(-3D0*IMAG1*AMP(1)+1D0/3D0*IMAG1*AMP(1)-3D0
145
$ *AMP(3)+1D0/3D0*AMP(3))
150
ZTEMP = ZTEMP + CF(J,I)*JAMP2(J)
242
C JAMPs contributing to orders QCD=2 QED=0
243
JAMP1(1,1) = ((0.000000000000000D+00,1.000000000000000D+00))
244
$ *AMP(1)+(-1.000000000000000D+00)*AMP(2)
245
JAMP1(2,1) = ((0.000000000000000D+00,-1.000000000000000D+00))
246
$ *AMP(1)+(-1.000000000000000D+00)*AMP(3)
247
C JAMPs contributing to orders QCD=2 QED=0
248
JAMP2(1,1) = ((0.000000000000000D+00,6.666666666666666D-01))
249
$ *AMP(1)+(-6.666666666666666D-01)*AMP(2)
250
JAMP2(2,1) = ((0.000000000000000D+00,-6.666666666666666D-01))
251
$ *AMP(1)+(-6.666666666666666D-01)*AMP(3)
259
ZTEMP = ZTEMP + CF(J,I)*JAMP2(J,M)
262
ANS(SQSOINDEXB(M,N))=ANS(SQSOINDEXB(M,N))+ZTEMP
263
$ *DCONJG(JAMP1(I,N))
152
B_SF_006 =B_SF_006+ZTEMP*DCONJG(JAMP1(I))/DENOM(I)