def getPopCM2x2fast(self, trial_data):
    combs = list(itertools.combinations(range(0, self.numObjs), 2))
    CMs = {}
    for c in combs:
        CMs[c] = np.zeros((2, 2))
    for t in trial_data:
        target = t[0]
        pick = t[1]
        cm = tuple(sorted(t[2]))
        if (target == cm[0]):
            if (target == pick):
                CMs[cm][(0, 0)] += 1
            else:
                CMs[cm][(1, 0)] += 1
        elif (target == pick):
            CMs[cm][(1, 1)] += 1
        else:
            CMs[cm][(0, 1)] += 1
    return ([CMs[c] for c in combs], combs)
def getPopCM2x2fast(self, trial_data):
    combs = list(itertools.combinations(range(0, self.numObjs), 2))
    CMs = {}
    for c in combs:
        CMs[c] = np.zeros((2, 2))
    for t in trial_data:
        target = t[0]
        pick = t[1]
        cm = tuple(sorted(t[2]))
        if (target == cm[0]):
            if (target == pick):
                CMs[cm][(0, 0)] += 1
            else:
                CMs[cm][(1, 0)] += 1
        elif (target == pick):
            CMs[cm][(1, 1)] += 1
        else:
            CMs[cm][(0, 1)] += 1
    return ([CMs[c] for c in combs], combs)