1 import FWCore.ParameterSet.Config
as cms
6 process.patMuons.isoDeposits = cms.PSet()
7 process.patElectrons.isoDeposits = cms.PSet()
8 process.patTaus.isoDeposits = cms.PSet()
9 process.patPhotons.isoDeposits = cms.PSet()
11 process.patMuons.embedTrack =
True 12 process.patMuons.embedCombinedMuon =
True 13 process.patMuons.embedMuonBestTrack =
True 14 process.patMuons.embedStandAloneMuon =
True 15 process.patMuons.embedPickyMuon =
False 16 process.patMuons.embedTpfmsMuon =
False 17 process.patMuons.embedDytMuon =
False 20 process.patElectrons.embedGsfElectronCore =
False 21 process.patElectrons.embedSuperCluster =
False 22 process.patElectrons.embedPflowSuperCluster =
False 23 process.patElectrons.embedSeedCluster =
False 24 process.patElectrons.embedBasicClusters =
False 25 process.patElectrons.embedPreshowerClusters =
False 26 process.patElectrons.embedPflowBasicClusters =
False 27 process.patElectrons.embedPflowPreshowerClusters =
False 28 process.patElectrons.embedRecHits =
False 29 process.patElectrons.electronSource = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
30 process.patElectrons.electronIDSources = cms.PSet(
33 eidRobustLoose = cms.InputTag(
"reducedEgamma",
"eidRobustLoose"),
34 eidRobustTight = cms.InputTag(
"reducedEgamma",
"eidRobustTight"),
35 eidLoose = cms.InputTag(
"reducedEgamma",
"eidLoose"),
36 eidTight = cms.InputTag(
"reducedEgamma",
"eidTight"),
37 eidRobustHighEnergy = cms.InputTag(
"reducedEgamma",
"eidRobustHighEnergy"),
39 process.patElectrons.addPFClusterIso = cms.bool(
True)
41 process.patElectrons.addPuppiIsolation = cms.bool(
True)
42 process.patElectrons.puppiIsolationChargedHadrons = cms.InputTag(
"egmElectronPUPPIIsolation",
"h+-DR030-BarVeto000-EndVeto001")
43 process.patElectrons.puppiIsolationNeutralHadrons = cms.InputTag(
"egmElectronPUPPIIsolation",
"h0-DR030-BarVeto000-EndVeto000")
44 process.patElectrons.puppiIsolationPhotons = cms.InputTag(
"egmElectronPUPPIIsolation",
"gamma-DR030-BarVeto000-EndVeto008")
45 process.patElectrons.puppiNoLeptonsIsolationChargedHadrons = cms.InputTag(
"egmElectronPUPPINoLeptonsIsolation",
"h+-DR030-BarVeto000-EndVeto001")
46 process.patElectrons.puppiNoLeptonsIsolationNeutralHadrons = cms.InputTag(
"egmElectronPUPPINoLeptonsIsolation",
"h0-DR030-BarVeto000-EndVeto000")
47 process.patElectrons.puppiNoLeptonsIsolationPhotons = cms.InputTag(
"egmElectronPUPPINoLeptonsIsolation",
"gamma-DR030-BarVeto000-EndVeto008")
49 process.patElectrons.ecalPFClusterIsoMap = cms.InputTag(
"reducedEgamma",
"eleEcalPFClusIso")
50 process.patElectrons.hcalPFClusterIsoMap = cms.InputTag(
"reducedEgamma",
"eleHcalPFClusIso")
52 process.elPFIsoDepositChargedPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
53 process.elPFIsoDepositChargedAllPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
54 process.elPFIsoDepositNeutralPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
55 process.elPFIsoDepositGammaPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
56 process.elPFIsoDepositPUPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
58 process.patPhotons.embedSuperCluster =
False 59 process.patPhotons.embedSeedCluster =
False 60 process.patPhotons.embedBasicClusters =
False 61 process.patPhotons.embedPreshowerClusters =
False 62 process.patPhotons.embedRecHits =
False 63 process.patPhotons.addPFClusterIso = cms.bool(
True)
66 process.patPhotons.addPuppiIsolation = cms.bool(
True)
67 process.patPhotons.puppiIsolationChargedHadrons = cms.InputTag(
"egmPhotonPUPPIIsolation",
"h+-DR030-")
68 process.patPhotons.puppiIsolationNeutralHadrons = cms.InputTag(
"egmPhotonPUPPIIsolation",
"h0-DR030-")
69 process.patPhotons.puppiIsolationPhotons = cms.InputTag(
"egmPhotonPUPPIIsolation",
"gamma-DR030-")
71 process.patPhotons.ecalPFClusterIsoMap = cms.InputTag(
"reducedEgamma",
"phoEcalPFClusIso")
72 process.patPhotons.hcalPFClusterIsoMap = cms.InputTag(
"reducedEgamma",
"phoHcalPFClusIso")
73 process.patPhotons.photonSource = cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
74 process.patPhotons.electronSource = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
75 process.patPhotons.photonIDSources = cms.PSet(
76 PhotonCutBasedIDLoose = cms.InputTag(
'reducedEgamma',
77 'PhotonCutBasedIDLoose'),
78 PhotonCutBasedIDTight = cms.InputTag(
'reducedEgamma',
79 'PhotonCutBasedIDTight')
82 process.phPFIsoDepositChargedPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
83 process.phPFIsoDepositChargedAllPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
84 process.phPFIsoDepositNeutralPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
85 process.phPFIsoDepositGammaPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
86 process.phPFIsoDepositPUPAT.src = cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
88 process.selectedPatJets.cut = cms.string(
"pt > 10")
89 process.selectedPatMuons.cut = cms.string(
"pt > 5 || isPFMuon || (pt > 3 && (isGlobalMuon || isStandAloneMuon || numberOfMatches > 0 || muonID('RPCMuLoose')))")
90 process.selectedPatElectrons.cut = cms.string(
"")
91 process.selectedPatTaus.cut = cms.string(
"pt > 18. && tauID('decayModeFindingNewDMs')> 0.5")
92 process.selectedPatPhotons.cut = cms.string(
"")
96 from PhysicsTools.PatAlgos.slimming.applySubstructure_cff
import applySubstructure
101 from PhysicsTools.PatAlgos.tools.trigTools
import switchOnTriggerStandAlone
103 process.patTrigger.packTriggerPathNames = cms.bool(
True)
108 from PhysicsTools.PatUtils.tools.runMETCorrectionsAndUncertainties
import runMetCorAndUncForMiniAODProduction
110 jetCollUnskimmed=
"patJets")
113 from PhysicsTools.PatAlgos.tools.metTools
import addMETCollection
114 addMETCollection(process,
115 labelName =
"patCaloMet",
116 metSource =
"caloMetM" 120 process.noHFCands = cms.EDFilter(
"GenericPFCandidateSelector",
121 src=cms.InputTag(
"particleFlow"),
122 cut=cms.string(
"abs(pdgId)!=1 && abs(pdgId)!=2 && abs(eta)<3.0")
125 pfCandColl=cms.InputTag(
"noHFCands"),
126 recoMetFromPFCs=
True,
127 jetSelection=
"pt>15 && abs(eta)<3.",
131 process.load(
'PhysicsTools.PatAlgos.slimming.slimmedMETs_cfi')
132 process.slimmedMETsNoHF = process.slimmedMETs.clone()
133 process.slimmedMETsNoHF.src = cms.InputTag(
"patMETsNoHF")
134 process.slimmedMETsNoHF.rawVariation = cms.InputTag(
"patPFMetNoHF")
135 process.slimmedMETsNoHF.t1Uncertainties = cms.InputTag(
"patPFMetT1%sNoHF")
136 process.slimmedMETsNoHF.t01Variation = cms.InputTag(
"patPFMetT0pcT1NoHF")
137 process.slimmedMETsNoHF.t1SmearedVarsAndUncs = cms.InputTag(
"patPFMetT1Smear%sNoHF")
138 process.slimmedMETsNoHF.tXYUncForRaw = cms.InputTag(
"patPFMetTxyNoHF")
139 process.slimmedMETsNoHF.tXYUncForT1 = cms.InputTag(
"patPFMetT1TxyNoHF")
140 process.slimmedMETsNoHF.tXYUncForT01 = cms.InputTag(
"patPFMetT0pcT1TxyNoHF")
141 process.slimmedMETsNoHF.tXYUncForT1Smear = cms.InputTag(
"patPFMetT1SmearTxyNoHF")
142 process.slimmedMETsNoHF.tXYUncForT01Smear = cms.InputTag(
"patPFMetT0pcT1SmearTxyNoHF")
143 del process.slimmedMETsNoHF.caloMET
148 if not hasattr( process,
'pfImpactParameterTagInfos' ):
149 process.load(
'RecoBTag.ImpactParameter.pfImpactParameterTagInfos_cfi')
150 if not hasattr( process,
'pfSecondaryVertexTagInfos' ):
151 process.load(
'RecoBTag.SecondaryVertex.pfSecondaryVertexTagInfos_cfi')
152 process.patJets.userData.userFunctions = cms.vstring(
153 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.M):(0)',
154 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).numberOfSourceCandidatePtrs):(0)',
155 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").flightDistance(0).value):(0)',
156 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").flightDistance(0).significance):(0)',
157 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.x):(0)',
158 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.y):(0)',
159 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).p4.z):(0)',
160 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).vertex.x):(0)',
161 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).vertex.y):(0)',
162 '?(tagInfoCandSecondaryVertex("pfSecondaryVertex").nVertices()>0)?(tagInfoCandSecondaryVertex("pfSecondaryVertex").secondaryVertex(0).vertex.z):(0)',
164 process.patJets.userData.userFunctionLabels = cms.vstring(
'vtxMass',
'vtxNtracks',
'vtx3DVal',
'vtx3DSig',
'vtxPx',
'vtxPy',
'vtxPz',
'vtxPosX',
'vtxPosY',
'vtxPosZ')
165 process.patJets.tagInfoSources = cms.VInputTag(cms.InputTag(
"pfSecondaryVertexTagInfos"))
166 process.patJets.addTagInfos = cms.bool(
True)
175 jetSource = cms.InputTag(
'selectedPatJets'),
177 pvSource = cms.InputTag(
'offlinePrimaryVertices'),
178 pfCandidates = cms.InputTag(
'particleFlow'),
179 svSource = cms.InputTag(
'inclusiveCandidateSecondaryVertices'),
180 muSource = cms.InputTag(
'muons'),
181 elSource = cms.InputTag(
'gedGsfElectrons'),
183 jetCorrections = (
'AK4PFchs', [
'L1FastJet',
'L2Relative',
'L3Absolute'],
''),
184 btagDiscriminators = [
"pfCombinedSecondaryVertexV2BJetTags",
"pfCombinedInclusiveSecondaryVertexV2BJetTags",
185 "pfCombinedCvsLJetTags",
"pfCombinedCvsBJetTags"],
187 tightBTagNTkHits =
True,
188 btagPrefix =
'tight',
193 process.load(
"RecoJets.JetProducers.PileupJetID_cfi")
194 process.patJets.userData.userFloats.src = [ cms.InputTag(
"pileupJetId:fullDiscriminant"), ]
195 process.patJets.userData.userInts.src = [ cms.InputTag(
"pileupJetId:fullId"), ]
198 process.caloJetMap = cms.EDProducer(
"RecoJetDeltaRValueMapProducer",
199 src = process.patJets.jetSource,
200 matched = cms.InputTag(
"ak4CaloJets"),
201 distMax = cms.double(0.4),
202 values = cms.vstring(
'pt',
'emEnergyFraction'),
203 valueLabels = cms.vstring(
'pt',
'emEnergyFraction'),
204 lazyParser = cms.bool(
True) )
205 process.patJets.userData.userFloats.src += [ cms.InputTag(
"caloJetMap:pt"), cms.InputTag(
"caloJetMap:emEnergyFraction") ]
208 from PhysicsTools.PatAlgos.slimming.egmIsolationsPUPPI_cfi
import makeInputForPUPPIIsolationEgm
210 from RecoEgamma.EgammaTools.egammaObjectModificationsInMiniAOD_cff
import egamma_modifications
211 process.slimmedElectrons.modifierConfig.modifications = egamma_modifications
212 process.slimmedPhotons.modifierConfig.modifications = egamma_modifications
215 electron_ids = [
'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_PHYS14_PU20bx25_V2_cff',
216 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Spring15_25ns_V1_cff',
217 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Spring15_50ns_V2_cff',
218 'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV60_cff',
219 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_nonTrig_V1_cff',
220 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_Trig_V1_cff',
221 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_50ns_Trig_V1_cff']
223 process.egmGsfElectronIDs.physicsObjectSrc = \
224 cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
225 process.electronMVAValueMapProducer.src = \
226 cms.InputTag(
'reducedEgamma',
'reducedGedGsfElectrons')
227 process.electronRegressionValueMapProducer.src = \
228 cms.InputTag(
'reducedEgamma',
'reducedGedGsfElectrons')
229 for idmod
in electron_ids:
233 if hasattr(process,
'heepIDVarValueMaps'):
234 process.heepIDVarValueMaps.elesMiniAOD = cms.InputTag(
'reducedEgamma',
'reducedGedGsfElectrons')
236 process.heepIDVarValueMaps.dataFormat = cms.int32(2)
240 photon_ids = [
'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring15_25ns_V1_cff',
241 'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring15_50ns_V1_cff',
242 'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring15_25ns_nonTrig_V2p1_cff',
243 'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring15_50ns_nonTrig_V2p1_cff']
245 process.egmPhotonIDs.physicsObjectSrc = \
246 cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
247 process.photonIDValueMapProducer.src = \
248 cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
249 process.photonRegressionValueMapProducer.src = \
250 cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
251 process.photonIDValueMapProducer.particleBasedIsolation = \
252 cms.InputTag(
"reducedEgamma",
"reducedPhotonPfCandMap")
253 process.photonMVAValueMapProducer.src = \
254 cms.InputTag(
'reducedEgamma',
'reducedGedPhotons')
255 for idmod
in photon_ids:
260 from RecoTauTag.Configuration.boostedHPSPFTaus_cfi
import addBoostedTaus
265 process.load(
'RecoJets.JetProducers.ak4PFJetsPuppi_cfi')
267 process.ak4PFJetsPuppi.doAreaFastjet =
True 270 process.ak4PFJetsPuppiTracksAssociatorAtVertex = cms.EDProducer(
"JetTracksAssociatorAtVertex",
272 jets = cms.InputTag(
"ak4PFJetsPuppi")
274 process.patJetPuppiCharge = cms.EDProducer(
"JetChargeProducer",
275 src = cms.InputTag(
"ak4PFJetsPuppiTracksAssociatorAtVertex"),
276 var = cms.string(
'Pt'),
277 exp = cms.double(1.0)
280 addJetCollection(process, postfix =
"", labelName =
'Puppi', jetSource = cms.InputTag(
'ak4PFJetsPuppi'),
281 jetCorrections = (
'AK4PFPuppi', [
'L2Relative',
'L3Absolute'],
''),
282 algo=
'AK', rParam = 0.4, btagDiscriminators =
map(
lambda x: x.value() ,process.patJets.discriminatorSources)
285 process.patJetGenJetMatchPuppi.matched =
'slimmedGenJets' 287 process.patJetsPuppi.jetChargeSource = cms.InputTag(
"patJetPuppiCharge")
289 process.selectedPatJetsPuppi.cut = cms.string(
"pt > 15")
291 process.load(
'PhysicsTools.PatAlgos.slimming.slimmedJets_cfi')
292 process.slimmedJetsPuppi = process.slimmedJets.clone()
293 process.slimmedJetsPuppi.src = cms.InputTag(
"selectedPatJetsPuppi")
294 process.slimmedJetsPuppi.packedPFCandidates = cms.InputTag(
"packedPFCandidates")
298 from PhysicsTools.PatAlgos.slimming.puppiForMET_cff
import makePuppies
302 pfCandColl=cms.InputTag(
"puppiForMET"),
303 jetCollUnskimmed=
"slimmedJetsPuppi",
304 recoMetFromPFCs=
True,
305 jetFlavor=
"AK4PFPuppi",
309 process.load(
'PhysicsTools.PatAlgos.slimming.slimmedMETs_cfi')
310 process.slimmedMETsPuppi = process.slimmedMETs.clone()
311 process.slimmedMETsPuppi.src = cms.InputTag(
"patMETsPuppi")
312 process.slimmedMETsPuppi.rawVariation = cms.InputTag(
"patPFMetPuppi")
313 process.slimmedMETsPuppi.t1Uncertainties = cms.InputTag(
"patPFMetT1%sPuppi")
314 process.slimmedMETsPuppi.t01Variation = cms.InputTag(
"patPFMetT0pcT1Puppi")
315 process.slimmedMETsPuppi.t1SmearedVarsAndUncs = cms.InputTag(
"patPFMetT1Smear%sPuppi")
316 process.slimmedMETsPuppi.tXYUncForRaw = cms.InputTag(
"patPFMetTxyPuppi")
317 process.slimmedMETsPuppi.tXYUncForT1 = cms.InputTag(
"patPFMetT1TxyPuppi")
318 process.slimmedMETsPuppi.tXYUncForT01 = cms.InputTag(
"patPFMetT0pcT1TxyPuppi")
319 process.slimmedMETsPuppi.tXYUncForT1Smear = cms.InputTag(
"patPFMetT1SmearTxyPuppi")
320 process.slimmedMETsPuppi.tXYUncForT01Smear = cms.InputTag(
"patPFMetT0pcT1SmearTxyPuppi")
321 del process.slimmedMETsPuppi.caloMET
327 process.load(
'PhysicsTools.PatAlgos.slimming.slimmedAddPileupInfo_cfi')
329 process.muonMatch.matched =
"prunedGenParticles" 330 process.electronMatch.matched =
"prunedGenParticles" 331 process.electronMatch.src = cms.InputTag(
"reducedEgamma",
"reducedGedGsfElectrons")
332 process.photonMatch.matched =
"prunedGenParticles" 333 process.photonMatch.src = cms.InputTag(
"reducedEgamma",
"reducedGedPhotons")
334 process.tauMatch.matched =
"prunedGenParticles" 335 process.tauGenJets.GenParticles =
"prunedGenParticles" 337 process.tauMatchBoosted.matched =
"prunedGenParticles" 338 process.tauGenJetsBoosted.GenParticles =
"prunedGenParticles" 339 process.patJetPartons.particles =
"prunedGenParticles" 340 process.patJetPartonMatch.matched =
"prunedGenParticles" 341 process.patJetPartonMatch.mcStatus = [ 3, 23 ]
342 process.patJetGenJetMatch.matched =
"slimmedGenJets" 343 process.patJetGenJetMatchAK8.matched =
"slimmedGenJetsAK8" 344 process.patMuons.embedGenMatch =
False 345 process.patElectrons.embedGenMatch =
False 346 process.patPhotons.embedGenMatch =
False 347 process.patTaus.embedGenMatch =
False 348 process.patTausBoosted.embedGenMatch =
False 349 process.patJets.embedGenPartonMatch =
False 351 process.patJetFlavourAssociation.rParam = 0.4
354 out.dropMetaData = cms.untracked.string(
'ALL')
355 out.fastCloning= cms.untracked.bool(
False)
356 out.overrideInputFileSplitLevels = cms.untracked.bool(
True)
357 out.compressionAlgorithm = cms.untracked.string(
'LZMA')
361 runOnData( process, outputModules = [] )
def applySubstructure(process)
def makeInputForPUPPIIsolationEgm(process)
def runMetCorAndUncForMiniAODProduction(process, metType="PF", jetCollUnskimmed="patJets", photonColl="selectedPatPhotons", electronColl="selectedPatElectrons", muonColl="selectedPatMuons", tauColl="selectedPatTaus", pfCandColl="particleFlow", jetCleaning="LepClean", jetSelection="pt>15 && abs(eta)<9.9", jecUnFile="", jetFlavor="AK4PFchs", recoMetFromPFCs=False, postfix="")
def addBoostedTaus(process)