def prod_in_offsets(
    backend, offsets, content, mask_rows=None, mask_content=None, dtype=None
):
    """Summary

    >>> j = awkward.fromiter([[1.0, 2.0],[3.0, 4.0, 5.0], [6.0, 7.0], [8.0]])
    >>> mr = numpy.array([True, True, True, False]) # Disable the last event ([8.0])
    >>> mc = numpy.array([True, True, True, True, False, True, True, True]) # Disable the 5th value (5.0)
    >>> r = prod_in_offsets(backend_cpu, j.offsets, j.content, mask_rows=mr, mask_content=mc)
    >>> assert(numpy.all(r == numpy.array([2.0, 12.0, 42.0, 1.0])))

    Args:
        backend (library): either hepaccelerate.backend_cpu or hepaccelerate.backend_cuda
        offsets (array of uint64): one dimensional offsets of the jagged array (depth 1)
        content (array): data array to compute the product over
        mask_rows (array of bool, optional): Mask the values in the offset array that are set to False
        mask_content (array of bool, optional): Mask the values in the data array that are set to False
        dtype (data type, optional): Output data type
    
    Returns:
        array: Products within the offsets
    """
    return backend.prod_in_offsets(
        offsets, content, mask_rows, mask_content, dtype=dtype
    )