pyhf:支持可变 bin 宽度直方图

问题描述

我想使用 pyhf 获得我的分析的预期限制。这个分析的前一次迭代使用了可变 bin 宽度直方图,我想知道 pyhf 是否可以正确处理。

我听说 HistFactory 不支持可变 bin 宽度,尽管我在 HistFactory paper 中找不到任何明显的声明(不过我可能遗漏了一些明显的东西)。我能找到的唯一关于 HistFactory 中可变 bin 宽度的说明是在这个旧的 JIRA ticket 上,以及一个相关的 Root Forum post

天真地,我会假设如果 HistFactory 不支持变量分箱,那么 pyhf 也不会。但是,pyhf 似乎没有以任何方式使用 bin 边缘(至少,它们根本没有传递给 pyhf)。此外,在对可变分箱分布运行假设检验时,我获得了看似合理的结果。

我在 pyhf 文档中找不到任何说不要使用可变分箱输入的内容,也没有在 pyhf GitHub 问题中找到任何内容或在 Stack Overflow 上标记。如果应该只使用均匀分箱的直方图,那么将其添加到文档中的某处可能会很好(除非它确实已经存在,而我只是完全错过了)。

解决方法

最终,可能性归结为多个联合计数实验,其中每个实验都有自己的泊松项,因此真正的变量 bin 不是根本问题。

RooFit 实现存在一些问题,因为它不直接遵循泊松结构(而是使用 RooHistFunc),但在 pyhf 中它不应该是问题。

PS:我们开始将 Q&A 回复到:pyhf 到

https://github.com/scikit-hep/pyhf/discussions/categories/q-a

如果您有其他问题,请随时继续讨论。

,

为了回应和扩展 Lukas's answer,正如在 pyhf docs section on HistFactory 中所见,概率模型的主要部分是所有通道中所有 bin 的泊松积。仅从这一点我们可以看出,概率模型中不考虑 bin 宽度,并且由于 pyhf 是全概率模型的实现,因此在 pyhf 中也不使用 bin 宽度。这可以在 "Likelihood Specification" section of the pyhf docs 中进一步看出,因为没有关于 bin 宽度的元数据来补充 data 字段。