from RecoJets.JetProducers.QGTagger_cfi import QGTagger qgtagger80x=QGTagger.clone(srcJets="slimmedJets",srcVertexCollection="offlineSlimmedPrimaryVertices") _80x_sequence = nanoSequence.copy() #remove stuff _80x_sequence.remove(isoTrackTable) _80x_sequence.remove(isoTrackSequence) #add qgl _80x_sequence.insert(1,qgtagger80x) _80x_sequenceMC = nanoSequenceMC.copy() _80x_sequenceMC.remove(genSubJetAK8Table) _80x_sequenceMC.remove(genJetFlavourTable) _80x_sequenceMC.insert(-1,genJetFlavourAssociation) _80x_sequenceMC.insert(-1,genJetFlavourTable) run2_miniAOD_80XLegacy.toReplaceWith( nanoSequence, _80x_sequence) run2_miniAOD_80XLegacy.toReplaceWith( nanoSequenceMC, _80x_sequenceMC) from Configuration.Eras.Modifier_run2_nanoAOD_92X_cff import run2_nanoAOD_92X #remove stuff _92x_sequence = nanoSequence.copy() _92x_sequenceMC = nanoSequenceMC.copy() _92x_sequenceMC.remove(genSubJetAK8Table) _92x_sequenceMC.remove(genJetFlavourTable) _92x_sequenceMC.insert(-1,genJetFlavourAssociation) _92x_sequenceMC.insert(-1,genJetFlavourTable) run2_nanoAOD_92X.toReplaceWith( nanoSequence, _92x_sequence) run2_nanoAOD_92X.toReplaceWith( nanoSequenceMC, _92x_sequenceMC)
mcStatus=cms.vint32( 1), # PYTHIA status code (1 = stable, 2 = shower, 3 = hard scattering) maxDeltaR=cms.double(0.3), # Minimum deltaR for the match maxDPtRel=cms.double(0.5), # Minimum deltaPt/Pt for the match resolveAmbiguities=cms.bool( True), # Forbid two RECO objects to match to the same GEN object resolveByMatchQuality=cms.bool( True ), # False = just match input in order; True = pick lowest deltaR pair first ) muonMCTable = cms.EDProducer( "CandMCMatchTableProducer", src=muonTable.src, mcMap=cms.InputTag("muonsMCMatchForTable"), objName=muonTable.name, objType=muonTable.name, #cms.string("Muon"), branchName=cms.string("genPart"), docString=cms.string("MC matching to status==1 muons"), ) muonSequence = cms.Sequence(isoForMu + ptRatioRelForMu + slimmedMuonsWithUserData + finalMuons) muonMC = cms.Sequence(muonsMCMatchForTable + muonMCTable) muonTables = cms.Sequence(muonMVATTH + muonTable) _withUpdate_sequence = muonSequence.copy() _withUpdate_sequence.replace(isoForMu, slimmedMuonsUpdated + isoForMu) run2_nanoAOD_92X.toReplaceWith(muonSequence, _withUpdate_sequence) run2_miniAOD_80XLegacy.toReplaceWith(muonSequence, _withUpdate_sequence)
slimmedJetsAK8WithUserData + jetCorrFactorsAK8 + updatedJetsAK8 + chsForSATkJets + softActivityJets + softActivityJets2 + softActivityJets5 + softActivityJets10 + finalJets + finalJetsAK8) from RecoJets.JetProducers.QGTagger_cfi import QGTagger qgtagger80x = QGTagger.clone( srcJets="slimmedJets", srcVertexCollection="offlineSlimmedPrimaryVertices") _jetSequence_80X = jetSequence.copy() _jetSequence_80X.replace(tightJetIdLepVeto, looseJetId) _jetSequence_80X.replace(tightJetIdLepVetoAK8, looseJetIdAK8) _jetSequence_80X.insert(1, qgtagger80x) run2_miniAOD_80XLegacy.toReplaceWith(jetSequence, _jetSequence_80X) #after cross linkining jetTables = cms.Sequence(bjetMVA + bjetNN + jetTable + fatJetTable + subJetTable + saJetTable + saTable) #MC only producers and tables jetMC = cms.Sequence(jetMCTable + genJetTable + patJetPartons + genJetFlavourTable + genJetAK8Table + genJetAK8FlavourAssociation + genJetAK8FlavourTable + genSubJetAK8Table) _jetMC_pre94X = jetMC.copy() _jetMC_pre94X.insert(_jetMC_pre94X.index(genJetFlavourTable), genJetFlavourAssociation) _jetMC_pre94X.remove(genSubJetAK8Table) run2_miniAOD_80XLegacy.toReplaceWith(jetMC, _jetMC_pre94X) run2_nanoAOD_92X.toReplaceWith(jetMC, _jetMC_pre94X)
electronsMCMatchForTable = cms.EDProducer("MCMatcher", # cut on deltaR, deltaPt/Pt; pick best by deltaR src = electronTable.src, # final reco collection matched = cms.InputTag("finalGenParticles"), # final mc-truth particle collection mcPdgId = cms.vint32(11,22), # one or more PDG ID (11 = el, 22 = pho); absolute values (see below) checkCharge = cms.bool(False), # True = require RECO and MC objects to have the same charge mcStatus = cms.vint32(1), # PYTHIA status code (1 = stable, 2 = shower, 3 = hard scattering) maxDeltaR = cms.double(0.3), # Minimum deltaR for the match maxDPtRel = cms.double(0.5), # Minimum deltaPt/Pt for the match resolveAmbiguities = cms.bool(True), # Forbid two RECO objects to match to the same GEN object resolveByMatchQuality = cms.bool(True), # False = just match input in order; True = pick lowest deltaR pair first ) electronMCTable = cms.EDProducer("CandMCMatchTableProducer", src = electronTable.src, mcMap = cms.InputTag("electronsMCMatchForTable"), objName = electronTable.name, objType = electronTable.name, #cms.string("Electron"), branchName = cms.string("genPart"), docString = cms.string("MC matching to status==1 electrons or photons"), ) electronSequence = cms.Sequence(egmGsfElectronIDSequence + bitmapVIDForEle + isoForEle + ptRatioRelForEle + calibratedPatElectrons + energyCorrForEle + slimmedElectronsWithUserData + finalElectrons) electronTables = cms.Sequence (electronMVATTH + electronTable) electronMC = cms.Sequence(electronsMCMatchForTable + electronMCTable) _withDZ_sequence = electronSequence.copy() _withDZ_sequence.replace(finalElectrons, slimmedElectronsWithDZ+finalElectrons) run2_nanoAOD_92X.toReplaceWith(electronSequence, _withDZ_sequence) run2_miniAOD_80XLegacy.toReplaceWith(electronSequence, _withDZ_sequence)
) ) ### Era dependent customization run2_miniAOD_80XLegacy.toModify( genJetFlavourTable, jetFlavourInfos = cms.InputTag("genJetFlavourAssociation"),) run2_nanoAOD_92X.toModify( genJetFlavourTable, jetFlavourInfos = cms.InputTag("genJetFlavourAssociation"),) #before cross linking jetSequence = cms.Sequence(tightJetId+tightJetIdLepVeto+slimmedJetsWithUserData+jetCorrFactors+updatedJets+tightJetIdAK8+tightJetIdLepVetoAK8+slimmedJetsAK8WithUserData+jetCorrFactorsAK8+updatedJetsAK8+chsForSATkJets+softActivityJets+softActivityJets2+softActivityJets5+softActivityJets10+finalJets+finalJetsAK8) from RecoJets.JetProducers.QGTagger_cfi import QGTagger qgtagger80x=QGTagger.clone(srcJets="slimmedJets",srcVertexCollection="offlineSlimmedPrimaryVertices") _jetSequence_80X = jetSequence.copy() _jetSequence_80X.replace(tightJetIdLepVeto, looseJetId) _jetSequence_80X.replace(tightJetIdLepVetoAK8, looseJetIdAK8) _jetSequence_80X.insert(1,qgtagger80x) run2_miniAOD_80XLegacy.toReplaceWith(jetSequence, _jetSequence_80X) #after cross linkining jetTables = cms.Sequence(bjetMVA+ jetTable+fatJetTable+subJetTable+saJetTable+saTable) #MC only producers and tables jetMC = cms.Sequence(jetMCTable+genJetTable+patJetPartons+genJetFlavourTable+genJetAK8Table+genJetAK8FlavourAssociation+genJetAK8FlavourTable+genSubJetAK8Table) _jetMC_pre94X = jetMC.copy() _jetMC_pre94X.insert(_jetMC_pre94X.index(genJetFlavourTable),genJetFlavourAssociation) _jetMC_pre94X.remove(genSubJetAK8Table) run2_miniAOD_80XLegacy.toReplaceWith(jetMC, _jetMC_pre94X) run2_nanoAOD_92X.toReplaceWith(jetMC, _jetMC_pre94X)
from RecoJets.JetProducers.QGTagger_cfi import QGTagger qgtagger80x = QGTagger.clone( srcJets="slimmedJets", srcVertexCollection="offlineSlimmedPrimaryVertices") _80x_sequence = nanoSequence.copy() #remove stuff _80x_sequence.remove(isoTrackTable) _80x_sequence.remove(isoTrackSequence) #add qgl _80x_sequence.insert(1, qgtagger80x) _80x_sequenceMC = nanoSequenceMC.copy() _80x_sequenceMC.remove(genSubJetAK8Table) _80x_sequenceMC.remove(genJetFlavourTable) _80x_sequenceMC.insert(-1, genJetFlavourAssociation) _80x_sequenceMC.insert(-1, genJetFlavourTable) run2_miniAOD_80XLegacy.toReplaceWith(nanoSequence, _80x_sequence) run2_miniAOD_80XLegacy.toReplaceWith(nanoSequenceMC, _80x_sequenceMC) from Configuration.Eras.Modifier_run2_nanoAOD_92X_cff import run2_nanoAOD_92X #remove stuff _92x_sequence = nanoSequence.copy() _92x_sequenceMC = nanoSequenceMC.copy() _92x_sequenceMC.remove(genSubJetAK8Table) _92x_sequenceMC.remove(genJetFlavourTable) _92x_sequenceMC.insert(-1, genJetFlavourAssociation) _92x_sequenceMC.insert(-1, genJetFlavourTable) run2_nanoAOD_92X.toReplaceWith(nanoSequence, _92x_sequence) run2_nanoAOD_92X.toReplaceWith(nanoSequenceMC, _92x_sequenceMC)
muonsMCMatchForTable = cms.EDProducer("MCMatcher", # cut on deltaR, deltaPt/Pt; pick best by deltaR src = muonTable.src, # final reco collection matched = cms.InputTag("finalGenParticles"), # final mc-truth particle collection mcPdgId = cms.vint32(13), # one or more PDG ID (13 = mu); absolute values (see below) checkCharge = cms.bool(False), # True = require RECO and MC objects to have the same charge mcStatus = cms.vint32(1), # PYTHIA status code (1 = stable, 2 = shower, 3 = hard scattering) maxDeltaR = cms.double(0.3), # Minimum deltaR for the match maxDPtRel = cms.double(0.5), # Minimum deltaPt/Pt for the match resolveAmbiguities = cms.bool(True), # Forbid two RECO objects to match to the same GEN object resolveByMatchQuality = cms.bool(True), # False = just match input in order; True = pick lowest deltaR pair first ) muonMCTable = cms.EDProducer("CandMCMatchTableProducer", src = muonTable.src, mcMap = cms.InputTag("muonsMCMatchForTable"), objName = muonTable.name, objType = muonTable.name, #cms.string("Muon"), branchName = cms.string("genPart"), docString = cms.string("MC matching to status==1 muons"), ) muonSequence = cms.Sequence(isoForMu + ptRatioRelForMu + slimmedMuonsWithUserData + finalMuons) muonMC = cms.Sequence(muonsMCMatchForTable + muonMCTable) muonTables = cms.Sequence(muonMVATTH + muonTable) _withUpdate_sequence = muonSequence.copy() _withUpdate_sequence.replace(isoForMu, slimmedMuonsUpdated+isoForMu) run2_nanoAOD_92X.toReplaceWith(muonSequence, _withUpdate_sequence) run2_miniAOD_80XLegacy.toReplaceWith(muonSequence, _withUpdate_sequence)