In collisions of protons, there are often tens of multiparton interactions, all producing Lund strings occupying the same area in transverse space of ~1 fm^2. The Rope Hadronization framework describes the interactions between such overlapping strings, by (a) allowing nearby strings to shove each other with an interaction potential derived from the colour superconductor analogy [Bie16b], [Bie17] and (b) at hadronization time, colour charges at string endpoints and in gluon "kinks" can act together coherently to form a "rope", which is hadronized with a larger, effective string tension [Bie14]. The latter has noticeable effects on the flavour composition of the hadronic final state [Bie15], and this effect is denoted "flavour ropes" below.

Since both models deal with string overlaps in transverse space, it is necessary to provide such information, as it is not present in the Pythia MPI model. The information is provided through the Parton Vertex methods. The string shoving mechanism is exemplified in the main101 example, and the flavour ropes in main102. A simpler version of flavour composition ropes exist [Bie16c], which do not require vertex information. This can be enabled by a switch.

### Main settings

The main settings are common for both the string shoving and the flavour rope models.

flag   Ropewalk:RopeHadronization   (default = off)
Master switch for all aspects of rope hadronization. The Rope Hadronization framework is intended to work seamlessly with the rest of Pythia 8. It is, however, still a new model, and no Pythia tunes with ropes enabled exists yet. Therefore Rope Hadronization must be explicitly switched on, and it is up to the user to provide a sensible tune.

flag   Ropewalk:doShoving   (default = off)
Enable the string shoving mechanism. In addition to this, the above Ropewalk:RopeHadronization flag must also be switched on.

flag   Ropewalk:doFlavour   (default = off)
Enable the flavour ropes mechanism. In addition to this, the above Ropewalk:RopeHadronization flag must also be switched on.

parm   Ropewalk:r0   (default = 0.5; minimum = 0.; maximum = 10.)
The transverse radius of a string, in units of fm. This can be viewed as an overall strength parameter of the Rope Hadronization framework, as all effects scale with increasing string overlap. Notice that the value for the string radius must be seen compared to the parameters which determines string placement in the transverse plane, as described in Vertex Information.

parm   Ropewalk:m0   (default = 0.2; minimum = 0.01; maximum = 5.0)
Imposed lower mass cutoff to allow for calculation of rapidities of dipoles composed of massless gluons.

### String shoving

The string shoving mechanism allows strings to push each other, before hadronization, as described in [Bie16b].

String shoving divides the event up in many small rapidity slices (in the lab frame), and all string pieces in all slices are allowed to push each other with a force:
f(d_\perp) = \frac{g_A \kappa d_\perp}{R^2} \exp\left(-\frac{d^2_\perp }{4R^2}\right),
where d_\perp is the distance in transverse space between two string pieces, calculated dynamically using Vertex Information. Model parameters are g_A, the amplitude of the shoving force, R, the string radius, and g_E, a parameter dividing the equilibrium string radius to account for the effect of strings starting out with a vanishing string radius.

The model should be used with some caution. Simply switching it on, one will not retain full description of single particle observables in minimum bias pp collisions, as the excitation gluons will increase multiplicity. Besides normal tuning, one can use the parameter FragmentationSystems:mJoin to join the excitation gluons together, in order to recover single particle observables.

parm   Ropewalk:rCutOff   (default = 6.0; minimum = 0.; maximum = 100.)
This parameter gives the maximum cut-off radius, at which strings stops interacting. The purpose of the parameter is to decrease computation time by not calculating arbitrarily small pushes. In pp collisions at LHC energies, no significant variation in the results is observed by increasing this value above the default.

parm   Ropewalk:gAmplitude   (default = 5.0; minimum = 0.; maximum = 100.)
The amplitude of the shoving force. Note that many traditional Min Bias/UE observables, such as multiplicity and p_\perp, as well as transverse quantities, are sensitive to this parameter. As such, a change of this, in principle warrants a full retuning of the MPI framework.

parm   Ropewalk:gExponent   (default = 1.0; minimum = 0.; maximum = 100.)
This value multiplies the string radius in the shoving force, allowing for a variation between string radius in the flavour rope treatment and the shoving treatment, if one wishes to run both simultaneously.

parm   Ropewalk:deltay   (default = 0.2; minimum = 0.01; maximum = 10.)
This value gives the width of the rapidity slices in which the event is split before shoving.

parm   Ropewalk:tShove   (default = 1.0; minimum = 0.; maximum = 100.)
The total shoving time in units of fm/c.

parm   Ropewalk:deltat   (default = 0.1; minimum = 0.01; maximum = 100.0)
The size of the steps taken in time during shoving. Since the whole event needs to be retraced after every time step, this should not be too small.

