跳转到主要内容

生成不同格式的简化似然

项目描述

simplify

CI status Documentation Status codecov PyPI version python version Code style: black

一个从完整似然生成简化似然的包。目前,只实现了一种简化似然的形式,但想法是实现更多简化似然的版本,以支持不同程度的简化。

安装

遵循良好实践,首先创建一个虚拟环境

python3 -m venv simplify

然后激活它

source simplify/bin/activate

默认安装

使用pip安装包

python3 -m pip install simplify-hep[contrib]

开发安装

如果您想为simplify做出贡献,请安装包的开发版本。Fork仓库,克隆Fork,然后安装

python3 -m pip install --ignore-installed -U -e .[complete]

接下来,设置Black的git pre-commit钩子

pre-commit install

您可以使用以下命令运行所有测试

python3 -m pytest

如何运行

命令行界面

例如运行

simplify convert < fullLH.json > simplifiedLH.json

或例如运行

curl http://foo/likelihood.json | simplify convert

其中fullLH.json是要转换为简化似然的完整似然。Simplify能够从stdin/stdout读取/写入。

在Python脚本中

您也可以在Python脚本中使用simplify,例如创建一些验证和交叉检查的图表和表格。

import pyhf
import json

import simplify

pyhf.set_backend(pyhf.tensorlib, "minuit")
spec = json.load(open("likelihood.json", "r"))

ws = pyhf.Workspace(spec) # ws from full LH

# get model and data for each ws we just created
model = ws.model(modifier_settings = {"normsys": {"interpcode": "code4"},"histosys": {"interpcode": "code4p"},})
data = ws.data(model)

# run fit
fit_result = simplify.fitter.fit(ws)

plt = simplify.plot.pulls(
    fit_result,
    "plots/"
)

plt = simplify.plot.correlation_matrix(
    fit_result,
    "plots/",
    pruning_threshold=0.1
)

tables = simplify.plot.yieldsTable(
    ws,
    "plots/",
    fit_result,
)

依赖关系

自然地严重依赖于pyhf。部分代码用于绘制和验证结果,灵感来自Alexander Held的cabinetry

项目详情


下载文件

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

源分发

simplify-hep-0.1.5.tar.gz (21.5 kB 查看哈希值)

上传时间

构建分发

simplify_hep-0.1.5-py3-none-any.whl (21.7 kB 查看哈希值)

上传时间 Python 3

支持者