问题标签 [zfit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
67 浏览

python - 如何在 zfit 中修复创建参数?

我想用多个参数执行几次拟合,其中一些在第一次拟合中是固定的。如何定义不浮动的参数以及如何更改它?无限制地创造似乎并不能让它固定下来。

0 投票
1 回答
80 浏览

python - zfit 中拟合和玩具生成的多重限制

我有一个在 zfit 中带有 pdf 的运行模型,我想从中生成玩具,之后也将 pdf 适合玩具。但是我想知道如何在玩具一代以及之后的配件中排除某些区域。更清楚的是,这意味着使用多个限制,以便我在适合和玩具代运行的多个范围内(同时)。有谁知道如何做到这一点?

0 投票
1 回答
85 浏览

python - 有没有办法在 zfit 中扩展预定义的多项式 pdf?

我正在尝试使用扩展的 Chebyshev pdf 进行拟合。为此,我使用预定义zfit.pdf.Chebyshev()的 . 我在这里想念什么?

对于所有预定义的多项式(Chebyshev/Legendre/Hermite),我收到以下错误:

我也尝试过zfit.pdf.Chebyshev().create_extended(Nbkg),为 pdf 设置规范化和coeff0参数。

0 投票
1 回答
26 浏览

zfit - 注册解析积分时访问 PDF 变量

首先,感谢您制作了一个非常简洁的 Pythonic 工具,可以用作 RooFit 的替代品。

我已经成功定义了一个自定义 2D PDF,但我不完全确定如何注册我的函数的分析积分:

来自 WolframAlpha 的解析积分

PDF定义如下:

通过查看github上的示例,除了可以通过属性访问的拟合变量之外,我不确定如何访问拟合的 observables 以用于计算(即 xsigflav和 y,对于我的 2D 案例)。tagflavparams

此外,我不确定应该如何定义我的限制。我知道 x 和 y 都必须在 [-1, 1] 范围内。我认为最好能更清楚地了解zfit.Space.from_axes应该如何使用该函数,以及它与解析积分的关系。

干杯,科尔姆

0 投票
1 回答
380 浏览

python - 为什么 __future__.annotations (PEP 563) 没有向后移植到 python3.6?

有谁知道为什么在撰写本文时 PEP 563 没有向后移植到 python36?有没有计划这样做,甚至有可能吗?

我之所以问是因为我可以将它用于目前支持 py36 到 py38 的zfit代码库,并且我不能在不使用字符串的情况下使用前向引用,这有点烦人。特别是考虑到它在 py37 及更高版本中可用。

0 投票
1 回答
80 浏览

minimization - 限制负对数似然最小化的参数

我正在尝试拟合一个 5 参数(a、b、c、d、e)模型,其中一个参数受另一个参数的约束,比方说,

0< d < 1

e < |d|

我目前正在使用zfit,据我所知,使用iMinuit

我只创建zfit.Parameters并设置了限制,以便它们可以访问的范围是有效的,再一次,让我们说:

d = zfit.Parameter('d', value=0.5, lower_limit=0.3, upper_limit=1.0, step_size=0.01)

e = zfit.Parameter('e', value=0.1, lower_limit=0.0, upper_limit=0.3, step_size=0.01)

到目前为止它一直运作良好,但我认为这不是正确的方法。

所以我的问题是,处理这种约束的正确方法是什么?

干杯

0 投票
2 回答
169 浏览

weighted - 在 zfit 中使用未合并的最大似然拟合中具有负权重的数据

我正在尝试在 zfit 中执行未合并的 3D 角度拟合,其中输入数据是具有从单独的不变质量峰值拟合分配的每个事件 sWeights 的样本。我想我在角相空间的某些区域遇到了负加权事件的问题,因为 zfit 给出了错误:

我可以通过稍微限制一个拟合的可观察范围来避免这个错误,以避免出现少量数据事件的区域,其中一些数据被负权重(信号被 sWeights 稍微过度减去)。但我想知道在 zfit 中是否有另一种方法?

也许 zfit 中的 UnbinnedNLL 方法明确需要正事件,但负加权数据点可以设置为零或一个小的正值?我应该说,与权重的总和相比,负权重的水平似乎很小,并且发生在只有少量数据事件的角度分布之一的边缘。该区域的低数据率是由于实验接受效应。

在测试文件上运行以重现错误的代码在这里: https ://github.com/donalrinho/zfit_3D_unbinned_angular_fit_test

costheta_X_VV_reco变量的范围限制为 (-0.9, 1.0) 而不是整个范围 (-1.0, 1.0) 时,不会遇到此错误。我相信这是因为它消除了加权数据为负的相空间区域。

0 投票
1 回答
67 浏览

python - zfit中直方图的PDF?

我查看文档如何从直方图中获取 PDF,但找不到任何东西,那么如何从直方图中获取 PDF?,例如在 sum_pdf = zfit.pdf.SumPDF([model1 , model2], fracs=frac) 以进行拟合,或者生成一些玩具。

提前致谢。

PS。我正在寻找类似于 Roofit 的 RooHistPdf 类的东西。

0 投票
0 回答
31 浏览

python - 使用 zfit 从带有剪切的 ROOT 文件导入数据集

我正在尝试对一棵树进行拟合。但是我需要在不适合的可观察值的分支上添加一些切口。网站https://zfit.readthedocs.io/en/latest/getting_started/intro/data.html告诉我,我可以通过指定 root_dir_options 在数据集中包含削减。但是不知道怎么操作。

例如,我想用树“ntuple”打开一个根文件“test.root”。拟合的可观察量是 x。

我可以写

数据 = zfit.Data.from_root("tese.root","ntuple","x")

如果我需要在树 y>1 和 z>1 中设置另外两个分支的切割,我该如何编写代码?

0 投票
1 回答
76 浏览

zfit - 2 暗数据集的 zfit 直线拟合

我想使用 zfit 通过直线 (a*x+b) 拟合二维图,如下图所示。2_dim_plot 示例

probfit 包很容易做到这一点,但它已被 scikit-hep 弃用。https://nbviewer.jupyter.org/github/scikit-hep/probfit/blob/master/tutorial/tutorial.ipynb

如何通过任何函数拟合这样的 2dim 图?我检查了 zfit 示例,但似乎假设有一些分布(直方图),因此 zfit 需要像 1d 数组这样的数据集,我无法达到如何将 2d 数据传递给 zfit。