parm   Ropewalk:tInit   (default = 1.5; minimum = 0.; maximum = 100.)
The strings are allowed to propagate for some time, given in fm/c by this parameter, before shoving takes place. This accounts for the fact that the strings are created with a vanishing transverse size, and only shove each other when their transverse size is large enough for interaction. Furthermore, the physical value of this parameter is largely connected to the values set for Vertex Information.

flag   Ropewalk:shoveGluonLoops   (default = on)
Allow for shoving of strings which form a gluon loop. This is mainly a technical setting, and should be kept switched on, unless the user has a specific intention of switching it off.

flag   Ropewalk:shoveJunctionStrings   (default = on)
Allow for shoving of strings that includes a junction topology from eg. beam remnants. This is mainly a technical setting, and should be kept switched on, unless the user has a specific intention of switching it off.

flag   Ropewalk:shoveMiniStrings   (default = on)
Allow for shoving of ministrings. This is mainly a technical setting, and should be kept switched on, unless the user has a specific intention of switching it off.

flag   Ropewalk:limitMom   (default = on)
It is possible to switch off shoving for dipoles with a p_\perp above a given value. This is intended as a cut-off to disallow string segments moving so fast that they would anyway escape shoving from soft strings to have gluonic excitations added to them.

parm   Ropewalk:pTcut   (default = 2.0; minimum = 0.; maximum = 1000.)
The value of p_\perp at which shoving is turned off, if the flag Ropewalk:limitMom is on.

### Flavour Ropes

The Flavour Ropes mechanism allows strings situated close in impact parameter space to interact coherently, forming a rope, which hadronizes with a larger, effective string tension. The model is described in ref. [Bie14], building on an older idea by Biro et al. [Bir84].

In the flavour rope formalism, a rope is described as an SU(3) multiplet, characterized uniquely by two quantum numbers p and q. The quantum numbers are calculated, following ref. [Bir84], by a random walk procedure in colour space, taking m, n steps, where m and n signify the number of overlapping strings which are respectively parallel or anti-parallel to the hadronizing string.

When the rope quantum numbers have been determined, the effective string tension is calculated per individual breaking, using a lattice QCD determination of the string tension [Bal00]. The effective string tension is then used to rescale the hadronization parameters described in the section on String Fragmentation. One point to note regarding the rescaling is the fragmentation parameter StringFlav:probQQtoQ, describing baryon relative to meson production. Baryon production is, as suggested by eg. the popcorn hadronization model [Ede97], more complicated than meson production. The current modelling of this in the flavour ropes framework is limited, but intended to be extended in the future.

parm   Ropewalk:beta   (default = 0.2; minimum = 0.; maximum = 1.0)
In the current implementation of the rope model, the theoretical ignorance about baryon production has been parameterized, assuming that the parameter StringFlav:probQQtoQ will factorize into two parts, one which will scale with effective string tension, one which will not. This parameter controls how large a fraction of the parameter will scale with string tension.

flag   Ropewalk:alwaysHighest   (default = off)
Setting this flag on will skip the random walk procedure for flavour ropes, and assume that one always ends up in the highest possible SU(3) multiplet. This would be adequate for situations where all lower multiplets are assumed handled by colour reconnection and junction formation.

flag   Ropewalk:doBuffon   (default = off)
Setting this flag on, enables a simpler treatment of flavour ropes. This is not reliant on vertex information, but string-string overlaps are decided randomly á la Buffon's needle [Bie16c]: All strings are thrown randomly into a circular area in transverse space to estimate overlaps.

parm   Ropewalk:stringProtonRatio   (default = 0.2; minimum = 0.; maximum = 10.0)
Only used if Ropewalk:buffonRope is enabled. The ratio of the string transverse area to a proton transverse area. Determines the amount of overlap in collisions.

parm   Ropewalk:rapiditySpan   (default = 0.5; minimum = 0.; maximum = 10.0)
Only used if Ropewalk:buffonRope is enabled. Determines how far in rapidity from a string break overlaps are counted.

flag   Ropewalk:setFixedKappa   (default = off)
Setting this flag gives the user the possibility to ignore the generator space-time information altogether, using only a provided string tension. This could be useful for (toy) studies of hadronization in very dense environments, such as central heavy ion collisions.

parm   Ropewalk:presetKappa   (default = 0.; minimum = 0.; maximum = 100.0)
The effective string tension is normally calculated dynamically using overlaps of strings, based on Parton Vertex information. By setting Ropewalk:setFixedKappa, this information is ignored, and a preset value provided in the presetKappa variable is used.

parm   StringFlav:kappa   (default = 0.2; minimum = 0.0; maximum = 10.)
A base value of the string tension can be added, and modified along with other parameters, to allow for studies of exotic quark production in the Rope model.