diff --git a/PeakOTron.py b/PeakOTron.py index 04cc17e1e29d79775213c3a78d586388134cd62e..9d28e53ec9027b309ce3392baff9ada0ef6b1ae6 100644 --- a/PeakOTron.py +++ b/PeakOTron.py @@ -1690,9 +1690,9 @@ class PeakOTron: "c": c_var_temp, } - + minuit_lin_var = Minuit(fit_lin_var, **fit_dict_lin_var) - + minuit_lin_var.limits["m"] = (self._eps, None) @@ -1725,7 +1725,7 @@ class PeakOTron: minuit_lin_G = Minuit(fit_lin_G, **fit_dict_lin_G) - + minuit_lin_G.limits["m"] = (self._eps, None) minuit_lin_G.strategy=2 minuit_lin_G.migrad(ncall= self._n_call_minuit, @@ -1734,48 +1734,25 @@ class PeakOTron: - - - if((minuit_lin_var.values["m"]>self._eps) and minuit_lin_var.valid): - - self._GD_data["fit_var0"] = minuit_lin_var.values["c"] - self._GD_data["fit_var0_err"] = minuit_lin_var.errors["c"] - self._GD_data["fit_var1"] = minuit_lin_var.values["m"] - self._GD_data["fit_var1_err"] = minuit_lin_var.errors["m"] - - self._GD_data["fit_sigma0"] = np.sqrt(self._GD_data["fit_var0"]) - self._GD_data["fit_sigma0_err"] = (0.5/self._GD_data["fit_sigma0"])*self._GD_data["fit_var0_err"] - self._GD_data["fit_sigma1"] = np.sqrt(self._GD_data["fit_var1"]) - self._GD_data["fit_sigma1_err"] = (0.5/self._GD_data["fit_sigma1"])*self._GD_data["fit_var1_err"] - else: - if(self._verbose): - print("Linear fit to peak variance returned invalid. Using basic estimated parameters instead...") - - self._GD_data["fit_sigma0"] = self._peak_data["x_width_s"][0]*self._FWHM2Sigma - self._GD_data["fit_sigma0_err"] = 0.1*self._GD_data["fit_sigma0"] - self._GD_data["fit_sigma1"] = abs(np.mean(np.diff(self._peak_data["x_width_s"]*self._FWHM2Sigma)/np.diff(self._peak_data["n_peak_s"]))) - self._GD_data["fit_sigma1_err"] = 0.1*self._GD_data["fit_sigma1"] - self._GD_data["fit_var0"] = self._GD_data["fit_sigma0"]**2 - self._GD_data["fit_var0_err"] = 2*self._GD_data["fit_sigma0"]*self._GD_data["fit_sigma0_err"] - self._GD_data["fit_var1"] = self._GD_data["fit_sigma1"]**2 - self._GD_data["fit_var1_err"] = 2*self._GD_data["fit_sigma1"]*self._GD_data["fit_sigma1_err"] - - - - if((minuit_lin_G.values["m"]>self._eps) and minuit_lin_G.valid): - self._GD_data["fit_G"] = minuit_lin_G.values["m"] - self._GD_data["fit_G_err"] = minuit_lin_G.errors["m"] - self._GD_data["fit_x_0"] = minuit_lin_G.values["c"] - self._GD_data["fit_x_0_err"] = minuit_lin_G.errors["c"] - else: - if(self._verbose): - print("Linear fit to peak mean returned invalid. Using basic estimated parameters instead...") - self._GD_data["fit_G"] = self._GD_data["fit_G"] - self._GD_data["fit_G_err"] = self._GD_data["fit_G_err"] - self._GD_data["fit_x_0"] = self._GD_data["fit_x_0"] - self._GD_data["fit_x_0_err"] = self._GD_data["fit_x_0_err"] + self._GD_data["fit_var0"] = minuit_lin_var.values["c"] + self._GD_data["fit_var0_err"] = minuit_lin_var.errors["c"] + self._GD_data["fit_var1"] = minuit_lin_var.values["m"] + self._GD_data["fit_var1_err"] = minuit_lin_var.errors["m"] + + + self._GD_data["fit_sigma0"] = np.sqrt(self._GD_data["fit_var0"]) + self._GD_data["fit_sigma0_err"] = (0.5/self._GD_data["fit_sigma0"])*self._GD_data["fit_var0_err"] + self._GD_data["fit_sigma1"] = np.sqrt(self._GD_data["fit_var1"]) + self._GD_data["fit_sigma1_err"] = (0.5/self._GD_data["fit_sigma1"])*self._GD_data["fit_var1_err"] + + + self._GD_data["fit_G"] = minuit_lin_G.values["m"] + self._GD_data["fit_G_err"] = minuit_lin_G.errors["m"] + self._GD_data["fit_x_0"] = minuit_lin_G.values["c"] + self._GD_data["fit_x_0_err"] = minuit_lin_G.errors["c"] +