def METHOD_NAME(self, datasets):
    """Estimate npred excess for the source.
    Parameters
    ----------
    datasets : Datasets
        Datasets
    Returns
    -------
    result : dict
        Dict with an array with one entry per dataset with the sum of the
        masked npred excess.
    """
    npred_excess = []
    for dataset in datasets:
        name = datasets.models[self.source].name
        npred_signal = dataset.npred_signal(model_names=[name])
        npred = Map.from_geom(dataset.counts.geom)
        npred.stack(npred_signal)
        npred_excess.append(npred.data[dataset.mask].sum())
    return {"npred_excess": np.array(npred_excess), "datasets": datasets.names}