<chapter name="Multiparton Interactions"> 
 
<h2>Multiparton Interactions</h2> 
 
The starting point for the multiparton interactions physics scenario in 
PYTHIA is provided by <ref>Sjo87</ref>. Recent developments have 
included a more careful study of flavour and colour correlations, 
junction topologies and the relationship to beam remnants 
<ref>Sjo04</ref>, interleaving with initial-state radiation 
<ref>Sjo05</ref>, making use of transverse-momentum-ordered 
initial- and final-state showers, with the extension to fully 
interleaved evolution covered in <ref>Cor10a</ref>. A framework to 
handle rescattering is described in <ref>Cor09</ref>. 
 
<p/> 
A big unsolved issue is how the colour of all these subsystems is 
correlated. For sure there is a correlation coming from the colour 
singlet nature of the incoming beams, but in addition final-state 
colour rearrangements may change the picture. Indeed such extra 
effects appear necessary to describe data, e.g. on 
<ei>&lt;pT&gt;(n_ch)</ei>. A simple implementation of colour 
rearrangement is found as part of the 
<aloc href="BeamRemnants">beam remnants</aloc> description. 
 
<h3>Main variables</h3> 
 
<h4>Matching to hard process</h4> 
 
The maximum <ei>pT</ei> to be allowed for multiparton interactions is 
related to the nature of the hard process itself. It involves a 
delicate balance between not double-counting and not leaving any 
gaps in the coverage. The best procedure may depend on information 
only the user has: how the events were generated and mixed (e.g. with 
Les Houches Accord external input), and how they are intended to be 
used. Therefore a few options are available, with a sensible default 
behaviour. 
<modepick name="MultipartonInteractions:pTmaxMatch" default="0" min="0" 
max="3"> 
Way in which the maximum scale for multiparton interactions is set 
to match the scale of the hard process itself. 
<option value="0"><b>(i)</b> if the final state of the hard process 
(not counting subsequent resonance decays) contains only quarks 
(<ei>u, d, s, c, b</ei>), gluons and photons then <ei>pT_max</ei> 
is chosen to be the factorization scale for internal processes 
and the <code>scale</code> value for Les Houches input; 
<b>(ii)</b> if not, interactions are allowed to go all the way up 
to the kinematical limit. 
The reasoning is that the former kind of processes are generated by 
the multiparton-interactions machinery and so would double-count hard 
processes if allowed to overlap the same <ei>pT</ei> range, 
while no such danger exists in the latter case. 
</option> 
<option value="1">always use the factorization scale for an internal 
process and the <code>scale</code> value for Les Houches input, 
i.e. the lower value. This should avoid double-counting, but 
may leave out some interactions that ought to have been simulated. 
</option> 
<option value="2">always allow multiparton interactions up to the 
kinematical limit. This will simulate all possible event topologies, 
but may lead to double-counting. 
</option> 
<option value="3">as option 0, but for case (i) the <ei>pT_max</ei> 
is chosen to be half the summed <ei>pT</ei> of the final-state 
particles. This may be more relevant than option 0 for multiparton 
final states, where the factorization scale could be associated with 
the lowest <ei>pT</ei> of any parton, as appropriate for parton 
showers, but not for MPI. The scale for no doublecounting and no gaps 
should rather be associated with the "core" <ei>2 &rarr; 2</ei> hard 
process, which here is approximated by <ei>sum pT / 2</ei>. 
</option> 
<note>Note:</note> If a "second hard" process is present, the two 
are analyzed separately for the default 0 option, and for 3. It is 
enough that one of them only consists of quarks, gluons and photons 
to restrict the <ei>pT</ei> range. The maximum for MPI is then set 
by the hard interaction with lowest scale. 
</modepick> 
 
<h4>Cross-section parameters</h4> 
 
The rate of interactions is determined by 
<parm name="MultipartonInteractions:alphaSvalue" default="0.130" 
min="0.06" max="0.25"> 
The value of <ei>alpha_strong</ei> at <ei>m_Z</ei>. Default value is 
picked equal to the one used in CTEQ 5L. 
</parm> 
 
<p/> 
The actual value is then regulated by the running to the scale 
<ei>pT^2</ei>, at which it is evaluated 
<modepick name="MultipartonInteractions:alphaSorder" default="1" 
min="0" max="3"> 
The order at which <ei>alpha_strong</ei> runs at scales away from 
<ei>m_Z</ei>. 
<option value="0">zeroth order, i.e. <ei>alpha_strong</ei> is kept 
fixed.</option> 
<option value="1">first order, which is the normal value.</option> 
<option value="2">second order. Since other parts of the code do 
not go to second order there is no strong reason to use this option, 
but there is also nothing wrong with it.</option> 
<option value="3">third order, with the same comment as for second 
order. The expression in the 2006 RPP is used here.</option> 
</modepick> 
 
