Go to the documentation of this file.00001 import FWCore.ParameterSet.Config as cms
00002
00003 from RecoMuon.MuonIsolation.muonPFIsolation_cff import *
00004 muPFIsoDepositChargedForBoostedMuons = muPFIsoDepositCharged.clone(
00005 src = cms.InputTag('muons'),
00006 ExtractorPSet = muPFIsoDepositCharged.ExtractorPSet.clone(
00007 Diff_z = cms.double(0.2)
00008 )
00009 )
00010 muPFIsoDepositNeutralForBoostedMuons = muPFIsoDepositNeutral.clone(
00011 src = cms.InputTag('muons')
00012 )
00013 muPFIsoDepositGammaForBoostedMuons = muPFIsoDepositGamma.clone(
00014 src = cms.InputTag('muons')
00015 )
00016 muPFIsoDepositChargedAllForBoostedMuons = muPFIsoDepositChargedAll.clone(
00017 src = cms.InputTag('muons'),
00018 ExtractorPSet = muPFIsoDepositChargedAll.ExtractorPSet.clone(
00019 Diff_z = cms.double(0.2)
00020 )
00021 )
00022 muPFIsoDepositPUforBoostedTauStudy = muPFIsoDepositPU.clone(
00023 src = cms.InputTag('muons')
00024 )
00025 boostedMuonPFIsolationSequence = cms.Sequence(
00026 muPFIsoDepositChargedForBoostedMuons
00027 + muPFIsoDepositNeutralForBoostedMuons
00028 + muPFIsoDepositGammaForBoostedMuons
00029 + muPFIsoDepositChargedAllForBoostedMuons
00030 + muPFIsoDepositPUforBoostedTauStudy
00031 )
00032
00033 from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import patMuons
00034 patBoostedMuons = patMuons.clone(
00035 isoDeposits = cms.PSet(
00036
00037 pfChargedHadrons = cms.InputTag("muPFIsoDepositChargedForBoostedMuons"),
00038 pfNeutralHadrons = cms.InputTag("muPFIsoDepositNeutralForBoostedMuons"),
00039 pfPhotons = cms.InputTag("muPFIsoDepositGammaForBoostedMuons"),
00040 user = cms.VInputTag(
00041 cms.InputTag("muPFIsoDepositChargedAllForBoostedMuons"),
00042 cms.InputTag("muPFIsoDepositPUforBoostedTauStudy")
00043 )
00044 ),
00045 addGenMatch = cms.bool(False),
00046 embedHighLevelSelection = cms.bool(True),
00047 embedCaloMETMuonCorrs = cms.bool(False),
00048 embedTcMETMuonCorrs = cms.bool(False),
00049 usePV = cms.bool(False)
00050 )
00051
00052 otherSubJetVeto = 'OtherJetConstituentsDeltaRVeto(boostedTauSeeds,0.3,boostedTauSeeds:pfCandAssocMapForIsoDepositVetos,0.01)'
00053
00054 pfChargedHadronVetos = muPFIsoValueCharged04.deposits[0].vetos.value()
00055 pfChargedHadronVetos.append(otherSubJetVeto)
00056 pfChargedHadronVetos.append('Threshold(1.0)')
00057 print "pfChargedHadronVetos = %s" % pfChargedHadronVetos
00058
00059 pfNeutralHadronVetos = muPFIsoValueNeutral04.deposits[0].vetos.value()
00060 pfNeutralHadronVetos.append(otherSubJetVeto)
00061 pfNeutralHadronVetos.append('Threshold(2.5)')
00062 print "pfNeutralHadronVetos = %s" % pfNeutralHadronVetos
00063
00064 pfGammaVetos = muPFIsoValueGamma04.deposits[0].vetos.value()
00065 pfGammaVetos.append(otherSubJetVeto)
00066 pfGammaVetos.append('Threshold(1.5)')
00067 print "pfGammaVetos = %s" % pfGammaVetos
00068
00069 userVetos1 = muPFIsoValueChargedAll04.deposits[0].vetos.value()
00070 userVetos1.append(otherSubJetVeto)
00071 userVetos1.append('Threshold(1.0)')
00072 print "userVetos1 = %s" % userVetos1
00073
00074 userVetos2 = muPFIsoValuePU04.deposits[0].vetos.value()
00075 userVetos2.append(otherSubJetVeto)
00076 userVetos2.append('Threshold(0.5)')
00077 print "userVetos2 = %s" % userVetos2
00078
00079 patBoostedMuons.userIsolation = cms.PSet(
00080
00081 pfChargedHadron = cms.PSet(
00082 deltaR = cms.double(0.5),
00083 src = patBoostedMuons.isoDeposits.pfChargedHadrons,
00084 vetos = cms.vstring(pfChargedHadronVetos),
00085 skipDefaultVeto = muPFIsoValueCharged04.deposits[0].skipDefaultVeto
00086 ),
00087 pfNeutralHadron = cms.PSet(
00088 deltaR = cms.double(0.5),
00089 src = patBoostedMuons.isoDeposits.pfNeutralHadrons,
00090 vetos = cms.vstring(pfNeutralHadronVetos),
00091 skipDefaultVeto = muPFIsoValueNeutral04.deposits[0].skipDefaultVeto
00092 ),
00093 pfGamma = cms.PSet(
00094 deltaR = cms.double(0.5),
00095 src = patBoostedMuons.isoDeposits.pfPhotons,
00096 vetos = cms.vstring(pfGammaVetos),
00097 skipDefaultVeto = muPFIsoValueGamma04.deposits[0].skipDefaultVeto
00098 ),
00099 user = cms.VPSet(
00100 cms.PSet(
00101 deltaR = cms.double(0.5),
00102 src = patBoostedMuons.isoDeposits.user[0],
00103 vetos = cms.vstring(userVetos1),
00104 skipDefaultVeto = muPFIsoValueChargedAll04.deposits[0].skipDefaultVeto
00105 ),
00106 cms.PSet(
00107 deltaR = cms.double(0.8),
00108 src = patBoostedMuons.isoDeposits.user[1],
00109 vetos = cms.vstring(userVetos2),
00110 skipDefaultVeto = muPFIsoValuePU04.deposits[0].skipDefaultVeto
00111 )
00112 )
00113 )
00114
00115 makePatBoostedMuons = cms.Sequence(
00116 boostedMuonPFIsolationSequence
00117 + patBoostedMuons
00118 )