code: def follow_cf(save, Uspan, target_cf, nup, n_tot=5.0, slsp=None):
      
  
      if slsp == None:
          slsp = Spinon(slaves=6, orbitals=3, avg_particles=n_tot,
                         hopping=[0.5]*6, populations = np.asarray([n_tot]*6)/6)
  
      zet, lam, mu, mean_f = [], [], [], []
  
      for co in Uspan:
          print('U=', co, 'del=', target_cf)
          res=root(targetpop, nup[-1],(co,target_cf,slsp, n_tot))
          print(res.x)
          if res.x>nup[-1]: break
  
          nup.append(res.x)
          slsp.param['populations']=population_distri(nup[-1])
          mean_f.append(slsp.mean_field())
          zet.append(slsp.quasiparticle_weight())
          lam.append(slsp.param['lambda'])
          mu.append(orbital_energies(slsp.param, zet[-1]))
  
  #    plt.plot(np.asarray(zet)[:,0], label='d={}, zl'.format(str(target_cf)))
  #    plt.plot(np.asarray(zet)[:,5], label='d={}, zh'.format(str(target_cf)))
  
      case = save.createGroup('cf={}'.format(target_cf))
      varis = st.setgroup(case)
      st.storegroup(varis, Uspan[:len(zet)], zet, lam, mu, nup[1:],target_cf,mean_f)
docs: Calculates the quasiparticle weight in single
         site spin hamiltonian under with N degenerate half-filled orbitals