<p/> 
QED interactions are regulated by the <ei>alpha_electromagnetic</ei> 
value at the <ei>pT^2</ei> scale of an interaction. 
 
<modepick name="MultipartonInteractions:alphaEMorder" default="1" 
min="-1" max="1"> 
The running of <ei>alpha_em</ei> used in hard processes. 
<option value="1">first-order running, constrained to agree with 
<code>StandardModel:alphaEMmZ</code> at the <ei>Z^0</ei> mass. 
</option> 
<option value="0">zeroth order, i.e. <ei>alpha_em</ei> is kept 
fixed at its value at vanishing momentum transfer.</option> 
<option value="-1">zeroth order, i.e. <ei>alpha_em</ei> is kept 
fixed, but at <code>StandardModel:alphaEMmZ</code>, i.e. its value 
at the <ei>Z^0</ei> mass. 
</option> 
</modepick> 
 
<p/> 
Note that the choices of <ei>alpha_strong</ei> and <ei>alpha_em</ei> 
made here override the ones implemented in the normal process machinery, 
but only for the interactions generated by the 
<code>MultipartonInteractions</code> class. 
 
<p/> 
In addition there is the possibility of a global rescaling of 
cross sections (which could not easily be accommodated by a 
changed <ei>alpha_strong</ei>, since <ei>alpha_strong</ei> runs) 
<parm name="MultipartonInteractions:Kfactor" default="1.0" min="0.5" 
max="4.0"> 
Multiply all cross sections by this fix factor. 
</parm> 
 
<p/> 
The processes used to generate multiparton interactions form a subset 
of the standard library of hard processes. The input is slightly 
different from the standard hard-process machinery, however, 
since incoming flavours, the <ei>alpha_strong</ei> value and most 
of the kinematics are already fixed when the process is called. 
It is possible to regulate the set of processes that are included in the 
multiparton-interactions framework. 
 
<modepick name="MultipartonInteractions:processLevel" default="3" 
min="0" max="3"> 
Set of processes included in the machinery. 
<option value="0">only the simplest <ei>2 &rarr; 2</ei> QCD processes 
between quarks and gluons, giving no new flavours, i.e. dominated by 
<ei>t</ei>-channel gluon exchange.</option> 
<option value="1">also <ei>2 &rarr; 2</ei> QCD processes giving new flavours 
(including charm and bottom), i.e. proceeding through <ei>s</ei>-channel 
gluon exchange.</option> 
<option value="2">also <ei>2 &rarr; 2</ei> processes involving one or two 
photons in the final state, <ei>s</ei>-channel <ei>gamma</ei> 
boson exchange and <ei>t</ei>-channel <ei>gamma/Z^0/W^+-</ei> 
boson exchange.</option> 
<option value="3">also charmonium and bottomonium production, via 
colour singlet and colour octet channels.</option> 
</modepick> 
 
<h4>Cross-section regularization</h4> 
 
There are two complementary ways of regularizing the small-<ei>pT</ei> 
divergence, a sharp cutoff and a smooth dampening. These can be 
combined as desired, but it makes sense to coordinate with how the 
same issue is handled in <aloc href="SpacelikeShowers">spacelike 
showers</aloc>. Actually, by default, the parameters defined here are 
used also for the spacelike showers, but this can be overridden. 
 
<p/> 
Regularization of the divergence of the QCD cross section for 
<ei>pT &rarr; 0</ei> is obtained by a factor <ei>pT^4 / (pT0^2 + pT^2)^2</ei>, 
and by using an <ei>alpha_s(pT0^2 + pT^2)</ei>. An energy dependence 
of the <ei>pT0</ei> choice is introduced by two further parameters, 
so that <ei>pT0Ref</ei> is the <ei>pT0</ei> value for the reference 
CM energy, <ei>pT0Ref = pT0(ecmRef)</ei>. 
<note>Warning:</note> if a large <ei>pT0</ei> is picked for multiparton 
interactions, such that the integrated interaction cross section is 
below the nondiffractive inelastic one, this <ei>pT0</ei> will 
automatically be scaled down to cope. 
 
<p/> 
The actual <ei>pT0</ei> parameter used at a given CM energy scale, 
<ei>ecmNow</ei>, is obtained from a power law or a logarithmic 
parametrization. The former is default with hadron beams and 
the latter for photon-photon collisions. 
 
