MPV fit

Find the most probable value in a HiSPARC spectrum.

FindMostProbableValueInSpectrum

find the most probable value in a HiSPARC spectrum

class sapphire.analysis.find_mpv.FindMostProbableValueInSpectrum(n, bins)

Find the most probable value (MPV) in a HiSPARC spectrum.

This is a fast algorithm to find the MPV value in a HiSPARC spectrum. The MPV value indicates the position of the minimum-ionizing particles (MIP) peak. The algorithm makes some assumptions about the shape of the spectrum:

  • the spectrum includes the gamma peak (left-most part of spectrum) which has more counts per bin than the MIP peak.

  • ignoring the gamma peak, the MIP peak can be bracketed on the left by the numerically largest bin-to-bin increase in the number of counts.

  • the MIP peak can be approximated by a normal distribution.

Public methods:

find_mpv()

Find the most probable value

find_first_guess_mpv()

Make a first guess of the most probable value

fit_mpv()

Based on a first guess, fit the MIP peak to obtain the MPV

Initialize the class instance

Parameters:

n,bins – histogram counts and bins, as obtained using numpy.histogram.

find_mpv()

Find the most probable value.

First perform a first guess, then use that value to fit the MIP peak.

Return mpv:

best guess of the most probable value.

Return boolean is_fitted:

indicates if the fit was successful.

find_first_guess_mpv()

First guess of most probable value.

The algorithm is fast and simple. The following steps are performed:

  • From the left: find the greatest value and cut off all data to the left of that maximum. We now assume the first datapoint to be the maximum of the gamma peak.

  • From the right: find the location of the greatest decrease from bin to bin. We assume that this value is where the MIP peak dips before joining the gamma peak.

  • Find the maximum to the right of this value. We assume this to be the approximate location of the MIP peak.

Return mpv:

first guess of the most probable value.

fit_mpv(first_guess, width_factor=0.4)

Fit a normal distribution to the MIP peak to obtain the MPV.

A normal distribution is fitted to the spectrum in a restricted domain around the first guess value. The width of the domain can be adjusted by the width_factor parameter.

Parameters:
  • first_guess – approximate location of the most probable value.

  • width_factor – float in the range [0., 1.] to indicate the width of the fit domain. The domain is given by [(1. - width_factor) * first_guess, (1. + width_factor) * first_guess].

Return mpv:

mpv value obtained from the fit.