process.ak5CaloJets = ak5CaloJets process.ak7CaloJets = ak5CaloJets.clone(rParam=cms.double(0.7)) from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets process.ak5GenJets = ak5GenJets # CATopJets process.load("RecoJets.Configuration.GenJetParticles_cff") from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets process.ca4GenJets = ca4GenJets ###process.load("VHbbAnalysis.HbbAnalyzer.HbbFilterJets_cff") process.ca8GenJets = ca4GenJets.clone(rParam=cms.double(0.8)) process.load("RecoJets.JetProducers.caSubjetFilterPFJets_cfi") from RecoJets.JetProducers.caSubjetFilterPFJets_cfi import caSubjetFilterPFJets process.caVHPFJets = caSubjetFilterPFJets.clone() process.load("RecoJets.JetProducers.caSubjetFilterCaloJets_cfi") from RecoJets.JetProducers.caSubjetFilterCaloJets_cfi import caSubjetFilterCaloJets process.caVHCaloJets = caSubjetFilterCaloJets.clone() process.load("RecoJets.JetProducers.caSubjetFilterGenJets_cfi") from RecoJets.JetProducers.caSubjetFilterGenJets_cfi import caSubjetFilterGenJets
# Jet Substructure (FastJet 3) # ------------------------------------------------------------------------------ from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets from RecoJets.JetProducers.ak5PFJetsPruned_cfi import ak5PFJetsPruned ak5PrunedPFlow = ak5PFJetsPruned.clone(doAreaFastjet = cms.bool(True)) from RecoJets.JetProducers.ak5PFJetsFiltered_cfi import ak5PFJetsFiltered ak5FilteredPFlow = ak5PFJetsFiltered.clone(doAreaFastjet = cms.bool(True)) from RecoJets.JetProducers.ak5PFJetsFiltered_cfi import ak5PFJetsMassDropFiltered ak5MassDropFilteredPFlow = ak5PFJetsMassDropFiltered.clone(doAreaFastjet = cms.bool(True)) #process.ca12GenJetsNoNu = ca4GenJets.clone( rParam = cms.double(1.2),src = cms.InputTag("genParticlesForJetsNoNu")) process.ca12GenJets = ca4GenJets.clone( rParam = cms.double(1.2),src = cms.InputTag("genParticlesForJets")) process.ca12PFJetsPFlow = ca4PFJets.clone( rParam = cms.double(1.2), src = cms.InputTag("pfNoElectron"+postfix), doAreaFastjet = cms.bool(True), doRhoFastjet = cms.bool(True), Rho_EtaMax = cms.double(6.0), Ghost_EtaMax = cms.double(7.0) ) ## this thing produces subjets by default process.ca12PFJetsPrunedPFlow = ak5PrunedPFlow.clone( src = cms.InputTag("pfNoElectron"+postfix), doAreaFastjet = cms.bool(True), rParam = cms.double(1.2), jetAlgorithm = cms.string("CambridgeAachen"), #writeCompound = cms.bool(True), # this is used by default
# ------------------------------------------------------------------------------ from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets from RecoJets.JetProducers.ak5PFJetsPruned_cfi import ak5PFJetsPruned ak5PrunedPFlow = ak5PFJetsPruned.clone(doAreaFastjet=cms.bool(True)) from RecoJets.JetProducers.ak5PFJetsFiltered_cfi import ak5PFJetsFiltered ak5FilteredPFlow = ak5PFJetsFiltered.clone(doAreaFastjet=cms.bool(True)) from RecoJets.JetProducers.ak5PFJetsFiltered_cfi import ak5PFJetsMassDropFiltered ak5MassDropFilteredPFlow = ak5PFJetsMassDropFiltered.clone( doAreaFastjet=cms.bool(True)) #process.ca12GenJetsNoNu = ca4GenJets.clone( rParam = cms.double(1.2),src = cms.InputTag("genParticlesForJetsNoNu")) process.ca12GenJets = ca4GenJets.clone(rParam=cms.double(1.2), src=cms.InputTag("genParticlesForJets")) process.ca12PFJetsPFlow = ca4PFJets.clone(rParam=cms.double(1.2), src=cms.InputTag("pfNoElectron" + postfix), doAreaFastjet=cms.bool(True), doRhoFastjet=cms.bool(True), Rho_EtaMax=cms.double(6.0), Ghost_EtaMax=cms.double(7.0)) ## this thing produces subjets by default process.ca12PFJetsPrunedPFlow = ak5PrunedPFlow.clone( src=cms.InputTag("pfNoElectron" + postfix), doAreaFastjet=cms.bool(True), rParam=cms.double(1.2), jetAlgorithm=cms.string("CambridgeAachen"), #writeCompound = cms.bool(True), # this is used by default #jetCollInstanceName = cms.string("SubJets"), # this is used by default
from Analysis.BoostedTopAnalysis.BoostedTopWTagParams_cfi import boostedTopWTagParams process.hltHighLevel = cms.EDFilter("HLTHighLevel", TriggerResultsTag = cms.InputTag("TriggerResults","","HLT"), HLTPaths = cms.vstring('HLT_HT750_v*'), # provide list of HLT paths (or patterns) you want eventSetupPathsKey = cms.string(''), # not empty => use read paths from AlCaRecoTriggerBitsRcd via this key andOr = cms.bool(True), # how to deal with multiple triggers: True (OR) accept if ANY is true, False (AND) accept if ALL are true throw = cms.bool(True) # throw exception on unknown path names ) ########################################################################################## # GENJETS from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets process.ca8GenJets = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag(genjetparticles)) process.ca8GenJetsPruned = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag(genjetparticles), usePruning = cms.bool(True), zcut = cms.double(0.1), rcut_factor = cms.double(0.5), nFilt = cms.int32(2), writeCompound = cms.bool(True), jetCollInstanceName=cms.string("SubJets") ) ########################################################################################## # RECO
) getattr(process,'patJets'+postfix).discriminatorSources += cms.VInputTag( cms.InputTag("combinedCSVJPBJetTags"), cms.InputTag("negativeCombinedCSVJPBJetTags"), cms.InputTag("positiveCombinedCSVJPBJetTags"), cms.InputTag("combinedCSVJPSLBJetTags"), cms.InputTag("negativeCombinedCSVJPSLBJetTags"), cms.InputTag("positiveCombinedCSVJPSLBJetTags") ) #------------------------------------- #------------------------------------- # CA8 jets (Gen and Reco) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets process.ca8GenJetsNoNu = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag("genParticlesForJetsNoNu") ) from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets process.ca8PFJets = ca4PFJets.clone( rParam = cms.double(0.8), src = getattr(process,"pfJets"+postfix).src, srcPVs = getattr(process,"pfJets"+postfix).srcPVs, doAreaFastjet = cms.bool(True), jetPtMin = cms.double(options.fatJetPtMin) ) ## CA8 pruned jets (Gen and Reco) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.SubJetParameters_cfi import SubJetParameters process.ca8GenJetsNoNuPruned = ca4GenJets.clone(
select = cms.vstring( 'keep *', 'drop 11 <= abs(pdgId) <= 16', # drop leptons 'keep+ abs(pdgId) == 24', # but keep from W ... 'keep+ abs(pdgId) == 23', # and from Z 'keep+ abs(pdgId) == 25', # and from h0 ) ) ############################################### # GEN JETS from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets process.ca8GenJets = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag(genjetparticles)) process.ca15GenJets = ca4GenJets.clone( rParam = cms.double(1.5), src = cms.InputTag(genjetparticles)) process.ak3GenJets = ak5GenJets.clone( rParam = cms.double(0.3), src = cms.InputTag(genjetparticles)) process.ca15FilteredGenJets = process.ca8GenJets.clone( nFilt = cms.int32(3), rFilt = cms.double(0.3), src = cms.InputTag(genjetparticles), useFiltering = cms.bool(True), useExplicitGhosts = cms.bool(True), writeCompound = cms.bool(True), rParam = cms.double(1.5),
from RecoJets.JetProducers.sc5GenJets_cfi import sisCone5GenJets from RecoJets.JetProducers.ic5GenJets_cfi import iterativeCone5GenJets from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets from RecoJets.JetProducers.gk5GenJets_cfi import gk5GenJets from RecoJets.JetProducers.kt4GenJets_cfi import kt4GenJets from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoHI.HiJetAlgos.HiGenJets_cff import * sisCone7GenJets = sisCone5GenJets.clone( rParam = 0.7 ) ak7GenJets = ak5GenJets.clone( rParam = 0.7 ) gk7GenJets = gk5GenJets.clone( rParam = 0.7 ) kt6GenJets = kt4GenJets.clone( rParam = 0.6 ) ca6GenJets = ca4GenJets.clone( rParam = 0.6 ) sisCone5GenJetsNoNu = sisCone5GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) sisCone7GenJetsNoNu = sisCone7GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) kt4GenJetsNoNu = kt4GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) kt6GenJetsNoNu = kt6GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) iterativeCone5GenJetsNoNu = iterativeCone5GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) ak5GenJetsNoNu = ak5GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) ak7GenJetsNoNu = ak7GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) gk5GenJetsNoNu = gk5GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) gk7GenJetsNoNu = gk7GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) ca4GenJetsNoNu = ca4GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) ca6GenJetsNoNu = ca6GenJets.clone( src = cms.InputTag("genParticlesForJetsNoNu") ) sisCone5GenJetsNoMuNoNu = sisCone5GenJets.clone( src = cms.InputTag("genParticlesForJetsNoMuNoNu") )
9900016, 39, ), partonicFinalState=cms.bool(False), excludeResonances=cms.bool(True), excludeFromResonancePids=cms.vuint32(12, 13, 14, 16), tausAsJets=cms.bool(False), ) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets process.ak5GenJets = ak5GenJets.clone() process.ak5GenJetsNoNu = ak5GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) process.ca8GenJetsNoNu = ca4GenJets.clone(rParam=cms.double(0.8), src=cms.InputTag("genParticlesForJetsNoNu")) process.ak8GenJetsNoNu = ak5GenJets.clone(rParam=cms.double(0.8), src=cms.InputTag("genParticlesForJetsNoNu")) process.load("PhysicsTools.HepMCCandAlgos.flavorHistoryPaths_cfi") process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") process.prunedGenParticles = cms.EDProducer( "GenParticlePruner", src=cms.InputTag("genParticles"), select=cms.vstring( "drop *", "keep status = 3", # keeps particles from the hard matrix element "keep (abs(pdgId) >= 11 & abs(pdgId) <= 16) & status = 1", # keeps e/mu and nus with status 1 "keep (abs(pdgId) = 15) & status = 3", # keeps taus ), )
process.goodOfflinePrimaryVertices = cms.EDFilter( "PrimaryVertexObjectFilter", filterParams=pvSelector.clone( maxZ=cms.double(24.0), minNdof=cms.double(4.0) # this is >= 4 ), src=cms.InputTag(pvSrc)) ############################### ########## Gen Setup ########## ############################### process.load("RecoJets.Configuration.GenJetParticles_cff") from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets process.ca8GenJetsNoNu = ca4GenJets.clone( rParam=cms.double(0.8), src=cms.InputTag("genParticlesForJetsNoNu")) process.ak8GenJetsNoNu = ak5GenJets.clone( rParam=cms.double(0.8), src=cms.InputTag("genParticlesForJetsNoNu")) process.load("TopQuarkAnalysis.TopEventProducers.sequences.ttGenEvent_cff") # add the flavor history process.load("PhysicsTools.HepMCCandAlgos.flavorHistoryPaths_cfi") # prune gen particles process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") process.prunedGenParticles = cms.EDProducer( "GenParticlePruner", src=cms.InputTag("genParticles"), select=cms.vstring(
def createProcess(runOnMC, runCHS, correctMETWithT1, processCaloJets, processCA8Jets, globalTag): ## import skeleton process from PhysicsTools.PatAlgos.patTemplate_cfg import process # load the PAT config process.load("PhysicsTools.PatAlgos.patSequences_cff") process.load("JetMETCorrections.Configuration.JetCorrectionProducers_cff") # Do some CHS stuff process.ak5PFchsL1Fastjet = process.ak5PFL1Fastjet.clone(algorithm = 'AK5PFchs') process.ak5PFchsL2Relative = process.ak5PFL2Relative.clone(algorithm = 'AK5PFchs') process.ak5PFchsL3Absolute = process.ak5PFL3Absolute.clone(algorithm = 'AK5PFchs') process.ak5PFchsResidual = process.ak5PFResidual.clone(algorithm = 'AK5PFchs') process.ak5PFchsL1FastL2L3 = cms.ESProducer( 'JetCorrectionESChain', correctors = cms.vstring('ak5PFchsL1Fastjet', 'ak5PFchsL2Relative','ak5PFchsL3Absolute') ) from PhysicsTools.SelectorUtils.pvSelector_cfi import pvSelector ## The good primary vertex filter ____________________________________________|| ## This filter throw events with no primary vertex process.primaryVertexFilter = cms.EDFilter( "VertexSelector", src = cms.InputTag("offlinePrimaryVertices"), cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2"), filter = cms.bool(True) ) process.goodOfflinePrimaryVertices = cms.EDFilter("PrimaryVertexObjectFilter", filterParams = pvSelector.clone( minNdof = cms.double(4.0), maxZ = cms.double(24.0) ), src = cms.InputTag('offlinePrimaryVertices') ) # Configure PAT to use PF2PAT instead of AOD sources # this function will modify the PAT sequences. from PhysicsTools.PatAlgos.tools.coreTools import removeSpecificPATObjects, removeMCMatching from PhysicsTools.PatAlgos.tools.pfTools import usePF2PAT, adaptPFIsoElectrons, adaptPVs, usePFIso #from PhysicsTools.PatAlgos.tools.metTools import * def usePF2PATForAnalysis(jetAlgo, postfix, useTypeIMET, usePFNoPU): # Jet corrections # No L2L3 Residual on purpose if usePFNoPU: jetCorrections = ("%sPFchs" % algo, ['L1FastJet', 'L2Relative', 'L3Absolute']) postfix += "chs" else: jetCorrections = ("%sPF" % algo, ['L1FastJet', 'L2Relative', 'L3Absolute']) #if not runOnMC: # jetCorrections[1].append('L2L3Residual') p = postfix usePF2PAT(process, runPF2PAT=True, jetAlgo=jetAlgo, runOnMC=runOnMC, postfix=p, jetCorrections=jetCorrections, typeIMetCorrections = useTypeIMET) getattr(process, "pfPileUp" + p).Enable = True getattr(process, "pfPileUp" + p).Vertices = 'goodOfflinePrimaryVertices' getattr(process, "pfPileUp" + p).checkClosestZVertex = cms.bool(False) getattr(process, "pfJets" + p).doAreaFastjet = cms.bool(True) getattr(process, "pfJets" + p).doRhoFastjet = False getattr(process, 'patJetCorrFactors' + p).rho = cms.InputTag("kt6PFJets", "rho") # Do not use kt6PFJetsPFlowAK5, it's not ok for L1FastJet. # top projections in PF2PAT: getattr(process,"pfNoPileUp" + p).enable = cms.bool(usePFNoPU) getattr(process,"pfNoMuon" + p).enable = True getattr(process,"pfNoElectron" + p).enable = True getattr(process,"pfNoTau" + p).enable = True getattr(process,"pfNoJet" + p).enable = True getattr(process,"patElectrons" + p).embedTrack = True getattr(process,"patMuons" + p).embedTrack = True # enable delta beta correction for muon selection in PF2PAT? getattr(process,"pfIsolatedMuons" + p).doDeltaBetaCorrection = True getattr(process, "patJets" + p).embedPFCandidates = False # Keep only jets with pt > 2 Gev getattr(process, "selectedPatJets" + p).cut = "pt > 2"; # Use a cone of 0.3 for photon isolation #adaptPFIsoPhotons(process, applyPostfix(process, "patPhotons", postfix), postfix, "03") # 2012 Photon ID # Electron conversion setattr(process, "patConversions" + p, cms.EDProducer("PATConversionProducer", # input collection electronSource = cms.InputTag("selectedPatElectrons" + p) )) # Switch electron isolation to dR = 0.3, for PF2PAT getattr(process, "pfIsolatedElectrons" + p).isolationValueMapsCharged = cms.VInputTag(cms.InputTag("elPFIsoValueCharged03PFId" + p)) getattr(process, "pfIsolatedElectrons" + p).deltaBetaIsolationValueMap = cms.InputTag("elPFIsoValuePU03PFId" + p) getattr(process, "pfIsolatedElectrons" + p).isolationValueMapsNeutral = cms.VInputTag(cms.InputTag("elPFIsoValueNeutral03PFId" + p), cms.InputTag("elPFIsoValueGamma03PFId" + p)) getattr(process, "pfElectrons" + p).isolationValueMapsCharged = cms.VInputTag(cms.InputTag("elPFIsoValueCharged03PFId" + p)) getattr(process, "pfElectrons" + p).deltaBetaIsolationValueMap = cms.InputTag("elPFIsoValuePU03PFId" + p) getattr(process, "pfElectrons" + p).isolationValueMapsNeutral = cms.VInputTag(cms.InputTag( "elPFIsoValueNeutral03PFId" + p), cms.InputTag("elPFIsoValueGamma03PFId" + p)) # ... And for PAT adaptPFIsoElectrons(process, getattr(process, "pfElectrons" + p), p, "03") if runOnMC: cloneProcessingSnippet(process, getattr(process, "makePatMuons" + p), "Loose" + p, p) getattr(process, "muonMatchLoose" + p).src = cms.InputTag("pfMuons" + p) getattr(process, "patMuonsLoose" + p).pfMuonSource = cms.InputTag("pfMuons" + p) getattr(process, "patDefaultSequence" + p).replace(getattr(process, "makePatMuons" + p), getattr(process, "makePatMuons" + p) + getattr(process, "makePatMuonsLoose" + p)) else: setattr(process, "patMuonsLoose" + p, getattr(process, "patMuons" + p).clone( pfMuonSource = cms.InputTag("pfMuons" + p) ) ) setattr(process, "selectedPatMuonsLoose" + p, getattr(process, "selectedPatMuons" + p).clone( src = cms.InputTag("patMuonsLoose" + p) ) ) sequence = getattr(process, "patDefaultSequence" + p) if not runOnMC: sequence += getattr(process, "patMuonsLoose" + p) sequence += (getattr(process, "selectedPatMuonsLoose" + p)) setattr(process, "patElectronsLoose" + p, getattr(process, "patElectrons" + p).clone( pfElectronSource = cms.InputTag("pfElectrons" + p) ) ) setattr(process, "selectedPatElectronsLoose" + p, getattr(process, "selectedPatElectrons" + p).clone( src = cms.InputTag("patElectronsLoose" + p) ) ) adaptPFIsoElectrons(process, getattr(process, "patElectronsLoose" + p), postfix, "03") sequence = getattr(process, "patDefaultSequence" + p) sequence += (getattr(process, "patElectronsLoose" + p) * getattr(process, "selectedPatElectronsLoose" + p)) #giulia turn off qg tagger ## Setup quark gluon tagger #process.load('QuarkGluonTagger.EightTeV.QGTagger_RecoJets_cff') #cloneProcessingSnippet(process, process.QuarkGluonTagger, p) #getattr(process, "QGTagger" + p).srcJets = cms.InputTag("selectedPatJets" + p) #getattr(process, "QGTagger" + p).isPatJet = cms.untracked.bool(True) #getattr(process, "QGTagger" + p).useCHS = cms.untracked.bool(usePFNoPU) ## Remove the processing of primary vertices, as it's already what we do here #getattr(process, 'QGTagger' + p).srcPV = cms.InputTag('goodOfflinePrimaryVertices') #getattr(process, 'QuarkGluonTagger' + p).remove(getattr(process, 'goodOfflinePrimaryVerticesQG' + p)) if not runOnMC: if 'L2L3Residual' in jetCorrections: getattr(process, 'patPFJetMETtype1p2Corr' + p).jetCorrLabel = 'L2L3Residual' getattr(process, 'patPFMet' + p).addGenMET = cms.bool(False) names = ["Taus"] #if jetAlgo != "AK5": #names += ["Electrons", "Muons"] if len(names) > 0: removeSpecificPATObjects(process, names = names, outputModules = ['out'], postfix = p) adaptPVs(process, pvCollection = cms.InputTag("goodOfflinePrimaryVertices"), postfix = p) getattr(process, "patDefaultSequence" + p).replace(getattr(process, "selectedPatElectrons" + p), getattr(process, "selectedPatElectrons" + p) + getattr(process, "patConversions" + p)) #getattr(process, "patDefaultSequence" + p).replace(getattr(process, "selectedPatJets" + p), getattr(process, "selectedPatJets" + p) + getattr(process, "QuarkGluonTagger" + p)) return getattr(process, "patPF2PATSequence" + p) if correctMETWithT1: process.load("PhysicsTools.PatUtils.patPFMETCorrections_cff") from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet print "##########################" print "PF jets with PF2PAT" print "Using Type I met" if correctMETWithT1 else "NOT using Type I met" print "##########################" #runCHS = False postfixes = {'PFlowAK5': 'AK5'} #postfixes = {'PFlowAK5': 'AK5', 'PFlowAK7': 'AK7', 'PFlowCA8': 'CA8'} #postfixes = {'PFlowCA8': 'CA8'} ##giulia turn off qg tagger ## Setup quark gluon tagger #process.load('QuarkGluonTagger.EightTeV.QGTagger_RecoJets_cff') process.sequence_chs = cms.Sequence() process.sequence_nochs = cms.Sequence() for p, algo in postfixes.items(): process.sequence_nochs += usePF2PATForAnalysis(jetAlgo=algo, postfix=p, usePFNoPU=False, useTypeIMET=correctMETWithT1) if runCHS: process.sequence_chs += usePF2PATForAnalysis(jetAlgo=algo, postfix=p, usePFNoPU=True, useTypeIMET=correctMETWithT1) # setattr(process, 'QGTagger' + p, process.QGTagger.clone()) # getattr(process, "QGTagger" + p).srcJets = cms.InputTag("selectedPatJets" + p) # getattr(process, "QGTagger" + p).isPatJet = cms.untracked.bool(True) # getattr(process, "QGTagger" + p).useCHS = cms.untracked.bool(False) # # process.QuarkGluonTagger.replace(process.QGTagger, getattr(process, 'QGTagger' + p)) if runCHS: chsP = p + "chs" # setattr(process, 'QGTagger' + chsP, process.QGTagger.clone()) # getattr(process, "QGTagger" + chsP).srcJets = cms.InputTag("selectedPatJets" + chsP) # getattr(process, "QGTagger" + chsP).isPatJet = cms.untracked.bool(True) # getattr(process, "QGTagger" + chsP).useCHS = cms.untracked.bool(True) # process.QuarkGluonTagger.replace(getattr(process, 'QGTagger' + p), getattr(process, 'QGTagger' + p) + getattr(process, 'QGTagger' + chsP)) print "##########################" print "Calo jets" if processCaloJets else "No processing of calo jets" print "##########################" usePFIso(process, "") #adaptPFIsoPhotons(process, process.patPhotons, "", "03") # chiara init ---------------------------------- print "##########################" print "CA8 Jets" if processCA8Jets else "No processing of CA8 jets collection" print "##########################" if processCA8Jets: from PhysicsTools.PatAlgos.tools.jetTools import addJetCollection # Reco CA 0.8 jets # non sapendo quali parametri usare esattamente lascerei i default della reco per ora. # Per doAreaFastjet e doRhoFastjet per il momento usiamo quanto e' ridefinito sopra from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets process.ca8PFJetsPFlow = ca4PFJets.clone( rParam = cms.double(0.8) # src = cms.InputTag('pfNoElectron'+postfix), # doAreaFastjet = cms.bool(True), # doRhoFastjet = cms.bool(True), # Rho_EtaMax = cms.double(6.0), # Ghost_EtaMax = cms.double(7.0) ) # Gen CA 0.8 jets from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets process.ca8GenJetsNoNu = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag("genParticlesForJetsNoNu") ) # chiara end ---------------------------------- if processCaloJets: # No L2L3 Residual on purpose jetCorrections = ('AK5Calo', ['L1Offset', 'L2Relative', 'L3Absolute']) addJetCollection(process, cms.InputTag('ak7CaloJets'), 'AK7', 'Calo', doJTA = True, doBTagging = True, jetCorrLabel = jetCorrections, doType1MET = correctMETWithT1, doL1Cleaning = False, doL1Counters = False, genJetCollection = cms.InputTag("ak7GenJets"), doJetID = True, jetIdLabel = "ak7" ) switchJetCollection(process, cms.InputTag('ak5CaloJets'), doJTA = True, doBTagging = True, jetCorrLabel = jetCorrections, doType1MET = correctMETWithT1, genJetCollection = cms.InputTag("ak5GenJets"), doJetID = True, jetIdLabel = "ak5" ) process.selectedPatJets.cut = "pt > 2" process.selectedPatJetsAK7Calo.cut = "pt > 2" else: removeSpecificPATObjects(process, names = ['Jets', 'METs']) if not runOnMC: # Remove MC Matching removeMCMatching(process, names = ["All"]) removeSpecificPATObjects(process, names = ['Electrons', 'Muons', 'Taus']) if runCHS: print "##########################" print "Running CHS sequence" print "##########################" process.analysisSequence = cms.Sequence() process.analysisSequence *= process.sequence_nochs #if runCHS: # process.analysisSequence *= process.sequence_chs # chiara init ---------------------------------- if processCA8Jets: process.analysisSequence *= process.ca8PFJetsPFlow print("done process.ca8PFJetsPFlow") process.analysisSequence *= process.ca8GenJetsNoNu print("done process.ca8GenJetsNoNu") # nuovo # chiara end ---------------------------------- #GIULIA # Quark Gluon tagging #process.analysisSequence *= process.QuarkGluonTagger # Add default pat sequence to our path # This brings to life TcMET, Calo jets and Photons ########process.analysisSequence *= process.patDefaultSequence # Add our PhotonIsolationProducer to the analysisSequence. This producer compute pf isolations # for our photons process.photonPFIsolation = cms.EDProducer("PhotonIsolationProducer", src = cms.InputTag("selectedPatPhotons") ) ##########process.analysisSequence *= process.photonPFIsolation # Filtering # require physics declared process.load('HLTrigger.special.hltPhysicsDeclared_cfi') process.hltPhysicsDeclared.L1GtReadoutRecordTag = 'gtDigis' # require scraping filter process.scrapingVeto = cms.EDFilter("FilterOutScraping", applyfilter = cms.untracked.bool(True), debugOn = cms.untracked.bool(False), numtrack = cms.untracked.uint32(10), thresh = cms.untracked.double(0.25) ) # Count events process.nEventsTotal = cms.EDProducer("EventCountProducer") process.nEventsFiltered = cms.EDProducer("EventCountProducer") # MET Filters process.load("RecoMET.METFilters.metFilters_cff") # HCAL Laser filter : work only on Winter13 rereco process.load("EventFilter.HcalRawToDigi.hcallaserFilterFromTriggerResult_cff") # Let it run process.p = cms.Path( process.nEventsTotal + # Filters process.hcalfilter + process.primaryVertexFilter + process.scrapingVeto + process.metFilters + process.goodOfflinePrimaryVertices + # Physics process.analysisSequence + process.nEventsFiltered ) if runOnMC: process.p.remove(process.hcalfilter) process.p.remove(process.scrapingVeto) # Add PF2PAT output to the created file from PhysicsTools.PatAlgos.patEventContent_cff import patEventContentNoCleaning #process.load("CommonTools.ParticleFlow.PF2PAT_EventContent_cff") process.out.outputCommands = cms.untracked.vstring('drop *', #process.out.outputCommands = cms.untracked.vstring('keep *') #'drop *', 'keep *_*_*_SIM', 'keep *_*_*_HLT', 'keep *_*_*_RECO', 'keep *_*ca8*_*_PAT') #'keep *_photonCore_*_*', #'keep double_kt6*Jets*_rho_*', #'keep *_goodOfflinePrimaryVertices_*_*', #'keep recoPFCandidates_particleFlow_*_*', # Content of *patEventContentNoCleaning #'keep *_selectedPatPhotons*_*_*', 'keep *_selectedPatElectrons*_*_*', 'keep *_selectedPatMuons*_*_*', 'keep *_selectedPatTaus*_*_*', 'keep *_selectedPatJets*_*_*', 'drop *_selectedPatJets_pfCandidates_*', 'drop *_*PF_caloTowers_*', 'drop *_*JPT_pfCandidates_*', 'drop *_*Calo_pfCandidates_*', 'keep *_patMETs*_*_*', 'keep *_selectedPatPFParticles*_*_*', 'keep *_selectedPatTrackCands*_*_*', #'keep *_cleanPatPhotons*_*_*', 'keep *_cleanPatElectrons*_*_*', 'keep *_cleanPatMuons*_*_*', 'keep *_cleanPatTaus*_*_*', #'keep *_cleanPatJets*_*_*', 'keep *_cleanPatHemispheres*_*_*', 'keep *_cleanPatPFParticles*_*_*', #'keep *_cleanPatTrackCands*_*_*', #'drop *_*PFlow_caloTowers_*', # Type I residual #'drop *_selectedPatJetsForMET*_*_PAT', #'keep *_patPFMet*_*_PAT', # Keep raw met # Trigger #'keep *_TriggerResults_*_HLT', # Debug #'keep *_pf*_*_PAT' # Photon ID #'keep *_patConversions*_*_*', #'keep *_photonPFIsolation*_*_*', # Quark Gluon tagging #'keep *_QGTagger*_*_*', #'drop *_kt6PFJetsIsoQG_*_PAT', #'drop *_kt6PFJetsQG_*_PAT', # MC truth #'keep *_genParticles_*_*' #) if runOnMC: process.out.outputCommands.extend(['keep *_addPileupInfo_*_*', 'keep *_generator_*_*']) # switch on PAT trigger # from PhysicsTools.PatAlgos.tools.trigTools import switchOnTrigger # switchOnTrigger( process ) ## ------------------------------------------------------ # In addition you usually want to change the following # parameters: ## ------------------------------------------------------ # process.GlobalTag.globaltag = "%s::All" % (globalTag) ## (according to https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideFrontierConditions) # ## #process.source.fileNames = cms.untracked.vstring('file:input_data.root') ## (e.g. 'file:AOD.root') # ## #process.maxEvents.input = 2500 process.maxEvents.input = 5000 # ## # process.out.outputCommands = [ ... ] ## (e.g. taken from PhysicsTools/PatAlgos/python/patEventContent_cff.py) # ## process.options.wantSummary = False ## (to suppress the long output at the end of the job) process.MessageLogger.cerr.FwkReport.reportEvery = 1000 # Remove annoying ecalLaser messages process.MessageLogger.suppressError = cms.untracked.vstring ('ecalLaserCorrFilter') return process
from RecoJets.JetProducers.sc5GenJets_cfi import sisCone5GenJets from RecoJets.JetProducers.ic5GenJets_cfi import iterativeCone5GenJets from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets from RecoJets.JetProducers.ak4GenJets_cfi import ak4GenJets from RecoJets.JetProducers.gk5GenJets_cfi import gk5GenJets from RecoJets.JetProducers.kt4GenJets_cfi import kt4GenJets from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoHI.HiJetAlgos.HiGenJets_cff import * sisCone8GenJets = sisCone5GenJets.clone(rParam=0.8) ak8GenJets = ak5GenJets.clone(rParam=0.8, jetPtMin=15.0) gk8GenJets = gk5GenJets.clone(rParam=0.8) kt6GenJets = kt4GenJets.clone(rParam=0.6) ca8GenJets = ca4GenJets.clone(rParam=0.8) sisCone5GenJetsNoNu = sisCone5GenJets.clone( src=cms.InputTag("genParticlesForJetsNoNu")) sisCone8GenJetsNoNu = sisCone8GenJets.clone( src=cms.InputTag("genParticlesForJetsNoNu")) kt4GenJetsNoNu = kt4GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) kt6GenJetsNoNu = kt6GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) iterativeCone5GenJetsNoNu = iterativeCone5GenJets.clone( src=cms.InputTag("genParticlesForJetsNoNu")) ak5GenJetsNoNu = ak5GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) ak4GenJetsNoNu = ak4GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) ak8GenJetsNoNu = ak8GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) gk5GenJetsNoNu = gk5GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) gk8GenJetsNoNu = gk8GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu")) ca4GenJetsNoNu = ca4GenJets.clone(src=cms.InputTag("genParticlesForJetsNoNu"))
btagDiscriminators = bTagDiscriminators, jetCorrections = jetCorrectionsAK4, genJetCollection = cms.InputTag(genJetCollection), #genParticles = cms.InputTag(genParticles), #explicitJTA = True, postfix = postfix ) #------------------------------------- #------------------------------------- ## Fat jets (Gen and Reco) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets process.genJetsNoNu = ca4GenJets.clone( jetAlgorithm = cms.string(options.jetAlgo), rParam = cms.double(options.jetRadius), src = (cms.InputTag("packedGenParticlesForJetsNoNu") if options.miniAOD else cms.InputTag("genParticlesForJetsNoNu"+postfix)) ) from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets process.PFJetsCHS = ca4PFJets.clone( jetAlgorithm = cms.string(options.jetAlgo), rParam = cms.double(options.jetRadius), src = (getattr(process,"ak4PFJets").src if options.miniAOD else getattr(process,"pfJetsPFBRECO"+postfix).src), srcPVs = (getattr(process,"ak4PFJets").srcPVs if options.miniAOD else getattr(process,"pfJetsPFBRECO"+postfix).srcPVs), doAreaFastjet = cms.bool(True), jetPtMin = cms.double(options.fatJetPtMin) ) ## Pruned fat jets (Gen and Reco) (each module produces two jet collections, fat jets and subjets) from RecoJets.JetProducers.SubJetParameters_cfi import SubJetParameters process.genJetsNoNuPruned = ca4GenJets.clone( SubJetParameters,
from RecoJets.JetProducers.CATopJetParameters_cfi import * from RecoJets.JetProducers.GenJetParameters_cfi import * from RecoJets.JetProducers.caTopTaggers_cff import * # CATopTagInfos, HEPTopTagInfos # process.CATopTagInfos = CATopTagInfos.clone() ############################################### # GEN JETS from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets process.ak3GenJets = ak5GenJets.clone( rParam = cms.double(0.3), src = cms.InputTag("packedGenParticles")) process.ca8GenJets = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag("packedGenParticles")) process.ak15GenJets = ak5GenJets.clone( rParam = cms.double(1.5), src = cms.InputTag("packedGenParticles")) #ADD NO NU process.ak15GenJetsFiltered = ak5GenJets.clone( rParam = cms.double(1.5), src = cms.InputTag("packedGenParticles"), useFiltering = cms.bool(True), nFilt = cms.int32(3), rFilt = cms.double(0.3), writeCompound = cms.bool(True), jetCollInstanceName=cms.string("SubJets") )
from RecoJets.JetProducers.PFJetParameters_cfi import * from RecoJets.JetProducers.AnomalousCellParameters_cfi import * process.caPrunedPFJets = cms.EDProducer( "SubJetProducer", PFJetParameters, AnomalousCellParameters, SubJetParameters, jetAlgorithm=cms.string("CambridgeAachen"), rParam=SubJetParameters.jetSize) process.caPrunedPFJets.nSubjets = cms.int32(2) process.caPrunedPFJets.inputEMin = cms.double(1.0) process.caPrunedPFJets.jetCollInstanceName = cms.string("subjets") process.ca8GenJets = ca4GenJets.clone(rParam=cms.double(0.8)) from PhysicsTools.PatAlgos.tools.metTools import * addPfMET(process, 'PF') # switch jet collection to our juets from PhysicsTools.PatAlgos.tools.jetTools import * print "About to switch jet collection" if runon == '31x': run33xOn31xMC(process, jetSrc=cms.InputTag("antikt5CaloJets"), jetIdTag="antikt5")
usePF2PAT(process,runPF2PAT=True, jetAlgo=jetAlgo, runOnMC=not options.runOnData, postfix=postfix, jetCorrections=inputJetCorrLabelAK5, pvCollection=cms.InputTag('goodOfflinePrimaryVertices')) ## Top projections in PF2PAT getattr(process,"pfPileUp"+postfix).checkClosestZVertex = False getattr(process,"pfNoPileUp"+postfix).enable = options.usePFchs getattr(process,"pfNoMuon"+postfix).enable = True getattr(process,"pfNoElectron"+postfix).enable = True getattr(process,"pfNoTau"+postfix).enable = False getattr(process,"pfNoJet"+postfix).enable = True #------------------------------------- ## CA8 jets (Gen and Reco) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets process.ca8GenJetsNoNu = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag("genParticlesForJetsNoNu") ) from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets process.ca8PFJetsCHS = ca4PFJets.clone( rParam = cms.double(0.8), src = getattr(process,"pfJets"+postfix).src, srcPVs = getattr(process,"pfJets"+postfix).srcPVs, doAreaFastjet = getattr(process,"pfJets"+postfix).doAreaFastjet, jetPtMin = cms.double(20.) ) ## CA8 filtered jets (Gen and Reco) (each module produces two jet collections, fat jets and subjets) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets process.ca8GenJetsNoNuFiltered = ca4GenJets.clone( rParam = cms.double(0.8), src = cms.InputTag("genParticlesForJetsNoNu"),
cms.InputTag("negativeCombinedCSVJPBJetTags"), cms.InputTag("positiveCombinedCSVJPBJetTags"), cms.InputTag("combinedCSVJPSLBJetTags"), cms.InputTag("negativeCombinedCSVJPSLBJetTags"), cms.InputTag("positiveCombinedCSVJPSLBJetTags")) ## Load standard PAT objects (here we only need PAT muons but the framework will figure out what it needs to run using the unscheduled mode) process.load("PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff") process.load("PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff") #------------------------------------- #------------------------------------- # CA8 jets (Gen and Reco) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets process.ca8GenJetsNoNu = ca4GenJets.clone( rParam=cms.double(0.8), src=cms.InputTag("genParticlesForJetsNoNu" + postfix)) from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets process.ca8PFJets = ca4PFJets.clone(rParam=cms.double(0.8), src=getattr(process, "pfJets" + postfix).src, srcPVs=getattr(process, "pfJets" + postfix).srcPVs, doAreaFastjet=cms.bool(True), jetPtMin=cms.double(options.fatJetPtMin)) ## CA8 pruned jets (Gen and Reco) from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets from RecoJets.JetProducers.SubJetParameters_cfi import SubJetParameters process.ca8GenJetsNoNuPruned = ca4GenJets.clone(