<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_site_amplification(self, C, sites):
 """ Returns the site amplification term """

        # Gets delta normalised z1
        dz1 = sites.z1pt0 - np.exp(self._get_lnmu_z1(sites.vs30))
        f_s = C["c5"] * dz1
        # Calculates site amplification term
        f_s[dz1 > self.CONSTANTS["dz1ref"]] = (C["c5"] *
                                               self.CONSTANTS["dz1ref"])
        idx = sites.vs30 > self.CONSTANTS["v1"]
        f_s[idx] += (C["c4"] * np.log(self.CONSTANTS["v1"] / C["vref"]))
        idx = np.logical_not(idx)
        f_s[idx] += (C["c4"] * np.log(sites.vs30[idx] / C["vref"]))
        return f_s