APP下载

CalcHEP 在高能粒子物理计算中的应用

2021-01-25谭美华

湖南科技学院学报 2020年5期
关键词:图形用户界面批处理菜单

谭美华

(湖南科技学院 理学院,湖南 永州 425199)

CalcHEP(Calculations in High Energy Physics)是在各种理论模型中微扰理论的最低阶下自动计算基本粒子物理中的产生截面和衰变宽度的软件包。CalcHEP 的主要思想是提供一个交互环境,通过它用户可以从拉格朗日量出发高度自动并有效地得到最终的各种分布,与它功能类似的其他程序包 有 GRACE[1], SHERPA[2], CompHEP[3],WHIZARD[4],MADGRAPH[5],等等。经过多年发展,CalcHEP 已经成为现代对撞机物理研究的一种有效和强大的工具,CalcHEP 的主要优点是有方便的交互式菜单驱动图形用户界面(GUI)、使用的符号与粒子物理中的符号非常相似,初学者也非常容易上手。灵活性是CalcHEP 的另一优点,可以使用内部图形编辑器,也可以使用外部编辑器创建或修改模型,允许与标准模型(SM)之外的各种模型(BSM)一起工作,许多其他CalcHEP 格式的完整模型集可在高能物理模型数据库(HEPMDB)上获得,可供下载导入使用,并且通过 LanHEP[6]包也很容易为CalcHEP 提供新的模型。CalcHEP 也可以作为其他外部程序的矩阵元生成器,为外部包产生优化的代码。

1 CalcHEP 的功能模块

CalcHEP 有两个图形用户界面模块:符号模块和数值模块。符号会话允许用户动态地使用物理模型,符号计算平方矩阵元,将结果导出为c 代码,并将c 代码编译到可执行以便于其后的数值计算部分 n_calchep 调用。数值模块对相位空间上的积分进行计算,以确定高能粒子物理过程的碰撞截面或衰变宽度,同时考虑到用户定义的运动学截断,它还可以用直方图显示事例的各种运动学分布。此外,CalcHEP 可以在非交互模式下运行,使用为用户提供的各种脚本批处理接口。批处理接口接受用户的输入,自动计算产生和衰变过程,并将子过程结果结合起来。批处理接口还支持对多个参数进行扫描,并在多核机器的处理器上或在高性能计算集群的处理器上并行整个计算,使用多个处理器进行并行计算这一个特征以显著提高符号和数值计算的速度。

2 CalcHEP 的安装部署与工作环境搭建

