Foam: a general-purpose cellular Monte Carlo event generator. S. Jadach.

PROGRAM SUMMARY
Title of program: Foam++, version 2.05
Catalogue identifier: ADRG
Ref. in CPC: 152(2003)55
Distribution format: tar gzip file
Operating system: UNIX (Linux 6.x)
High speed store required: 50MK words
Number of lines in distributed program, including test data, etc: 9435
Keywords: Monte Carlo (MC) simulation and generation, Particle physics, Phase space, Computational methods, Utility.
Programming language used: C++
Computer: PC 550 MHZ Intel chip .

Other versions of this program:

 Cat. Id.  Title                             Ref. in CPC
 ADMC      Foam, version 1.01                 130(2000)244                   
 ADRL      FoamF77, version 2.05              152(2003)55                    
 

Nature of physical problem:
Monte Carlo simulation or generation of unweighted (weight equal 1) events is a standard problem in many areas of research. It is highly desirable to have in the program library a general-purpose numerical tool (program) with a MC generation algorithm featuring built-in capability of adjusting automatically the generation procedure to an arbitrary pattern of singularities in the probability distribution. Our primary goal is simulation of the differential distribution in the multiparticle Lorentz invariant phase space for the purpose of comparison between Quantum Field Theory prediction and experiments in the high energy experiments.

Method of solution:
In the algorithm, a grid (foam) of cells is built in the process of the binary split of the cells. The resulting foam is adapted automatically to the shape of the integrand in such a way that the resulting ration of average weight to maximum weight or variance to average weight is arbitrarily good. The above algorithm, is a substantial improvement on the previous version in Ref. [1]. The divisionof the cell is improved and, in addition to cells of a simplical shape of Ref. [1], hyperrectangular cells are also used.

Restrictions:
The program is memory-hungry and therefore limited, at present, to relatively small dimensions <= 16. (In Foam 1.x of Ref. [1] the dimension was limited to n<=6.)

Typical running time:
The CPU time necessary to build up a foam of cells depends strongly on the number of dimensions and the requested size of the grid. On the PC with a 550 MHz Intel chip, it takes about 30 seconds to build a hyperrectangular grid of 10000 cells for a simple 3-dimensional distribution.

References:

 [1] S. Jadach, Comput. Phys. Commun. 130, 244 (2000).