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

Mini aod substructure pieces overhaul #7659

Closed

Conversation

rappoccio
Copy link
Contributor

Making new PR to accomplish the goals in #7606, after code review. The only major change is to write out ONLY subjets that are associated to selected jets.

====== EVENT Content =======
The AK8 jet content is therefore :

  • Add all AK8 jets for pt > 50 GeV
    • If AK8 jet pt > 200:
      • Add top-tagging and soft drop tagger info.
      • Run b-tagging and JECs on subjets

So if the AK8 jet has pt between 50 and 200 GeV, the substructure algorithms are not run. If pt > 200 GeV, The subjets are written along with the "fat" jets in the BoostedJetMerger, and then are rekeyed accordingly with the JetSubstructurePacker. The slimming is done upstream on the pat::Jets made for the substructure algorithms, and so downstream this is no longer necessary to re-slim.

The jet content is (on 9000 events without pileup):

patJets_slimmedJets__PAT 1.00 1.00 1.00 4.8%
patJets_packedPatJetsAK8__PAT 1.00 0.58 0.58 2.8%
recoGenJets_slimmedGenJets__PAT 1.00 0.46 0.46 2.2%
recoGenJets_slimmedGenJetsAK8__PAT 1.00 0.45 0.45 2.2%
patJets_slimmedJetsCMSTopTagCHSPacked_SubJets_PAT 1.00 0.16 0.16 0.8%
patJets_slimmedJetsAK8PFCHSSoftDropPacked_SubJets_PAT 1.00 0.14 0.14 0.7%

So the additional collections (the subjets) are about 1.5% of the total miniAOD size.

====== CPU usage =====
The additional CPU usage here is negligible because the workflow is not running any algorithms, but instead taking the values directly from the RECO collections upstream and rekeying the information :

TimeReport 0.000074 0.000074 0.000074 caTopTagInfos
TimeReport 0.000041 0.000041 0.000041 caTopTagInfosPAT
TimeReport 0.000100 0.000100 0.000100 slimmedGenJets
TimeReport 0.000128 0.000128 0.000128 slimmedGenJetsAK8
TimeReport 0.000131 0.000131 0.000131 slimmedJets
TimeReport 0.000000 0.000000 0.000000 slimmedJetsAK8
TimeReport 0.000041 0.000041 0.000041 slimmedJetsAK8PFCHSSoftDropPacked
TimeReport 0.000051 0.000051 0.000051 slimmedJetsAK8PFCHSSoftDropSubjets
TimeReport 0.000048 0.000048 0.000048 slimmedJetsCMSTopTagCHSPacked
TimeReport 0.000056 0.000056 0.000056 slimmedJetsCMSTopTagCHSSubjets
TimeReport 0.000095 0.000095 0.000095 packedPatJetsAK8

==== Testing ====
Tests are checking out (thanks to @ianna for providing the correct recipe so quickly, I've merged in that PR, and apologies to @ferencek since I had to revert out the genJetsNoNu for the b-tagging sequence, to be discussed at an upcoming JMAR meeting).

==== For posterity, here is the original PR message : ====

With @arizzi and @ferencek : we've added substructure into miniAOD in a slightly more natural way to allow for multiple interpretations of the jet. This will now be accessed through the "subjet" methods. They can take string or integer access similar to the JECs. I have also adjusted pt thresholds so that they are sensible given common user preferences. This makes the total of the AK8 jets (including two subjet collections) 3.8% of the total miniAOD size.

The nice additions are :

Subjets from soft drop and the CMS top tagger are stored as lists of pat::Jets.
Jet corrections are applied to subjets.
Subjet b-tagging is being run.

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @rappoccio for CMSSW_7_4_X.

Mini aod substructure pieces overhaul

It involves the following packages:

DataFormats/PatCandidates
PhysicsTools/PatAlgos
PhysicsTools/PatUtils

@cmsbuild, @vadler, @nclopezo, @monttj can you please review it and eventually sign? Thanks.
@TaiSakuma, @imarches, @ahinzmann, @acaudron, @mmarionncern, @nhanvtran, @schoef, @ferencek, @mariadalfonso, @pvmulder this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@Degano you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@ferencek
Copy link
Contributor

Looks complete to me. The only missing piece, as far as I can tell, is the slimming of packedPatJetsAK8. For this it should be sufficient to replace selectedPatJetsAK8 with packedPatJetsAK8 in https://github.com/rappoccio/cmssw/blob/MiniAODSubstructurePiecesOverhaul/PhysicsTools/PatAlgos/python/slimming/slimmedJets_cfi.py and update accordingly the event content in https://github.com/rappoccio/cmssw/blob/MiniAODSubstructurePiecesOverhaul/PhysicsTools/PatAlgos/python/slimming/slimming_cff.py

process.patJetsAK8.userData.userFloats.src += ['NjettinessAK8:tau1','NjettinessAK8:tau2','NjettinessAK8:tau3']


## PATify pruned fat jets
Copy link
Contributor

Choose a reason for hiding this comment

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

Minor detail: pruned -> soft drop in the comment

@arizzi
Copy link
Contributor

arizzi commented Feb 11, 2015

Please check the comparison here:
http://arizzi.web.cern.ch/arizzi/subjet.html vs http://arizzi.web.cern.ch/arizzi/refib.html

it looks like patJets_slimmedJetsAK8__PAT grew from 1.6 items per event to 4 items per event.
What happened?

@rappoccio
Copy link
Contributor Author

@arizzi : I reduced the pt cut on AK8 jets WITHOUT substructure from 200 GeV to 50 GeV. Only jets with pt > 200 GeV have substructure attached (including subjets).

@ferencek : The slimming of that collection won't impact anything, the pt cut for the AK8 jets is derived from [1] and [2], and then associated at [3]. Thus, it picks up the pt cut from the AK8 jets (pt > 50 GeV).

[1] https://github.com/rappoccio/cmssw/blob/MiniAODSubstructurePiecesOverhaul/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cfi.py#L26
[2] https://github.com/rappoccio/cmssw/blob/MiniAODSubstructurePiecesOverhaul/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cfi.py#L78
https://github.com/rappoccio/cmssw/blob/MiniAODSubstructurePiecesOverhaul/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cfi.py#L110
[3] https://github.com/rappoccio/cmssw/blob/MiniAODSubstructurePiecesOverhaul/PhysicsTools/PatAlgos/python/slimming/applySubstructure_cfi.py#L145

@cmsbuild
Copy link
Contributor

@gpetruc
Copy link
Contributor

gpetruc commented Mar 10, 2015

Hi Sal,

An implementation of the re-adding of the daughters is in gpetruc@e406ed2

@rappoccio
Copy link
Contributor Author

@gpetruc Thanks a lot, I had come up with something similar (but wasn't debugged yet).

I'll put in the PR. This PR got completely mangled by my git rebase anyway so I will close it and reopen.

@rappoccio rappoccio closed this Mar 10, 2015
cmsbuild added a commit that referenced this pull request Mar 15, 2015
…ented

Mini aod substructure pieces overhaul, rebase of #7659
cmsbuild added a commit that referenced this pull request Mar 21, 2015
…entedChecking

Mini aod substructure pieces overhaul, rebase of #7659 : Port to 75x
@rappoccio rappoccio deleted the MiniAODSubstructurePiecesOverhaul branch April 22, 2015 18:44
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

8 participants