Skip to content
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

LowPtElectrons: NanoAOD integration (back port of #33817) #33992

Merged

Conversation

bainbrid
Copy link
Contributor

@bainbrid bainbrid commented Jun 6, 2021

PR description:

This PR adds low-pT electrons to the NanoAOD content.

Details on the updates are found in the PR description of #33817.

Nearly all developments are aimed at the nano v9 production.

Concerning future re-miniAOD campaigns, the LowPtElectronModifier module is used to calculate and embed the following information in pat::Electrons when the modifier logic (~bParking & run2_miniAOD_devel) is satisfied:

  • dxy w.r.t. the PV and the BS, and dz w.r.t. the PV
  • various userInts and userFloats concerning photon conversion information.

PR validation:

Local tests, and workflows 136.8523 (JetHT, 2018C, UL re-nano v9) and 136.88811 (JetHT, 2018D, UL re-mini).

if this PR is a backport please specify the original PR and why you need to backport that PR:

This is a back port of the PR #33817.

This PR is based on top of developments from the "re-mini" back port PR #33589. The resolution of conflicts in several files was required. A rebase is required as soon as #33589 is integrated within a 10_6_X release.

Some minor updates listed here #33992 (comment) have been forwarded ported to master in the PR #34005.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 6, 2021

A new Pull Request was created by @bainbrid for CMSSW_10_6_X.

It involves the following packages:

DataFormats/EgammaCandidates
PhysicsTools/NanoAOD
PhysicsTools/PatAlgos
RecoEgamma/EgammaElectronProducers
RecoEgamma/EgammaTools

@perrotta, @gouskos, @cmsbuild, @fgolf, @slava77, @jpata, @mariadalfonso can you please review it and eventually sign? Thanks.
@rappoccio, @gouskos, @jainshilpi, @hatakeyamak, @emilbols, @mbluj, @varuns23, @seemasharmafnal, @mmarionncern, @ahinzmann, @lgray, @jdolen, @ferencek, @Sam-Harper, @rovere, @jdamgov, @nhanvtran, @gkasieczka, @schoef, @andrzejnovak, @clelange, @swertz, @swozniewski, @JyothsnaKomaragiri, @sobhatta, @lecriste, @afiqaize, @gpetruc, @mariadalfonso, @ram1123 this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@bainbrid
Copy link
Contributor Author

bainbrid commented Jun 6, 2021

auto iter = std::find(names_.begin(), names_.end(), name);
if (iter != names_.end()) {
int index = std::distance(names_.begin(), iter);
std::vector<float> inputs;
if (version_.empty()) { // Original XML model
lowptgsfeleid::Features features;
features.set(ele, rho);
features.set(*ele, rho);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slava77 I am required to provide support for an old model (Autumn18) in 10_6_X that no longer exists in master. The method above is defined here, which originally expected a const reco::GsfElectronRef&. Similar methods for newer models (see below this comment) have since been updated to expect an arg const reco::GsfElectron& and I have done the same for the above method (while preserving the original interface). Anther change is a switch from Ref to Ptr (which is then dereferenced). I believe the changes in this file and also here to be the minimal required while being consistent with other methods (e.g. here) and those in master.

# Modifiers
################################################################################

_modifiers = ( run2_miniAOD_80XLegacy |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slava77 it's my understanding (after speaking with @mariadalfonso) that these modifiers are the only ones required to ensure the low pT ele are added to nanoAOD for run2_nanoAOD_106Xv2 only.

from Configuration.Eras.Modifier_bParking_cff import bParking
_slimmedLowPtElectrons = slimmedLowPtElectrons.clone()
_slimmedLowPtElectrons.modifierConfig.modifications += [lowPtElectronModifier]
(~bParking & run2_miniAOD_devel).toReplaceWith(slimmedLowPtElectrons,_slimmedLowPtElectrons)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slava77 the dxy and dz vars, plus the conversions vars, are only intended to be added for future re-miniAOD campaigns.

@slava77
Copy link
Contributor

slava77 commented Jun 7, 2021

This branch has conflicts that must be resolved

@bainbrid
Copy link
Contributor Author

bainbrid commented Jun 7, 2021

This branch has conflicts that must be resolved

Ok, I'm not sure how I can resolve these conflicts... They are w.r.t. what exactly? (Is there more info?)
Perhaps I need to wait for the next IB (with #33589 integrated) and rebase...?

@mariadalfonso
Copy link
Contributor

urgent

(mark what is needed for the nanov9)

@cmsbuild cmsbuild added the urgent label Jun 7, 2021
@bainbrid
Copy link
Contributor Author

bainbrid commented Jun 7, 2021

@mariadalfonso do we know when there will be a new IB for 10_6_X? this will help, as #33589 will be integrated. then I can rebase and hopefully solve the above conflicts.

@qliphy
Copy link
Contributor

qliphy commented Jun 7, 2021

@bainbrid You can watch here https://cmssdt.cern.ch/SDT/html/cmssdt-ib/#/ib/CMSSW_10_6_X
The next IB should be in a few hrs.

@perrotta
Copy link
Contributor

perrotta commented Jun 7, 2021

@mariadalfonso do we know when there will be a new IB for 10_6_X? this will help, as #33589 will be integrated. then I can rebase and hopefully solve the above conflicts.

@bainbrid please keep an eye on http://cms-sw.github.io/showIB.html
Next IB should be CMSSW_10_6_X_2021-06-07-1100, and it will include #33589

@bainbrid
Copy link
Contributor Author

bainbrid commented Jun 7, 2021

This branch has conflicts that must be resolved

I think I've realised my mistake. Might have screwed up when squashing prior to making the PR. Testing now and then a commit soon that hopefully fixes it ...

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2021

Pull request #33992 was updated. @perrotta, @gouskos, @cmsbuild, @fgolf, @slava77, @jpata, @mariadalfonso can you please check and sign again.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2021

Pull request #33992 was updated. @perrotta, @gouskos, @cmsbuild, @fgolf, @slava77, @jpata, @mariadalfonso can you please check and sign again.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2021

Pull request #33992 was updated. @perrotta, @gouskos, @cmsbuild, @fgolf, @slava77, @jpata, @mariadalfonso can you please check and sign again.

@perrotta
Copy link
Contributor

perrotta commented Jun 7, 2021

backport of #33817

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2021

Pull request #33992 was updated. @perrotta, @gouskos, @cmsbuild, @fgolf, @slava77, @jpata, @mariadalfonso can you please check and sign again.

@mariadalfonso
Copy link
Contributor

please test

@bainbrid
Copy link
Contributor Author

bainbrid commented Jun 7, 2021

@mariadalfonso @gouskos this commit 7d72447 will be "forward ported" in a new PR to master today.

PR to master here: #34005

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2021

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4de9ab/15735/summary.html
COMMIT: ce41e4b
CMSSW: CMSSW_10_6_X_2021-06-07-1100/slc7_amd64_gcc700
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33992/15735/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4de9ab/15735/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4de9ab/15735/git-merge-result

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 1 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 3215543
  • DQMHistoTests: Total failures: 4
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3215205
  • DQMHistoTests: Total skipped: 334
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 28.645 KiB( 34 files compared)
  • DQMHistoSizes: changed ( 1325.81 ): 17.282 KiB Physics/NanoAODDQM
  • DQMHistoSizes: changed ( 136.8523 ): 11.363 KiB Physics/NanoAODDQM
  • Checked 143 log files, 29 edm output root files, 35 DQM output files
  • TriggerResults: found differences in 3 / 34 workflows

@slava77
Copy link
Contributor

slava77 commented Jun 8, 2021

Concerning future re-miniAOD campaigns, the LowPtElectronModifier module is used to calculate and embed the following information in pat::Electrons when the modifier logic (~bParking & run2_miniAOD_devel) is satisfied:

shouldn't this be actually enabled for the bParking & UL as well?
Is this dropped from the needed features for bParking miniAOD, or is there going to be another PR on top of this one?

@slava77
Copy link
Contributor

slava77 commented Jun 8, 2021

+reconstruction

for #33992 ce41e4b

  • code changes are in line with the PR description and the follow up review
    • reco code is consistent with the 120X version LowPtElectrons: NanoAOD integration #33817
    • the modifications in slimmedLowPtElectrons are enabled only for non-production run2_miniAOD_devel setup; somehow I thought that the preference was to still add it for bParking & run2_miniAOD_UL setup
  • jenkins tests pass and comparisons with the baseline show no relevant differences

@mariadalfonso
Copy link
Contributor

mariadalfonso commented Jun 8, 2021

+xpog

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 8, 2021

This pull request is fully signed and it will be integrated in one of the next CMSSW_10_6_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_12_0_X is complete. This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@qliphy
Copy link
Contributor

qliphy commented Jun 8, 2021

+1

@bainbrid
Copy link
Contributor Author

bainbrid commented Jun 8, 2021

Concerning future re-miniAOD campaigns, the LowPtElectronModifier module is used to calculate and embed the following information in pat::Electrons when the modifier logic (~bParking & run2_miniAOD_devel) is satisfied:

shouldn't this be actually enabled for the bParking & UL as well?
Is this dropped from the needed features for bParking miniAOD, or is there going to be another PR on top of this one?

@slava77 you're absolutely right, thanks for catching this! Added in a separate back port PR: #34023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants