/ElectroWeakAnalysis/Skimming/python/patCandidatesForDimuonsSequences_cff.py

https://github.com/aivanov-cern/cmssw · Python · 167 lines · 122 code · 24 blank · 21 comment · 0 complexity · 56322884301e3867204d7cadfe311b43 MD5 · raw file

  1. import FWCore.ParameterSet.Config as cms
  2. from SimGeneral.HepPDTESSource.pythiapdt_cfi import *
  3. # PAT TRACKS
  4. # before pat: conversion to track candidates for pat; isolation
  5. #from PhysicsTools.PatAlgos.recoLayer0.genericTrackCandidates_cff import *
  6. from ElectroWeakAnalysis.Skimming.patAODTrackCandSequence_cff import *
  7. patAODTrackCands.cut = 'pt > 10.'
  8. # before pat: MC match
  9. #from PhysicsTools.PatAlgos.mcMatchLayer0.trackMuMatch_cfi import *
  10. from ElectroWeakAnalysis.Skimming.trackMuMatch_cfi import *
  11. trackMuMatch.maxDeltaR = 0.15
  12. trackMuMatch.maxDPtRel = 1.0
  13. trackMuMatch.resolveAmbiguities = True
  14. trackMuMatch.resolveByMatchQuality = True
  15. # pat tracks
  16. from PhysicsTools.PatAlgos.producersLayer1.genericParticleProducer_cfi import patGenericParticles
  17. allPatTracks = patGenericParticles.clone(
  18. src = cms.InputTag("patAODTrackCands"),
  19. # isolation configurables
  20. userIsolation = cms.PSet(
  21. tracker = cms.PSet(
  22. veto = cms.double(0.015),
  23. src = cms.InputTag("patAODTrackIsoDepositCtfTk"),
  24. deltaR = cms.double(0.3),
  25. threshold = cms.double(1.5)
  26. ),
  27. ecal = cms.PSet(
  28. src = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","ecal"),
  29. deltaR = cms.double(0.3)
  30. ),
  31. hcal = cms.PSet(
  32. src = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","hcal"),
  33. deltaR = cms.double(0.3)
  34. ),
  35. ),
  36. isoDeposits = cms.PSet(
  37. tracker = cms.InputTag("patAODTrackIsoDepositCtfTk"),
  38. ecal = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","ecal"),
  39. hcal = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","hcal")
  40. ),
  41. addGenMatch = cms.bool(True),
  42. genParticleMatch = cms.InputTag("trackMuMatch")
  43. )
  44. from PhysicsTools.PatAlgos.selectionLayer1.trackSelector_cfi import *
  45. selectedPatTracks.cut = 'pt > 10.'
  46. # PAT MUONS
  47. # before pat: MC match
  48. from PhysicsTools.PatAlgos.mcMatchLayer0.muonMatch_cfi import *
  49. muonMatch.maxDeltaR = 0.15
  50. muonMatch.maxDPtRel = 1.0
  51. muonMatch.resolveAmbiguities = True
  52. muonMatch.resolveByMatchQuality = True
  53. # pat muons
  54. # needed starting from 3_6_1
  55. from TrackingTools.TransientTrack.TransientTrackBuilder_cfi import *
  56. #
  57. from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import *
  58. patMuons.isoDeposits = cms.PSet(
  59. tracker = cms.InputTag("muIsoDepositTk"),
  60. ecal = cms.InputTag("muIsoDepositCalByAssociatorTowers","ecal"),
  61. hcal = cms.InputTag("muIsoDepositCalByAssociatorTowers","hcal"),
  62. )
  63. patMuons.userIsolation = cms.PSet(
  64. hcal = cms.PSet(
  65. src = cms.InputTag("muIsoDepositCalByAssociatorTowers","hcal"),
  66. deltaR = cms.double(0.3)
  67. ),
  68. tracker = cms.PSet(
  69. veto = cms.double(0.015),
  70. src = cms.InputTag("muIsoDepositTk"),
  71. deltaR = cms.double(0.3),
  72. threshold = cms.double(1.5)
  73. ),
  74. ecal = cms.PSet(
  75. src = cms.InputTag("muIsoDepositCalByAssociatorTowers","ecal"),
  76. deltaR = cms.double(0.3)
  77. )
  78. )
  79. from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import *
  80. selectedPatMuons.cut = 'pt > 0. & abs(eta) < 100.0'
  81. # trigger info
  82. from PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cfi import *
  83. # to access 8E29 menus
  84. #patTrigger.triggerResults = cms.InputTag( "TriggerResults::HLT8E29" )
  85. #patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT8E29" )
  86. # to access 1E31 menus
  87. patTrigger.triggerResults = cms.InputTag( "TriggerResults::HLT" )
  88. patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT" )
  89. muonTriggerMatchHLTMuons = cms.EDFilter( "PATTriggerMatcherDRDPtLessByR",
  90. src = cms.InputTag( "selectedPatMuons" ),
  91. matched = cms.InputTag( "patTrigger" ),
  92. andOr = cms.bool( False ),
  93. filterIdsEnum = cms.vstring( 'TriggerMuon' ), # 'TriggerMuon' is the enum from trigger::TriggerObjectType for HLT muons
  94. filterIds = cms.vint32( 0 ),
  95. filterLabels = cms.vstring( '*' ),
  96. pathNames = cms.vstring( 'HLT_Mu9' ),
  97. collectionTags = cms.vstring( '*' ),
  98. maxDPtRel = cms.double( 1.0 ),
  99. maxDeltaR = cms.double( 0.2 ),
  100. resolveAmbiguities = cms.bool( True ),
  101. resolveByMatchQuality = cms.bool( True )
  102. )
  103. from PhysicsTools.PatAlgos.triggerLayer1.triggerEventProducer_cfi import *
  104. #patTriggerEvent.patTriggerMatches = [ "muonTriggerMatchHLTMu9" ]
  105. patTriggerEvent.patTriggerMatches = cms.VInputTag( "muonTriggerMatchHLTMuons" )
  106. #patTriggerEvent.patTriggerMatches = cms.VInputTag( "muonTriggerMatchHLTMu9" )
  107. patTriggerSequence = cms.Sequence(
  108. patTrigger *
  109. muonTriggerMatchHLTMuons *
  110. # muonTriggerMatchHLTMu9 *
  111. patTriggerEvent
  112. )
  113. selectedPatMuonsTriggerMatch = cms.EDProducer( "PATTriggerMatchMuonEmbedder",
  114. src = cms.InputTag( "selectedPatMuons" ),
  115. matches = cms.VInputTag( "muonTriggerMatchHLTMuons" )
  116. )
  117. muonTriggerMatchEmbedder = cms.Sequence(
  118. selectedPatMuonsTriggerMatch
  119. )
  120. # pat sequences
  121. beforePatTracks = cms.Sequence(
  122. patAODTrackCandSequence *
  123. trackMuMatch
  124. )
  125. beforePatMuons = cms.Sequence(
  126. muonMatch
  127. )
  128. beforePat = cms.Sequence(
  129. beforePatTracks +
  130. beforePatMuons
  131. )
  132. patCandsSequence = cms.Sequence(
  133. patMuons *
  134. selectedPatMuons *
  135. allPatTracks *
  136. selectedPatTracks
  137. )
  138. goodMuonRecoForDimuon = cms.Sequence(
  139. beforePat *
  140. patCandsSequence *
  141. patTriggerSequence *
  142. muonTriggerMatchEmbedder
  143. )