@@ -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