<modepick name="MultipartonInteractions:pT0parametrization" default="0" 
min="0" max="1"> 
Choice of <ei>pT0</ei> parametrization. 
<option value="0"> Power law dependence on <ei>ecmNow</ei>:<br/> 
<ei> 
    pT0 = pT0(ecmNow) = pT0Ref * (ecmNow / ecmRef)^ecmPow 
</ei> 
</option> 
<option value="1"> Logarithmic dependence on <ei>ecmNow</ei>: 
<eq> 
    pT0 = pT0(ecmNow) = pT0Ref + ecmPow * log (ecmNow / ecmRef) 
</eq> 
where <ei>pT0Ref</ei>, <ei>ecmRef</ei> and <ei>ecmPow</ei> are the 
three parameters below. In case of photon-photon collisions the corresponding 
parameters are set in <aloc href="Photoproduction">Photoproduction</aloc>. 
</option> 
</modepick> 
 
<parm name="MultipartonInteractions:pT0Ref" default="2.28" min="0.5" 
max="10.0"> 
The <ei>pT0Ref</ei> scale in the above formula. 
<note>Note:</note> <ei>pT0Ref</ei> is one of the key parameters in a 
complete PYTHIA tune. Its value is intimately tied to a number of other 
choices, such as that of colour flow description, so unfortunately it is 
difficult to give an independent meaning to <ei>pT0Ref</ei>. 
</parm> 
 
<parm name="MultipartonInteractions:ecmRef" default="7000.0" min="1."> 
The <ei>ecmRef</ei> reference energy scale introduced above. 
</parm> 
 
<parm name="MultipartonInteractions:ecmPow" default="0.215" min="0.0" 
max="0.5"> 
The <ei>ecmPow</ei> energy rescaling pace introduced above. 
</parm> 
 
<p/> 
Alternatively, or in combination, a sharp cut can be used. 
<parm name="MultipartonInteractions:pTmin" default="0.2" min="0.1" 
max="10.0"> 
Lower cutoff in <ei>pT</ei>, below which no further interactions 
are allowed. Normally <ei>pT0</ei> above would be used to provide 
the main regularization of the cross section for <ei>pT &rarr; 0</ei>, 
in which case <ei>pTmin</ei> is used  mainly for technical reasons. 
It is possible, however, to set <ei>pT0Ref = 0</ei> and use 
<ei>pTmin</ei> to provide a step-function regularization, or to 
combine them in intermediate approaches. Currently <ei>pTmin</ei> 
is taken to be energy-independent. 
</parm> 
 
<p/> 
G&ouml;sta Gustafson has proposed (private communication, unpublished) 
that the amount of screening, as encapsulated in the <ei>pT0</ei> 
parameter, fluctuates from one event to the next. Specifically, 
high-activity event are more likely to lead to interactions at large 
<ei>pT</ei> scales, but the high activity simultaneously leads to a 
larger screening of interactions at smaller <ei>pT</ei>. Such a scenario 
can approximately be simulated by scaling up the <ei>pT0</ei> by a 
factor <ei>sqrt(n)</ei>, where <ei>n</ei> is the number of interactions 
considered so far, including the current one. That is, for the first 
interaction the dampening factor is <ei>pT^4 / (pT0^2 + pT^2)^2</ei>, 
for the second <ei>pT^4 / (2 pT0^2 + pT^2)^2</ei>, for the third 
<ei>pT^4 / (3 pT0^2 + pT^2)^2</ei>, and so on. Optionally the scheme 
may also be applied to ISR emissions. For simplicity the same 
<ei>alpha_s(pT0^2 + pT^2)</ei> is used throughout. Note that, in this 
scenario the <ei>pT0</ei> scale must be lower than in the normal case 
to begin with, since it later is increased back up. Also note that the 
idea with this scenario is to propose an alternative to colour 
reconnection to understand the rise of <ei>&lt;pT&gt;(n_ch)</ei>, 
so that the amount of colour reconnection should be reduced. 
<modepick name="MultipartonInteractions:enhanceScreening" default="0" 
min="0" max="2"> 
Choice to activate the above screening scenario, i.e. an increasing 
effective <ei>pT0</ei> for consecutive interactions. 
<option value="0">No activity-dependent screening, i.e. <ei>pT0</ei> 
is fixed.</option> 
<option value="1">The <ei>pT0</ei> scale is increased as a function 
of the number of MPI's, as explained above. ISR is not affected, 
but note that, if <code>SpaceShower:samePTasMPI</code> is on, 
then <code>MultipartonInteractions:pT0Ref</code> is used also for ISR, 
which may or may not be desirable. 
 </option> 
