Conversation
…mization settings to separate modules, parameter manipulation tools to another; make fit_history and detailed metric info in HypoFitResult configurable; catch any exception due to random failure of constrained-slsqp test; cosmetics
…o use fit_recursively (and also apply some cleanups)
…o setter and warn in case of failure (e.g. for externally constructed HypoFitResult)
| Common tools for performing an analysis collected into a single class | ||
| `Analysis` that can be subclassed by specific analyses. | ||
| Common tools for performing an analysis collected into the class | ||
| `BasicAnalysis` that can be subclassed by specific analyses. |
There was a problem hiding this comment.
Wouldn't it be good to rename the BasicAnalysis class to Analysis now that the Analysis class is gone? That way other scripts could still import Analysis.
There was a problem hiding this comment.
I'd tend to agree with the sentiment that "Analysis" is a more appropriate name (the single fit it returns might be considered "basic" compared to a set of fits as in a scan, but the available fitting methods are anything but "basic"). We can define the alias BasicAnalysis = Analysis for backwards compatibility.
| # TODO: We don't have access to the Detectors instance itself here | ||
| # -> no straightforward way to correctly determine the total prior | ||
| # contribution (cf. Detectors.init_params()) | ||
| metric_val_from_priors = np.nan |
There was a problem hiding this comment.
Wouldn't total_metric_val_from_detailed always be nan if is_detectors?
There was a problem hiding this comment.
yes, and in that case no consistency check will and can be done
…tibility, move mcmc_sampling to own module (shouldn't and doesn't need to be part of Analysis class)
HypoFitResultconfigurable (less memory and disk space usage by default) and verify consistency between detailed metric info and the external metric value (where possible; not for a fit that usedDetectors-> TODO added)Analysisclass (is a replacement of nofit_hypo desirable?)Fixes #915
Fixes #913 (create a replacement issue for the randomness)
Closes #910
Fixes #827
Should at least partially address #644
In addition, #661 could be closed as not planned if this PR goes through.