Feature/object collection#22
Conversation
| self.mask = ak.ones_like(self.objects["pt"], dtype=bool) | ||
| for variable, cut in cuts.items(): | ||
| self.CreateMask(variable, cut) | ||
| return self.objects[self.mask] |
There was a problem hiding this comment.
not implemented yet but CollectObject can also take the campaign as an input and we can do
if campaign == "RunIISummer20UL18":
mask_hem = eta < blah & phi > blah
self.mask = self.mask & mask_hem
So we can keep all object selection issues here
| elif sign == "!=": | ||
| self.mask = self.mask & (loaded != value) | ||
| else: | ||
| pass |
There was a problem hiding this comment.
this part i am not so proud of but didn't find a way to better configure this in a generic way. any ideas?
but because dask already optimizes the pipeline, it won't disturb the computing performance too much
| looseElectrons = coll.Electron({ | ||
| "pt" : (">", 53), | ||
| "eta" : ("<", 2.4), | ||
| }) |
There was a problem hiding this comment.
Just demonstrating how it could be used,
other id selections have to be implemented here as well
There was a problem hiding this comment.
if you want more userfirendly approach, we can add
"id" : "tight"
and then in the back in CollectObject, we could do something like
if id == "tight":
id_cut = 2
elif id == "loose":
id_cut = 1
...
mask = electron.id > id_cut
but maybe not worth it? not sure
No description provided.