生成不同格式的简化似然
项目描述
simplify
一个从完整似然生成简化似然的包。目前,只实现了一种简化似然的形式,但想法是实现更多简化似然的版本,以支持不同程度的简化。
安装
遵循良好实践,首先创建一个虚拟环境
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 查看哈希值)