Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
pygbeh.f
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file pygbeh.f
1
2
3
C*********************************************************************
4
5
C...PYGBEH
6
C...Evaluates the Bethe-Heitler cross section for heavy flavour
7
C...production.
8
C...Adapted from SaSgam library, authors G.A. Schuler and T. Sjostrand.
9
10
SUBROUTINE
pygbeh
(KF,X,Q2,P2,PM2,XPBH)
11
12
C...Double precision and integer declarations.
13
IMPLICIT
DOUBLE PRECISION
(a-
h
, o-
z
)
14
IMPLICIT
INTEGER
(
i
-
n
)
15
INTEGER
pyk
,
pychge
,
pycomp
16
17
C...Local data.
18
DATA
aem2pi/0.0011614d0/
19
20
C...Reset output.
21
xpbh=0d0
22
sigbh=0d0
23
24
C...Check kinematics limits.
25
IF
(
x
.GE.q2/(4d0*pm2+q2+p2))
RETURN
26
w2=q2*(1d0-
x
)/
x
-p2
27
beta2=1d0-4d0*pm2/w2
28
IF
(beta2.LT.1d-10)
RETURN
29
beta
=sqrt(beta2)
30
rmq=4d0*pm2/q2
31
32
C...Simple case: P2 = 0.
33
IF
(p2.LT.1d-4)
THEN
34
IF
(
beta
.LT.0.99d0)
THEN
35
xbl=
log
((1d0+
beta
)/(1d0-
beta
))
36
ELSE
37
xbl=
log
((1d0+
beta
)**2*w2/(4d0*pm2))
38
ENDIF
39
sigbh=
beta
*(8d0*
x
*(1d0-
x
)-1d0-rmq*
x
*(1d0-
x
))+
40
& xbl*(
x
**2+(1d0-
x
)**2+rmq*
x
*(1d0-3d0*
x
)-0.5d0*rmq**2*
x
**2)
41
42
C...Complicated case: P2 > 0, based on approximation of
43
C...C.T. Hill and G.G. Ross, Nucl. Phys. B148 (1979) 373
44
ELSE
45
rpq=1d0-4d0*
x
**2*p2/q2
46
IF
(rpq.GT.1d-10)
THEN
47
rpbe=sqrt(rpq*beta2)
48
IF
(rpbe.LT.0.99d0)
THEN
49
xbl=
log
((1d0+rpbe)/(1d0-rpbe))
50
xbi=2d0*rpbe/(1d0-rpbe**2)
51
ELSE
52
rpbesn=4d0*pm2/w2+(4d0*
x
**2*p2/q2)*beta2
53
xbl=
log
((1d0+rpbe)**2/rpbesn)
54
xbi=2d0*rpbe/rpbesn
55
ENDIF
56
sigbh=
beta
*(6d0*
x
*(1d0-
x
)-1d0)+
57
& xbl*(
x
**2+(1d0-
x
)**2+rmq*
x
*(1d0-3d0*
x
)-0.5d0*rmq**2*
x
**2)+
58
& xbi*(2d0*
x
/q2)*(pm2*
x
*(2d0-rmq)-p2*
x
)
59
ENDIF
60
ENDIF
61
62
C...Multiply by charge-squared etc. to get parton distribution.
63
chsq=1d0/9d0
64
IF
(iabs(kf).EQ.2.OR.iabs(kf).EQ.4) chsq=4d0/9d0
65
xpbh=3d0*chsq*aem2pi*
x
*sigbh
66
67
RETURN
68
END
pythia6
blob
master
pythiaeRHIC
pythia
pygbeh.f
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:41
using
1.8.2 with
sPHENIX GitHub integration