code: def create_from_yamlfile(cls, yamlfile):
          
          data = load_yaml(yamlfile)
          nebins = len(data)
          emin = np.array([data[i]['emin'] for i in range(nebins)])
          emax = np.array([data[i]['emax'] for i in range(nebins)])
          ref_flux = np.array([data[i]['flux'][1] for i in range(nebins)])
          ref_eflux = np.array([data[i]['eflux'][1] for i in range(nebins)])
          conv = np.array([data[i]['eflux2npred'] for i in range(nebins)])
          ref_npred = conv*ref_eflux
          ones = np.ones(ref_flux.shape)
          ref_spec = ReferenceSpec(emin, emax, ones, ref_flux, ref_eflux, ref_npred)
          norm_data = np.array([data[i]['eflux'] for i in range(nebins)])
          ll_data =  np.array([data[i]['logLike'] for i in range(nebins)])
          max_ll = ll_data.max(1)
          nll_data = (max_ll - ll_data.T).T
          return cls(norm_data, nll_data, ref_spec, 'eflux')
docs: Create a Castro data object from a yaml file contains
          the likelihood data.