fit_bkg
- sherpa.astro.ui.fit_bkg(id: IdType | None = None, *otherids: IdType, **kwargs) None
Fit a model to one or more background PHA data sets.
Fit only the background components of PHA data sets. This can be used to find the best-fit background parameters, which can then be frozen before fitting the data, or to ensure that these parameters are well defined before performing a simultaneous source and background fit.
Changed in version 4.17.0: The outfile parameter can now be sent a Path object or a file handle instead of a string.
- Parameters:
id (int or str, optional) – The data set that provides the background data. If not given then all data sets with an associated background model are fit simultaneously.
*otherids (sequence of int or str, optional) – Other data sets to use in the calculation.
outfile (str, Path, IO object, or None, optional) – If set, then the fit results will be written to a file with this name. The file contains the per-iteration fit results.
clobber (bool, optional) – This flag controls whether an existing file can be overwritten (
True) or if it raises an exception (False, the default setting). This is only used ifoutfileis set to a string or Path object.
- Raises:
sherpa.utils.err.FitErr – If
filenamealready exists andclobberisFalse.
See also
calc_bkg_stat,conf,contour_fit,covar,fit,freeze,get_fit_results,plot_fit,image_fit,set_stat,set_method,set_method_opt,set_bkg_full_model,set_bkg_model,set_full_model,set_iter_method,set_model,show_bkg_source,show_bkg_model,show_fit,thawNotes
This is only for PHA data sets where the background is being modelled, rather than subtracted from the data.
If outfile is sent a file handle then it is not closed by this routine.
Examples
Simultaneously fit all background data sets with models and then store the results in the variable fres:
>>> fit_bkg() >>> fres = get_fit_results()
Fit the background for data sets 1 and 2, then do a simultaneous fit to the source and background data sets:
>>> fit_bkg(1, 2) >>> fit(1, 2)
Store the per-iteration values in a StringIO object and extract the data into the variable txt (this avoids the need to create a file):
>>> from io import StringIO >>> out = StringIO() >>> fit_bkg(outfile=out) >>> txt = out.getvalue()