def METHOD_NAME(xs, ys):
    x_total_size = xs.getLastBX() - xs.getFirstBX() + 1
    y_total_size = ys.getLastBX() - ys.getLastBX() + 1
    if x_total_size != y_total_size:
        print("> BX count mismatch:", x_total_size, "vs", y_total_size)
        print(">", xs.getFirstBX(), ",", ys.getFirstBX())
        print(">", xs.getLastBX(), ",", ys.getLastBX())
        return
    for bx in range(xs.getFirstBX(), xs.getLastBX() + 1):
        x_size = xs.size(bx)
        y_size = ys.size(bx)
        if x_size != y_size:
            print(">> BX size mismatch:", x_size, "vs", y_size, "@", bx)
        for i in range(min(x_size, y_size)):
            x = xs.at(bx, i)
            y = ys.at(bx, i)
            if x.hwPt() != y.hwPt():
                print(">>> Pt mismatch:", x.hwPt(), "vs", y.hwPt())
            if x.hwEta() != y.hwEta():
                print(">>> Eta mismatch:", x.hwEta(), "vs", y.hwEta())
            if x.hwPhi() != y.hwPhi():
                print(">>> Phi mismatch:", x.hwPhi(), "vs", y.hwPhi())
            #if ((x.hwQual()>>0)&0x1) != ((y.hwQual()>>0)&0x1):
            #    print ">>> Qual bit 0 mismatch:", ((x.hwQual()>>0)&0x1), "vs", ((y.hwQual()>>0)&0x1)
            if ((x.hwQual()>>1)&0x1) != ((y.hwQual()>>1)&0x1):
                print(">>> Qual bit 1 mismatch:", ((x.hwQual()>>1)&0x1), "vs", ((y.hwQual()>>1)&0x1))
            if x.hwIso() != y.hwIso():
                print(">>> Iso mismatch:", x.hwIso(), "vs", y.hwIso())
            yield x, y
        # for j in range(min(x_size, 0), min(x_size, y_size)):
        #     x = xs.at(bx, j)
        #     y = ys.at(bx, j)
        #     print ">>>> ({0} @ {1}, {2} : {3}, {4} - {5}) vs ({6} @ {7}, {8} : {9}, {10} - {11})".format(
        #             x.hwPt(), x.hwEta(), x.hwPhi(), ((x.hwQual()>>0)&0x1), ((x.hwQual()>>1)&0x1), x.hwIso(),
        #             y.hwPt(), y.hwEta(), y.hwPhi(), ((y.hwQual()>>0)&0x1), ((y.hwQual()>>1)&0x1), y.hwIso())
        print("<< Compared", x_size, "quantities")