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
GenJetFlavourInfos in MiniAOD and Change in JetFlavour of LightJets to physicsPartons in CMSSW 92X #19048
Conversation
…he original AK4GenJets(AOD) to the slimmedGenJets (MiniAOD)
…hadron in the jet is chosen as the flavour hadron
A new Pull Request was created by @Andrej-CMS for master. It involves the following packages: PhysicsTools/JetMCAlgos @perrotta, @cmsbuild, @slava77, @monttj, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
@Andrej-CMS Do you have some plots or numbers that show how this changes the flavor composition of the leading jet on a RelVal sample (e.g. z+jets should have ~60% quarks, qcd should have 50-70% gluons)? |
@@ -254,7 +254,7 @@ HadronAndPartonSelector::produce(edm::Event& iEvent, const edm::EventSetup& iSet | |||
partonSelector_->run(particles,partons); | |||
for(reco::GenParticleCollection::const_iterator it = particles->begin(); it != particles->end(); ++it) | |||
{ | |||
if( !(it->status()==3 || (( partonMode_=="Pythia8" ) && (it->status()==23)))) continue; | |||
// if( !(it->status()==3 || (( partonMode_=="Pythia8" ) && (it->status()==23)))) continue; |
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.
Dear @Andrej-CMS,
I am wondering if commenting out this has any consequences not only in terms of file size but also in other places where HadronAndSelector is being used.
It is because if I understand correctly, without this condition, this will contain all partons including status 2 and also stable final particles. That will be a lot of particles. This will also introduce ambiguity issue.
Best Regards,
Taejeong
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.
Hello @monttj ,
These changes were requested by the QGL Group, i.e. Paolo Azzuri. Unfortunately, I cannot find him on GitHub to comment on this.
You are right, the physicspartons will contain the whole chain. I will provide RelVal comparisons as soon as possible.
Kind regards,
Andrej
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.
can you make that configurable?
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.
yes, I will do that.
Kind regards,
Andrej
Please note: this PR will not be merged until some validation plots/slides are provided. |
@@ -254,7 +254,7 @@ HadronAndPartonSelector::produce(edm::Event& iEvent, const edm::EventSetup& iSet | |||
partonSelector_->run(particles,partons); | |||
for(reco::GenParticleCollection::const_iterator it = particles->begin(); it != particles->end(); ++it) | |||
{ | |||
if( !(it->status()==3 || (( partonMode_=="Pythia8" ) && (it->status()==23)))) continue; | |||
// if( !(it->status()==3 || (( partonMode_=="Pythia8" ) && (it->status()==23)))) continue; |
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.
it looks like this part will be modified to become configurable.
If it would not, the following applies:
is this commented out code needed?
Please remove or add comments inline in the code why the commented out block is relevant
@@ -4,7 +4,7 @@ | |||
jets = cms.InputTag("ak4PFJets"), | |||
bHadrons = cms.InputTag("selectedHadronsAndPartons","bHadrons"), | |||
cHadrons = cms.InputTag("selectedHadronsAndPartons","cHadrons"), | |||
partons = cms.InputTag("selectedHadronsAndPartons","algorithmicPartons"), | |||
partons = cms.InputTag("selectedHadronsAndPartons","physicsPartons"), |
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.
should the same be applied to other available instances of JetFlavourClustering in this package?
There is one in AK5
Comparison is ready Comparison Summary:
|
@slava77 Hadron flavour only looks for B-hadrons, thus cannot detect light quarks. |
+1
|
@dmitrijus @monttj |
@dmitrijus @monttj |
@dmitrijus @monttj @davidlange6 please check. |
to continue my weekdaily ping @dmitrijus @monttj @davidlange6 please check. |
code-checks the last checks went outside of the scope of the PR |
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/PR-19048/246 Code check has found code style and quality issues which could be resolved by applying a patch in https://cmssdt.cern.ch/SDT/code-checks/PR-19048/246/git-diff.patch In future, you can run |
to continue my weekdaily ping on day 8 after no activity @dmitrijus @monttj @davidlange6 please check and merge with missing signatures or suggest changes. |
+1 |
@davidlange6 please check and merge with missing AT signature or suggest changes. Thank you. |
merge |
edm::Ref<std::vector<reco::GenJet> > slimmedGenJetRef; | ||
|
||
int i = -1; | ||
for (auto const& genJet : *genJets){ |
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.
hi @Andrej-CMS @slava77 @perrotta - this brings a warning as genJet is not actually used. Please change to a loop over i if genJets->refAt(i) is not the same as genJet in the loop below
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.
Hello @davidlange6 ,
I just pushed the changes to the initial branch on my repository: https://github.com/Andrej-CMS/cmssw/tree/JetFlavourMiniAOD92X
Since the changes here are already merged, do I need to make a new PR?
Kind regards,
Andrej
yes, it would need a new PR. Thanks!
…
I just pushed the changes to the initial branch on my repository: https://github.com/Andrej-CMS/cmssw/tree/JetFlavourMiniAOD92X
Since the changes here are already merged, do I need to make a new PR?
Kind regards,
Andrej
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Dear all, @arizzi
This PR introduces two changes to the MiniAODSim format.
The GenJetFlavourInfoPreserver tool passes the GenJetFlavour information of the original AK4GenJets in the AODSim to the slimmedGenJets in the MiniAODSim. The new GenJetFlavour information is called "slimmedGenJetsFlavourInfos" and is stored in the MiniAOD. This collection is of the class reco::JetFlavourInfoMatchingCollection and the object consists out of a pair of refvectors.
For the case where no heavy flavour hadron is clustered into the GenJet, a definition based on the "physicsPartons" is chosen. physicsPartons now contain the full shower. Changes were proposed by the QGL group.
Kind regards,
Andrej