1
DOUBLE PRECISION FUNCTION DSIG1(PP,WGT,IMODE)
2
C ****************************************************
4
C Generated by MadGraph 5 v. 2.0.0.beta3, 2013-02-14
5
C By the MadGraph Development Team
6
C Please visit us at https://launchpad.net/madgraph5
8
C Process: g g > u u~ WEIGHTED=2
9
C * Decay: u > g u WEIGHTED=1
10
C * Decay: u~ > g u~ WEIGHTED=1
11
C Process: g g > s s~ WEIGHTED=2
12
C * Decay: s > g s WEIGHTED=1
13
C * Decay: s~ > g s~ WEIGHTED=1
15
C RETURNS DIFFERENTIAL CROSS SECTION
17
C pp 4 momentum of external particles
18
C wgt weight from Monte Carlo
19
C imode 0 run, 1 init, 2 reweight,
20
C 3 finalize, 4 only PDFs
22
C Amplitude squared and summed
23
C ****************************************************
29
INCLUDE 'nexternal.inc'
30
INCLUDE 'maxconfigs.inc'
33
PARAMETER (CONV=389379.66*1000) !CONV TO PICOBARNS
35
PARAMETER (PI=3.1415926D0)
39
DOUBLE PRECISION PP(0:3,NEXTERNAL), WGT
44
INTEGER I,ITYPE,LP,IPROC
47
DOUBLE PRECISION XPQ(-7:7),PD(0:MAXPROC)
48
DOUBLE PRECISION DSIGUU,R,RCONF
49
INTEGER LUN,ICONF,IFACT,NFACT
56
DOUBLE PRECISION ALPHAS2,REWGT,PDG2PDF
62
COMMON /SUBPROC/ IPSEL
63
C MINCFIG has this config number
64
INTEGER MINCFIG, MAXCFIG
65
COMMON/TO_CONFIGS/MINCFIG, MAXCFIG
66
INTEGER MAPCONFIG(0:LMAXCONFIGS), ICONFIG
67
COMMON/TO_MCONFIGS/MAPCONFIG, ICONFIG
68
C Keep track of whether cuts already calculated for this event
69
LOGICAL CUTSDONE,CUTSPASSED
70
COMMON/TO_CUTSDONE/CUTSDONE,CUTSPASSED
72
INTEGER SUBDIAG(MAXSPROC),IB(2)
73
COMMON/TO_SUB_DIAG/SUBDIAG,IB
87
C Set up process information from file symfact
90
OPEN(UNIT=LUN,FILE='../symfact.dat',STATUS='OLD',ERR=20)
92
READ(LUN,*,ERR=10,END=10) RCONF, IFACT
94
IF(ICONF.EQ.MAPCONFIG(MINCFIG))THEN
100
20 WRITE(*,*)'Error opening symfact.dat. No symmetry factor used.'
103
C Only run if IMODE is 0
104
IF(IMODE.NE.0.AND.IMODE.NE.4) RETURN
107
IF (ABS(LPP(IB(1))).GE.1) THEN
108
LP=SIGN(1,LPP(IB(1)))
109
G1=PDG2PDF(ABS(LPP(IB(1))),0*LP,XBK(IB(1)),DSQRT(Q2FACT(1)))
111
IF (ABS(LPP(IB(2))).GE.1) THEN
112
LP=SIGN(1,LPP(IB(2)))
113
G2=PDG2PDF(ABS(LPP(IB(2))),0*LP,XBK(IB(2)),DSQRT(Q2FACT(2)))
117
IPROC=IPROC+1 ! g g > g u g u~
119
PD(0)=PD(0)+DABS(PD(IPROC))
120
IPROC=IPROC+1 ! g g > g s g s~
122
PD(0)=PD(0)+DABS(PD(IPROC))
127
CALL SMATRIX1(PP,DSIGUU)
128
DSIGUU=DSIGUU*REWGT(PP)*NFACT
129
IF (DSIGUU.LT.1D199) THEN
130
C Select a flavor combination (need to do here for right sign)
133
DO WHILE (R.GT.0D0 .AND. IPSEL.LT.IPROC)
135
R=R-DABS(PD(IPSEL))/PD(0)
137
C Set sign of dsig based on sign of PDF and matrix element
138
DSIG1=DSIGN(PD(0)*CONV*DSIGUU,DSIGUU*PD(IPSEL))
140
WRITE(*,*) 'Error in matrix element'
144
IF(IMODE.EQ.0.AND.DABS(DSIG1).GT.0D0)THEN
145
C Call UNWGT to unweight and store events
146
CALL UNWGT(PP,DSIG1*WGT,1)