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 muonMatchHLTTkMu = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltHighPtTkMuonCands")'), 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 214 of file patMuonsWithTrigger_cff.py.

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

Definition at line 217 of file patMuonsWithTrigger_cff.py.

218 def addHLTL1Passthrough(process, embedder="patMuonsWithTrigger"):
219  process.patMuonsWithTriggerSequence.replace(process.muonMatchHLTL3, process.muonMatchHLTL1 + process.muonMatchHLTL3)
220  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 206 of file patMuonsWithTrigger_cff.py.

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

Definition at line 200 of file patMuonsWithTrigger_cff.py.

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

Definition at line 184 of file patMuonsWithTrigger_cff.py.

References helpers.massSearchReplaceAnyInputTag().

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

Definition at line 180 of file patMuonsWithTrigger_cff.py.

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

Definition at line 170 of file patMuonsWithTrigger_cff.py.

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

Definition at line 189 of file patMuonsWithTrigger_cff.py.

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

190 def useExistingPATMuons(process, newPatMuonTag, addL1Info=False):
191  "Start from existing pat Muons instead of producing them"
192  process.patMuonsWithTriggerSequence.remove(process.patMuonsWithoutTrigger)
193  process.patMuonsWithTriggerSequence.remove(process.muonL1Info)
194  process.patMuonsWithTrigger.src = newPatMuonTag
195  from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
196  massSearchReplaceAnyInputTag(process.patMuonsWithTriggerSequence, cms.InputTag('patMuonsWithoutTrigger'), newPatMuonTag)
197  if addL1Info:
198  process.muonL1Info.src = newPatMuonTag.muonSource
199  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 221 of file patMuonsWithTrigger_cff.py.

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

Definition at line 230 of file patMuonsWithTrigger_cff.py.

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

Variable Documentation

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

Definition at line 111 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 112 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.muonMatchHLTTkMu = muonTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltHighPtTkMuonCands")'), maxDeltaR = 0.1, maxDPtRel = 10.0)

Definition at line 110 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 114 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 113 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 146 of file patMuonsWithTrigger_cff.py.

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

Definition at line 162 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", "hltHighPtTkMuonCands", "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  muonMatchHLTTkMu
7 )

Definition at line 116 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  cms.InputTag('muonMatchHLTTkMu'),
8 ]

Definition at line 123 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 132 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 138 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 155 of file patMuonsWithTrigger_cff.py.