mFOAM
A new
mini-FOAM version now distributed with ROOT
FOAM
A general Purpose Cellular
Monte Carlo Event Generator; Version 2.x
Documentation Programs What is Foam for?
How does it work?
Why Foam with ROOT? And more...
What is Foam for?
- Imagine you want to generate randomly
points (vectors) according to an arbitrary probability
distribution in n dimensions, for which you supply your
own subprogram. Foam can do it for you, even if your distributions has
quite strong peaks and is discontinuous.
- Foam can provide points with weight one
or
with variable weight.
- Foam is capable to integrate. The
distribution does not need to be normalized to one. Foam will provide
its integral calculated with theMonte Carlo method, using so
called "importance sampling".
- For more see here
How does it work?
It works as shown in the 2-dim. case above. Simply by dividing
integration/simulation space into many cells - more densely in the
regions where your distribution has peaks. Cells are simplices,
hyperrectangles or cartesian products of
them. For more see here
Why
Foam version with ROOT?
Building grid of cells may cost time for complicated functions in many
dimensions. It is a natural question to ask: can one save result of
such an exploration of your distribution into a disk file for later
use? Yes! With help of automatic streamers of ROOT
it can be done. This
is why one C++ version of Foam is tied up with ROOT . In fact, he entire
object
of the class TFOAM may be dumped on the disk, and after reading it
later
on is instanteniously "ready to go"! You may store many such objects
and
in this way create library of the MC generators for various
distributions.
More here
and here.
DOCUMENTATION:
PROGRAMS:
AND MORE... in preparation
Back to Jadach's home page