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

[JMENanoAOD] Updates for Run-3 #39000

Merged
merged 9 commits into from
Aug 18, 2022

Conversation

nurfikri89
Copy link
Contributor

@nurfikri89 nurfikri89 commented Aug 8, 2022

PR description:

This PR updates JMENano to be compatible with Run-3 data and MC, starting with the upcoming NanoAODv10 production. The following major changes are made:

  • Sequences have been changed to Tasks and JMENano can now run in Prompt.
  • Updated names of NanoAOD-related config files and modules.
  • Add a dedicated function for reclustering and content customisation of AK4 Puppi jets.
  • Recluster both AK4 CHS and AK4 Puppi jet collections but modify their table names and content depending on era (i.e Run-2 or Run-3).
  • Increase pt threshold for stored reclustered AK8 reco jets to 15 GeV.
  • The JMENano workflows are enabled back again, which was disabled by PR Disable JME Nano workflows due to Nano-prompt dev #35140. Enable Run-3 workflows and added one wf: 11634.15.

PR validation:

  • passes the (re-enabled) JMENano workflows: runTheMatrix.py -i all --ibeos -l 10224.15,11024.15,25202.15,11634.15

With this PR, the event size is 6.24 kb/event. Test was done using 10K events from a TTTo2J1L1Nu Run3Winter22MiniAOD file. Below is the CPU time:

jmenano_cputtime

The full content and size details can be found in the JMENano twiki: content / size

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

Once merged, this PR needs to be backported to 12_4_X for the JMENanoAODv10 production.

- Update name of NanoAOD-related config files and modules
- Add adedicated function for reclustering and content customisation
of AK4 Puppi jets.
- Recluster both AK4 CHS and AK4 Puppi jet collections but modify
their table names and content depending on eras	(i.e Run-2 or Run-3).
@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 8, 2022

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39000/31469

  • This PR adds an extra 32KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 8, 2022

A new Pull Request was created by @nurfikri89 (Nurfikri Norjoharuddeen) for master.

It involves the following packages:

  • Configuration/PyReleaseValidation (pdmv, upgrade)
  • PhysicsTools/NanoAOD (xpog)
  • PhysicsTools/PatAlgos (reconstruction)

@gouskos, @swertz, @jordan-martins, @vlimant, @bbilin, @clacaputo, @cmsbuild, @AdrianoDee, @srimanob, @kskovpen, @jpata, @mariadalfonso can you please review it and eventually sign? Thanks.
@rappoccio, @gouskos, @schoef, @emilbols, @kpedro88, @Martin-Grunewald, @trtomei, @mbluj, @ahinzmann, @demuller, @seemasharmafnal, @mmarionncern, @jdolen, @makortel, @fabiocos, @missirol, @azotz, @slomeo, @beaucero, @jdamgov, @nhanvtran, @gkasieczka, @hatakeyamak, @mariadalfonso, @AlexDeMoor, @swertz, @JyothsnaKomaragiri, @gpetruc, @andrzejnovak this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@mariadalfonso
Copy link
Contributor

please test

@mariadalfonso
Copy link
Contributor

mariadalfonso commented Aug 8, 2022

  1. size 6.33 kb/event is within the allocated budget

  2. RecoBTag takes a lot of time, in the future should be optimized @hqucms maybe can have a look later

  3. 10224.15,11024.15,25202.15 which one is Run3 ?

  4. What is the difference between the
    FatJet and FatJetForJEC
    https://twiki.cern.ch/twiki/pub/CMS/JMECustomNanoAOD/JMENano_version4_forPR_39000_content.html#FatJetForJEC)
    https://twiki.cern.ch/twiki/pub/CMS/JMECustomNanoAOD/JMENano_version4_forPR_39000_content.html#FatJet

  5. a note as discussed by email, we need a DQM to
    --> compare JMEnano vs central nano so that we are sure the main collection of jet is ok despite the reclustering
    (for this the current nanoDQM_cfi.py should be enough)
    --> compare JMEnano different versions for the extra things added on top.
    (for this we likely need a different nanoDQM_jme_cfi.py)

2 and 5 can be done in a future PRs

Comment on lines 912 to 926
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leadTrackPt = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonPtRel = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonPtRatio = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonPtRelInv = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonPtRelv0 = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonPtRatiov0 = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonPtRelInvv0 = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonDeltaR = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, leptonPt = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, vtxPt = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, vtxMass = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, vtx3dL = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, vtx3deL = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, ptD = None)
(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats, genPtwNu = None)
Copy link
Contributor

