code: def get_pn(self, rup, sites, dists, sof):
          
          # List must be in following order
          p_n = []
          # Rjb
          # Note that Rjb must be clipped at 0.1 km
          rjb = rhypo_to_rjb(dists.rhypo, rup.mag)
          rjb[rjb < 0.1] = 0.1
          p_n.append(self._get_normalised_term(np.log10(rjb),
                                               self.CONSTANTS["logMaxR"],
                                               self.CONSTANTS["logMinR"]))
          # Magnitude
          p_n.append(self._get_normalised_term(rup.mag,
                                               self.CONSTANTS["maxMw"],
                                               self.CONSTANTS["minMw"]))
          # Vs30
          p_n.append(self._get_normalised_term(np.log10(sites.vs30),
                                               self.CONSTANTS["logMaxVs30"],
                                               self.CONSTANTS["logMinVs30"]))
          # Depth
          p_n.append(self._get_normalised_term(rup.hypo_depth,
                                               self.CONSTANTS["maxD"],
                                               self.CONSTANTS["minD"]))
          # Style of Faulting
          p_n.append(self._get_normalised_term(sof,
                                               self.CONSTANTS["maxFM"],
                                               self.CONSTANTS["minFM"]))
          return p_n
docs: Normalise the input parameters within their upper and lower
          defined range