dorsal/arxiv
View SchemaFoam: A General-Purpose Cellular Monte Carlo Event Generator
| Authors | S. Jadach |
|---|---|
| Categories | |
| ArXiv ID | physics/0203033 |
| URL | https://arxiv.org/abs/physics/0203033 |
| DOI | 10.1016/S0010-4655(02)00755-5 |
| Journal | Comput.Phys.Commun. 152 (2003) 55-100 |
Abstract
A general purpose, self-adapting, Monte Carlo (MC) event generator (simulator) is described. The high efficiency of the MC, that is small maximum weight or variance of the MC weight is achieved by means of dividing the integration domain into small cells. The cells can be $n$-dimensional simplices, hyperrectangles or Cartesian product of them. The grid of cells, called ``foam'', is produced in the process of the binary split of the cells. The choice of the next cell to be divided and the position/direction of the division hyper-plane is driven by the algorithm which optimizes the ratio of the maximum weight to the average weight or (optionally) the total variance. The algorithm is able to deal, in principle, with an arbitrary pattern of the singularities in the distribution. As any MC generator, it can also be used for the MC integration. With the typical personal computer CPU, the program is able to perform adaptive integration/simulation at relatively small number of dimensions ($\leq 16$). With the continuing progress in the CPU power, this limit will get inevitably shifted to ever higher dimensions. {\tt Foam} is aimed (and already tested) as a component in the MC event generators for the high energy physics experiments. A few simple examples of the related applications are presented. {\tt Foam} is written in fully object-oriented style, in the C++ language. Two other versions with a slightly limited functionality, are available in the Fortran77 language. The source codes are available from http://jadach.home.cern.ch/jadach/
{
"annotation_id": "6512628a-e769-4853-8505-9c9ab2ce2d5b",
"date_created": "2026-03-02T18:00:39.713000Z",
"date_modified": "2026-03-02T18:00:39.713000Z",
"file_hash": "62c6819a4dc5ce8380b1b0f4de5daaf51b22e2b655102fb449791e617ef670c8",
"private": false,
"record": {
"abstract": "A general purpose, self-adapting, Monte Carlo (MC) event generator\n(simulator) is described. The high efficiency of the MC, that is small maximum\nweight or variance of the MC weight is achieved by means of dividing the\nintegration domain into small cells. The cells can be $n$-dimensional\nsimplices, hyperrectangles or Cartesian product of them. The grid of cells,\ncalled ``foam\u0027\u0027, is produced in the process of the binary split of the cells.\nThe choice of the next cell to be divided and the position/direction of the\ndivision hyper-plane is driven by the algorithm which optimizes the ratio of\nthe maximum weight to the average weight or (optionally) the total variance.\nThe algorithm is able to deal, in principle, with an arbitrary pattern of the\nsingularities in the distribution. As any MC generator, it can also be used for\nthe MC integration. With the typical personal computer CPU, the program is able\nto perform adaptive integration/simulation at relatively small number of\ndimensions ($\\leq 16$). With the continuing progress in the CPU power, this\nlimit will get inevitably shifted to ever higher dimensions. {\\tt Foam} is\naimed (and already tested) as a component in the MC event generators for the\nhigh energy physics experiments. A few simple examples of the related\napplications are presented. {\\tt Foam} is written in fully object-oriented\nstyle, in the C++ language. Two other versions with a slightly limited\nfunctionality, are available in the Fortran77 language. The source codes are\navailable from http://jadach.home.cern.ch/jadach/",
"arxiv_id": "physics/0203033",
"authors": [
"S. Jadach"
],
"categories": [
"physics.comp-ph"
],
"doi": "10.1016/S0010-4655(02)00755-5",
"journal_ref": "Comput.Phys.Commun. 152 (2003) 55-100",
"title": "Foam: A General-Purpose Cellular Monte Carlo Event Generator",
"url": "https://arxiv.org/abs/physics/0203033"
},
"schema_id": "dorsal/arxiv",
"source": {
"execution_id": "64047247-1550-4a7b-b998-464cbaf8ed1f",
"id": "arXiv Dataset IDs",
"type": "Model",
"variant": "snapshot-2026-03-01",
"version": "0.1.0"
},
"user_id": 1000002
}