@@ -79,7 +79,7 @@ def __init__(self, datap, case, typean, period):
7979 self .lpt_finbinmax = datap ["analysis" ][self .typean ]["sel_an_binmax" ]
8080 self .bin_matching = datap ["analysis" ][self .typean ]["binning_matching" ]
8181 self .p_nptbins = len (self .lpt_finbinmin )
82- self .lpt_probcutfin = datap ["mlapplication" ]["probcutoptimal" ]
82+ self .lpt_probcutfin_tmp = datap ["mlapplication" ]["probcutoptimal" ]
8383 self .triggerbit = datap ["analysis" ][self .typean ].get ("triggerbit" , "" )
8484
8585 dp = datap ["analysis" ][self .typean ]
@@ -131,7 +131,7 @@ def __init__(self, datap, case, typean, period):
131131 self .fit_func_bkg = {}
132132 self .fit_range = {}
133133
134- self .path_fig = Path (f"fig/ { self . case } / { self .typean } " )
134+ self .path_fig = Path (f' { os . path . expandvars ( self .d_resultsallpdata ) } /fig' )
135135 for folder in ["qa" , "fit" , "roofit" , "sideband" , "signalextr" , "fd" , "uf" ]:
136136 (self .path_fig / folder ).mkdir (parents = True , exist_ok = True )
137137
@@ -160,7 +160,7 @@ def __init__(self, datap, case, typean, period):
160160 # region helpers
161161 def _save_canvas (self , canvas , filename ):
162162 # folder = self.d_resultsallpmc if mcordata == 'mc' else self.d_resultsallpdata
163- canvas .SaveAs (f"fig/ { self .case } /{ self . typean } / { filename } " )
163+ canvas .SaveAs (f' { self .path_fig } /{ filename } ' )
164164
165165 def _save_hist (self , hist , filename , option = "" ):
166166 if not hist :
@@ -290,25 +290,27 @@ def fit(self):
290290 signifhistos = TH1F ("hsignifs0" , "" , len (self .lpt_finbinmin ), array ("d" , self .bins_candpt ))
291291 soverbhistos = TH1F ("hSoverB0" , "" , len (self .lpt_finbinmin ), array ("d" , self .bins_candpt ))
292292
293+ lpt_probcutfin = [None ] * self .nbins
293294 with TFile (rfilename ) as rfile :
294295 for ipt in range (len (self .lpt_finbinmin )):
296+ lpt_probcutfin [ipt ] = self .lpt_probcutfin_tmp [self .bin_matching [ipt ]]
295297 self .logger .debug ("fitting %s - %i" , level , ipt )
296298 roows = self .roows .get (ipt )
297299 if self .mltype == "MultiClassification" :
298300 suffix = "%s%d_%d_%.2f%.2f%.2f" % (
299301 self .v_var_binning ,
300302 self .lpt_finbinmin [ipt ],
301303 self .lpt_finbinmax [ipt ],
302- self . lpt_probcutfin [ipt ][0 ],
303- self . lpt_probcutfin [ipt ][1 ],
304- self . lpt_probcutfin [ipt ][2 ],
304+ lpt_probcutfin [ipt ][0 ],
305+ lpt_probcutfin [ipt ][1 ],
306+ lpt_probcutfin [ipt ][2 ],
305307 )
306308 else :
307309 suffix = "%s%d_%d_%.2f" % (
308310 self .v_var_binning ,
309311 self .lpt_finbinmin [ipt ],
310312 self .lpt_finbinmax [ipt ],
311- self . lpt_probcutfin [ipt ],
313+ lpt_probcutfin [ipt ],
312314 )
313315 h_invmass = rfile .Get ("hmass" + suffix )
314316 # Rebin
0 commit comments