コード例 #1
0
def addMuonMCClassification(process):
    # Run and embed in the patMuons the classification of muons by
    # their GEANT hits.
    process.load('MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi')
    from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
    addClassByHits(process.patMuons,extraInfo=True)
    process.patDefaultSequence = cms.Sequence(process.muonClassificationByHits * process.patDefaultSequence._seq)
コード例 #2
0
def addMuonMCClassification(process):
    # Run and embed in the patMuons the classification of muons by
    # their GEANT hits.
    process.load('MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi')
    from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
    addClassByHits(process.patMuons, extraInfo=True)
    process.patDefaultSequence = cms.Sequence(process.muonClassificationByHits * process.patDefaultSequence._seq)
コード例 #3
0
def extensiveMatching(process):
    process.load("SimGeneral.TrackingAnalysis.trackingParticlesNoSimHits_cfi")    # On RECO
    process.load("SimMuon.MCTruth.MuonAssociatorByHits_cfi")  # On RECO
    process.mergedTruth = cms.EDProducer("GenPlusSimParticleProducer",
        src           = cms.InputTag("g4SimHits"), # use "famosSimHits" for FAMOS
        setStatus     = cms.int32(5),             # set status = 8 for GEANT GPs
        filter        = cms.vstring("pt > 0.0"),  # just for testing (optional)
        genParticles   = cms.InputTag("genParticles") # original genParticle list
    )
    process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")

    from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
    addClassByHits(process.patMuons,labels=['classByHitsGlb'],extraInfo=True)
    addClassByHits(process.patMuonsPF,labels=['classByHitsGlb'],extraInfo=True)
    
    process.extensiveMatching = cms.Sequence(process.mergedTruth+process.muonClassificationByHits)
コード例 #4
0
def extensiveMatching(process):
    process.load("SimGeneral.TrackingAnalysis.trackingParticlesNoSimHits_cfi")    # On RECO
    process.load("SimMuon.MCTruth.MuonAssociatorByHits_cfi")  # On RECO
    process.mergedTruth = cms.EDProducer("GenPlusSimParticleProducer",
        src           = cms.InputTag("g4SimHits"), # use "famosSimHits" for FAMOS
        setStatus     = cms.int32(5),             # set status = 8 for GEANT GPs
        filter        = cms.vstring("pt > 0.0"),  # just for testing (optional)
        genParticles   = cms.InputTag("genParticles") # original genParticle list
    )
    process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")

    from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
    addClassByHits(process.patMuons,labels=['classByHitsGlb'],extraInfo=True)
    addClassByHits(process.patMuonsPF,labels=['classByHitsGlb'],extraInfo=True)
    
    process.extensiveMatching = cms.Sequence(process.mergedTruth+process.muonClassificationByHits)
コード例 #5
0
    embedStandAloneMuon=True,
    # then switch off some features we don't need
    #addTeVRefits = False, ## <<--- this doesn't work. PAT bug ??
    embedPickyMuon=False,
    embedTpfmsMuon=False,
    userIsolation=cms.PSet(
    ),  # no extra isolation beyond what's in reco::Muon itself
    isoDeposits=cms.PSet(),  # no heavy isodeposits
    addGenMatch=False,
    embedGenMatch=False,
)

process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")

from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
addClassByHits(process.patMuons, extraInfo=True)

# as an example, now we define yet another classification, only for TMLastStationLoose.
# (the selection matters when you define ghosts)
process.classByHitsTMLSLoose = process.classByHitsTM.clone(
    muonPreselection=cms.string("muonID('TMLastStationLoose')"))
addClassByHits(process.patMuons,
               labels=["classByHitsTMLSLoose"],
               extraInfo=True)

process.go = cms.Path(
    process.preFilter + process.filter +
    (process.mergedTruth * process.genMuons * process.muonMatch +
     process.muonClassificationByHits + process.classByHitsTMLSLoose) *
    process.patMuons)
コード例 #6
0
process.patMuons.embedTrack = True
#process.muonMatch.matched = "prunedGen"

