Skip to content

Commit

Permalink
Merge pull request #160 from shane-breeze/nanoAOD-80XbadMuons
Browse files Browse the repository at this point in the history
80X MET Filters - bad muon flags
  • Loading branch information
gpetruc committed Apr 19, 2018
2 parents b01ec5e + c74456a commit 04c80e4
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 0 deletions.
38 changes: 38 additions & 0 deletions PhysicsTools/NanoAOD/python/extraflags_cff.py
@@ -0,0 +1,38 @@
import FWCore.ParameterSet.Config as cms
from PhysicsTools.NanoAOD.common_cff import *

# Bad/clone muon filters - tagging mode to keep the event
from RecoMET.METFilters.badGlobalMuonTaggersMiniAOD_cff import badGlobalMuonTaggerMAOD, cloneGlobalMuonTaggerMAOD
badGlobalMuonTagger = badGlobalMuonTaggerMAOD.clone(
taggingMode = True
)

cloneGlobalMuonTagger = cloneGlobalMuonTaggerMAOD.clone(
taggingMode = True
)

from RecoMET.METFilters.BadPFMuonFilter_cfi import BadPFMuonFilter
BadPFMuonTagger = BadPFMuonFilter.clone(
PFCandidates = cms.InputTag("packedPFCandidates"),
muons = cms.InputTag("slimmedMuons"),
taggingMode = True,
)

# Bad charge hadron
from RecoMET.METFilters.BadChargedCandidateFilter_cfi import BadChargedCandidateFilter
BadChargedCandidateTagger = BadChargedCandidateFilter.clone(
PFCandidates = cms.InputTag("packedPFCandidates"),
muons = cms.InputTag("slimmedMuons"),
taggingMode = True,
)

extraFlagsTable = cms.EDProducer("GlobalVariablesTableProducer",
variables = cms.PSet(
Flag_BadGlobalMuon = ExtVar(cms.InputTag("badGlobalMuonTagger:notBadEvent"), bool, doc = "Bad muon flag"),
Flag_CloneGlobalMuon = ExtVar(cms.InputTag("cloneGlobalMuonTagger:notBadEvent"), bool, doc = "Clone muon flag"),
Flag_BadPFMuonFilter = ExtVar(cms.InputTag("BadPFMuonTagger"), bool, doc = "Bad PF muon flag"),
Flag_BadChargedCandidateFilter = ExtVar(cms.InputTag("BadChargedCandidateTagger"), bool, doc = "Bad charged hadron flag"),
)
)

extraFlagsProducers = cms.Sequence(badGlobalMuonTagger + cloneGlobalMuonTagger + BadPFMuonTagger + BadChargedCandidateTagger)
4 changes: 4 additions & 0 deletions PhysicsTools/NanoAOD/python/nano_cff.py
Expand Up @@ -6,6 +6,7 @@
from PhysicsTools.NanoAOD.electrons_cff import *
from PhysicsTools.NanoAOD.photons_cff import *
from PhysicsTools.NanoAOD.globals_cff import *
from PhysicsTools.NanoAOD.extraflags_cff import *
from PhysicsTools.NanoAOD.ttbarCategorization_cff import *
from PhysicsTools.NanoAOD.genparticles_cff import *
from PhysicsTools.NanoAOD.particlelevel_cff import *
Expand Down Expand Up @@ -104,6 +105,9 @@ def nanoAOD_customizeMC(process):
#remove stuff
_80x_sequence.remove(isoTrackTable)
_80x_sequence.remove(isoTrackSequence)
#add stuff
_80x_sequence.insert(_80x_sequence.index(jetSequence), extraFlagsProducers)
_80x_sequence.insert(_80x_sequence.index(l1bits)+1, extraFlagsTable)

run2_miniAOD_80XLegacy.toReplaceWith( nanoSequence, _80x_sequence)

Expand Down
2 changes: 2 additions & 0 deletions RecoMET/METFilters/plugins/BadGlobalMuonTagger.cc
Expand Up @@ -55,6 +55,7 @@ BadGlobalMuonTagger::BadGlobalMuonTagger(const edm::ParameterSet & iConfig) :
verbose_(iConfig.getUntrackedParameter<bool> ("verbose",false))
{
produces<edm::PtrVector<reco::Muon>>("bad");
produces<bool>("notBadEvent");
}


Expand Down Expand Up @@ -121,6 +122,7 @@ BadGlobalMuonTagger::filter(edm::StreamID iID, edm::Event & iEvent, const edm::E
}

iEvent.put(std::move(out), "bad");
iEvent.put(std::unique_ptr<bool>(new bool(!found)), "notBadEvent");
return taggingMode_ || found;
}

Expand Down

0 comments on commit 04c80e4

Please sign in to comment.