Choose a reason for hiding this comment

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

you can make multiple modifications in a single toModify() statement (and therefore you should, in order to reduce duplication). example:

(~run2_nanoAOD_ANY).toModify(proc.updatedJetsWithUserData.userFloats,
    leadTrackPt = None,
    leptonPtRel = None,
)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the suggestion. Will clean up.

proc.nanoTableTaskCommon.add(proc.jetPuppiForMETTask)
return proc

jmeNano_addAK4JetTaks_switch = cms.PSet(
Copy link
Contributor

Choose a reason for hiding this comment

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

fix typo Taks -> Task

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To be corrected.

@nurfikri89
Copy link
Contributor Author

  • 10224.15,11024.15,25202.15 which one is Run3 ?

I don't think any of them is Run-3.

FatJet is taken directly from slimmedJetsAK8 collection in MiniAOD with a minimum pt cut of 170 GeV while FatJetForJEC is a reclustered AK8 Puppi jet collection which can go as low as jet pt of 8 GeV with a basic set of jet variables saved for JEC studies.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 8, 2022

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39000/31470

  • This PR adds an extra 32KB to repository

@mariadalfonso
Copy link
Contributor

@nurfikri89
Copy link
Contributor Author

seems we have twice this branch https://twiki.cern.ch/twiki/pub/CMS/JMECustomNanoAOD/JMENano_version4_forPR_39000_content.html#HLTriggerFinalPath

@mariadalfonso I could only find one branch with the name HLTriggerFinalPath. The other one is HLTriggerFirstPath.

@mariadalfonso
Copy link
Contributor

+xpog

seems fine from technical point of view.
content wise not possible to verify the content w./o the DQM file
no confirmation that the 12B from Run2 UL were useful (AFIAK have never used to derive JEC)

to be done ASAP: 2 and 5 from here
#39000 (comment)
until then DO NOT set to central production

@jpata
Copy link
Contributor

jpata commented Aug 15, 2022

+reconstruction

@srimanob
Copy link
Contributor

+Upgrade

From the upgrade side, this PR update the workflows for JMENano. Workflow runs fine. For technical topics, i.e. contents or speed up, please follow up with @cms-sw/xpog-l2.

@mariadalfonso
Copy link
Contributor

@nurfikri89 please backport to 12_4

@kskovpen
Copy link
Contributor

+pdmv

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@perrotta
Copy link
Contributor

+1

  • As far as I understand from [JMENanoAOD] Updates for Run-3 #39000 (comment), this has to be further verified before backporting it in the nanoAOD production release 12_4_X: next week 12_5_0_pre5 relvals could be a good opportunity to do so

@cmsbuild cmsbuild merged commit e2e7961 into cms-sw:master Aug 18, 2022
@srimanob
Copy link
Contributor

@mariadalfonso @cms-sw/pdmv-l2 @nurfikri89
Just to confirm on the content validation, should the workflows with .15 be submitted with the next pre-release to get DQM for validation? Or this will be done from x-pog or JME side privately. Thanks.

@mariadalfonso
Copy link
Contributor

@mariadalfonso @cms-sw/pdmv-l2 @nurfikri89
Just to confirm on the content validation, should the workflows with .15 be submitted with the next pre-release to get DQM for validation? Or this will be done from x-pog or JME side privately. Thanks.

The DQM was just never in the release.
We need something like this
https://github.com/cms-sw/cmssw/blob/master/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py

Once this is added we can aim to test it:

  • JMEnano vs JMEnano
  • JMEnano vs central nano (w.o this pretty much I'm not sure what we use for calibration is what is going to be used for analysis given the large amount of cooking in the JMEnano).

The 12B of UL dataset were submitted by PPD for FWK validation and BLINDLY. Also all the presentation shown at PPD never included a single plot and nd PRs desciption never contain distributions.
Still waiting to close the loop on this unfortunately.

cmsbuild added a commit that referenced this pull request Aug 22, 2022
…un3_forPR

[JMENanoAOD] Backport of #39000 (Updates for Run-3) to 12_4_X
@nurfikri89 nurfikri89 deleted the from1250pre4_JMENanoRun3 branch October 29, 2023 06:11
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.

9 participants