@classmethod
def from_map_dataset(cls, dataset, acceptance, acceptance_off, counts_off=
    None, name=None):
    """Create spectrum dataseton off from another dataset.

        Parameters
        ----------
        dataset : `MapDataset`
            Spectrum dataset defining counts, edisp, aeff, livetime etc.
        acceptance : `Map`
            Relative background efficiency in the on region.
        acceptance_off : `Map`
            Relative background efficiency in the off region.
        counts_off : `Map`
            Off counts map . If the dataset provides a background model,
            and no off counts are defined. The off counts are deferred from
            counts_off / alpha.
        name : str
            Name of the returned dataset.

        Returns
        -------
        dataset : `MapDatasetOnOff`
            Map dataset on off.

        """
    kwargs = {'name': name}
    if counts_off is None and dataset.background_model is not None:
        alpha = acceptance / acceptance_off
        kwargs['counts_off'] = dataset.background_model.evaluate() / alpha
    return cls(counts=dataset.counts, exposure=dataset.exposure, counts_off
        =counts_off, edisp=dataset.edisp, gti=dataset.gti, mask_safe=
        dataset.mask_safe, mask_fit=dataset.mask_fit, acceptance=acceptance,
        acceptance_off=acceptance_off, name=dataset.name, evaluation_mode=
        dataset.evaluation_mode)
