-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/object collection #22
base: main
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just demonstrating how it could be used,
other id selections have to be implemented here as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.