CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/PhysicsTools/IsolationAlgos/python/boostedMuonIsolation_cff.py

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         # CV: strings for IsoDeposits defined in PhysicsTools/PatAlgos/plugins/PATMuonProducer.cc
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) # compute transverse impact parameter wrt. beamspot (not event vertex)
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     # CV: strings for Isolation values defined in PhysicsTools/PatAlgos/src/MultiIsolator.cc
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 )