CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions | Variables
patMuonsWithTrigger_cff Namespace Reference

Functions

def addDiMuonTriggers
 
def addHLTL1Passthrough
 
def addL1UserData
 Define a generic function, so that it can be used with existing PAT Muons. More...
 
def addMCinfo
 
def addPreselection
 
def changeRecoMuonInput
 
def changeTriggerProcessName
 
def switchOffAmbiguityResolution
 
def useExistingPATMuons
 
def useExtendedL1Match
 
def useL1MatchingWindowForSinglets
 

Variables

tuple muonMatchHLTCtfTrack = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltMuTrackJpsiCtfTrackCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)
 
tuple muonMatchHLTCtfTrack2 = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltMuTrackJpsiEffCtfTrackCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)
 
tuple muonMatchHLTL1 = muonMatchL1.clone(matchedCuts = cms.string('coll("hltL1extraParticles")'))
 Single Mu L1. More...
 
tuple muonMatchHLTL2 = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltL2MuonCandidates")'), maxDeltaR = 0.3, maxDPtRel = 10.0)
 
tuple muonMatchHLTL3 = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltL3MuonCandidates")'), maxDeltaR = 0.1, maxDPtRel = 10.0)
 
tuple muonMatchHLTL3T = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltGlbTrkMuonCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)
 
tuple muonMatchHLTTrackIt = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltTracksIter")'), maxDeltaR = 0.1, maxDPtRel = 1.0)
 
tuple muonMatchHLTTrackMu = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltMuTkMuJpsiTrackerMuonCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)
 
tuple muonMatchL1
 
tuple muonTriggerMatchHLT
 ==== Then perform a match for all HLT triggers of interest More...
 
tuple patMuonsWithoutTrigger
 
tuple patMuonsWithTrigger
 ==== Embed ==== More...
 
tuple patMuonsWithTriggerSequence
 
tuple patTrigger
 
tuple patTriggerMatchers1Mu
 
list patTriggerMatchers1MuInputTags
 
tuple patTriggerMatchers2Mu
 
list patTriggerMatchers2MuInputTags
 
tuple patTriggerMatching
 ==== Trigger Sequence ==== More...
 

Function Documentation

def patMuonsWithTrigger_cff.addDiMuonTriggers (   process)

Definition at line 210 of file patMuonsWithTrigger_cff.py.

211 def addDiMuonTriggers(process):
212  print "[MuonAnalysis.MuonAssociators.patMuonsWithTrigger_cff] Di-muon triggers are already enabled by default"
def patMuonsWithTrigger_cff.addHLTL1Passthrough (   process,
  embedder = "patMuonsWithTrigger" 
)

Definition at line 213 of file patMuonsWithTrigger_cff.py.

214 def addHLTL1Passthrough(process, embedder="patMuonsWithTrigger"):
215  process.patMuonsWithTriggerSequence.replace(process.muonMatchHLTL3, process.muonMatchHLTL1 + process.muonMatchHLTL3)
216  getattr(process,embedder).matches += [ cms.InputTag('muonMatchHLTL1'), cms.InputTag('muonMatchHLTL1','propagatedReco') ]
def patMuonsWithTrigger_cff.addL1UserData (   patMuonProducer,
  l1ModuleLabel = "muonL1Info" 
)

Define a generic function, so that it can be used with existing PAT Muons.

Definition at line 46 of file patMuonsWithTrigger_cff.py.

Referenced by useExistingPATMuons().

46 
47 def addL1UserData(patMuonProducer, l1ModuleLabel = "muonL1Info"):
48  "Load variables inside PAT muon, from module <l1ModuleLabel> that you must run before it"
49  patMuonProducer.userData.userInts.src += [
50  cms.InputTag(l1ModuleLabel, "quality"), # will be -999 in case of no match
51  ]
52  patMuonProducer.userData.userFloats.src += [
53  cms.InputTag(l1ModuleLabel, "deltaR"), # will be 999 in case of no match
54  ]
55  patMuonProducer.userData.userCands.src += [
56  cms.InputTag(l1ModuleLabel)
57  ]
def addL1UserData
Define a generic function, so that it can be used with existing PAT Muons.
def patMuonsWithTrigger_cff.addMCinfo (   process)

