跳转到主要内容

Python中的强子相互作用模型接口

项目描述


宇宙射线和强子相互作用蒙特卡洛前端

此软件包提供了一个简单通用的用户界面,用于宇宙射线和高能粒子物理学中使用的流行事件生成器。通过去除复杂的Fortran风格接口、ASCII输入卡和C++依赖性,该软件包简化了粒子相互作用的模拟,使得更广泛的用户能够更容易、更快地访问。

用法

Python用户界面

要使用支持的事件生成器之一进行交互模拟,请导入该软件包并定义碰撞的参数。然后,创建事件生成器的一个实例,并生成事件。

import numpy as np
import chromo

# Define the parameters of the collisions
kinematics = chromo.kinematics.CenterOfMass(
    13 * chromo.constants.TeV,
    "proton", "proton")
# Create an instance of an event generator
generator = chromo.models.Sibyll23d(kinematics)

nevents = 0
average_pt = 0

# Generate 10000 events
for event in generator(10000):
    # Filter event
    event = event.final_state_charged()
    # do something with event.pid, event.eta, event.en, event.pt, etc.
    # these variables are numpy arrays, that can be histogrammed or counted like
    pt = event.pt[np.abs(event.pid) == 211]
    # The list could be empty
    if len(pt) > 0:
        nevents += 1
        average_pt += np.mean(pt)

average_pt = average_pt / nevents
print("Average pT for charged pions {0:4.3f}".format(average_pt))

更多示例,例如这个可以在示例文件夹中找到。

命令行界面(CLI)

安装chromo也会提供命令行界面。如果您的Python运行环境设置正确,您可以进行以下操作:

 chromo --help

查看命令行界面的帮助。如果不起作用,只需将 chromo 替换为 python -m chromo。命令行界面是为 CRMC 的用户设计的,感觉非常熟悉。CLI 可以以多种输出格式写入事件,具体如下。HepMC 输出可以管道输入到 RIVET 和许多支持该格式的其他工具。

输出格式

  • HepMC(通过 pyhepmc,可选 gzip 压缩)
  • ROOT(通过 uproot)
  • 事件 SVG 图像(通过 pyhepmc 包)

支持的模式和引用方法

请注意,chromo 仅提供以下模式的用户界面,本身不包含任何粒子物理模型。在公开工作中使用这些模型时,请务必按照以下链接正确引用原始模型参考文献。另外,如果您在工作中发现 chromo 有用,我们非常感谢您的认可、脚注或链接到 chromo

交互模型 支持的 proj/targ 注释
DPMJET-III 3.0.7 & PHOJET 1.12-36 hN, γγ, γN, hA, γA, AA
DPMJET-III & PHOJET 19.1 and 19.3 (GitHub 上的存储库) hN, γγ, γN, hA, γA, AA
EPOS-LHC hN, hA, AA
PYTHIA 6.4 hN, ee, γγ, γN
PYTHIA 8.3 (https://pythia.org/) hN, ee, γγ, γN & hA, AA (Argantyr) Windows 上不可用
QGSJet-01 hN, hA, AA
QGSJet-II-03 hN, hA, AA
QGSJet-II-04 hN, hA, AA
SIBYLL-2.1 hN, hA (A≤20)
SIBYLL-2.3d hN, hA (A≤20) 包括旧版本 -2.3/-2.3c
SOPHIA 2.0 γN
UrQMD 3.4 + 第二次引用 hN, hA, AA* Windows 上不可用

h = hadron,N = nucleon(p 或 n),A = nucleus,γ = photon,e = electron/positron

通过 PyPI 安装

支持的平台

  • Python 3.8+
  • Linux,Mac OS X(x86 和 M1/M2),Windows

推荐安装 chromo 的方法是使用预编译的二进制 wheel,这对于大多数常见架构和 Python 版本都可用

pip install chromo

高级和开发者安装说明可在此处找到:这里

作者

  • Anatoli Fedynitch
  • Hans Dembinski
  • Anton Prosekin
  • Sonia El Hadri
  • Keito Watanabe

授权

chromo 的源代码根据 BSD 3-clause 许可证授权(请参阅 LICENSE 以获取详细信息)。事件生成器的源代码根据不同的条件分别授权(请参阅子目录中位于 COPYING 文件中的条件)。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码发行版

chromo-0.5.1.tar.gz (71.3 MB 查看散列

源代码

构建分发版

chromo-0.5.1-cp312-cp312-win_amd64.whl (19.8 MB 查看散列

上传于 CPython 3.12 Windows x86-64

chromo-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.8 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

chromo-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (22.8 MB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

chromo-0.5.1-cp312-cp312-macosx_10_9_x86_64.whl (25.5 MB 查看哈希值)

上传于 CPython 3.12 macOS 10.9+ x86-64

chromo-0.5.1-cp311-cp311-win_amd64.whl (19.8 MB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

chromo-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.8 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

chromo-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (22.8 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

chromo-0.5.1-cp311-cp311-macosx_10_9_x86_64.whl (25.5 MB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

chromo-0.5.1-cp310-cp310-win_amd64.whl (19.8 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

chromo-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.8 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

chromo-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (22.8 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

chromo-0.5.1-cp310-cp310-macosx_10_9_x86_64.whl (25.5 MB 查看哈希)

上传于 CPython 3.10 macOS 10.9+ x86-64

chromo-0.5.1-cp39-cp39-win_amd64.whl (19.8 MB 查看哈希)

上传于 CPython 3.9 Windows x86-64

chromo-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.8 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

chromo-0.5.1-cp39-cp39-macosx_11_0_arm64.whl (22.8 MB 查看哈希)

上传于 CPython 3.9 macOS 11.0+ ARM64

chromo-0.5.1-cp39-cp39-macosx_10_9_x86_64.whl (25.5 MB 查看哈希)

上传于 CPython 3.9 macOS 10.9+ x86-64

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面