diff --git a/PhysicsTools/PatAlgos/python/slimming/puppiForMET_cff.py b/PhysicsTools/PatAlgos/python/slimming/puppiForMET_cff.py index 27a1bea045697..2d26c02350157 100644 --- a/PhysicsTools/PatAlgos/python/slimming/puppiForMET_cff.py +++ b/PhysicsTools/PatAlgos/python/slimming/puppiForMET_cff.py @@ -12,7 +12,8 @@ def makePuppies( process ): def makePuppiesFromMiniAOD( process, createScheduledSequence=False ): task = getPatAlgosToolsTask(process) - process.load('CommonTools.ParticleFlow.pfCHS_cff') + from CommonTools.ParticleFlow.pfCHS_cff import packedPrimaryVertexAssociationJME + setattr(process, "packedPrimaryVertexAssociationJME", packedPrimaryVertexAssociationJME.clone()) task.add(process.packedPrimaryVertexAssociationJME) process.load('CommonTools.PileupAlgos.Puppi_cff') task.add(process.puppi) @@ -30,5 +31,7 @@ def makePuppiesFromMiniAOD( process, createScheduledSequence=False ): #making a sequence for people running the MET tool in scheduled mode if createScheduledSequence: - puppiMETSequence = cms.Sequence(process.packedPrimaryVertexAssociationJME*process.puppi*process.puppiNoLep) + puppiMETTask = cms.Task(process.packedPrimaryVertexAssociationJME, process.puppi, process.puppiNoLep) + setattr(process, "puppiMETTask", puppiMETTask) + puppiMETSequence = cms.Sequence(puppiMETTask) setattr(process, "puppiMETSequence", puppiMETSequence) diff --git a/PhysicsTools/PatAlgos/python/tools/jetCollectionTools.py b/PhysicsTools/PatAlgos/python/tools/jetCollectionTools.py index f39e4b0a90c16..01d00edfec39b 100644 --- a/PhysicsTools/PatAlgos/python/tools/jetCollectionTools.py +++ b/PhysicsTools/PatAlgos/python/tools/jetCollectionTools.py @@ -283,8 +283,9 @@ def addRecoJetCollection(self, # elif recoJetInfo.jetPUMethod == "chs": from CommonTools.ParticleFlow.pfCHS_cff import pfCHS, packedPrimaryVertexAssociationJME + self.addProcessAndTask(proc, "packedPrimaryVertexAssociationJME", packedPrimaryVertexAssociationJME.clone()) + self.prerequisites.append("packedPrimaryVertexAssociationJME") self.addProcessAndTask(proc, pfCand, pfCHS.clone()) - self.prerequisites.append(process.packedPrimaryVertexAssociationJME) self.prerequisites.append(pfCand) # # PUPPI diff --git a/PhysicsTools/PatUtils/python/tools/runMETCorrectionsAndUncertainties.py b/PhysicsTools/PatUtils/python/tools/runMETCorrectionsAndUncertainties.py index 739cc55562a12..a37b20ba73048 100644 --- a/PhysicsTools/PatUtils/python/tools/runMETCorrectionsAndUncertainties.py +++ b/PhysicsTools/PatUtils/python/tools/runMETCorrectionsAndUncertainties.py @@ -915,7 +915,7 @@ def getMETUncertainties(self, process, metType, metModName, electronCollection, # PFPhotons : #------------ pfPhotons = cms.EDFilter("CandPtrSelector", - src = pfCandCollection, + src = pfCandCollection if self._parameters["Puppi"].value or not self._parameters["onMiniAOD"].value else cms.InputTag("pfCHS"), cut = cms.string("abs(pdgId) = 22") ) addToProcessAndTask("pfPhotons"+postfix, pfPhotons, process, task)