Definition at line 202 of file patMuonsWithTrigger_cff.py.

203 def addMCinfo(process):
204  "Add MC matching information to the muons"
205  process.load("PhysicsTools.PatAlgos.mcMatchLayer0.muonMatch_cfi")
206  process.patMuonsWithTriggerSequence.replace(process.patMuonsWithoutTrigger, process.muonMatch + process.patMuonsWithoutTrigger)
207  process.patMuonsWithoutTrigger.addGenMatch = True
208  process.patMuonsWithoutTrigger.embedGenMatch = True
209  process.patMuonsWithoutTrigger.genParticleMatch = 'muonMatch'
def patMuonsWithTrigger_cff.addPreselection (   process,
  cut 
)

Definition at line 196 of file patMuonsWithTrigger_cff.py.

197 def addPreselection(process, cut):
198  "Add a preselection cut to the muons before matching (might be relevant, due to ambiguity resolution in trigger matching!"
199  process.patMuonsWithoutTriggerUnfiltered = process.patMuonsWithoutTrigger.clone()
200  process.globalReplace('patMuonsWithoutTrigger', cms.EDFilter("PATMuonSelector", src = cms.InputTag('patMuonsWithoutTriggerUnfiltered'), cut = cms.string(cut)))
201  process.patMuonsWithTriggerSequence.replace(process.patMuonsWithoutTrigger, process.patMuonsWithoutTriggerUnfiltered * process.patMuonsWithoutTrigger)
def patMuonsWithTrigger_cff.changeRecoMuonInput (   process,
  recoMuonCollectionTag,
  oldRecoMuonCollectionTag = cms.InputTag("muons") 
)

Definition at line 180 of file patMuonsWithTrigger_cff.py.

References helpers.massSearchReplaceAnyInputTag().

181 def changeRecoMuonInput(process, recoMuonCollectionTag, oldRecoMuonCollectionTag=cms.InputTag("muons")):
182  "Use a different input collection of reco muons"
183  from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
184  massSearchReplaceAnyInputTag(process.patMuonsWithTriggerSequence, oldRecoMuonCollectionTag, recoMuonCollectionTag)
def massSearchReplaceAnyInputTag
Definition: helpers.py:262
def patMuonsWithTrigger_cff.changeTriggerProcessName (   process,
  triggerProcessName,
  oldProcessName = "HLT" 
)

Definition at line 176 of file patMuonsWithTrigger_cff.py.

177 def changeTriggerProcessName(process, triggerProcessName, oldProcessName="HLT"):
178  "Change the process name under which the trigger was run"
179  patTriggerFull.processName = triggerProcessName
def patMuonsWithTrigger_cff.switchOffAmbiguityResolution (   process)

Definition at line 167 of file patMuonsWithTrigger_cff.py.

168 def switchOffAmbiguityResolution(process):
169  "Switch off ambiguity resolution: allow multiple reco muons to match to the same trigger muon"
170  process.muonMatchHLTL1.resolveAmbiguities = False
171  process.muonMatchHLTL2.resolveAmbiguities = False
172  process.muonMatchHLTL3.resolveAmbiguities = False
173  process.muonMatchHLTCtfTrack.resolveAmbiguities = False
174  process.muonMatchHLTTrackMu.resolveAmbiguities = False
175  process.muonMatchHLTTrackIt.resolveAmbiguities = False
def patMuonsWithTrigger_cff.useExistingPATMuons (   process,
  newPatMuonTag,
  addL1Info = False 
)

Definition at line 185 of file patMuonsWithTrigger_cff.py.

References addL1UserData(), and helpers.massSearchReplaceAnyInputTag().

186 def useExistingPATMuons(process, newPatMuonTag, addL1Info=False):
187  "Start from existing pat Muons instead of producing them"
188  process.patMuonsWithTriggerSequence.remove(process.patMuonsWithoutTrigger)
189  process.patMuonsWithTriggerSequence.remove(process.muonL1Info)
190  process.patMuonsWithTrigger.src = newPatMuonTag
191  from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
192  massSearchReplaceAnyInputTag(process.patMuonsWithTriggerSequence, cms.InputTag('patMuonsWithoutTrigger'), newPatMuonTag)
193  if addL1Info:
194  process.muonL1Info.src = newPatMuonTag.muonSource
195  addL1UserData(getattr(process,newPatMuonTag.moduleLabel), 'muonL1Info')
def massSearchReplaceAnyInputTag
Definition: helpers.py:262
def addL1UserData
Define a generic function, so that it can be used with existing PAT Muons.
def patMuonsWithTrigger_cff.useExtendedL1Match (   process,
  patMuonProd = "patMuonsWithoutTrigger",
  byWhat = ["ByQ"] 
)

