code: def get_cov_params(mass1, mass2, spin1z, spin2z, metricParams, fUpper,
                     lambda1=None, lambda2=None, quadparam1=None,
                     quadparam2=None):
      
  
      # Do this by doing masses - > lambdas -> mus
      mus = get_conv_params(mass1, mass2, spin1z, spin2z, metricParams, fUpper,
                            lambda1=lambda1, lambda2=lambda2,
                            quadparam1=quadparam1, quadparam2=quadparam2)
      # and then mus -> xis
      xis = get_covaried_params(mus, metricParams.evecsCV[fUpper])
      return xis
docs: Function to convert between masses and spins and locations in the xi
      parameter space. Xi = Cartesian metric and rotated to principal components.
  
      Parameters
      -----------
      mass1 : float
          Mass of heavier body.
      mass2 : float
          Mass of lighter body.
      spin1z : float
          Spin of body 1.
      spin2z : float
          Spin of body 2.
      metricParams : metricParameters instance
          Structure holding all the options for construction of the metric
          and the eigenvalues, eigenvectors and covariance matrix
          needed to manipulate the space.
      fUpper : float
          The value of fUpper to use when getting the mu coordinates from the
          lambda coordinates. This must be a key in metricParams.evals,
          metricParams.evecs and metricParams.evecsCV
          (ie. we must know how to do the transformation for
          the given value of fUpper)
  
      Returns
      --------
      xis : list of floats or numpy.arrays
          Position of the system(s) in the xi coordinate system