1
SUBROUTINE SB_SF_002(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: u~ u > t t~ [ real = QED QCD ] QCD^2<=4 QED^2<=2
15
C Process: c~ c > t t~ [ real = QED QCD ] QCD^2<=4 QED^2<=2
23
INCLUDE 'nexternal.inc'
25
PARAMETER (NSQAMPSO=3)
29
REAL*8 P(0:3,NEXTERNAL), ANS_SUMMED
35
REAL*8 ANS(0:NSQAMPSO)
36
LOGICAL KEEP_ORDER_CNT(NSPLITORDERS, NSQAMPSO)
37
COMMON /C_KEEP_ORDER_CNT/ KEEP_ORDER_CNT
38
INTEGER AMP_ORDERS(NSPLITORDERS)
40
PARAMETER (TINY = 1D-12)
41
DOUBLE PRECISION MAX_VAL
45
INTEGER GETORDPOWFROMINDEX_B
46
INTEGER ORDERS_TO_AMP_SPLIT_POS
50
CALL SB_SF_002_SPLITORDERS(P,ANS)
51
C color-linked borns are called for QCD-type emissions
55
C reset the amp_split_cnt array
56
AMP_SPLIT_CNT(1:AMP_SPLIT_SIZE,1:2,1:NSPLITORDERS) = DCMPLX(0D0
61
MAX_VAL = MAX(MAX_VAL, ABS(ANS(I)))
65
IF (KEEP_ORDER_CNT(QCD_POS, I)) THEN
66
ANS_SUMMED = ANS_SUMMED + ANS(I)
67
DO J = 1, NSPLITORDERS
68
AMP_ORDERS(J) = GETORDPOWFROMINDEX_B(J, I)
69
C take into account the fact that this is for QCD
70
IF (J.EQ.QCD_POS) AMP_ORDERS(J) = AMP_ORDERS(J) + 2
72
!amp_split_cnt(orders_to_amp_split_pos(amp_orders),1,qcd_pos) = ans(I)
73
IF(ABS(ANS(I)).GT.MAX_VAL*TINY)
74
$ AMP_SPLIT_CNT(ORDERS_TO_AMP_SPLIT_POS(AMP_ORDERS),1
79
C this is to avoid fake non-zero contributions
80
IF (ABS(ANS_SUMMED).LT.MAX_VAL*TINY) ANS_SUMMED=0D0
86
SUBROUTINE SB_SF_002_SPLITORDERS(P1,ANS)
88
C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
89
C By the MadGraph5_aMC@NLO Development Team
90
C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
92
C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS
94
C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1)
96
C Process: u~ u > t t~ [ real = QED QCD ] QCD^2<=4 QED^2<=2
97
C Process: c~ c > t t~ [ real = QED QCD ] QCD^2<=4 QED^2<=2
105
INCLUDE 'nexternal.inc'
107
PARAMETER ( NCOMB= 16 )
109
PARAMETER (NSQAMPSO=3)
111
PARAMETER (THEL=NCOMB*12)
113
PARAMETER (NGRAPHS= 3)
117
REAL*8 P1(0:3,NEXTERNAL-1),ANS(0:NSQAMPSO)
121
INTEGER IHEL,IDEN,I,J
122
DOUBLE PRECISION T(NSQAMPSO)
123
INTEGER IDEN_VALUES(12)
124
DATA IDEN_VALUES /36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36/
128
LOGICAL GOODHEL(NCOMB,12)
129
COMMON /C_GOODHEL/ GOODHEL
130
DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2)
131
COMMON/TO_SAVEMOM/SAVEMOM
132
LOGICAL CALCULATEDBORN
133
COMMON/CCALCULATEDBORN/CALCULATEDBORN
135
COMMON/C_NFKSPROCESS/NFKSPROCESS
139
IDEN=IDEN_VALUES(NFKSPROCESS)
140
IF (CALCULATEDBORN) THEN
142
IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3,J))
144
CALCULATEDBORN=.FALSE.
145
WRITE(*,*) 'Error in sb_sf: momenta not the same in the'
151
WRITE(*,*) 'Error in sb_sf: color_linked borns should be'
152
$ //' called only with calculatedborn = true'
159
IF (GOODHEL(IHEL,NFKSPROCESS)) THEN
160
CALL B_SF_002(IHEL,T)
167
ANS(I)=ANS(I)/DBLE(IDEN)
173
SUBROUTINE B_SF_002(HELL,ANS)
175
C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s
176
C By the MadGraph5_aMC@NLO Development Team
177
C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch
178
C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS
179
C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1)
181
C Process: u~ u > t t~ [ real = QED QCD ] QCD^2<=4 QED^2<=2
182
C Process: c~ c > t t~ [ real = QED QCD ] QCD^2<=4 QED^2<=2
190
INTEGER NAMPSO, NSQAMPSO
191
PARAMETER (NAMPSO=2, NSQAMPSO=3)
193
PARAMETER ( NGRAPHS = 3 )
194
INTEGER NCOLOR1, NCOLOR2
195
PARAMETER (NCOLOR1=2, NCOLOR2=2)
199
PARAMETER (IMAG1 = (0D0,1D0))
200
INCLUDE 'nexternal.inc'
201
INCLUDE 'born_nhel.inc'
211
REAL*8 CF(NCOLOR2,NCOLOR1)
212
COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1,NAMPSO),
213
$ JAMP2(NCOLOR2,NAMPSO)
214
COMPLEX*16 TMP_JAMP(1)
218
DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL)
219
COMMON/TO_SAVEAMP/SAVEAMP
220
LOGICAL CALCULATEDBORN
221
COMMON/CCALCULATEDBORN/CALCULATEDBORN
229
DATA (CF(I, 1),I= 1, 2) /9.000000000000000D+00
230
$ ,3.000000000000000D+00/
231
DATA (CF(I, 2),I= 1, 2) /3.000000000000000D+00
232
$ ,9.000000000000000D+00/
236
IF (.NOT. CALCULATEDBORN) THEN
237
WRITE(*,*) 'Error in b_sf: color_linked borns should be called'
238
$ //' only with calculatedborn = true'
240
ELSEIF (CALCULATEDBORN) THEN
242
AMP(I)=SAVEAMP(I,HELL)
245
C JAMPs contributing to orders QCD=2 QED=0
246
JAMP1(1,1) = (-1.666666666666667D-01)*AMP(2)
247
JAMP1(2,1) = (5.000000000000000D-01)*AMP(2)
248
C JAMPs contributing to orders QCD=0 QED=2
249
JAMP1(1,2) = AMP(1)+AMP(3)
250
C JAMPs contributing to orders QCD=2 QED=0
251
JAMP2(1,1) = (2.777777777777778D-01)*AMP(2)
252
JAMP2(2,1) = (-1.666666666666667D-01)*AMP(2)
253
C JAMPs contributing to orders QCD=0 QED=2
254
TMP_JAMP(1) = AMP(1) + AMP(3) ! used 2 times
255
JAMP2(1,2) = (-1.666666666666667D-01)*TMP_JAMP(1)
256
JAMP2(2,2) = (5.000000000000000D-01)*TMP_JAMP(1)
264
ZTEMP = ZTEMP + CF(J,I)*JAMP2(J,M)
267
ANS(SQSOINDEXB(M,N))=ANS(SQSOINDEXB(M,N))+ZTEMP
268
$ *DCONJG(JAMP1(I,N))