RAMBO Generator
The Rambo algorithm for flat phase-space generation
is a standalone utility which is not used by VINCIA internally
(VINCIA uses the
antenna shower as its phase space generator instead). We (the authors)
use the Rambo implementation
mostly to make (un)weighted phase-space scans for comparisons between
matrix elements and antenna shower expansions, but it is obviously a
tool with a great variety of possible uses. If you use it, please add
a reference to
- A New Monte Carlo Treatment Of Multiparticle Phase Space At
High-Energies, R. Kleiss, W.J. Stirling, S.D. Ellis,
CPC40(1986)359
Methods
When the VINCIA plugin is constructed, a member object
called rambo
is automatically constructed and initialized
inside the plugin. As mentioned, this object is not actually used by
VINCIA, but is available to the user if
needed.
A uniformly distributed (flat) n-particle phase-space point can
then be generated by using the member function
|
rambo.genPoint(double S,int nPartons,double p[4][8]);
|
where S
is the desired center-of-mass energy
squared, nPartons <= 8
sets the multiplicity,
and the momenta are returned in the double array p
, whose
entries can be converted to PYTHIA 8's Vec4
format in the
following way:
|
Vec4 VecP;
VecP.px(p[1][iParton]);
VecP.py(p[2][iParton]);
VecP.pz(p[3][iParton]);
VecP.e(p[0][iParton]);
|
where 0 <= iParton <= nPartons-1
.
If the particles are massive, the syntax is
|
double rambo.genPoint(double S, int nPartons, double m[8], double p[4][8]);
|
where m
contains the masses of the particles. The return
value is the weight of the phase space point, which is NOT unity
for nonvanishing masses:
|
w = (Σi|pi|/ECM)
(2*nPartons-3)
(Πi |pi|/Ei)
ECM/( Σi
(pi)2/Ei )
|
If desired, further Rambo
generators could in
principle be created using the following Rambo
constructor
|
Vincia::Rambo myRambo(myRndmPtr);
|
where myRndmPtr
should be a pointer to an instance of PYTHIA's
Rndm
class. For most purposes, however,
the automatically initialized rambo
object already provided
inside the VINCIA plugin should be sufficient.