Z+Jet (Muon) : My Notes

Understanding SelectedPatMuons Collection

The selectedPatMuons module takes in patMuons and does a dummy preselection. Now the patMuons as a default option take in the pfIsolatedMuons as input, which already have so many cuts (dxy,dz and isolation applied). We could call this pfIdentification step. What we are doing now, is that we circumvent the process.... we give pfAllMuons as input to patMuons and check/apply cuts inside our ZmmFilter module. But we still run the PFMUON sequence, it may probably we required to properly run the pfJet sequence.

Our Muon Sequence

process.patMuons.useParticleFlow=True
Use all pfMuons, instead of PF2PAT default: pfIsolatedMuons.
process.patMuons.pfMuonSource = cms.InputTag("pfMuons")
Store trigger match information : note that this is not a selector (I think so no muons get dropped here).
process.selectedPatMuonsTriggerMatch = cms.EDProducer(
"PATTriggerMatchMuonEmbedder",
src = cms.InputTag("selectedPatMuons"),
matches = cms.VInputTag(cms.InputTag('muonTriggerMatchHLT'))
)
switchOnTriggerMatchEmbedding(process ,triggerMatchers = ['muonTriggerMatchHLTMuons'],)
removeCleaningFromTriggerMatching(process)
Use muons with a minor pt cut for the further analysis.
process.allMuons = selectedPatMuons.clone(
src = cms.InputTag('selectedPatMuonsTriggerMatch'),
cut = cms.string("pt>10")
#cut = cms.string("pt>10 ")
)

The PFMuon Sequence

Following Modules run sequentially:
  • pfAllMuons ##THESE GUYS ARE USED BY US : RIGHT HERE
  • pfMuonsFromVertex
  • pfSelectedMuons
  • pfMuonIsolationSequence
  • pfIsolatedMuons
  • pfMuons
  1. All Muons are taken from the handle labelled pfNoPileUp.
    pfAllMuons = cms.EDFilter("PdgIdPFCandidateSelector", src = cms.InputTag("pfNoPileUp"), pdgId = cms.vint32( -13, 13) )
  2. Then vertex constraints are applied:
    pfMuonsFromVertex = cms.EDFilter(
    "IPCutPFCandidateSelector",
    src = cms.InputTag("pfAllMuons"), # PFCandidate source
    vertices = cms.InputTag("offlinePrimaryVertices"), # vertices source
    d0Cut = cms.double(0.2), # transverse IP
    dzCut = cms.double(0.5), # longitudinal IP
    d0SigCut = cms.double(99.), # transverse IP significance
    dzSigCut = cms.double(99.), # longitudinal IP significance
    )
  3. Then a minimal cut of 5 GeV is applied:
    pfSelectedMuons = cms.EDFilter(
    "GenericPFCandidateSelector",
    src = cms.InputTag("pfMuonsFromVertex"),
    cut = cms.string("pt>5")
    )
  4. The pfSelectedMuons are then fed to the isolation modules:
    pfIsolatedMuons = cms.EDFilter(
    "IsolatedPFCandidateSelector",
    src = cms.InputTag("pfSelectedMuons"),
    isolationValueMapsCharged = cms.VInputTag(
    cms.InputTag("muPFIsoValueCharged04"),
    ),
    isolationValueMapsNeutral = cms.VInputTag(
    cms.InputTag("muPFIsoValueNeutral04"),
    cms.InputTag("muPFIsoValueGamma04")
    ),
    doDeltaBetaCorrection = cms.bool(False),
    deltaBetaIsolationValueMap = cms.InputTag("muPFIsoValuePU04"),
    deltaBetaFactor = cms.double(-0.5),)
    ## if True isolation is relative to pT
    isRelative = cms.bool(True),
    ## if True all isoValues are combined (summed)
    # isCombined = cms.bool(True),
    ## not used when isCombined=True
    # non-optimised default for loose absulute isolation
    # isolationCuts = cms.vdouble( 10,
    # 10,
    # 10 ),
    # not used when isCombined=False
    # default value for combined relative with DR={0.4,0.4,0.4}
    # and weight={1.,1.,1.}; optimised for Z->mu,mu
    isolationCut = cms.double(0.15)
    )

-- AnilSingh - 02-Jul-2012

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2012-07-03 - AnilPratapSingh
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback