Skip to content

Commit c207359

Browse files
committed
Pass ndof as third argument of _minimize
1 parent 184e638 commit c207359

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/dmu/stats/fitter.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ def _print_pars(self, cfg : dict):
320320
log.info(header)
321321
log.info(parval)
322322
#------------------------------
323-
def _minimize(self, nll, cfg : dict) -> tuple[zres, tuple]:
323+
def _minimize(self, nll, cfg : dict, ndof : int) -> tuple[zres, tuple]:
324324
mnm = zfit.minimize.Minuit()
325325

326326
with mes.filter_stderr(banned_substrings=self._l_hidden_tf_lines):
@@ -361,7 +361,7 @@ def _fit_retries(self, cfg : dict) -> tuple[dict, zres]:
361361
last_res = None
362362
for i_try in range(ntries):
363363
try:
364-
res, gof = self._minimize(nll, cfg)
364+
res, gof = self._minimize(nll, cfg, ndof=self._ndof)
365365
except (FailMinimizeNaN, FitterGofError, RuntimeError):
366366
self._reshuffle_pdf_pars()
367367
log.warning(f'Fit {i_try:03}/{ntries:03} failed due to exception')
@@ -427,13 +427,13 @@ def _fit_in_steps(self, cfg : dict) -> zres:
427427
cfg_step['nentries'] = nsample
428428

429429
nll = self._get_full_nll(cfg = cfg_step)
430-
res, _ = self._minimize(nll, cfg_step)
430+
res, _ = self._minimize(nll, cfg_step, ndof=self._ndof)
431431
res.hesse(method='minuit_hesse')
432432
self._update_par_bounds(res, nsigma=nsigma, yields=l_yield)
433433

434434
log.info('Fitting full sample')
435435
nll = self._get_full_nll(cfg = cfg)
436-
res, _ = self._minimize(nll, cfg)
436+
res, _ = self._minimize(nll, cfg, ndof=self._ndof)
437437

438438
if res is None:
439439
nsteps = len(l_nsample)
@@ -537,7 +537,7 @@ def fit(self, cfg : dict|None = None) -> zres:
537537
log.info(f'{"chi2":<10}{"pval":<10}{"stat":<10}')
538538
if 'strategy' not in cfg:
539539
nll = self._get_full_nll(cfg = cfg)
540-
res, _ = self._minimize(nll, cfg)
540+
res, _ = self._minimize(nll, cfg, ndof=self._ndof)
541541
elif 'retry' in cfg['strategy']:
542542
d_pval_res, last_res = self._fit_retries(cfg)
543543
res = self._pick_best_fit(d_pval_res, last_res)

0 commit comments

Comments
 (0)