Hadron Scattering
This page describes a few simple hadron (re)scattering models.
They are intended to take into account
that the overlap of multiple strings at low transverse dimensions
is likely to lead to some collective effects, not unlike those
observed in heavy-ion collisions, even if not quite as pronounced.
Specifically, it is assumed that the hadrons produced can scatter
against each other on the way out, before the fragmenting system
has had time to expand enough that the hadrons get free. Thereby
heavier particles are shifted to higher transverse momenta, at the
expense of the lighter ones.
The main switch on/off switch for rescattering is
HadronLevel:HadronScatter
, which by the default is off,
since all models are rather simplistic and have to be used
with some caution. Currently there are three different options available:
mode
HadronScatter:mode
(default = 0
; minimum = 0
; maximum = 2
)
The first two options are variations of the same model, whereas
option 2 respresents a different model.
option
0 : The new model, based on separation in rapidity
as described in [Fis16].
Further options are found here.
option
1 : The new model, based on separation in rapidity
and azimuthal angle as described in [Fis16]. Further options
are found here.
option
2 : The old model. Further options are found
here.
Warning: Option 2 is still at an experimental level,
and should not be used unless you know what you are doing.
The New Model for Hadron Scattering
Within the new model, there are two options available for how hadron
pairs are found:
Rapidity based
This corresponds to HadronScatter:mode = 0
.
Probe all hadron pairs with an invariant mass minv <
(m21+p2Max)1/2 +
(m22+p2Max)1/2
with the parameter pMax
parm
HadronScatter:pMax
(default = 0.5
; minimum = 0.1
; maximum = 1000000.0
)
If a hadron pair passes this cut, the scattering probability for hadrons of
different strings is PDS(Δy) =
PmaxDS(1 - Δy/Δymax)
with rapidity difference Δy of the hadron pair and the
parameters Δymax
parm
HadronScatter:yDiffMax
(default = 1.0
; minimum = 0.1
; maximum = 10.0
)
and PmaxDS, see
below. If the hadrons are produced
within the same string the probability is PDS(Δy)
PmaxSS if the hadrons are further apart from each
other as HadronScatter:neighbourFar
, 0 if they are
closer together as HadronScatter:neighbourNear
, and linear
between the maximum HadronScatter:maxProbSS
and minimum
probability HadronScatter:minProbSS
inbetween.
Rapidity and Azimuth based
This corresponds to HadronScatter:mode = 1
.
All hadron pairs are considered. The scattering probability for hadrons
of different strings is PDS(Δy,Δφ) =
PmaxDS(1 - ((Δy)2
+(Δφ)2)1/2/Rmax)
with rapidity difference Δy and difference in azimuth
Δφ of the hadron pair and the
parameters Rmax
parm
HadronScatter:Rmax
(default = 1.0
; minimum = 0.1
; maximum = 10.0
)
and PmaxDS, see
below.
The probability for hadron pairs from the same string is similar
to the one before.
Common Parameters
The following paramters are used for both the above cases:
flag
HadronScatter:scatterSameString
(default = on
)
If switched on, strings within the same string are allowed to
scatter off each other. Otherwise only hadron pairs that are
not produced on the same string are taken into account.
flag
HadronScatter:scatterMultipleTimes
(default = on
)
If switched off, each hadron is only allowed to scatter at most once.
By the way that possible scattering pairs are considered in order of
increasing rapidity separation, this introduces a bias towards pairs
with small y separation.
parm
HadronScatter:maxProbDS
(default = 0.5
; minimum = 0.0
; maximum = 1.0
)
The maximum probability PmaxDS for the
scattering of two hadrons that are not part of the same string.
mode
HadronScatter:neighbourNear
(default = 2
; minimum = 1
; maximum = 10
)
If scattering of hadrons within the same string is allowed this
parameter gives the closest neighbour that is allowed. The value 1
corresponds to the direct neighbour. The probability associated
with this potential scattering partner is minProbSS
.
mode
HadronScatter:neighbourFar
(default = 4
; minimum = 2
; maximum = 15
)
If scattering of hadrons within the same string is allowed this
parameter gives the neighbour starting from which the maximum
probability maxProbSS
is applied.
parm
HadronScatter:minProbSS
(default = 0.5
; minimum = 0.0
; maximum = 1.0
)
The minimum probability PminSS for the
scattering of two hadrons within the same string. (Relative to that for
different strings, i.e. for the total probability the baseline
maxProbDS
factor also enters.)
parm
HadronScatter:maxProbSS
(default = 1.0
; minimum = 0.0
; maximum = 1.0
)
The maximum probability PmaxSS for the
scattering of two hadrons within the same string. (Relative to that for
different strings, i.e. for the total probability the baseline
maxProbDS
factor also enters.)
The Old Model for Hadron Scattering
Warning: This is still at an experimental level,
and should not be used unless you know what you are doing.
flag
HadronScatter:afterDecay
(default = off
)
Perform hadron scattering before or after first round of decays,
involving very short-lived particles like the rho.
The default is to perform scattering directly after the
string fragmentation, before any decays.
flag
HadronScatter:allowDecayProd
(default = off
)
Allow two hadrons with same parent hadron to scatter.
flag
HadronScatter:scatterRepeat
(default = off
)
Allow hadrons which have already scattered to scatter again.
Even if switched on, the same pair can not scatter off each
other twice.
Hadron selection
mode
HadronScatter:hadronSelect
(default = 0
; minimum = 0
; maximum = 0
)
Probability that a hadron is soft enough to scatter.
(A high-pT hadron presumably being part of a jet,
and thus produced away from the high-particle-density region
at small transverse dimensions.)
option
0 :
P = N exp(-pT^2 / 2 / sigma^2) /
( (1 - k) exp(-pT^2 / 2 / sigma^2) + k pT0^p / (pT0^2 + pT^2)^(p/2),
with sigma = 2 StringPT:sigma and pT0 the same as that
used in MultipartonInteractions.
parm
HadronScatter:N
(default = 1.0
; minimum = 0.01
; maximum = 1.0
)
N parameter as above.
parm
HadronScatter:k
(default = 1.0
; minimum = 0.01
; maximum = 1.0
)
k parameter as above.
parm
HadronScatter:p
(default = 6
; minimum = 2
; maximum = 30
)
p parameter as above.
Scattering probability
mode
HadronScatter:scatterProb
(default = 0
; minimum = 0
; maximum = 2
)
Probability for a pair of hadrons to scatter.
option
0 : All hadrons scatter with probability
j max(0, 1 - dR^2 / rMax^2). Angular distribution
is picked flat in cos(theta).
option
1 : As option 0, above, but only pi-pi,
pi-K and pi-p scatterings are considered.
option
2 : Only pi-pi, pi-K and
pi-p scatterings are considered, with probability
given by (1 - exp(-j sigEl)) max(0, 1 - dR^2 / rMax^2).
The elastic cross sections and angular distributions are taken
from the partial-wave distributions.
parm
HadronScatter:j
(default = 0.5
; minimum = 0.0
; maximum = 10.0
)
j parameter as above.
parm
HadronScatter:rMax
(default = 1.0
; minimum = 0.1
; maximum = 2.0
)
rMax parameter as above.
flag
HadronScatter:tile
(default = off
)
Use tiling in (eta, phi) to reduce number of pairwise tests.
Hadron Production Vertices
It is not trivial to define where in space-time that the primary
hadrons are produced by the string fragmentation machinery.
The basic strategy is well-defined in a 1+1-dimensional picture,
as represented by a single straight string stretched between massless
q and qbar endpoints [And83]. Even so there
is no unique definition of the production vertex of the hadron
straddling two adjacent breakup vertices, and the transverse width
of the string adds a further smearing. Some of that ambiguity is
reflected in the options below. The major step in complexity comes
with the introduction of more convoluted string topologies, however.
Here the momentum-space description contains a number of ambiguities,
notably for those hadrons that straddle two or more different string
regions, that were only overcome by a set of reasonable simplifications
[Sjo84]. The space-time picture introduced here inherits
all these problems, and thus many of the same prescriptions, but also
require a few further simplifications and assumptions.
Below the main switches and parameters of this picture are described.
Note, however, that that the machinery is still under development and
should be used with caution.
When on, the machinery assigns space-time production vertices to all
primary hadrons, i.e. those that are produced directly from the string
breakups. These vertices can be read out by the event[i].vProd()
method. Note that the length unit is mm, and mm/s for time. To study
the hadronization process it is natural to cnvert to fm. The conversion
constants FM2MM
= 10^12 and MM2FM
= 10^-12 are defined inside the Pythia8
namespace,
available in user programs that include Pythia8/Pythia.h
.
Secondary vertices are set in decays, but by default only for scales
of the order of mm or above. That is, decays on the fm scale, like for
rho mesons, then are not considered. When the machinery in this
section is switched on, also such displacements are considered, see
further HadronVertex:rapidDecays
below. Do note that the factor
10^12 separation between fm and mm scales means that the two do
not mix well, i.e. any contribution of the latter kind would leave
little trace of the former when stored in double-precision real numbers.
For this reason it is also not meaningful to combine studies of hadron
production vertices with displaced pp collision vertices from
the profile of the incoming bunches.
flag
Fragmentation:setVertices
(default = off
)
Normally primary hadron production vertices are not set, but if
on they are. In the latter case the further switches and parameters
below provide more detailed choices.
mode
HadronVertex:mode
(default = 0
; minimum = -1
; maximum = 1
)
The definition of hadron production points is not unique, and here
three alternatives are considered: one early, one late and one in the
middle. Further expressions below are written for a hadron i
produced between two string vertices i and i+1.
option
0 : A hadron production point is defined as the middle
point between the two breakup vertices,
vhi = (vi + vi+1)/2.
option
-1 : An "early" hadron production, counted backwards to the
point where a fictitious string oscillation could have begun that would
have reached the two string breakup vertices above. Given the hadronic
four-momentum ph and the string tension kappa,
this vertex would be
vhi = (vi + vi+1)/2
- phi / (2 kappa). With this prescription is
is possible to obtain a negative squared proper time, since the
ph contains a transverse-momentum smearing that
does not quite match up with longitudinal-momentum string picture.
In such cases the negative term is scaled down to give a vanishing
proper time.
option
1 : A "late" hadron production, defined as the point
where the two partons that form the hadron cross for the first time.
The hadron momentum contribution then shifts sign relative to the previous
option,
vhi = (vi + vi+1)/2
+ phi / (2 kappa),
and there is no problem with negative squared proper times.
parm
HadronVertex:kappa
(default = 1.
; minimum = 0.5
; maximum = 10.
)
The string tension kappa in units of GeV/fm, i.e. how much
energy is stored in a string per unit length.
flag
HadronVertex:smearOn
(default = on
)
When on, the space--time location of breakp points is smear in transverse
space accordingly to the value of xySmear given.
parm
HadronVertex:xySmear
(default = 0.7
; minimum = 0.
; maximum = 2.
)
Transverse smearing of the hadron production vertices in units of fm.
This is initially assigned as a Gaussian smearing of the string breakup
vertices in the plane perpendicular to the string direction.
The xySmear parameter is picked such that a breakup vertex
should have a smearing <x^2 + y^2> = xySmear^2 for a
simple string along the z direction. The default value has
been picked roughly like sqrt(2/3) of the proton radius, to
represent two out of three spatial directions. For a hadron this is
then averaged, as described above in vhi =
(vi + vi+1)/2 and its variants,
giving a width reduction of 1/sqrt(2).
flag
HadronVertex:constantTau
(default = on
)
The transverse smearing might change either the time coordinate or
the invariant time of the breakup points with respect to the origin.
Normally, the tau is kept constant and the time coordinate is
recalculated to compensate the effect of the smearing. If off, the
time coordinate is kept constant and the invariant time is modified
by the smearing.
flag
HadronVertex:rapidDecays
The decay products of particles with short lifetimes, such as rho, should be
displaced from the production point of the mother particle. When on, the
corresponding displacement is included in the space--time location of the
daughter production points. More specifically, the width stored for these
particles are inverted to give the respective lifetimes. (Even more
specifically, the width must be above NARROWMASS
=
10^-6 GeV.) Particles that by default already have a nonvanishing
lifetime (in the database or set by the user) are always given a displaced
vertex based on that value, so for them this flag makes no difference.
See below for unstable particles that have neither a know width nor a
known lifetime.
parm
HadronVertex:intermediateTau0
(default = 1e-9
; minimum = 1e-12
; maximum = 1e-3
)
Average lifetime c * tau_0, expressed in mm, assigned to particle
species which are unstable, but have neither been assigned a nonvanishing
lifetime nor a non-negligible (above NARROWMASS
) width.
For such cases an intermediate scale is chosen, such that the decays happen
well separated from the primary vertex, and yet not as far away as to give
rise to an experimentally discernible secondary vertex. The default
10^-9 mm = 1000 fm meets this requirement, and is additionally
a reasonable value for the particles that mainly decay electromagnetically.
The value is also used for a few rare particles that probably have a
non-negligible width, but are so poorly known that no width is listed
in the Review of Particle Physics.