def getVarTotalKeeton(varZ, varZFinal, EofZ, EofZFinal, EofZZFinal):
    """
	Get total variance from NS loop and final contributions.
	For recursive method, since E[ZLive] = E[ZTot] etc., 
	and assuming that the recurrence relations account for the covariance between
	Z and ZFinal, this is just varZFinal.
	For Keeton's method, have to explicitly account for correlation as expectations for Z and ZLive are essentially calculated independently
	TODO: check if recurrence relations of Z and ZFinal properly account for correlation between two  ANSWER: they do not
	"""
    return varZ + varZFinal + 2.0 * (EofZZFinal - EofZ * EofZFinal)
