跳转到主要内容

一个用于读取LHE文件的Python模块。

项目描述

lhereader

PyPI version

一个用于读取LHE文件的Python模块。最初由diptaparna编写,经过我大幅修改。不依赖于ROOT,需要Python版本>= 3.6。

使用示例

import numpy as np
from lhereader import LHEReader


reader = LHEReader('path/to/file.lhe')

# Mediator mass in each event
mmed = []
counter = 0
for iev, event in enumerate(reader):
    # Find DM particles
    dm = filter(lambda x: abs(x.pdgid)== 52, event.particles)

    # Sum over all DM four-momenta in the event
    combined_p4 = None
    for p4 in map(lambda x: x.p4(), dm):
        if combined_p4:
            combined_p4 += p4
        else:
            combined_p4 = p4
    mmed.append(combined_p4.mass)

print(f'Mean mediator mass: {np.mean(mmed)}')
print(f'Median mediator mass: {np.median(mmed)}')

权重处理

解析器假设每个权重XML元素都有一个名为 id 的属性,该属性唯一地标识每个事件中的权重。在实践中,每个条目应该大致如下所示

<wgt id='some string'> 123456.7 </wgt>

权重以两种模式之一读取:listdict,这可以通过将 weight_mode 参数传递给 LHEReader 构造函数来设置。在第一种情况下,权重以出现的顺序作为未标记的列表返回。在第二种情况下,每个事件返回一个字典,其中 id 属性作为键,权重作为值。

可以使用 weight_regex 参数轻松过滤权重。只有匹配此正则表达式的 id 的权重才会返回。

如果找不到 id 属性,则不支持 dict 模式以及过滤。

项目详情


下载文件

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

源分发

lhereader-1.0.11.tar.gz (3.7 kB 查看哈希值)

上传时间 源代码

构建版本

lhereader-1.0.11-py3-none-any.whl (15.8 kB 查看哈希值)

上传时间 Python 3

由以下支持

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