Definition at line 217 of file patMuonsWithTrigger_cff.py.

218 def useExtendedL1Match(process, patMuonProd="patMuonsWithoutTrigger", byWhat=["ByQ"]):
219  process.load("MuonAnalysis.MuonAssociators.muonL1MultiMatch_cfi")
220  process.globalReplace('muonL1Info', process.muonL1MultiMatch.clone(src = process.muonL1Info.src.value()))
221  pmp = getattr(process, patMuonProd)
222  for X in byWhat:
223  pmp.userData.userInts.src += [ cms.InputTag('muonL1Info', "quality"+X) ]
224  pmp.userData.userFloats.src += [ cms.InputTag('muonL1Info', "deltaR"+X) ]
225  pmp.userData.userCands.src += [ cms.InputTag('muonL1Info', X) ]
def patMuonsWithTrigger_cff.useL1MatchingWindowForSinglets (   process)

Definition at line 226 of file patMuonsWithTrigger_cff.py.

227 def useL1MatchingWindowForSinglets(process):
228  "Change the L1 trigger matching window to be suitable also for CSC single triggers"
229  if hasattr(process, 'muonL1Info'):
230  process.muonL1Info.maxDeltaR = 0.3 #Changed accordingly to Zoltan tuning. It was: 1.2
231  process.muonL1Info.maxDeltaEta = 0.2
232  process.muonL1Info.fallbackToME1 = True
233  if hasattr(process, 'muonMatchHLTL1'):
234  process.muonMatchHLTL1.maxDeltaR = 0.3 #Changed accordingly to Zoltan tuning. It was: 1.2
235  process.muonMatchHLTL1.maxDeltaEta = 0.2
236  process.muonMatchHLTL1.fallbackToME1 = True
237 

Variable Documentation

tuple patMuonsWithTrigger_cff.muonMatchHLTCtfTrack = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltMuTrackJpsiCtfTrackCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)

Definition at line 110 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchHLTCtfTrack2 = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltMuTrackJpsiEffCtfTrackCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)

Definition at line 111 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchHLTL1 = muonMatchL1.clone(matchedCuts = cms.string('coll("hltL1extraParticles")'))

Single Mu L1.

Definition at line 106 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchHLTL2 = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltL2MuonCandidates")'), maxDeltaR = 0.3, maxDPtRel = 10.0)

Definition at line 107 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchHLTL3 = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltL3MuonCandidates")'), maxDeltaR = 0.1, maxDPtRel = 10.0)

Definition at line 108 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchHLTL3T = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltGlbTrkMuonCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)

Definition at line 109 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchHLTTrackIt = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltTracksIter")'), maxDeltaR = 0.1, maxDPtRel = 1.0)

Definition at line 113 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchHLTTrackMu = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltMuTkMuJpsiTrackerMuonCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)

Definition at line 112 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonMatchL1
Initial value:
1 = muonHLTL1Match.clone(
2  src = muonTriggerMatchHLT.src,
3  matched = muonTriggerMatchHLT.matched,
4 )

Definition at line 100 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.muonTriggerMatchHLT
Initial value:
1 = cms.EDProducer( "PATTriggerMatcherDRDPtLessByR",
2  src = cms.InputTag( "patMuonsWithoutTrigger" ),
3  matched = cms.InputTag( "patTrigger" ),
4  matchedCuts = cms.string(""),
5 # andOr = cms.bool( False ),
6 # filterIdsEnum = cms.vstring( '*' ),
7 # filterIds = cms.vint32( 0 ),
8 # filterLabels = cms.vstring( '*' ),
9 # pathNames = cms.vstring( '*' ),
10 # collectionTags = cms.vstring( '*' ),
11  maxDPtRel = cms.double( 0.5 ),
12  maxDeltaR = cms.double( 0.5 ),
13  resolveAmbiguities = cms.bool( True ),
14  resolveByMatchQuality = cms.bool( True ) #change with respect to previous tag
15 )

