def get_confidence_outcome(tps, fps, fns, negative_ids):
    """
    Determines whether prediction with a given confidence is true or false based on the TPs and FPs lists
    Parameters
    ----------
    tps, fps : list of tuple
       A list of predicted TP(FP)s in format (slice_id, Adhesion, confidence)
    fns : list of tuple
       A list of predicted FNs in format (slice_id, confidence)
    negative_ids : list of str
       A list of negative ids

    Returns
    -------
    outcomes : list
       A list of tuple of confidence and whether its prediction is true
    outcomes_negative : list
       A list of tuple of confidence and whether its prediction is true for negative slices only
    """
    outcomes = []
    outcomes_negative = []
    for _, _, confidence in tps:
        outcomes.append((1, confidence))

    for slice_id, _, confidence in fps:
        outcomes.append((0, confidence))

        if slice_id in negative_ids:
            outcomes_negative.append((0, confidence))

    for _ in fns:
        outcomes.append((1, 0))

    return outcomes, outcomes_negative