<option value="2">Both MPI and ISR influence and are influenced by the 
screening. That is, the dampening is reduced based on the total number 
of MPI and ISR steps considered so far, including the current one. 
This dampening is implemented both for MPI and for ISR emissions, 
for the latter provided that <code>SpaceShower:samePTasMPI</code> is on 
(default). 
</option> 
</modepick> 
 
<h4>Impact-parameter dependence</h4> 
 
The choice of impact-parameter dependence is regulated by several 
parameters. The ones listed here refer to nondiffractive topologies 
only, while their equivalents for diffractive events are put in the 
<aloc href="Diffraction">Diffraction</aloc> description. Note that 
there is currently no <code>bProfile = 4</code> option for diffraction. 
Other parameters are assumed to agree between diffractive and 
nondiffractive topologies. 
 
<modepick name="MultipartonInteractions:bProfile" default="3" 
min="0" max="4"> 
Choice of impact parameter profile for the incoming hadron beams. 
<option value="0">no impact parameter dependence at all.</option> 
<option value="1">a simple Gaussian matter distribution; 
no free parameters.</option> 
<option value="2">a double Gaussian matter distribution, 
with the two free parameters <ei>coreRadius</ei> and 
<ei>coreFraction</ei>.</option> 
<option value="3">an overlap function (i.e. the convolution of 
the matter distributions of the two incoming hadrons) of the form 
<ei>exp(- b^expPow)</ei>, where <ei>expPow</ei> is a free 
parameter.</option> 
<option value="4">a Gaussian matter distribution with a width 
that varies according to the selected <ei>x</ei> value of an interaction, 
<ei>1. + a1 log (1 / x)</ei>, where <ei>a1</ei> is a free parameter. 
Note that once <ei>b</ei> has been selected for the hard process, 
it remains fixed for the remainder of the evolution. Also note that 
the machinery for a 
<aloc href="SecondHardProcess">second hard process</aloc> 
is not adapted to calculate the impact-parameter enhancement factor 
for this option. 
</option> 
</modepick> 
 
<parm name="MultipartonInteractions:coreRadius" default="0.4" 
min="0.1" max="1."> 
When assuming a double Gaussian matter profile, <ei>bProfile = 2</ei>, 
the inner core is assumed to have a radius that is a factor 
<ei>coreRadius</ei> smaller than the rest. 
</parm> 
 
<parm name="MultipartonInteractions:coreFraction" default="0.5" 
min="0." max="1."> 
When assuming a double Gaussian matter profile, <ei>bProfile = 2</ei>, 
the inner core is assumed to have a fraction <ei>coreFraction</ei> 
of the matter content of the hadron. 
</parm> 
 
<parm name="MultipartonInteractions:expPow" default="1.85" min="0.4" 
max="10."> 
When <ei>bProfile = 3</ei> it gives the power of the assumed overlap 
shape <ei>exp(- b^expPow)</ei>. Since the convolution of two Gaussians 
is another Gaussian, the overlap shape obtained for <ei>expPow = 2</ei> 
is the same as that obtained for a Gaussian matter distribution, 
<ei>bProfile = 1</ei>. The limit <ei>expPow &rarr; infinity</ei> 
corresponds to no impact parameter dependence at all, <ei>bProfile = 0</ei>. 
The overlap shape that would be obtained for an exponential matter 
distribution cannot be represented exactly on this form, but a similar 
variance (for fixed normalisation and average <ei>b</ei>) is obtained 
for <ei>expPow = 1.4</ei>. The double Gaussian matter profiles that 
are obtained for <ei>bProfile = 2</ei> generally correspond to the range 
between <ei>expPow = 1</ei> and <ei>expPow = 2</ei>, with the former 
representing scenarios with pronounced "hot spots" and consequently 
very significant fluctuations (high variance). Note that for small 
<ei>expPow</ei> the program becomes slow and unstable, so the min 
limit must be respected. 
</parm> 
 
<parm name="MultipartonInteractions:a1" default="0.15" min="0." max="2."> 
When <ei>bProfile = 4</ei>, this gives the <ei>a1</ei> constant in the 
Gaussian width. When <ei>a1 = 0.</ei>, this reduces back to the single 
Gaussian case. 
</parm> 
 
