The elliptic filter works pretty well, so efficient. The following filter will band 50Hz and near frequencies (see the third figure). And the last figure shows the filtered signal.
==== m code started ====
clear
Rp = 5; % peak-to-peak passband ripple, the smaller the smoother
Rs = 60; % stopband attenuation
Fs = 250; % sample rate
Wp = [47, 53]/Fs*2; % passband edge frequency
Ws = [48, 52]/Fs*2; % stopband edge frequency
[N, Wn] = ellipord(Wp, Ws, Rp, Rs); % find the minimum order of the required filter
fprintf('Wn %f, %f\n', Wn(1)*Fs/2, Wn(2)*Fs/2);
[b,a] = ellip(N,Rp,Rs, Wn,'stop'); % design an elliptic filter
freqz(b,a); % draw frequency response of the filter
title(['ellipord Analog bandstop filter order N=',num2str(N)]);
xlabel('Frequency(Hz)');
tseq = 0: 1/Fs :6;
dataIn = sin(tseq*10 *2*pi) + sin(tseq*50 *2*pi) + sin(tseq*52 *2*pi) + sin(tseq*48 *2*pi);
dataOut = filter(b,a,dataIn);
figure(2);
plot(dataIn);
figure(3);
plot(dataOut);