def loadPujetId(process,collection,mvaOnly=False,isChs=False,release="44X"): ## FIXME 52X and CHS options need to be properly filled if release.startswith("4"): if isChs: algos = stdalgos_4x else: algos = stdalgos_4x elif release.startswith("5"): if isChs: algos = chsalgos_5x else: algos = stdalgos_5x if not mvaOnly: setattr(process, "%s%s" % ("puJetId",collection), pileupJetIdProducer.clone( produceJetIds = cms.bool(True), jetids = cms.InputTag(""), runMvas = cms.bool(False), jets = cms.InputTag(collection), vertexes = cms.InputTag("offlinePrimaryVertices"), algos = cms.VPSet(algos[0]) ) ) setattr(process, "%s%s" % ("puJetMva",collection), pileupJetIdProducer.clone( produceJetIds = cms.bool(False), jetids = cms.InputTag("%s%s" % ("puJetId",collection)), runMvas = cms.bool(True), jets = cms.InputTag(collection), vertexes = cms.InputTag("offlinePrimaryVertices"), algos = cms.VPSet(*algos) ) ) if mvaOnly: setattr(process, "%s%s" % ("puJetIdSequence",collection), getattr(process,"%s%s" % ("puJetMva",collection)) ) else: setattr(process, "%s%s" % ("puJetIdSequence",collection), cms.Sequence(getattr(process,"%s%s" % ("puJetId",collection)) * getattr(process,"%s%s" % ("puJetMva",collection)) ) ) seqeuence = getattr(process, "%s%s" % ("puJetIdSequence",collection)) inputsTag = cms.InputTag("%s%s" % ("puJetId",collection)) mvaTags = {} idTags = {} for a in algos: mvaTags[a.label.value()] = cms.InputTag("%s%s" % ("puJetMva",collection), "%sDiscriminant" % a.label.value()) idTags[a.label.value()] = cms.InputTag("%s%s" % ("puJetMva",collection), "%sId" % a.label.value()) outputCommands = [ "keep *_%s%s_*_*" % ("puJetId",collection), "keep *_%s%s_*_*" % ("puJetMva",collection) ] return seqeuence,inputsTag,mvaTags,idTags,outputCommands
import FWCore.ParameterSet.Config as cms from JetTools.AnalyzerToolbox.pujetidproducer_cfi import pileupJetIdProducer, stdalgos_4x, stdalgos_5x, stdalgos, cutbased, chsalgos_4x, chsalgos_5x, chsalgos # # Standard pfJets # puJetId = pileupJetIdProducer.clone( produceJetIds = cms.bool(True), jetids = cms.InputTag(""), runMvas = cms.bool(False), jets = cms.InputTag("selectedPatJets"), vertexes = cms.InputTag("offlinePrimaryVertices"), algos = cms.VPSet(cutbased) ) # puJetMva = pileupJetIdProducer.clone( produceJetIds = cms.bool(False), jetids = cms.InputTag("puJetId"), runMvas = cms.bool(True), jets = cms.InputTag("selectedPatJets"), vertexes = cms.InputTag("offlinePrimaryVertices"), algos = stdalgos ) # puJetIdSqeuence = cms.Sequence(puJetId*puJetMva) # # Charged Hadron Subtraction