Remove Noise from Physiological Signals
This is a tougher problem than it appears at the first glance. This may be confusing at first, but read carefully, and I hope that it will give a good idea what to do. Here is what is my experience and how I resolved a similar problem:


apply a very good band-pass filter to get the frequency range of interest.
apply a very tight DFT to get a good resolution in frequency domain. You may wish to pad the original signal with zeros if it is not long enough.
determine the bandwidth of the notch filter that you want to use. Be very careful with notch filters, since they have some inconvenient characteristics. 
make the running window sum of the DFT results using the width of your notch filter.
set the threshold to decide what is a peak in the results.
the running windows sum should give you values where the peaks are. 
apply the notch filter designed for the frequency in mind. If the frequencies are changing, and the filtering has to be done in a real time, adaptive filter has to be applied, but that is yet another question.