def METHOD_NAME(self, hash_output=False):
    """Digest info in the statepoint and return as a string."""
    # Read the statepoint file.
    sp = openmc.StatePoint(self._sp_name)
    # Extract the cell tally
    tallies = [sp.get_tally(name='cell tally')]
    # Slice the tallies by cell filter bins
    cell_filter_prod = itertools.product(tallies, self.cell_filters)
    tallies = map(lambda tf: tf[0].get_slice(filters=[type(tf[1])],
                                             filter_bins=[(tf[1].bins[0],)]),
                  cell_filter_prod)
    # Slice the tallies by energy filter bins
    energy_filter_prod = itertools.product(tallies, self.energy_filters)
    tallies = map(lambda tf: tf[0].get_slice(filters=[type(tf[1])],
                                             filter_bins=[(tf[1].bins[0],)]),
                  energy_filter_prod)
    # Slice the tallies by nuclide
    nuclide_prod = itertools.product(tallies, self.nuclides)
    tallies = map(lambda tn: tn[0].get_slice(nuclides=[tn[1]]), nuclide_prod)
    # Slice the tallies by score
    score_prod = itertools.product(tallies, self.scores)
    tallies = map(lambda ts: ts[0].get_slice(scores=[ts[1]]), score_prod)
    tallies = list(tallies)
    # Initialize an output string
    outstr = ''
    # Append sliced Tally Pandas DataFrames to output string
    for tally in tallies:
        df = tally.get_pandas_dataframe()
        outstr += df.to_string()
    # Merge all tallies together
    while len(tallies) != 1:
        halfway = int(len(tallies) / 2)
        zip_split = zip(tallies[:halfway], tallies[halfway:])
        tallies = list(map(lambda xy: xy[0].merge(xy[1]), zip_split))
    # Append merged Tally Pandas DataFrame to output string
    df = tallies[0].get_pandas_dataframe()
    outstr += df.to_string() + '\n'
    # Extract the distribcell tally
    distribcell_tally = sp.get_tally(name='distribcell tally')
    # Sum up a few subdomains from the distribcell tally
    sum1 = distribcell_tally.summation(filter_type=openmc.DistribcellFilter,
                                       filter_bins=[0, 100, 2000, 30000])
    # Sum up a few subdomains from the distribcell tally
    sum2 = distribcell_tally.summation(filter_type=openmc.DistribcellFilter,
                                       filter_bins=[500, 5000, 50000])
    # Merge the distribcell tally slices
    merge_tally = sum1.merge(sum2)
    # Append merged Tally Pandas DataFrame to output string
    df = merge_tally.get_pandas_dataframe()
    outstr += df.to_string() + '\n'
    # Extract the mesh tally
    mesh_tally = sp.get_tally(name='mesh tally')
    # Sum up a few subdomains from the mesh tally
    sum1 = mesh_tally.summation(filter_type=openmc.MeshFilter,
                                filter_bins=[(1, 1), (1, 2)])
    # Sum up a few subdomains from the mesh tally
    sum2 = mesh_tally.summation(filter_type=openmc.MeshFilter,
                                filter_bins=[(2, 1), (2, 2)])
    # Merge the mesh tally slices
    merge_tally = sum1.merge(sum2)
    # Append merged Tally Pandas DataFrame to output string
    df = merge_tally.get_pandas_dataframe()
    outstr += df.to_string() + '\n'
    # Hash the results if necessary
    if hash_output:
        sha512 = hashlib.sha512()
        sha512.update(outstr.encode('utf-8'))
        outstr = sha512.hexdigest()
    return outstr