CalcHEP 程序的源码安装包可以从这个网站(http://theory.sinp.msu.ru)下载获得。值得注意的是CalcHEP 是基于类 Linux 系统平台的,以 RHEL8为例来介绍 CalcHEP 的安装部署。进入到下载目录,用命令tar-xvzf calchep_3.8.4.tgz 解压下载的压缩包文件将得到一个 calchep_3.8.4 目录,用$CALCHEP 表示这个目录路径,进入这个目录,运行gmake 或者make 命令进行编译,如果编译成功,在结束时应该获得如图1 所示的成功消息。然后按照提示运行./mkWORKdir $HOME/work 命令创建一个工作目录,目录中包含的脚本 calchep 和calchep_batch 分别启动图形用户界面和批处理会话,其实 calchep 会在符号计算阶段调用符号模块s_calchep 和数值计算时调用数值模块 n_calchep。我们以$WORK 表示这个工作目录,将在其中执行计算工作。

图1 CalcHEP 的安装编译

3 CalcHEP GUI 的启动与使用方法

在工作目录$WORK 运行./calchep 命令即可启动CalcHEP 图形用户界面如图2 所示,它是方便的交互式菜单驱动的图形用户界面,菜单在右上方,可以选择内置的SM 标准模型,也可以导入外部的BSM 模型。在交互式符号和数值会话期间的任何时候,可以按F1 键或者F2 键显示在线帮助上下文或者说明手册,更多具体详细的细节也可以参考它的官方帮助文档。

图2 CalcHEP 的图形用户界面

4 CalcHEP 符号与数值计算的应用示例

用于符号计算的菜单系统有8 级菜单,交互式符号会话的菜单流程如图3 所示。通过计算一个pp→W+bB 碰撞过程的例子,按照菜单流程图一步一步地来介绍 CalcHEP 图形用户界面的基本用法并同时展示它强大的计算功能。

图3 交互式符号会话的菜单流程

菜单1 中提供了可用模型的列表如图2 所示,并允许用户在其中选择用于计算的模型,另外,在这个列表的底部是导入模型条目,它允许用户将一个新的粒子相互作用模型导入到CalcHEP 中,如果对模型的独立参数、约束参数和粒子性质等不需要作其他的修改,移动“高亮条”选择这一个模型点击进入菜单5,如图4 所示。在这个屏幕的顶部显示这个模型的基本粒子列表,每个条目包含粒子名称,后面跟着括号中的反粒子名称,并以粒子的完整的描述性名称结尾。在粒子列表下面,CalcHEP显示提示输入过程:并向用户提供一个文本输入框,在该框中可以输入需要计算的过程,通过指定初态和末态的粒子进入散射或衰变过程,其中支持1→2,1→3,…,1→8 衰变过程和 2→1,2→2,…,2→7 散射过程,也就是初态和末态总共最多不超过9 个粒子,初态粒子和末态粒子用->隔开,在过程输入期间的任何时候,用户可以按ESC 键返回到上一步的输入和按F1 键以获得过程输入的在线帮助。

图4 指定初态和末态粒子进入散射过程

过程输入完后进入菜单6,CalcHEP 会自动计算并生成满足约束条件的所有Feynman 图,此菜单窗口的第1 个菜单项View diagrams 允许用户查看生成的 Feynman 图的图形表示以及有关生成的图和子过程的数量信息,如图5 所示8 个子过程,可以通过使用PgUp 和PgDn 键移动高亮条或使用鼠标在子过程之间移动,按下 Enter 键或鼠标单击高亮显示的子过程,则图表查看器将打开高亮显示子过程的Feynman 图。

图5 子过程的数量信息

在构建Feynman 图出现在屏幕上之后,如图6所示,可创建相应LaTex 的输出格式,也可以在对它们平方之前选择删除不需要的图。第2 个菜单项Squaring diagrams 是创建平方图。随后CalcHEP 使用这些平方图来计算平方矩阵元。

图6 生成的Feynman 图

进入菜单7,View squared diagrams 菜单项类似于前面菜单6 的View diagrams 菜单项,但是它生成并显示平方费曼图,每个平方图都是AB*的图形表示,其中A 和B 是在上一步中构造的费曼图。可使用内置的快速符号计算器来计算平方矩阵元的解析表达式,如果平方图已经计算过,每个子图将包含一个CALC,ZERO,Out of memory 或Del标识,如图7 所示,它们的意思分别是平方图已计算、值是零、计算耗尽内存或者平方图已被删除了。第2 个菜单项Symbolic calculation 是符号计算,并指示CalChep 使用生成的平方图开始平方矩阵元的符号计算,在此计算过程中显示CalcHEP 的当前状态,其中包括当前正在处理的图表和剩下的图表。

图7 生成平方费曼图

符号计算执行完成之后进入菜单 8,结果的输出和数值计算的启动,如图8 所示。此菜单中有3项,分别允许用户以 REDUCE,MATHEMATICA或 FORM 格式导出平方图的符号表达式为适合各自相应程序的格式,每个都将表达式写入工作目录中的results 子目录的文件中,用于以后在相应的软件中作进一步的符号或数值操作,例如可以在平方图上求和、执行替换或计算总截面。也可以点击第1 个菜单项c-code,它将使CalcHEP 为平方图生成优化的c 代码并写入工作目录的results 子目录。

图8 符号计算执行完成

在执行完第1 个菜单项编写了c 代码之后,用户可以执行第 2 个菜单项 C-compiler,从而导致CalcHEP 编译c 代码并创建可执行的n_calchep,到此就完成了符号模块的会话并进入到数值模块会话阶段的菜单1,如图9 所示,它将启动产生的交互式数值会话,该会话会出现在用户的屏幕上。

图9 数值会话启动窗口

在前面交互式符号模块会话中,我们描述了任何粒子物理相互作用模型的碰撞或衰变过程的c 代码的生成和编译过程。接下来我们将描述如何在交互模式下的数值模块会话中使用生成的可执行文件来计算碰撞截面或衰变宽度,图 10 给出交互式数值会话菜单系统流程的示意图。

图10 数值会话菜单系统流程示意图

数值模块会话的菜单1 如图9 所示,第1 个菜单项是 subprocess,如果符号会话期间生成的代码包含多个子过程,则它允许选择其中哪一个子过程用于数值处理;第2 个菜单项IN state,允许设置传入粒子的动量、螺旋度和它们的部分子分布函数;第3 个菜单项是Model parameters,它将列出所有独立的参数,并允许用户逐个修改模型独立参数的数值,这些参数用于数值计算;第 4 个菜单项是Constraints,需要计算的约束参数将出现在可以滚动的列表中,用户还可以在此菜单列表中选择一个相关参数,以查看其对独立参数的依赖关系;下面还有几个菜单项可以分别用来:设置强耦合常数如图 11 所示,修改不稳定粒子的传播子的行为,声明粒子集的别名如图 12 所示,设置蒙特卡罗相位空间积分和事例生成的截断,修改相位空间的映射,以改进蒙特卡罗积分等。

图11 设置强耦合常数

图12 声明粒子集的别名

如果前面9 个菜单项的内容都满意了,就可以点击第10 个菜单项Monte Carlo simulation 进入图10 中的菜单6。经过蒙特卡罗积分计算后,可以用图表查看器显示直方图或曲线,它允许用户控制绘图坐标的某些方面以及导出绘图数据,例如,微分截面对M(b,B)的分布如图13 所示,其中有3 个峰值位于91 GeV,125 GeV 和171 GeV,它们分别来自Z 玻色子、希格斯粒子和顶夸克t 的衰变。微分截面对M(W+,b) 的分布如图14 所示,看到1 个峰值位于172 GeV,这是来自顶夸克t 的衰变。

图13 微分截面对M(b,B)分布图

图14 微分截面对M(W+,b)分布图

5 CalcHEP 的盲模式和批接口的应用示例

最初,CalcHEP 是为具有图形用户界面的交互式计算而设计的,虽然图形界面会话模式能完成几乎所有工作,然而,有时批处理系统是理想的,例如,当计算需要很长时间,或者用户的兴趣在参数空间或子过程上进行扫描时,为了解决这一问题,引入了盲模式。如果s_calchep 或n_calchep 命令使用了-blind 参数标志,他们将读取下一个参数并将其解释为一系列命令,这些命令是用一种特殊的符号编写的[7],它与用户在交互会话期间执行的菜单击键相匹配。对于初学用户来说,确定适当的命令序列字符串可能有些困难。因此,s_calchep 和n_calchep 命令都可使用+blind 参数标志,在+blind模式下,交互式图形界面打开,用户可以像往常一样运行它们,当用户退出时,Calchep 将命令序列字符串写入标准输出,然后,用户可以复制它并酌情修改以使用-blind 模式。盲模式可用来编写脚本,这些脚本存储在$CALCHEP/bin 子目录中,虽然这些 shell 脚本提高了用户在批处理模式下运行所需过程的能力,但在进行涉及参数空间扫描、许多子过程和并行化的大型复杂计算时,仍然存在一些局限性。为了克服这些挑战,CalcHEP 提供了一个Perl脚本,我们称之为批处理接口calchep_batch。这个Perl 接口的主要特点是:输入是一个纯文本文件,我们称之为批处理文件batch_file,它由一系列关键字以及这些关键字的值组成,交互式会话中可用的大多数选项都由批处理文件中的关键字支持,因此大多数计算可以使用批处理接口完成。一旦用户创建批处理文件并运行批处理接口,在完成之前不需要用户输入,它可以在后台运行并定期检查。在用户创建了他们的批处理文件之后,通常从工作目录中执行./calchep_batch batch_file 命令运行批处理接口,计算的进度存储在一系列html 文件中,这些文件可以在Web 浏览器中查看。这些html 页面包含有关计算进度的信息以及已经完成的计算结果。

现在我们来介绍使用批处理接口进行计算的一个示例,给出输入和输出的全部细节,还可以使用这个示例作为其他计算的模板,我们的例子是e+e-→Zh 这个过程,我们可以用文本编辑器,例如vi/vim 编辑器来创建这个过程例子的批处理文件$CALCHEP/utile/batch_file,它有如图15 所示的格式形式,每个关键字都在一个单独的行上,第一部分应该包含模型说明,这是由模型名称完成的,并且应该与CalcHEP 模型列表中的名称完全匹配,计算的规范也应指定,选择是费曼规范,在Feynman规范中更适合计算。

图15 一个批处理文件格式的例子

此批处理示例可以在工作目录中,使用./calchep_batch batch_file 命令来运行,它将计算e+e-→Zh 过程的截面,这个批处理会话的结果可以在Web 浏览器中观察到,如图16 所示该过程的总截面为17.965 fb。

图16 Web 浏览器中观察结果

此外批处理还将生成 10k 事例,并将它们以LHEF 格式写入文件 ee_zh-single.lhe,该文件位于的$WORK/Events/子目录中,也为Web 浏览器不方便的情况下创建进度页的纯文本版本,可以用内置的显示分布命令来查看它的分布,如图17 所示。

图17 e+e-→Zh 过程的截面分布

6 结 语

高能物理计算程序包 CalcHEP 对探索由粒子物理理论家、唯象家和实验家建立的标准模型(SM)和各种超标准模型(BSM)非常有帮助。以 RHEL8系统平台作为计算环境,具体介绍CalcHEP 的安装方法和 CalcHEP 工作环境的部署方法。通过CalcHEP 交互式的图形用户界面介绍了符号会话和数值会话的操作流程,并对一个高能物理粒子碰撞过程pp→W+bB 进行了计算,符号会话计算得到碰撞过程的费曼图和平方费曼图。数值会话得到了碰撞截面分布。通过批处理接口计算 e+e-→Zh 过程的截面介绍了批处理接口的功能。CalcHEP 作为一款功能强大的高能对撞机物理计算工具,值得广大粒子物理学研究工作者和学习爱好者学习和使用。

猜你喜欢

图形用户界面批处理菜单
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
Java图形用户界面编程在文本格式化设置系统中的教学研究
中国新年菜单
不装软件批处理为文件夹加锁
借助批处理 让Cortana变聪明
本月菜单
浅析我国GUI外观专利申请现况
城轨综合监控系统用户界面菜单层级结构设计与实现
一个“公海龟”的求偶菜单
批处理天地.文件分类超轻松