泡沫:一种通用的蜂窝式蒙特卡洛事件发生器

摘要:一个自适应的、蒙特卡洛(MC)事件生成器(模拟器)被描述出。通过将积分区域划分为小单元,实现了MC的高效率,即MC权重的最大权重或方差较小。这些单元可以是n维单纯形、超矩形或它们的笛卡尔积。单元的网格被称为“泡沫”,是通过对单元进行二分拆分的过程中产生的。选择下一个要分割的单元和分割超平面的位置/方向是由算法驱动的,该算法优化最大权重与平均权重之比或(可选)总方差。该算法原则上可以处理分布中任意的奇点模式。与任何MC生成器一样,它也可用于MC积分。使用典型的个人电脑CPU,该程序能够在相对较少的维度($ \leq 16 $)执行自适应积分/模拟。随着CPU计算能力的不断提升,这个限制将不可避免地转移到更高的维度。泡沫被设计为(并已经经过测试)用作高能物理实验中的MC事件生成器的组件。给出了几个相关应用的简单例子。泡沫以纯面向对象的方式以C ++语言编写。还有两个功能稍有限制的版本,以Fortran77语言提供。源代码可从 http://jadach.home.cern.ch/jadach/ 获取。

作者:S. Jadach

论文ID:physics/0203033

分类:Computational Physics

分类简称:physics.comp-ph

提交时间:2009-11-07

PDF 下载: 英文版 中文版pdf翻译中