####### PF & DetBased Iso
#isoKinds4Muons = 'DetBased+PFlow'
#skipVetoLeptonSeqence=True
#skipSelectingPfCands=False
### OLD CUSTOM
addMuonPFIso(process,process.patMuons)


if isMC: 
    if False: ## Turn this on to get extra info on muon MC origin, on GEN-SIM-RECO
        process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")
        from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
        addClassByHits(process.patMuons, labels=['classByHitsGlb'], extraInfo = True)
        process.muonClassificationByHits = cms.Sequence(process.mix * process.trackingParticlesNoSimHits * process.classByHitsGlb )
        
        process.preMuonSequence = cms.Sequence(process.muonMatch +
                                               process.patTrigger +
                                               process.muonClassificationByHits +
                                               process.MuonIsolationMakeIso)

    else:
        
        process.preMuonSequence = cms.Sequence(process.muonMatch +
                                               process.patTrigger #+
                                               #process.MuonIsolationMakeIso
                                               )
else:
    process.preMuonSequence = cms.Sequence(process.patTrigger #+
コード例 #7
0
#process.muonL1Info.useState = 'outermost'
#process.muonMatchHLTL1.useTrack = 'global'
#process.muonMatchHLTL1.useState = 'outermost'

### Adding MCtruth Info to the PATMuon
from MuonAnalysis.MuonAssociators.patMuonsWithTrigger_8E29_cff import addMCinfo
addMCinfo(process)

### Add MC classification by hits
# Requires:
#   SimGeneral/TrackingAnalysis V04-01-00-02 (35X) or V04-01-03+ (37X+)
#   SimTracker/TrackAssociation V01-08-17    (35X+)
#   SimMuon/MCTruth             V02-05-00-01 (35X) or V02-06-00+ (37X+)
process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")
from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
addClassByHits(process.patMuonsWithoutTrigger, extraInfo=True)

### Adding Info about the Muon Station involved to the PATMuon
# Requires MuonAnalysis/Examples V00-03-00+
process.load("MuonAnalysis.Examples.muonStations_cfi")
from MuonAnalysis.Examples.muonStations_cfi import addUserData as addStations
addStations(process.patMuonsWithoutTrigger)


process.p = cms.Path(
    process.preFilter  +
    process.oneRecoMu  +
    process.muonClassificationByHits +
    process.muonStations +
    process.patMuonsWithTriggerSequence 
)
コード例 #8
0
ファイル: ipStudySkim.py プロジェクト: latinos/WWAnalysis
process.patMuonsWithTrigger = cms.EDProducer( 'PATTriggerMatchMuonEmbedder',
    src     = cms.InputTag(  'patMuons' ),
    matches = cms.VInputTag('muonTriggerMatchHLT')
)

process.patMuons.embedPFCandidate = False
process.patMuons.embedTrack = True

process.muonMatch.matched = "prunedGen"


if isMC: 
    if False: ## Turn this on to get extra info on muon MC origin, on GEN-SIM-RECO
        process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")
        from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
        addClassByHits(process.patMuons, labels=['classByHitsGlb'], extraInfo = True)
        process.muonClassificationByHits = cms.Sequence(process.mix * process.trackingParticlesNoSimHits * process.classByHitsGlb )
        process.preMuonSequence = cms.Sequence(process.prunedGen * process.muonMatch + process.patTrigger 
#                                               + process.muonClassificationByHits
                                               )
        process.MessageLogger.suppressWarning += ['classByHitsGlb'] # kill stupid RPC hit associator warning
    else:
        process.preMuonSequence = cms.Sequence(process.prunedGen * process.muonMatch + process.patTrigger)

else:
    removeMCMatching(process, ['Muons'])
    process.preMuonSequence = cms.Sequence(process.patTrigger )



コード例 #9
0
#process.muonMatchHLTL1.useTrack = 'global'
#process.muonMatchHLTL1.useState = 'outermost'

## === Switch off ambiguity resolution in trigger matching ====
## can be a good idea if you're working with events with a single true muon + ghosts
## and you're applying the quality cuts that kill the ghosts only afterwards
switchOffAmbiguityResolution(process)

### Adding MCtruth Info to the PATMuon
from MuonAnalysis.MuonAssociators.patMuonsWithTrigger_8E29_cff import addMCinfo
addMCinfo(process)

### Add MC classification by hits
process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")
from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
addClassByHits(process.patMuonsWithoutTrigger, extraInfo=True)
## add two other classifications with preselection, to get different ghosts
process.classByHitsTMA = process.classByHitsTM.clone(
    muonPreselection=cms.string("muonID('TrackerMuonArbitrated')"))
process.classByHitsGlbPT = process.classByHitsGlb.clone(
    muonPreselection=cms.string("muonID('GlobalMuonPromptTight')"))
process.muonClassificationByHits.replace(
    process.classByHitsTM, process.classByHitsTM + process.classByHitsTMA)
process.muonClassificationByHits.replace(
    process.classByHitsGlb, process.classByHitsGlb + process.classByHitsGlbPT)
addClassByHits(process.patMuonsWithoutTrigger,
               labels=["classByHitsTMA", "classByHitsGlbPT"],
               extraInfo=False)

### Adding Info about the Muon Station involved to the PATMuon
process.load("MuonAnalysis.Examples.muonStations_cfi")
コード例 #10
0
    embedCombinedMuon   = True,
    embedStandAloneMuon = True,
    # then switch off some features we don't need
    #addTeVRefits = False, ## <<--- this doesn't work. PAT bug ??
    embedPickyMuon = False,
    embedTpfmsMuon = False, 
    userIsolation = cms.PSet(),   # no extra isolation beyond what's in reco::Muon itself
    isoDeposits = cms.PSet(), # no heavy isodeposits
    addGenMatch = False,       
    embedGenMatch = False,
)

