diff --git a/PeakOTron.py b/PeakOTron.py index 16f91e444ce01156a26f3243c52d5b8297a0a33e..c3e0dfa712e8e161fd5f998cc85a621751a483c5 100644 --- a/PeakOTron.py +++ b/PeakOTron.py @@ -267,6 +267,7 @@ class PeakOTron: "n_bootstrap_kde":100, "bw":None, "peak_dist_factor":0.8, + "peak_width_factor":0.65, "prominence": 0.0, "min_n_peak_evts": 100, "kernel_kde":"gaussian", @@ -411,10 +412,8 @@ class PeakOTron: _skew = skew(data_sub_x_0) _mean = np.mean(data_sub_x_0) _std = np.std(data_sub_x_0) - _lbda = 0.5*(((_mean*_skew)/(_std))- 1) - _gain = (_std**2/_mean)*((1 - _lbda)**2) - _mu = _mean/((1-_lbda)*_gain) + _mu = (1/(1-_lbda))*(_mean**2/_std**2) return _mu @@ -1265,6 +1264,7 @@ class PeakOTron: data, bw, peak_dist_factor, + peak_width_factor, pedestal, prominence, bin_method, @@ -1407,9 +1407,9 @@ class PeakOTron: x_peaks_s = x_kde_s[peaks] y_peaks_s = y_kde_s[peaks] y_peaks_err_s = y_kde_err_s[peaks] - + - temp_widths = np.asarray(peak_widths(y_kde_s, peaks)) + temp_widths = np.asarray(peak_widths(y_kde_s, peaks, rel_height=peak_width_factor)) temp_widths[2:] = x_kde_s[temp_widths[2:].astype(int)] x_widths_s = temp_widths[3] - temp_widths[2] @@ -1530,7 +1530,7 @@ class PeakOTron: fit_dA = np.nanmean(2*dlog_y_peak) - + fit_dict_pois = { "A": fit_A, @@ -1563,8 +1563,7 @@ class PeakOTron: minuit_pois.hesse() - - + @@ -1613,9 +1612,6 @@ class PeakOTron: self._max_n_peaks)) self._GD_data["fit_GP_k_hi"] = min(self._GD_data["fit_GP_k_hi"], self._max_n_peaks) - - - @@ -1967,6 +1963,7 @@ class PeakOTron: n_bootstrap_kde, bw, peak_dist_factor, + peak_width_factor, prominence, min_n_peak_evts, kernel_kde, @@ -1991,6 +1988,7 @@ class PeakOTron: data, bw, peak_dist_factor, + peak_width_factor, pedestal, prominence, bin_method,