`BoseEinstein`

class performs shifts of momenta
of identical particles to provide a crude estimate of
Bose-Einstein effects. The algorithm is the BE_32 one described in
[Lon95], with a Gaussian parametrization of the enhancement.
We emphasize that this approach is not based on any first-principles
quantum mechanical description of interference phenomena; such
approaches anyway have many problems to contend with. Instead a cruder
but more robust approach is adopted, wherein BE effects are introduced
after the event has already been generated, with the exception of the
decays of long-lived particles. The trick is that momenta of identical
particles are shifted relative to each other so as to provide an
enhancement of pairs closely separated, which is compensated by a
depletion of pairs in an intermediate region of separation.
More precisely, the intended target form of the BE correlations in
BE_32 is
*
f_2(Q) = (1 + lambda * exp(-Q^2 R^2))
* (1 + alpha * lambda * exp(-Q^2 R^2/9) * (1 - exp(-Q^2 R^2/4)))
*

where *Q^2 = (p_1 + p_2)^2 - (m_1 + m_2)^2*.
Here the strength *lambda* and effective radius *R*
are the two main parameters. The first factor of the
equation is implemented by pulling pairs of identical hadrons closer
to each other. This is done in such a way that three-momentum is
conserved, but at the price of a small but non-negligible negative
shift in the energy of the event. The second factor compensates this
by pushing particles apart. The negative *alpha* parameter is
determined iteratively, separately for each event, so as to restore
energy conservation. The effective radius parameter is here *R/3*,
i.e. effects extend further out in *Q*. Without the dampening
*(1 - exp(-Q^2 R^2/4))* in the second factor the value at the
origin would become *f_2(0) = (1 + lambda) * (1 + alpha * lambda)*,
with it the desired value *f_2(0) = (1 + lambda)* is restored.
The end result can be viewed as a poor man's rendering of a rapidly
dampened oscillatory behaviour in *Q*.

Further details can be found in [Lon95]. For instance, the
target is implemented under the assumption that the initial distribution
in *Q* can be well approximated by pure phase space at small
values, and implicitly generates higher-order effects by the way
the algorithm is implemented. The algorithm is applied after the decay
of short-lived resonances such as the *rho*, but before the decay
of longer-lived particles.

This algorithm is known to do a reasonable job of describing BE
phenomena at LEP. It has not been tested against data for hadron
colliders, to the best of our knowledge, so one should exercise some
judgment before using it. Therefore by default the master switch
HadronLevel:BoseEinstein is off.
Furthermore, the implementation found here is not (yet) as
sophisticated as the one used at LEP2, in that no provision is made
for particles from separate colour singlet systems, such as
*W*'s and *Z*'s, interfering only at a reduced rate.

**Warning:** The algorithm will create a new copy of each particle
with shifted momentum by BE effects, with status code 99, while the
original particle with the original momentum at the same time will be
marked as decayed. This means that if you e.g. search for all
*pi+-* in an event you will often obtain the same particle twice.
One way to protect yourself from unwanted doublecounting is to
use only particles with a positive status code, i.e. ones for which
`event[i].isFinal()`

is `true`

.

`HadronLevel:BoseEinstein = on`

,
you can regulate the detailed behaviour with the following settings.
`flag `

** BoseEinstein:Pion **
(`default = `

)**on**

Include effects or not for identical *pi^+*, *pi^-*
and *pi^0*.

`flag `

** BoseEinstein:Kaon **
(`default = `

)**on**

Include effects or not for identical *K^+*, *K^-*,
*K_S^0* and *K_L^0*.

`flag `

** BoseEinstein:Eta **
(`default = `

)**on**

Include effects or not for identical *eta* and *eta'*.

`parm `

** BoseEinstein:lambda **
(`default = `

; **1.**`minimum = 0.`

; `maximum = 2.`

)

The strength parameter for Bose-Einstein effects. On physical grounds
it should not be above unity, but imperfections in the formalism
used may require that nevertheless.

`parm `

** BoseEinstein:QRef **
(`default = `

; **0.2**`minimum = 0.05`

; `maximum = 1.`

)

The size parameter of the region in *Q* space over which
Bose-Einstein effects are significant. Can be thought of as
the inverse of an effective distance in normal space,
*R = hbar / QRef*, with *R* as used in the above equation.
That is, *f_2(Q) = (1 + lambda * exp(-(Q/QRef)^2)) * (...)*.

`parm `

** BoseEinstein:widthSep **
(`default = `

; **0.02**`minimum = 0.001`

; `maximum = 1.`

)

Particle species with a width above this value (in GeV) are assumed
to be so short-lived that they decay before Bose-Einstein effects
are considered, while otherwise they do not. In the former case the
decay products thus can obtain shifted momenta, in the latter not.
The default has been picked such that both *rho* and
*K^** decay products would be modified.