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
renamed functions to access PAT isolation variables to avoid conflict wi... #7761
renamed functions to access PAT isolation variables to avoid conflict wi... #7761
Conversation
… with reco::Photon functions
A new Pull Request was created by @gzevi for CMSSW_7_4_X. renamed functions to access PAT isolation variables to avoid conflict wi... It involves the following packages: DataFormats/PatCandidates @cmsbuild, @vadler, @nclopezo, @monttj can you please review it and eventually sign? Thanks. |
I am sorry for late response. |
I believe we are too late to modify Reco objects in 74X. |
@monttj I think it would be better in this case to modify the pat::Object or pat::Lepton class such that these names are changed globally and then simply inform analysis users this higher level change is taking place. I agree with @gzevi that it is too late to make a change to the core reco objects. @slava77 any comment here? |
@gzevi @lgray Besides, for photon, using the new ID/Isolation framework developed by Lindsey, it would be foreseen that the isolation can be calculated on the fly in miniAOD or updated in PAT so the isolation in reco would not be optimal at the end? |
@monttj @lgray |
This is more a call for @monttj at this point, but I am also in favor of -L
|
I thought we already have the same setup for isolation in RECO and PAT area following the POG recommendation for Run 1 using following this configuration. The idea was to change the parameters in the PAT configuration when the recommendation from POG is updated and if it is too late to implement it in RECO. So in this way, we always keep the PAT value the latest and recommended one for end users. It looks it is not the case for photons. RECO and PAT values are filled in different way, I guess. I think the decision as to which framework is used for Run 2 needs to come from POG. I am fully agree that having the same function name is less confusing. Regards, |
Just to be clear, before I implement it, the proposal of @monttj and @lgray would be to change the following functions in pat::Photon float chargedHadronIso() const { return userIsolation(pat::PfChargedHadronIso); } to float chargedHadronIso() const { return reco::Photon::chargedHadronIso(); } Is this correct? Thank you |
There is puChargedHadronIso() as well. I was thinking that it returns the reco value in a configurable way like it is done in RECO. But for photons, it seems that there are several ways to get the isolation value. If it is not the case (if RECO objects are the POG recommendation), Taejeong |
puChargedHadronIso() is not an issue, since it does not have the same name as the RECO quantity, so it does not hinder analysis. It's just an extra (configurable) variable in the ntuple. There are 2 separate issues here:
Issue (1) just means we carry some not-useful information around. It's not the end of the world. If you would like to update all PAT isolation variables to be correct, in a configurable way, that would be great, but not urgent. Issue (2) is urgent. The not-useful information is preventing users to access the useful one. This is why my original proposal was to rename it. It is an issue of code maintenance: if there is no one responsible for these variables, shouldn't we at least make sure they do not interfere with analysis? If there is someone responsible for keeping them up to date, then they should proceed on the route you described: study the two isolation codes (Reco and Pat) and try to obtain the identical Reco value from the Pat code. What do you think? |
Hi Gio, Taejeong, Considering 1) I personally think it would be good to start off the run
Basically we should take the quickest route to getting something usable to -L On Sat, Mar 21, 2015 at 6:18 AM, gzevi notifications@github.com wrote:
|
Closing this as it does not merge anymore and alternatives have been provided. |
The functions to access the pat::Photon userIsolation were identically named to the reco::Photon ones.
This was confusing, requiring the users to type reco::Photon::FunctionName() whenever they wanted to access the reco::Photon isolation values.
Now the accessors have been renamed with "pat" in front, to avoid the conflict.