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 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 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 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 201 of file patMuonsWithTrigger_cff.py.

202 def addDiMuonTriggers(process):
203  print "[MuonAnalysis.MuonAssociators.patMuonsWithTrigger_cff] Di-muon triggers are already enabled by default"
def patMuonsWithTrigger_cff.addL1UserData (   patMuonProducer,
  l1ModuleLabel = "muonL1Info" 
)

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

Definition at line 45 of file patMuonsWithTrigger_cff.py.

Referenced by useExistingPATMuons().

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

Definition at line 193 of file patMuonsWithTrigger_cff.py.

194 def addMCinfo(process):
195  "Add MC matching information to the muons"
196  process.load("PhysicsTools.PatAlgos.mcMatchLayer0.muonMatch_cfi")
197  process.patMuonsWithTriggerSequence.replace(process.patMuonsWithoutTrigger, process.muonMatch + process.patMuonsWithoutTrigger)
198  process.patMuonsWithoutTrigger.addGenMatch = True
199  process.patMuonsWithoutTrigger.embedGenMatch = True
200  process.patMuonsWithoutTrigger.genParticleMatch = 'muonMatch'
def patMuonsWithTrigger_cff.addPreselection (   process,
  cut 
)

Definition at line 187 of file patMuonsWithTrigger_cff.py.

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

Definition at line 171 of file patMuonsWithTrigger_cff.py.

References helpers.massSearchReplaceAnyInputTag().

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

Definition at line 167 of file patMuonsWithTrigger_cff.py.

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

Definition at line 159 of file patMuonsWithTrigger_cff.py.

160 def switchOffAmbiguityResolution(process):
161  "Switch off ambiguity resolution: allow multiple reco muons to match to the same trigger muon"
162  process.muonMatchHLTL1.resolveAmbiguities = False
163  process.muonMatchHLTL2.resolveAmbiguities = False
164  process.muonMatchHLTL3.resolveAmbiguities = False
165  process.muonMatchHLTCtfTrack.resolveAmbiguities = False
166  process.muonMatchHLTTrackMu.resolveAmbiguities = False
def patMuonsWithTrigger_cff.useExistingPATMuons (   process,
  newPatMuonTag,
  addL1Info = False 
)

Definition at line 176 of file patMuonsWithTrigger_cff.py.

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

177 def useExistingPATMuons(process, newPatMuonTag, addL1Info=False):
178  "Start from existing pat Muons instead of producing them"
179  process.patMuonsWithTriggerSequence.remove(process.patMuonsWithoutTrigger)
180  process.patMuonsWithTriggerSequence.remove(process.muonL1Info)
181  process.patMuonsWithTrigger.src = newPatMuonTag
182  from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
183  massSearchReplaceAnyInputTag(process.patMuonsWithTriggerSequence, cms.InputTag('patMuonsWithoutTrigger'), newPatMuonTag)
184  if addL1Info:
185  process.muonL1Info.src = newPatMuonTag.muonSource
186  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.useL1MatchingWindowForSinglets (   process)

Definition at line 204 of file patMuonsWithTrigger_cff.py.

205 def useL1MatchingWindowForSinglets(process):
206  "Change the L1 trigger matching window to be suitable also for CSC single triggers"
207  if hasattr(process, 'muonL1Info'):
208  process.muonL1Info.maxDeltaR = 0.3 #Changed accordingly to Zoltan tuning. It was: 1.2
209  process.muonL1Info.maxDeltaEta = 0.2
210  process.muonL1Info.fallbackToME1 = True
211  if hasattr(process, 'muonMatchHLTL1'):
212  process.muonMatchHLTL1.maxDeltaR = 0.3 #Changed accordingly to Zoltan tuning. It was: 1.2
213  process.muonMatchHLTL1.maxDeltaEta = 0.2
214  process.muonMatchHLTL1.fallbackToME1 = True
215 

Variable Documentation

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

Definition at line 105 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 106 of file patMuonsWithTrigger_cff.py.

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

Single Mu L1.

Definition at line 101 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 102 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 103 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 104 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 107 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 95 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 77 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  # then switch off some features we don't need
11  #addTeVRefits = False, ## <<--- this doesn't work. PAT bug ??
12  embedPickyMuon = False,
13  embedTpfmsMuon = False,
14  userIsolation = cms.PSet(), # no extra isolation beyond what's in reco::Muon itself
15  isoDeposits = cms.PSet(), # no heavy isodeposits
16  addGenMatch = False, # no mc: T&P doesn't take it from here anyway.
17 )

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 135 of file patMuonsWithTrigger_cff.py.

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

Definition at line 151 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patTrigger
Initial value:
1 = cms.EDFilter("PATTriggerObjectStandAloneSelector",
2  src = cms.InputTag("patTriggerFull"),
3  cut = cms.string('coll("hltL1extraParticles") || coll("hltL2MuonCandidates") || coll("hltL3MuonCandidates") || coll("hltGlbTrkMuonCands") || coll("hltMuTrackJpsiCtfTrackCands") || coll("hltMuTrackJpsiEffCtfTrackCands") || coll("hltMuTkMuJpsiTrackerMuonCands")'),
4 )

Definition at line 71 of file patMuonsWithTrigger_cff.py.

tuple patMuonsWithTrigger_cff.patTriggerMatchers1Mu
Initial value:
1 = cms.Sequence(
2  muonMatchHLTL1 +
3  muonMatchHLTL2 +
4  muonMatchHLTL3 +
5  muonMatchHLTL3T
6 )

Definition at line 109 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 115 of file patMuonsWithTrigger_cff.py.

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

Definition at line 123 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 ]

Definition at line 128 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 144 of file patMuonsWithTrigger_cff.py.