-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
[NanoAOD] Add PF constituents for AK8 jets #46012
[NanoAOD] Add PF constituents for AK8 jets #46012
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46012/41814
|
A new Pull Request was created by @nurfikri89 for master. It involves the following packages:
@cmsbuild, @ftorrresd, @hqucms, @jfernan2, @mandrenguyen can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
-1 Failed Tests: Build BuildI found compilation error when building: gmake[1]: *** [config/SCRAM/GMake/Makefile.rules:2006: CompilePython] Error 1 >> Plugins of all types refreshed. gmake[1]: Target 'PostBuild' not remade because of errors. gmake[1]: Leaving directory '/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_14_2_X_2024-09-17-1100' gmake: *** [config/SCRAM/GMake/Makefile.rules:1892: src] Error 2 gmake: Target 'all' not remade because of errors. gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2 + eval scram build outputlog '&&' '(python3' /data/cmsbld/jenkins/workspace/ib-run-pr-tests/cms-bot/buildLogAnalyzer.py --logDir /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_14_2_X_2024-09-17-1100/tmp/el8_amd64_gcc12/cache/log/src '||' 'true)' ++ scram build outputlog >> Entering Package PhysicsTools/NanoAOD |
Apologies. Typo fixed. |
Plot1D('mass', 'mass', 10, 0, 1., 'Puppi-weighted mass'), | ||
Plot1D('pdgId', 'pdgId', 44, -220, 220, 'PF candidate type (+/-211 = ChgHad, 130 = NeuHad, 22 = Photon, +/-11 = Electron, +/-13 = Muon, 1 = HFHad, 2 = HFEM)'), | ||
) | ||
), |
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.
@nurfikri89 Would it make sense to add FatJetPFCand_PFCandIdx
and FatJetPFCand_jetIdx
to DQM 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.
Looking at the indices that we store for other objects, we do not make DQM plots for them. I do not see a reason to do anything differently here.
src = cms.InputTag("finalJetsAK8"), | ||
cut = cms.string("abs(eta) <= 2.5") |
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.
Would it be better to use the following to ensure consistency?
src = cms.InputTag("finalJetsAK8"), | |
cut = cms.string("abs(eta) <= 2.5") | |
src = fatJetTable.src, | |
cut = fatJetTable.cut |
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.
For src
, you are right. I will correct it but for cut
, we explicitly set "abs(eta) <= 2.5"
to only store the PF candidates for AK8 jets within that eta range.
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.
Why explicitly requiring abs(eta) <= 2.5
? IIRC in MiniAOD it's already rapidity<2.4
, so it's largely similar but there could be some edge cases?
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.
There is a selection on the jets which we retrieve the their constituents to run soft-drop grooming:
cmssw/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cff.py
Lines 36 to 37 in 6f9d2fd
(_run2_miniAOD_ANY | pA_2016 | run3_miniAOD_12X ).toModify(getattr(process,'ak8PFJetsPuppiConstituents'+postfix), | |
cut = cms.string('pt > 170.0 && abs(rapidity()) < 2.4')) |
and then a pt > 100
selection to store slimmedJetsAK8:
getattr(process,"selectedPatJetsAK8Puppi"+postfix).cut = cms.string("pt > 100") |
so we can still have AK8 jets in the forward region as I cannot find any explicit eta cut for AK8 puppi jets in CMSSW.
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.
OK I see -- then please keep this abs(eta) <= 2.5
cut.
Thanks a lot for the clarification, @nurfikri89 !
candIdxDoc = cms.string("Index in the PFCand table"), | ||
jets = fatJetTable.src, | ||
candidates = pfCandidatesTable.src, | ||
jetCut = cms.string("") |
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.
Would it be better to use
jetCut = cms.string("") | |
jetCut = fatJetTable.cut |
to ensure consistency? It does not matter now as both finalJetsAK8
and fatJetTable
apply pt > 170
, but just to be on the safe side.
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.
I will correct this also.
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46012/41861
|
Pull request #46012 was updated. @cmsbuild, @ftorrresd, @hqucms can you please check and sign again. |
please test |
+1 Size: This PR adds an extra 24KB to repository Comparison SummarySummary:
NANO Comparison SummarySummary:
Nano size comparison Summary:
|
+1 |
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. @mandrenguyen, @rappoccio, @antoniovilela, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
This PR adds PF candidate constituents for AK8 jets with abs(eta) < 2.5. Two tables are added:
PFCand
: PF candidates with minimal information (pt
,eta
,phi
,mass
,pdgId
).FatJetPFCand
: Mapping information of the candidates inPFCand
to the AK8 jets inFatJet
.This new feature allows analyzers to perform Lund Plane Reweighting (DP-2023-046) and calculate substructure variables for AK8 jets, like the Lund Plane itself. The feature was discussed during XPOG meeting (21/08/24), where the event size increase estimate was presented, and NanoAOD Deep Dive (3/09/24).
PR validation:
runTheMatrix.py -l limited -i all --ibeos
runTheMatrix.py -i all --ibeos -l 2500.021,2500.022,2500.023,2500.024,2500.031,2500.032,2500.033,2500.034