]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/sigkkg.F
Merging the VirtualMC branch to the main development branch (HEAD)
[u/mrichter/AliRoot.git] / ISAJET / code / sigkkg.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE SIGKKG
3C
4C Compute the KK graviton direct production cross-section
5C d(sigma)/d(m**2)d(pT**2)d(y3)d(y4)
6C X-sections: G.F.Giudice et al. hep-ph/9811291
7C Kinematics: sigdy.car (Drell-Yan + jet)
8C
9#if defined(CERNLIB_IMPNONE)
10 IMPLICIT NONE
11#endif
12C
13#include "isajet/itapes.inc"
14#include "isajet/qcdpar.inc"
15#include "isajet/jetpar.inc"
16#include "isajet/primar.inc"
17#include "isajet/q1q2.inc"
18#include "isajet/jetsig.inc"
19#include "isajet/qsave.inc"
20#include "isajet/wcon.inc"
21#include "isajet/const.inc"
22#include "isajet/nodcay.inc"
23#include "isajet/kkgrav.inc"
24C
25 REAL X(2)
26 REAL Z,S,T,U,QMW2,QZW,EHAT,Q2SAVE,YHAT,EY,P3Z,P1,P2,AMASS,ANEFF,
27 $SIG0,DENOM,QT2CUT,SIGT,SIGU,FAC,PROP,FACTOR,SIG,AMT,AMT2,SWT,
28 $P1WT,P2WT,X1WT,X2WT,TWT,UWT,Q2,QFCN,STRUC,XX,ACOSH,ATANH,P2M,P1M
29 REAL AMI2,AMF2,EFWT
30 REAL AJLWT,AJLZT1,AJLZT2,A2,A2B2,QQ,TM2
31 INTEGER I,IQ,IH,IQ1,IFL,IQ2,IW,IQ3
32 INTEGER NZERO(4)
33 REAL AMFAC(13)
34 INTEGER NUTYP(25)
35 INTEGER IFL1,IFL2
36 REAL TERM
37 REAL KKGF1,KKGF2,KKGF3,SIG1,SIG2,XG,YG,F1,F2T,F2U,F3
38 EQUIVALENCE (S,SHAT),(T,THAT),(U,UHAT),(X(1),X1)
39C Electric charge:
40 REAL CHARGE
41 EXTERNAL CHARGE
42C
43C Kinematics: (Drell-Yan plus jet)
44C
45 QMW2=QMW**2
46 QTMW=SQRT(QMW2+QTW**2)
47 Q0W=QTMW*COSH(YW)
48 QZW=QTMW*SINH(YW)
49 QW=SQRT(QZW**2+QTW**2)
50C Protect against errors
51 IF(QW.NE.0.) THEN
52 CTHW=QZW/QW
53 STHW=QTW/QW
54 IF(ABS(CTHW).LT.1.) THEN
55 THW=ACOS(CTHW)
56 ELSE
57 CTHW=0.
58 STHW=1.
59 THW=.5*PI
60 ENDIF
61 ELSE
62 CTHW=0.
63 STHW=1.
64 THW=.5*PI
65 ENDIF
66c Drell-Yan plus jet
67 P3Z=P(3)*CTH(3)
68 SHAT=QMW2+2.*Q0W*P(3)-2.*QZW*P3Z+2.*PT(3)**2
69 P1=.5*(P(3)+P3Z+Q0W+QZW)
70 P2=.5*(P(3)-P3Z+Q0W-QZW)
71 X1=P1/HALFE
72 X2=P2/HALFE
73 THAT=-2.*P1*(P(3)-P3Z)
74 UHAT=-2.*P2*(P(3)+P3Z)
75 QSQ=QTW**2
76 QSQ=AMAX1(QSQ,4.)
77 ANEFF=4.+QSQ/(QSQ+AMASS(5)**2)+QSQ/(QSQ+AMASS(6)**2)
78 ALFQSQ=12.*PI/((33.-2.*ANEFF)*ALOG(QSQ/ALAM2))
79 Q2SAVE=QSQ
80 QSQ=SHAT
81C
82C Initialize
83C
84 SIGMA=0.
85 NSIGS=0
86 DO 100 I=1,MXSIGS
87 SIGS(I)=0.
88100 CONTINUE
89 IF(X1.GE.1..OR.X2.GE.1.) RETURN
90C
91C Structure functions
92C
93 DO 110 IH=1,2
94 DO 120 IQ=1,11
95 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
96120 CONTINUE
97 QSAVE(12,IH)=0
98 QSAVE(13,IH)=0
99110 CONTINUE
100 QSQ=Q2SAVE
101C
102 IF((THAT/SHAT).EQ.0.) RETURN
103 IF(ABS(THAT/SHAT+1).LT.1.E-06) RETURN
104 F1=KKGF1(SHAT,THAT,QMW2)
105 F2T=KKGF2(SHAT,THAT,QMW2)
106 F2U=KKGF2(SHAT,UHAT,QMW2)
107 F3=KKGF3(SHAT,THAT,QMW2)
108 IF(F1.LE.0.OR.F2T.LE.0.OR.F2U.LE.0.OR.F3.LE.0) RETURN
109C
110 SIG0=UNITS*0.5*KKGSD*ALFQSQ*QMW**(NEXTRAD-2)/SCM
111C
112C Jet 3 = gamma:
113C
114 IF(GOQ(26,3)) THEN
115 SIG1=UNITS*0.5*KKGSD*ALFA*QMW**(NEXTRAD-2)/SCM
116 SIG1=SIG1*F1/48.0
117C qk + qb --> gamma + KKG
118 DO 410 IFL=1,5
119 IQ1=2*IFL
120 IQ2=IQ1+1
121 SIG2=SIG1*ABS(CHARGE(IFL))
122 SIG=SIG2*QSAVE(IQ1,1)*QSAVE(IQ2,2)
123 IF(UVCUT.AND.SHAT.GE.(MASSD**2)) SIG=SIG*(MASSD**2/SHAT)**2
124 CALL SIGFIL(SIG,IQ1,IQ2,5,26)
125 SIG=SIG2*QSAVE(IQ2,1)*QSAVE(IQ1,2)
126 IF(UVCUT.AND.SHAT.GE.(MASSD**2)) SIG=SIG*(MASSD**2/SHAT)**2
127 CALL SIGFIL(SIG,IQ2,IQ1,5,26)
128410 CONTINUE
129 ENDIF
130C
131C Jet 3 = gluon:
132C
133 IF(GOQ(1,3)) THEN
134 SIG1=SIG0*F1/36.0
135C qk + qb --> gl + KKG
136 DO 210 IFL=1,5
137 IQ1=2*IFL
138 IQ2=IQ1+1
139 SIG=SIG1*QSAVE(IQ1,1)*QSAVE(IQ2,2)
140 IF(UVCUT.AND.SHAT.GE.(MASSD**2)) SIG=SIG*(MASSD**2/SHAT)**2
141 CALL SIGFIL(SIG,IQ1,IQ2,5,1)
142 SIG=SIG1*QSAVE(IQ2,1)*QSAVE(IQ1,2)
143 IF(UVCUT.AND.SHAT.GE.(MASSD**2)) SIG=SIG*(MASSD**2/SHAT)**2
144 CALL SIGFIL(SIG,IQ1,IQ1,5,1)
145210 CONTINUE
146C gl + gl --> gl + KKG
147 SIG1=SIG0*F3*3.0/16.0
148 SIG=SIG1*QSAVE(1,1)*QSAVE(1,2)
149 IF(UVCUT.AND.SHAT.GE.(MASSD**2)) SIG=SIG*(MASSD**2/SHAT)**2
150 CALL SIGFIL(SIG,1,1,5,1)
151 ENDIF
152C
153C Jet 3 = quark:
154C
155 SIGT=SIG0*F2T/96.0
156 SIGU=SIG0*F2U/96.0
157C qk + gl --> qk + KKG
158 DO 310 IQ1=2,11
159 IQ3=IQ1
160 IF(GOQ(IQ3,3)) THEN
161 SIG=SIGU*QSAVE(IQ1,1)*QSAVE(1,2)
162 IF(UVCUT.AND.SHAT.GE.(MASSD**2)) SIG=SIG*(MASSD**2/SHAT)**2
163 CALL SIGFIL(SIG,IQ1,1,5,IQ3)
164 SIG=SIGT*QSAVE(IQ1,2)*QSAVE(1,1)
165 IF(UVCUT.AND.SHAT.GE.(MASSD**2)) SIG=SIG*(MASSD**2/SHAT)**2
166 CALL SIGFIL(SIG,1,IQ1,5,IQ3)
167 ENDIF
168310 CONTINUE
169C
170 RETURN
171 END