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~ [ LOonly = QCD QED ] 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)
87
C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
88
C By the MadGraph5_aMC@NLO Development Team
89
C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
91
C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS
93
C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1)
95
C Process: g g > t t~ [ LOonly = QCD QED ] QCD^2<=6 QED^2<=0
103
INCLUDE 'nexternal.inc'
105
PARAMETER ( NCOMB= 16 )
107
PARAMETER (NSQAMPSO=1)
109
PARAMETER (THEL=NCOMB*0)
111
PARAMETER (NGRAPHS= 3)
115
REAL*8 P1(0:3,NEXTERNAL-1),ANS(0:NSQAMPSO)
119
INTEGER IHEL,IDEN,I,J
120
DOUBLE PRECISION T(NSQAMPSO)
121
INTEGER IDEN_VALUES(1)
122
DATA IDEN_VALUES / 256 /
126
LOGICAL GOODHEL(NCOMB,0)
127
COMMON /C_GOODHEL/ GOODHEL
128
DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2)
129
COMMON/TO_SAVEMOM/SAVEMOM
130
LOGICAL CALCULATEDBORN
131
COMMON/CCALCULATEDBORN/CALCULATEDBORN
133
COMMON/C_NFKSPROCESS/NFKSPROCESS
137
IDEN=IDEN_VALUES(NFKSPROCESS)
138
IF (CALCULATEDBORN) THEN
140
IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3,J))
142
CALCULATEDBORN=.FALSE.
143
WRITE(*,*) 'Error in sb_sf: momenta not the same in the'
149
WRITE(*,*) 'Error in sb_sf: color_linked borns should be'
150
$ //' called only with calculatedborn = true'
157
IF (GOODHEL(IHEL,NFKSPROCESS)) THEN
158
CALL B_SF_006(IHEL,T)
165
ANS(I)=ANS(I)/DBLE(IDEN)
171
SUBROUTINE B_SF_006(HELL,ANS)
173
C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
174
C By the MadGraph5_aMC@NLO Development Team
175
C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
176
C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS
177
C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1)
179
C Process: g g > t t~ [ LOonly = QCD QED ] QCD^2<=6 QED^2<=0
187
INTEGER NAMPSO, NSQAMPSO
188
PARAMETER (NAMPSO=1, NSQAMPSO=1)
190
PARAMETER ( NGRAPHS = 3 )
191
INTEGER NCOLOR1, NCOLOR2
192
PARAMETER (NCOLOR1=2, NCOLOR2=2)
196
PARAMETER (IMAG1 = (0D0,1D0))
197
INCLUDE 'nexternal.inc'
198
INCLUDE 'born_nhel.inc'
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)
215
DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL)
216
COMMON/TO_SAVEAMP/SAVEAMP
217
LOGICAL CALCULATEDBORN
218
COMMON/CCALCULATEDBORN/CALCULATEDBORN
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/
233
IF (.NOT. CALCULATEDBORN) THEN
234
WRITE(*,*) 'Error in b_sf: color_linked borns should be called'
235
$ //' only with calculatedborn = true'
237
ELSEIF (CALCULATEDBORN) THEN
239
AMP(I)=SAVEAMP(I,HELL)
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))