## Hadron Scattering

A simple hadron scattering model. It is 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.
Warning: This is still at an experimental level, and should not be used unless you know what you are doing.

`flag` HadronScatter:scatter (`default = off`)
Master flag for hadron scattering.

`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 = 0.5`; `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.