==== Then perform a match for all HLT triggers of interest

Definition at line 82 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patMuonsWithoutTrigger
Initial value:
1 = PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi.patMuons.clone(
2  muonSource = 'muons',
3  # embed the tracks, so we don't have to carry them around
4  embedTrack = True,
5  embedCombinedMuon = True,
6  embedStandAloneMuon = True,
7  embedPFCandidate = False,
8  embedCaloMETMuonCorrs = cms.bool(False),
9  embedTcMETMuonCorrs = cms.bool(False),
10  embedPfEcalEnergy = cms.bool(False),
11  # then switch off some features we don't need
12  #addTeVRefits = False, ## <<--- this doesn't work. PAT bug ??
13  embedPickyMuon = False,
14  embedTpfmsMuon = False,
15  userIsolation = cms.PSet(), # no extra isolation beyond what's in reco::Muon itself
16  isoDeposits = cms.PSet(), # no heavy isodeposits
17  addGenMatch = False, # no mc: T&P doesn't take it from here anyway.
18 )

Definition at line 12 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patMuonsWithTrigger
Initial value:
1 = cms.EDProducer( "PATTriggerMatchMuonEmbedder",
2  src = cms.InputTag( "patMuonsWithoutTrigger" ),
3  matches = cms.VInputTag()
4 )

==== Embed ====

Definition at line 143 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patMuonsWithTriggerSequence
Initial value:
1 = cms.Sequence(
2  muonL1Info *
3  patMuonsWithoutTrigger *
4  patTriggerMatching
5 )

Definition at line 159 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patTrigger
Initial value:
1 = cms.EDProducer("TriggerObjectFilterByCollection",
2  src = cms.InputTag("patTriggerFull"),
3  collections = cms.vstring("hltL1extraParticles", "hltL2MuonCandidates", "hltL3MuonCandidates", "hltGlbTrkMuonCands", "hltMuTrackJpsiCtfTrackCands", "hltMuTrackJpsiEffCtfTrackCands", "hltMuTkMuJpsiTrackerMuonCands", "hltTracksIter"),
4 )

Definition at line 72 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patTriggerMatchers1Mu
Initial value:
1 = cms.Sequence(
2  #muonMatchHLTL1 + # keep off by default, since it is slow and usually not needed
3  muonMatchHLTL2 +
4  muonMatchHLTL3 +
5  muonMatchHLTL3T
6 )

Definition at line 115 of file patMuonsWithTrigger_cff.py.

list patMuonsWithTrigger_cff.patTriggerMatchers1MuInputTags
Initial value:
1 = [
2  #cms.InputTag('muonMatchHLTL1','propagatedReco'), # fake, will match if and only if he muon did propagate to station 2
3  #cms.InputTag('muonMatchHLTL1'),
4  cms.InputTag('muonMatchHLTL2'),
5  cms.InputTag('muonMatchHLTL3'),
6  cms.InputTag('muonMatchHLTL3T'),
7 ]

Definition at line 121 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patTriggerMatchers2Mu
Initial value:
1 = cms.Sequence(
2  muonMatchHLTCtfTrack +
3  muonMatchHLTCtfTrack2 +
4  muonMatchHLTTrackMu +
5  muonMatchHLTTrackIt
6 )

Definition at line 129 of file patMuonsWithTrigger_cff.py.

list patMuonsWithTrigger_cff.patTriggerMatchers2MuInputTags
Initial value:
1 = [
2  cms.InputTag('muonMatchHLTCtfTrack'),
3  cms.InputTag('muonMatchHLTCtfTrack2'),
4  cms.InputTag('muonMatchHLTTrackMu'),
5  cms.InputTag('muonMatchHLTTrackIt'),
6 ]

Definition at line 135 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patTriggerMatching
Initial value:
1 = cms.Sequence(
2  patTriggerFull * patTrigger *
3  patTriggerMatchers1Mu *
4  patTriggerMatchers2Mu *
5  patMuonsWithTrigger
6 )

==== Trigger Sequence ====

Definition at line 152 of file patMuonsWithTrigger_cff.py.