<modepick name="MultipartonInteractions:bSelScale" default="1" 
min="1" max="3"> 
The selection of impact parameter is related to the scale of the 
hard process: the harder this scale is, the more central the collision. 
In practice this centrality saturates quickly, however, and beyond 
a scale of roughly 20 GeV very little changes. (The relevant 
quantity is that the QCD jet cross section above the scale should be 
a tiny fraction of the total cross section.) In <ei>2 &rarr; 1</ei> and 
<ei>2 &rarr; 2</ei> processes traditional scale choices work fine, but 
ambiguities arise for higher multiplicities, in particular when the 
scale is used for matching between the multiparton matrix elements 
and parton showers. Then the event scale may 
be chosen as that of a very low-<ei>pT</ei> parton, i.e. suggesting a 
peripheral collision, while the much harder other partons instead 
would favour a central collision. Therefore the default here is to 
override whatever scale value have been read in from an LHEF, say. 
Notice that the scale used here is decoupled from the maximum scale 
for MPIs (<code>MultipartonInteractions:pTmaxMatch</code>). 
<option value="1"> 
Use the mass for a <ei>2 &rarr; 1</ei> process. 
For <ei>2 &rarr; n, n > 1</ei> processes order the particles in 
falling <ei>mmT = m + mT</ei> and then let the scale be 
<ei>(mmT_1 + mmT_2)/2 + mmT_3/3 + mmT_4/4 + ... + mmT_n/n</ei>. 
This is constructed always to be above <ei>m1</ei>, and to assign 
decreasing importance to softer particles that are less likely to 
be associated with the hard process.</option> 
<option value="2">Use the <code>scale</code> parameter of the event. 
</option> 
<option value="3">use the same scale as chosen by the rules for 
<code>MultipartonInteractions:pTmaxMatch</code>.</option> 
</modepick> 
 
<h4>Rescattering</h4> 
 
It is possible that a parton may rescatter, i.e. undergo a further 
interaction subsequent to the first one. The machinery to model this 
kind of physics has only recently become fully operational 
<ref>Cor09</ref>, and is therefore not yet so well explored. 
 
<p/> 
The rescattering framework has ties with other parts of the program, 
notably with the <aloc href="BeamRemnants">beam remnants</aloc>. 
 
<flag name="MultipartonInteractions:allowRescatter" default="off"> 
Switch to allow rescattering of partons; on/off = true/false.<br/> 
<b>Note:</b> the rescattering framework has not yet been implemented 
for the <code>MultipartonInteractions:bProfile = 4</code> option, 
and can therefore not be switched on in that case. 
<b>Warning:</b> use with caution since machinery is still not 
so well tested. 
</flag> 
 
<flag name="MultipartonInteractions:allowDoubleRescatter" default="off"> 
Switch to allow rescattering of partons, where both incoming partons 
have already rescattered; on/off = true/false. Is only used if 
<code>MultipartonInteractions:allowRescatter</code> is switched on.<br/> 
<b>Warning:</b> currently there is no complete implementation that 
combines it with shower evolution, so you must use 
<code>PartonLevel:ISR = off</code> and <code>PartonLevel:FSR = off</code>. 
If not, a warning will be issued and double rescattering will not be 
simulated. The rate also comes out to be much lower than for single 
rescattering, so to first approximation it can be neglected. 
</flag> 
 
<modepick name="MultipartonInteractions:rescatterMode" default="0" 
min="0" max="4"> 
Selection of which partons rescatter against unscattered partons 
from the incoming beams A and B, based on their rapidity value 
<ei>y</ei> in the collision rest frame. Here <ei>ySep</ei> is 
shorthand for <code>MultipartonInteractions:ySepRescatter</code> and 
<ei>deltaY</ei> for <code>MultipartonInteractions:deltaYRescatter</code>, 
defined below. The description is symmetric between the two beams, 
so only one case is described below. 
<option value="0">only scattered partons with <ei>y > 0</ei> 
can collide with unscattered partons from beam B.</option> 
<option value="1">only scattered partons with <ei>y > ySep</ei> 
can collide with unscattered partons from beam B.</option> 
<option value="2">the probability for a scattered parton to be considered 
as a potential rescatterer against unscattered partons in beam B increases 
linearly from zero at <ei>y = ySep - deltaY</ei> to unity at 
<ei>y = ySep + deltaY</ei>.</option> 
<option value="3">the probability for a scattered parton to be considered 
as a potential rescatterer against unscattered partons in beam B increases 
with <ei>y</ei> according to 
<ei>(1/2) * (1 + tanh( (y - ySep) / deltaY))</ei>.</option> 
<option value="4">all partons are potential rescatterers against both 
beams.</option> 
</modepick> 
 
