def Fit_SingleKID_Lo(folder, filename, span):
    ### Lorentizian fitting
    result, MeasState = Read_File(folder, filename)
    freq, linear, phase, mag = Get_Data(result, span)

    A1, A1_err, A2, A2_err, A3, A3_err, A4, A4_err, fr, fr_err, Qr, Qr_err, report = Fitter.Fit_SkewedLorentizian(freq, mag)
    fitcurve = [10*np.log10(A1 + A2*(f-fr) + (A3 + A4*(f-fr))/(1 + 4*Qr*Qr*((f-fr)/fr)**2)) for f in freq]
    minvalue = np.power(10, (np.amin(mag) - np.amax(mag))/10)
    Qi = Qr / minvalue
    Qc = Qr*Qi/(Qi - Qr)
    print Qr, Qi, Qc
    plt.plot(freq, mag, '.', linewidth=2, label="Data")
    plt.plot(freq, fitcurve, 'r-', linewidth=1, label="Fit")
    plt.xlabel('Normalized Frequency')
    plt.ylabel('S21 (dB)')
    plt.legend(loc=3)
    plt.gca().get_xaxis().get_major_formatter().set_useOffset(False)
    plt.show()