## Close-packing

If strings are closely packed, e.g. as a consequence of MPIs, it is likely that they receive an increased string tension, which translates into a broader pT spectrum, see further [Fis16]. It also means an enhanced rate (or rather reduced suppression) of strange-quark (and optionally also diquark) production relative to up/down quark production.

For each string undergoing fragmentation, close-packing effects, for each string break, scale with the effective number of nearby strings, determined according to rapidity measured along the z-axis of the system. This should be quite appropriate for multi-string systems produced by MPIs in pp collisions but would not make much sense to apply to processes such as ee→WW→hadrons, for which the z-axis does not play any special role; such studies would be interesting but would require a generalisation of the current implementation.

For each string break, the numbers of overlapping strings with flux orientations parallel and antiparallel to the string on which the break occurs, are denoted by p and q respectively. The effective string tension is then assumed to scale like
κeff = (1 + (kpp + kqq) /(1+p2T had/p2T0)) 2rκ0.
where pT had is the transverse momentum of the hadron produced in the break. Close-packing effects are thus suppressed for particles with pT values greater than the reference pT0 value. This reflects the expectation that the high-pT parts of hard jets are not affected by close-packing.

This scales the probability `StringFlav:probStoUD` by
P'(s:u/d) = P(s:u/d)(κ0/κeff)

`StringFlav:probSQtoQQ` and `StringFlav:probQQ1toQQ0` also scale in this way. The width of the pT spectrum, given by σ^2 is scaled by
σ'2 = σ2 κeff/κ0.
The diquark production probability `StringFlav:probQQtoQ` scales according to
P'(qq:q)=α'(P(qq:q)/α)κeff,
and α' is α recalculated given κeff. We allow different parameters to set kp depending on what the effective string tension is scaling. In principle if the close-packing mechanism were exact, `enhanceStrange`, `enhancePT`, and `enhanceDiquark` would be equal, however we have built in extra degrees of freedom in the model.

`flag` ClosePacking:doClosePacking (`default = off`)
Turns on the close-packing model.

`parm` ClosePacking:fluxRatio (`default = 0.5`; `minimum = 0.0`; `maximum = 1.0`)
kq/kp ratio. The default value of 0.5 corresponds to the ratio obtained if the effective string tensions scale like effective colour charges (Casimir scaling). A value of zero would mean that antiparallel fluxes do not increase the tension at all, while a value of unity would make the increase independent of flux direction.

`parm` ClosePacking:PT0 (`default = 2.0`; `minimum = 0.0`)
pT0 parameter above.

`parm` ClosePacking:enhanceStrange (`default = 0.08`; `minimum = 0.0`)
kp parameter above used for scaling `StringFlav:probStoUD`, `StringFlav:probSQtoQQ` and `StringFlav:probQQ1toQQ0`.

`parm` ClosePacking:enhancePT (`default = 0.5`; `minimum = 0.0`)
kp parameter above used for scaling `StringPT:sigma`.

`parm` ClosePacking:enhanceDiquark (`default = 0.5`; `minimum = 0.0`)
kp parameter above used for scaling `StringFlav:probQQtoQ`.

`flag` ClosePacking:doEnhanceDiquark (`default = on`)
As probQQtoQ is scaled by κ by α' regardless of `ClosePacking:enhanceDiquark` value, here we allow the scaling of probQQtoQ with an effective κ to be switched off altogether to capture the ambiguity in the scaling of probQQtoQ given the popcorn mechanism for diquark creation. Parameters `ClosePacking:expNSP` and `ClosePacking:expMPI` are typically used for the thermal model of string breaks. Normally only one of the options below would be used, but technically both are allowed and then combine multiplicatively.

`parm` ClosePacking:expNSP (`default = 0.5`; `minimum = 0.0`; `maximum = 1.0`)
r parameter above to allow non-linear scaling of κeff. Default value is based on Gaussian string breaks. For the thermal model, the default value is 0.13.

`parm` ClosePacking:expMPI (`default = 0.0`; `minimum = 0.0`; `maximum = 1.0`)
Allows scaling of width/temperature by number of MPI rather than number of near strings. The width/temparture will get the prefactor N(MPI)expMPI.

### Popcorn destructive interference

The popcorn mechanism creates diquarks via a step-wise procedure of two successive colour fluctuations on a string. By allowing the first of these colour fluctuaions to break strings given the correct colour configuration, the probability of forming a diquark is reduced in densely packed string systems. To modify `StringFlav:probQQtoQ`, the survival probability of a diquark is considered, with fq and fp being the probability of the colour fluctuation to connect with an antiparallel or parallel nearby string respectively. Connections with antiparallel strings is expected to be dominant due to the favoured colour orientation. These probabilities are pT suppressed the same way as κeff is for close-packing, using parameter `ClosePacking:PT0`. As colour indices used in colour reconnections are currently not stored in the event, an equal distribution of colours is assumed instead. Considering the survival probability of the first fluctuation for a given colour configuration, the probability `StringFlav:probQQtoQ` is modified by
P'(qq:q) = ((1-fq)nq/9 (1-fp)np/9) P(qq:q).

`parm` ClosePacking:baryonSup (`default = 0.5`; `minimum = 0.`; `maximum = 1.0`)
fq parameter above.

`parm` ClosePacking:parallelBaryonSup (`default = 0.`; `minimum = 0.`; `maximum = 1.0`)
fp parameter above.