<parm name="MultipartonInteractions:ySepRescatter" default="0."> 
used for some of the <code>MultipartonInteractions:rescatterMode</code> 
options above, as the rapidity for which a scattered parton has a 50% 
probability to be considered as a potential rescatterer. 
A <ei>ySep > 0</ei> generally implies that some central partons cannot 
rescatter at all, while a <ei>ySep &lt; 0</ei>  instead allows central 
partons to scatter against either beam. 
</parm> 
 
<parm name="MultipartonInteractions:deltaYRescatter" default="1." min="0.1"> 
used for some of the <code>MultipartonInteractions:rescatterMode</code> 
options above, as the width of the rapidity transition region, where the 
probability rises from zero to unity that a scattered parton is considered 
as a potential rescatterer. 
</parm> 
 
 
<h3>Initialization speed-up</h3> 
 
The initialization of the MPI framework is the most time-consuming part 
of the whole initialization step. This is because the jet cross section 
has to be integrated numerically for the given <ei>pT0</ei> choice, and 
shown to be larger than the total cross section of the relevant event 
class (nondiffractive or diffractive). If not, the <ei>pT0</ei> value has 
to be reduced. Sudakov factors also need to be tabulated for usage during 
the generation. If the collision energy is kept fixed and diffraction is 
not simulated, then the time usage is still hardly noticeable, at or below 
the order of a second. For diffraction, however, the diffractive masses 
vary between events, which requires a setup in a grid of masses for 
subsequent interpolation. This is similar for nondiffractive events, if the 
collision energy is allowed to vary. In total, this can give up to a 
hundred process+energy/mass points to consider, requiring tens of seconds. 
It can become problematic if additionally several different Pythia objects 
are required to handle many different beam-particle combinations, or if 
the <code>Beams:allowIDAswitch</code> is used to handle several 
beam-particle combinations inside a single Pythia object. 
 
<p/> 
It is therefore possible to save the outcome of one initialization step 
on file, and then read it back in for subsequent runs. This can save a 
significant time, notably for short test runs. A warning is that all relevant 
settings must be the same in the two runs. It is up to the user to 
ensure that this is the case; it would be next-to-impossible to catch 
any possible conflict. The most obvious aspects that must agree are 
incoming beam particles and (maximum) collision energy, all MPI-related 
settings and PDFs. Aspects that could be different without causing problems 
include ISR and FSR, and all hadronization steps. 
 
<p/> 
This trick also works for the initialization of several particles. 
Specifically, when the <code>Beams:allowIDAswitch</code> switch is 
on, some 20 different incoming beam particles are initialized 
in succession, and all of these can be saved and reused with the methods 
below. Since we now need a few hundred seconds to initialize all of them, 
the time savings can be considerable for repeated use. 
 
<modepick name="MultipartonInteractions:reuseInit" default="0" 
min="-2" max="3"> 
Action taken with respect to using MPI initialization data as above. 
<option value="0">current run is self-contained.</option> 
<option value="1">MPI initialization is done as usual, but afterwards 
the results of this initialization are saved on file.</option> 
<option value="2">initialization data is read in from a file, saved 
from a previous initialization, thereby saving time. If the file is not 
found, initialization fails.</option> 
<option value="3">as option 2, but if the file is not found, it will be 
generated and saved after normal initialization.</option> 
<option value="-1">Load initialization data from the 
<code>Init:reuseMpiInit...</code> settings 
if not empty. In any case write the data to 
<code>Init:reuseMpiInit...</code>.</option> 
<option value="-2">Same as <code>-1</code> but also read/write the 
setting from/to the file 
<code>MultipartonInteractions:initFile</code>.</option> 
</modepick> 
 
<word name="MultipartonInteractions:initFile" default="pp14000.mpi"> 
The file name used to store or read MPI initialization data. It is up 
to the user to pick a suitable name (including path if relevant) for the 
case at hand. 
</word> 
 
<wvec name="Init:reuseMPIiDiffSys0" default = "{}"> 
This is where the fitted parameters are stored for non-diffractive 
processes. 
</wvec> 
 
<wvec name="Init:reuseMPIiDiffSys1" default = "{}"> 
This is where the fitted parameters are stored for single diffractive 
(XB) processes. 
</wvec> 
 
<wvec name="Init:reuseMPIiDiffSys2" default = "{}"> 
This is where the fitted parameters are stored for single diffractive 
(AX) processes. 
</wvec> 
 
<wvec name="Init:reuseMPIiDiffSys3" default = "{}"> 
This is where the fitted parameters are stored for doubly diffractive 
(AXB) processes. 
</wvec> 
 
