Skip to content

Commit

Permalink
Merge pull request #20281 from Andrej-CMS/JetFlavourMiniAOD92X
Browse files Browse the repository at this point in the history
GenJetFlavourInfos: fix compiler warning, use prunedGenParticles in associations to correctly match pat jet flavour info
  • Loading branch information
cmsbuild committed Sep 1, 2017
2 parents faefcf6 + be715ba commit 20b60f7
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 6 deletions.
8 changes: 7 additions & 1 deletion PhysicsTools/JetMCAlgos/python/AK4GenJetFlavourInfos_cfi.py
@@ -1,5 +1,11 @@
import FWCore.ParameterSet.Config as cms
from PhysicsTools.JetMCAlgos.AK4PFJetsMCFlavourInfos_cfi import ak4JetFlavourInfos

ak4GenJetFlavourInfos = ak4JetFlavourInfos.clone(jets = "ak4GenJetsNoNu")
ak4GenJetFlavourInfos = ak4JetFlavourInfos.clone(
jets = "ak4GenJetsNoNu",
bHadrons = cms.InputTag("selectedHadronsAndPartonsForGenJetsFlavourInfos","bHadrons"),
cHadrons = cms.InputTag("selectedHadronsAndPartonsForGenJetsFlavourInfos","cHadrons"),
partons = cms.InputTag("selectedHadronsAndPartonsForGenJetsFlavourInfos","physicsPartons"),
leptons = cms.InputTag("selectedHadronsAndPartonsForGenJetsFlavourInfos","leptons"),
)

3 changes: 3 additions & 0 deletions PhysicsTools/JetMCAlgos/python/HadronAndPartonSelector_cfi.py
Expand Up @@ -7,3 +7,6 @@
partonMode = cms.string("Auto"),
fullChainPhysPartons = cms.bool(True)
)
# select hadrons and partons for the slimmedGenJetsFlavourInfos, required for origin identification

selectedHadronsAndPartonsForGenJetsFlavourInfos = selectedHadronsAndPartons.clone(particles = "prunedGenParticles")
11 changes: 6 additions & 5 deletions PhysicsTools/PatAlgos/plugins/GenJetFlavourInfoPreserver.cc
Expand Up @@ -27,9 +27,9 @@ namespace pat {
class GenJetFlavourInfoPreserver : public edm::stream::EDProducer<> {
public:
explicit GenJetFlavourInfoPreserver(const edm::ParameterSet & iConfig);
virtual ~GenJetFlavourInfoPreserver() { }
~GenJetFlavourInfoPreserver() override { }

virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup) override;
void produce(edm::Event & iEvent, const edm::EventSetup & iSetup) override;

private:
const edm::EDGetTokenT<edm::View<reco::GenJet> > genJetsToken_;
Expand Down Expand Up @@ -72,12 +72,13 @@ pat::GenJetFlavourInfoPreserver::produce(edm::Event & iEvent, const edm::EventSe

edm::Ref<std::vector<reco::GenJet> > slimmedGenJetRef;

int i = -1;
for (auto const& genJet : *genJets){
i++;

for (unsigned int i=0; i<genJets->size();++i){

slimmedGenJetRef = (*slimmedGenJetAssociation)[genJets->refAt(i)];
if(!slimmedGenJetRef) continue;
(*jetFlavourInfos)[reco::JetBaseRef(slimmedGenJetRef)] = (*genJetFlavourInfos)[i].second;

}

iEvent.put(std::move(jetFlavourInfos));
Expand Down
1 change: 1 addition & 0 deletions PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py
Expand Up @@ -339,6 +339,7 @@ def miniAOD_customizeMC(process):
#GenJetFlavourInfos
process.load("PhysicsTools.JetMCAlgos.HadronAndPartonSelector_cfi")
task.add(process.selectedHadronsAndPartons)
task.add(process.selectedHadronsAndPartonsForGenJetsFlavourInfos)

process.load("PhysicsTools.JetMCAlgos.AK4GenJetFlavourInfos_cfi")
task.add(process.ak4GenJetFlavourInfos)
Expand Down

0 comments on commit 20b60f7

Please sign in to comment.