Peak detection on a noisy signal:
smoothing and determination of the first and second derivatives, using the Savitzky-Golay algorithm;
detection of peaks using the change of sign of the second derivative (it is equal to zero at the inflexion points on the sides of the peaks);
filtering of detected peaks: they must have a minimal chord width and a minimal height above the chord.The signal contains three peaks.
Caption in French:

u.a.: arbitrary unit (unité arbitraire);
courbe lissée: smoothed curve;
données brutes : raw data.
See also https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.savgol_filter.html
Own work
Cdang