<p/> 
Another possible speed-up, in some contexts, is to symmetrize the 
description between particles and antiparticles, so that e.g. 
<ei>pi^+ p</ei> and <ei>pi^- p</ei> are handled identically in the 
MPI initialization, and thus could use the same initialization file. 
This is used for the <code>Beams:allowIDAswitch = on</code> option, 
to limit the number of options needed to cover, but can also be used 
in other contexts. 
 
<flag name="MultipartonInteractions:setAntiSame" default="off"> 
The cross sections for particle-particle and particle-antiparticle 
collisions are symmetrized at initialization. For the perturbative 
cross section this is achieved by symmetrizing the PDFs of one 
particle between quarks and antiquarks. For the nonperturbative 
cross sections this is done by averaging two separate calls. If 
either of the two particles is its own antiparticle the procedure 
can be skipped. In the actual event generation the proper PDFs are 
used for real parton-parton collisions, but combined with the 
symmetrized Sudakov factor table and nondiffractive cross section. 
</flag> 
 
<h3>Further variables</h3> 
 
These should normally not be touched. Their only function is for 
cross-checks. 
 
<modeopen name="MultipartonInteractions:nQuarkIn" default="5" min="0" 
max="5"> 
Number of allowed incoming quark flavours in the beams; a change 
to 4 would thus exclude <ei>b</ei> and <ei>bbar</ei> as incoming 
partons, etc. 
</modeopen> 
 
<modeopen name="MultipartonInteractions:nSample" default="100000" 
min="100000"> 
The allowed <ei>pT</ei> range is split into <code>NSUDPTS</code> 
bins, by default 50, a number which is hardcoded in 
<code>MultipartonInteractions.h</code>. In each of these bins the 
interaction cross section is evaluated in <ei>nSample / NSUDPTS</ei> 
random phase space points. The <ei>pT</ei> bins are of uneven size, 
to obtain comparable integrated cross section in each bin. 
The full integral is used at initialization, and the differential 
one during the run as part of a "Sudakov form factor" for the 
choice of the hardest interaction. A larger sample number implies 
increased accuracy of the calculations. 
</modeopen> 
 
<h3>Technical notes</h3> 
 
Relative to the articles mentioned above, not much has happened. 
The main news is a technical one, that the phase space of the 
<ei>2 &rarr; 2</ei> (massless) QCD processes is now sampled in 
<ei>dy_3 dy_4 dpT^2</ei>, where <ei>y_3</ei> and <ei>y_4</ei> are 
the rapidities of the two produced partons. One can show that 
<eq> 
    (dx_1 / x_1) * (dx_2 / x_2) * d(tHat) = dy_3 * dy_4 * dpT^2 
</eq> 
Furthermore, since cross sections are dominated by the "Rutherford" 
one of <ei>t</ei>-channel gluon exchange, which is enhanced by a 
factor of 9/4 for each incoming gluon, effective structure functions 
are defined as 
<eq> 
    F(x, pT2) = (9/4) * xg(x, pT2) + sum_i xq_i(x, pT2) 
</eq> 
With this technical shift of factors 9/4 from cross sections to parton 
densities, a common upper estimate of 
<eq> 
    d(sigmaHat)/d(pT2) &lt; pi * alpha_strong^2 / pT^4 
</eq> 
is obtained. 
 
<p/> 
In fact this estimate can be reduced by a factor of 1/2 for the 
following reason: for any configuration <ei>(y_3, y_4, pT2)</ei> also 
one with <ei>(y_4, y_3, pT2)</ei> lies in the phase space. Not both 
of those can enjoy being enhanced by the <ei>tHat &rarr; 0</ei> 
singularity of 
<eq> 
    d(sigmaHat) propto 1/tHat^2. 
</eq> 
Or if they are, which is possible with identical partons like 
<ei>q q &rarr; q q</ei> and <ei>g g &rarr; g g</ei>, each singularity comes 
with half the strength. So, when integrating/averaging over the two 
configurations, the estimated <ei>d(sigmaHat)/d(pT2)</ei> drops. 
Actually, it drops even further, since the naive estimate above is 
based on 
<eq> 
    (4 /9) * (1 + (uHat/sHat)^2) &lt; 8/9 &lt; 1 
</eq> 
The 8/9 value would be approached for <ei>tHat &rarr; 0</ei>, which 
implies <ei>sHat >> pT2</ei> and thus a heavy parton-distribution 
penalty, while parton distributions are largest for 
<ei>tHat = uHat = -sHat/2</ei>, where the above expression 
evaluates to 5/9. A fudge factor is therefore introduced to go the 
final step, so it can easily be modified when further non-Rutherford 
processes are added, or should parton distributions change significantly. 
 
