CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
boostedMuonIsolation_cff.py
Go to the documentation of this file.
2 
4 muPFIsoDepositChargedForBoostedMuons = muPFIsoDepositCharged.clone(
5  src = cms.InputTag('muons'),
6  ExtractorPSet = muPFIsoDepositCharged.ExtractorPSet.clone(
7  Diff_z = cms.double(0.2)
8  )
9 )
10 muPFIsoDepositNeutralForBoostedMuons = muPFIsoDepositNeutral.clone(
11  src = cms.InputTag('muons')
12 )
13 muPFIsoDepositGammaForBoostedMuons = muPFIsoDepositGamma.clone(
14  src = cms.InputTag('muons')
15 )
16 muPFIsoDepositChargedAllForBoostedMuons = muPFIsoDepositChargedAll.clone(
17  src = cms.InputTag('muons'),
18  ExtractorPSet = muPFIsoDepositChargedAll.ExtractorPSet.clone(
19  Diff_z = cms.double(0.2)
20  )
21 )
22 muPFIsoDepositPUforBoostedTauStudy = muPFIsoDepositPU.clone(
23  src = cms.InputTag('muons')
24 )
25 boostedMuonPFIsolationSequence = cms.Sequence(
26  muPFIsoDepositChargedForBoostedMuons
27  + muPFIsoDepositNeutralForBoostedMuons
28  + muPFIsoDepositGammaForBoostedMuons
29  + muPFIsoDepositChargedAllForBoostedMuons
30  + muPFIsoDepositPUforBoostedTauStudy
31 )
32 
34 patBoostedMuons = patMuons.clone(
35  isoDeposits = cms.PSet(
36  # CV: strings for IsoDeposits defined in PhysicsTools/PatAlgos/plugins/PATMuonProducer.cc
37  pfChargedHadrons = cms.InputTag("muPFIsoDepositChargedForBoostedMuons"),
38  pfNeutralHadrons = cms.InputTag("muPFIsoDepositNeutralForBoostedMuons"),
39  pfPhotons = cms.InputTag("muPFIsoDepositGammaForBoostedMuons"),
40  user = cms.VInputTag(
41  cms.InputTag("muPFIsoDepositChargedAllForBoostedMuons"),
42  cms.InputTag("muPFIsoDepositPUforBoostedTauStudy")
43  )
44  ),
45  addGenMatch = cms.bool(False),
46  embedHighLevelSelection = cms.bool(True),
47  embedCaloMETMuonCorrs = cms.bool(False),
48  embedTcMETMuonCorrs = cms.bool(False),
49  usePV = cms.bool(False) # compute transverse impact parameter wrt. beamspot (not event vertex)
50 )
51 
52 otherSubJetVeto = 'OtherJetConstituentsDeltaRVeto(boostedTauSeeds,0.3,boostedTauSeeds:pfCandAssocMapForIsoDepositVetos,0.01)'
53 
54 pfChargedHadronVetos = muPFIsoValueCharged04.deposits[0].vetos.value()
55 pfChargedHadronVetos.append(otherSubJetVeto)
56 pfChargedHadronVetos.append('Threshold(1.0)')
57 print "pfChargedHadronVetos = %s" % pfChargedHadronVetos
58 
59 pfNeutralHadronVetos = muPFIsoValueNeutral04.deposits[0].vetos.value()
60 pfNeutralHadronVetos.append(otherSubJetVeto)
61 pfNeutralHadronVetos.append('Threshold(2.5)')
62 print "pfNeutralHadronVetos = %s" % pfNeutralHadronVetos
63 
64 pfGammaVetos = muPFIsoValueGamma04.deposits[0].vetos.value()
65 pfGammaVetos.append(otherSubJetVeto)
66 pfGammaVetos.append('Threshold(1.5)')
67 print "pfGammaVetos = %s" % pfGammaVetos
68 
69 userVetos1 = muPFIsoValueChargedAll04.deposits[0].vetos.value()
70 userVetos1.append(otherSubJetVeto)
71 userVetos1.append('Threshold(1.0)')
72 print "userVetos1 = %s" % userVetos1
73 
74 userVetos2 = muPFIsoValuePU04.deposits[0].vetos.value()
75 userVetos2.append(otherSubJetVeto)
76 userVetos2.append('Threshold(0.5)')
77 print "userVetos2 = %s" % userVetos2
78 
79 patBoostedMuons.userIsolation = cms.PSet(
80  # CV: strings for Isolation values defined in PhysicsTools/PatAlgos/src/MultiIsolator.cc
81  pfChargedHadron = cms.PSet(
82  deltaR = cms.double(0.5),
83  src = patBoostedMuons.isoDeposits.pfChargedHadrons,
84  vetos = cms.vstring(pfChargedHadronVetos),
85  skipDefaultVeto = muPFIsoValueCharged04.deposits[0].skipDefaultVeto
86  ),
87  pfNeutralHadron = cms.PSet(
88  deltaR = cms.double(0.5),
89  src = patBoostedMuons.isoDeposits.pfNeutralHadrons,
90  vetos = cms.vstring(pfNeutralHadronVetos),
91  skipDefaultVeto = muPFIsoValueNeutral04.deposits[0].skipDefaultVeto
92  ),
93  pfGamma = cms.PSet(
94  deltaR = cms.double(0.5),
95  src = patBoostedMuons.isoDeposits.pfPhotons,
96  vetos = cms.vstring(pfGammaVetos),
97  skipDefaultVeto = muPFIsoValueGamma04.deposits[0].skipDefaultVeto
98  ),
99  user = cms.VPSet(
100  cms.PSet(
101  deltaR = cms.double(0.5),
102  src = patBoostedMuons.isoDeposits.user[0],
103  vetos = cms.vstring(userVetos1),
104  skipDefaultVeto = muPFIsoValueChargedAll04.deposits[0].skipDefaultVeto
105  ),
106  cms.PSet(
107  deltaR = cms.double(0.8),
108  src = patBoostedMuons.isoDeposits.user[1],
109  vetos = cms.vstring(userVetos2),
110  skipDefaultVeto = muPFIsoValuePU04.deposits[0].skipDefaultVeto
111  )
112  )
113 )
114 
115 makePatBoostedMuons = cms.Sequence(
116  boostedMuonPFIsolationSequence
117  + patBoostedMuons
118 )