## 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 production relative to up/down quark production. Close-packing effects are scaled by the effective number of near strings, which is pT suppressed and given by
κeff = (1 + (kpp + kqq) /(1+p2T had/p2T0)) 2rκ0.
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.
Note: for the purpose of close-packing, string overlaps are determined according to rapidity measured along the z axis. This should be quite appropriate for multi-string systems produced by MPI 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.

`flag` ClosePacking:doClosePacking (`default = off`)
If switched on then the two following parameters modify either `StringPT:sigma` or `StringPT:temperature`, respectively. Normally only one of the options below would be used, but technically both are allowed and then combine multiplicatively.

`parm` ClosePacking:tension (`default = 0.08`; `minimum = 0.0`)
kp parameter above.

`parm` ClosePacking:tensionRatio (`default = 0.5`; `minimum = 0.0`; `maximum = 1.0`)
kq/kp ratio.

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

`parm` ClosePacking:facPT (`default = 1.0`; `minimum = 0.0`)
Allows scaling of close-packing effect on pT by introducing
RpT = facPT2 (κeff/κ0 - 1) + 1,
such that
σ'2 = σ2 * RpT.

`flag` ClosePacking:qqKappa (`default = off`)
Controls whether to increase the diquark probability `StringFlav:probQQtoQ` which takes the form P(qq:q) = α * P(ud0) / P(u), where α is dependent on `StringFlav:probStoUD`, `StringFlav:probSQtoQQ` and `StringFlav:probQQ1toQQ0` (see further [Bie14]). This scales the diquark probability due to the diquark constituent mass relative to u/d quarks. This scaling doesn't necessarily translate to the popcorn mechanism for diquark creation.

`parm` ClosePacking:facQQ (`default = 1.0`; `minimum = 0.0`)
Allows scaling of close-packing effect on `StringFlav:probQQtoQ` by introducing
RQQ = facQQ2 (κeff/κ0 - 1) + 1,
where `StringFlav:probQQtoQ` is scaled by
P'(qq:q)=α'(P(qq:q)/α)1/RQQ,
and α' is α recalculated given κeff. 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:qqFacQ (`default = 0.5`; `minimum = 0.`; `maximum = 1.0`)
fq parameter above.

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