process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")

from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
addClassByHits(process.patMuons, extraInfo=True)

# as an example, now we define yet another classification, only for TMLastStationLoose.
# (the selection matters when you define ghosts)
process.classByHitsTMLSLoose = process.classByHitsTM.clone(
    muonPreselection = cms.string("muonID('TMLastStationLoose')")
)
addClassByHits(process.patMuons, labels=["classByHitsTMLSLoose"], extraInfo=True)


process.go = cms.Path(
    process.preFilter +
    process.filter    +
    ( process.mergedTruth *
      process.genMuons    *
      process.muonMatch   +
コード例 #11
0
ファイル: patMuons_mc_cfg.py プロジェクト: aashaqshah/cmssw-1
#process.muonMatchHLTL1.useTrack = 'global'
#process.muonMatchHLTL1.useState = 'outermost'

## === Switch off ambiguity resolution in trigger matching ====
## can be a good idea if you're working with events with a single true muon + ghosts
## and you're applying the quality cuts that kill the ghosts only afterwards
switchOffAmbiguityResolution(process)

### Adding MCtruth Info to the PATMuon
from MuonAnalysis.MuonAssociators.patMuonsWithTrigger_8E29_cff import addMCinfo
addMCinfo(process)

### Add MC classification by hits
process.load("MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi")
from MuonAnalysis.MuonAssociators.muonClassificationByHits_cfi import addUserData as addClassByHits
addClassByHits(process.patMuonsWithoutTrigger, extraInfo=True)
## add two other classifications with preselection, to get different ghosts
process.classByHitsTMA = process.classByHitsTM.clone(
    muonPreselection = cms.string("muonID('TrackerMuonArbitrated')")
)
process.classByHitsGlbPT = process.classByHitsGlb.clone(
    muonPreselection = cms.string("muonID('GlobalMuonPromptTight')")
)
process.muonClassificationByHits.replace(process.classByHitsTM,  process.classByHitsTM  + process.classByHitsTMA)
process.muonClassificationByHits.replace(process.classByHitsGlb, process.classByHitsGlb + process.classByHitsGlbPT)
addClassByHits(process.patMuonsWithoutTrigger, labels=["classByHitsTMA","classByHitsGlbPT"], extraInfo=False)

### Adding Info about the Muon Station involved to the PATMuon
process.load("MuonAnalysis.Examples.muonStations_cfi")
from MuonAnalysis.Examples.muonStations_cfi import addUserData as addStations
addStations(process.patMuonsWithoutTrigger)