def getCS(Tx,Rx,delta,TxAcc,RxAcc):
    """
    Provides contamination analysis between two SFPs connected by a fiber optic cable.

    Tx: the Tx power in mW
    Rx: the Rx power in mW
    delta: The amount of expected power loss due to non-contaminant factors
    TxAcc: The accuracy of the tx SFP
    RxAcc: The accuracy of the rx SFP

    returns: Dictionary with the power lost, contamination score, contamination threshold and if the analysis declares the connection as contaminated.
    """
    IL = round(Tx - Rx,3)
    alpha = Tx * (1 - (10**(-delta/10)))
    PowerThresh = alpha + Tx*((10**(TxAcc/10)) - 1) - Rx*((10**(-RxAcc/10)) - 1)
    CC = 100/(10**(5*(Tx-alpha)) - 1)
    CS = CC*(10**(5*(IL - alpha)) - 1)
    CS = max(0,CS)
    CSThresh = CC*(10**(5*(PowerThresh - alpha)) - 1) 
    return {'Power Lost (mW)' : max(0,IL), 'Contamination Score' : round(CS,2), 'Contamination Threshold' : round(CSThresh,2), 'Contaminated' : CS >= CSThresh}