So in a coffea processor, I've implemented a series of cuts on the object level using a dictionary of jagged truth arrays, where each item is just a cut; think cuts['etacut'] = abs(events.cscRechitClusterEta) > 1.9. And if I want to superimpose these cuts I do something like this: supercut = cuts['cut1'] & cuts['cut2']. What's useful about this is that I can make object and event level cuts, and when I & them together, they just broadcast and it makes it conceptually easy to keep track of what's going on.
I was going through a tutorial and found the PackedSelection() object that advertises that it's a much more resource efficient way of holding on to these truth arrays but its implemented only for flat vectors.
Is there something like this for jagged arrays, that also has broadcasting? Something other than what I've already done?
I got an answer directly from the mouth of one of the devs. It is not implemented but would be relatively easy to implement, so it might be coming soon.