<p/> 
At initialization, it is assumed that 
<eq> 
    d(sigma)/d(pT2) &lt; d(sigmaHat)/d(pT2) * F(x_T, pT2) * F(x_T, pT2) 
       * (2 y_max(pT))^2 
</eq> 
where the first factor is the upper estimate as above, the second two 
the parton density sum evaluated at <ei>y_3 = y_ 4 = 0</ei> so that 
<ei>x_1 = x_2 = x_T = 2 pT / E_cm</ei>, where the product is expected 
to be maximal, and the final is the phase space for 
<ei>-y_max &lt; y_{3,4} &lt; y_max</ei>. 
The right-hand side expression is scanned logarithmically in <ei>y</ei>, 
and a <ei>N</ei> is determined such that it always is below 
<ei>N/pT^4</ei>. 
 
<p/> 
To describe the dampening of the cross section at <ei>pT &rarr; 0</ei> by 
colour screening, the actual cross section is multiplied by a 
regularization factor <ei>(pT^2 / (pT^2 + pT0^2))^2</ei>, and the 
<ei>alpha_s</ei> is evaluated at a scale <ei>pT^2 + pT0^2</ei>, 
where <ei>pT0</ei> is a free parameter of the order of 2 - 4 GeV. 
Since <ei>pT0</ei> can be energy-dependent,  an ansatz 
<eq> 
    pT0(ecm) = pT0Ref * (ecm/ecmRef)^ecmPow 
</eq> 
is used, where <ei>ecm</ei> is the current CM frame energy, 
<ei>ecmRef</ei> is an arbitrary reference energy where <ei>pT0Ref</ei> 
is defined, and <ei>ecmPow</ei> gives the energy rescaling pace. For 
technical reasons, also an absolute lower <ei>pT</ei> scale <ei>pTmin</ei>, 
by default 0.2 GeV, is introduced. In principle, it is possible to 
recover older scenarios with a sharp <ei>pT</ei> cutoff by setting 
<ei>pT0 = 0</ei> and letting <ei>pTmin</ei> be a larger number. 
 
<p/> 
The above scanning strategy is then slightly modified: instead of 
an upper estimate <ei>N/pT^4</ei> one of the form 
<ei>N/(pT^2 + r * pT0^2)^2</ei> is used. At first glance, <ei>r = 1</ei> 
would seem to be fixed by the form of the regularization procedure, 
but this does not take into account the nontrivial dependence on 
<ei>alpha_s</ei>, parton distributions and phase space. A better 
Monte Carlo efficiency is obtained for <ei>r</ei> somewhat below unity, 
and currently <ei>r = 0.25</ei> is hardcoded. 
 
In the generation a trial <ei>pT2</ei> is then selected according to 
<eq> 
    d(Prob)/d(pT2) = (1/sigma_ND) * N/(pT^2 + r * pT0^2)^2 * ("Sudakov") 
</eq> 
For the trial <ei>pT2</ei>, a <ei>y_3</ei> and a <ei>y_4</ei> are then 
selected, and incoming flavours according to the respective 
<ei>F(x_i, pT2)</ei>, and then the cross section is evaluated for this 
flavour combination. The ratio of trial/upper estimate gives the 
probability of survival. 
 
<p/> 
Actually, to profit from the factor 1/2 mentioned above, the cross 
section for the combination with <ei>y_3</ei> and <ei>y_4</ei> 
interchanged is also tried, which corresponds to exchanging <ei>tHat</ei> 
and <ei>uHat</ei>, and the average formed, while the final kinematics 
is given by the relative importance of the two. 
 
<p/> 
Furthermore, since large <ei>y</ei> values are disfavoured by dropping 
PDF's, a factor 
<eq> 
   WT_y = (1 - (y_3/y_max)^2) * (1 - (y_4/y_max)^2) 
</eq> 
is evaluated, and used as a survival probability before the more 
time-consuming PDF+ME evaluation, with surviving events given a 
compensating weight <ei>1/WT_y</ei>. 
 
<p/> 
An impact-parameter dependence is also allowed. Based on the hard 
<ei>pT</ei> scale of the first interaction, and enhancement/depletion 
factor is picked, which multiplies the rate of subsequent interactions. 
 
<p/> 
Parton densities are rescaled and modified to take into account the 
energy-momentum and flavours kicked out by already-considered 
interactions. 
 
</chapter> 
 
<!-- Copyright (C) 2026 Torbjorn Sjostrand --> 
