Пример #1
0
from PhysicsTools.JetMCAlgos.GenJetParticles_cff import genParticlesForJetsNoNuPlusNoHadron
from PhysicsTools.JetMCAlgos.GenHFHadronMatcher_cfi import matchGenHFHadron


# Supplies PDG ID to real name resolution of MC particles
from SimGeneral.HepPDTESSource.pythiapdt_cfi import *




# Configuration for matching B-hadrons ================================================================
genParticlesForJetsPlusBHadron = genParticlesForJetsPlusNoHadron.clone()
genParticlesForJetsPlusBHadron.injectHadronFlavours = [5]
ak5GenJetsPlusBHadron = ak5GenJets.clone()
ak5GenJetsPlusBHadron.src = "genParticlesForJetsPlusBHadron"
matchGenBHadron = matchGenHFHadron.clone()
matchGenBHadron.flavour = 5
matchGenBHadron.genJets = cms.InputTag("ak5GenJetsPlusBHadron", "", "")
genBHadronMatchingSequence = cms.Sequence( genParticlesForJetsPlusBHadron * ak5GenJetsPlusBHadron * matchGenBHadron )


# Configuration for matching C-hadrons =================================================================
genParticlesForJetsPlusCHadron = genParticlesForJetsPlusNoHadron.clone()
genParticlesForJetsPlusCHadron.injectHadronFlavours = [4]
ak5GenJetsPlusCHadron = ak5GenJets.clone()
ak5GenJetsPlusCHadron.src = "genParticlesForJetsPlusCHadron"
matchGenCHadron = matchGenHFHadron.clone()
matchGenCHadron.flavour = 4
matchGenCHadron.genJets = cms.InputTag("ak5GenJetsPlusCHadron", "", "")
genCHadronMatchingSequence = cms.Sequence( genParticlesForJetsPlusCHadron * ak5GenJetsPlusCHadron * matchGenCHadron )
Пример #2
0
def genHFTool(process, useMiniAOD=True):
    # Setting input particle collections to be used by the tools
    genParticleCollection = ''
    genJetCollection = 'ak4GenJetsCustom'
    if useMiniAOD:
        genParticleCollection = 'prunedGenParticles'
        genJetCollection = 'slimmedGenJets'
    else:
        genParticleCollection = 'genParticles'
        ## producing a subset of genParticles to be used for jet reclustering
        from RecoJets.Configuration.GenJetParticles_cff import genParticlesForJetsNoNu
        process.genParticlesForJetsCustom = genParticlesForJetsNoNu.clone(
            src=genParticleCollection)
        # Producing own jets for testing purposes
        from RecoJets.JetProducers.ak4GenJets_cfi import ak4GenJets
        process.ak4GenJetsCustom = ak4GenJets.clone(
            src='genParticlesForJetsCustom',
            rParam=cms.double(0.4),
            jetAlgorithm=cms.string("AntiKt"))

    # Supplies PDG ID to real name resolution of MC particles
    process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")

    # Ghost particle collection used for Hadron-Jet association
    # MUST use proper input particle collection
    process.load("PhysicsTools.JetMCAlgos.HadronAndPartonSelector_cfi")
    process.selectedHadronsAndPartons.particles = genParticleCollection

    ## Input particle collection for matching to gen jets (partons + leptons)
    # MUST use use proper input jet collection: the jets to which hadrons should be associated
    # rParam and jetAlgorithm MUST match those used for jets to be associated with hadrons
    # More details on the tool: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideBTagMCTools#New_jet_flavour_definition
    from PhysicsTools.JetMCAlgos.AK4PFJetsMCFlavourInfos_cfi import ak4JetFlavourInfos
    process.genJetFlavourInfos = ak4JetFlavourInfos.clone(
        jets=genJetCollection)

    #for cmssw_7_6_X, not ready for 74x
    #process.load("PhysicsTools.JetMCAlgos.GenHFHadronMatcher_cff")
    #added the 3-lines instead of GenHFHadronMatcher_cff
    from PhysicsTools.JetMCAlgos.GenHFHadronMatcher_cfi import matchGenHFHadron
    process.matchGenBHadron = matchGenHFHadron.clone(flavour=5)
    process.matchGenCHadron = matchGenHFHadron.clone(flavour=4)
    ## Plugin for analysing B hadrons
    # MUST use the same particle collection as in selectedHadronsAndPartons
    process.matchGenBHadron.genParticles = genParticleCollection
    process.matchGenBHadron.jetFlavourInfos = "genJetFlavourInfos"
    ## Plugin for analysing C hadrons
    # MUST use the same particle collection as in selectedHadronsAndPartons
    process.matchGenCHadron.genParticles = genParticleCollection
    process.matchGenCHadron.jetFlavourInfos = "genJetFlavourInfos"

    process.load("TopQuarkAnalysis.TopTools.GenTtbarCategorizer_cfi")
    process.GenTtbarCategories = process.categorizeGenTtbar.clone(
        genJets=cms.InputTag(genJetCollection), genJetPtMin=cms.double(20.))
    process.GenTtbarCategories30 = process.categorizeGenTtbar.clone(
        genJets=cms.InputTag(genJetCollection), genJetPtMin=cms.double(30.))
    process.GenTtbarCategories40 = process.categorizeGenTtbar.clone(
        genJets=cms.InputTag(genJetCollection), genJetPtMin=cms.double(40.))

    process.catGenTops.genJetLabel = genJetCollection
    process.catGenTops.mcParticleLabel = genParticleCollection
Пример #3
0
import FWCore.ParameterSet.Config as cms

# Flavour info: jet collection with all associated ghosts
from PhysicsTools.JetMCAlgos.AK5PFJetsMCFlavourInfos_cfi import ak5JetFlavourInfos
genJetFlavourPlusLeptonInfos = ak5JetFlavourInfos.clone(
    leptons = cms.InputTag("selectedHadronsAndPartons","leptons")
)


from PhysicsTools.JetMCAlgos.GenHFHadronMatcher_cfi import matchGenHFHadron


# Configuration for matching B-hadrons ================================================================
matchGenBHadron = matchGenHFHadron.clone(
    jetFlavourInfos = cms.InputTag("genJetFlavourPlusLeptonInfos"),
    flavour = 5
)


# Configuration for matching C-hadrons =================================================================
matchGenCHadron = matchGenHFHadron.clone(
    jetFlavourInfos = cms.InputTag("genJetFlavourPlusLeptonInfos"),
    flavour = 4
)

Пример #4
0
import FWCore.ParameterSet.Config as cms

from PhysicsTools.JetMCAlgos.GenHFHadronMatcher_cfi import matchGenHFHadron

# Configuration for matching B-hadrons ================================================================
matchGenBHadron = matchGenHFHadron.clone(flavour=5)

# Configuration for matching C-hadrons =================================================================
matchGenCHadron = matchGenHFHadron.clone(flavour=4)
Пример #5
0
import FWCore.ParameterSet.Config as cms

# Flavour info: jet collection with all associated ghosts
from PhysicsTools.JetMCAlgos.AK5PFJetsMCFlavourInfos_cfi import ak5JetFlavourInfos
genJetFlavourPlusLeptonInfos = ak5JetFlavourInfos.clone(
    leptons=cms.InputTag("selectedHadronsAndPartons", "leptons"))

from PhysicsTools.JetMCAlgos.GenHFHadronMatcher_cfi import matchGenHFHadron

# Configuration for matching B-hadrons ================================================================
matchGenBHadron = matchGenHFHadron.clone(
    jetFlavourInfos=cms.InputTag("genJetFlavourPlusLeptonInfos"), flavour=5)

# Configuration for matching C-hadrons =================================================================
matchGenCHadron = matchGenHFHadron.clone(
    jetFlavourInfos=cms.InputTag("genJetFlavourPlusLeptonInfos"), flavour=4)
Пример #6
0
import FWCore.ParameterSet.Config as cms

from PhysicsTools.JetMCAlgos.GenHFHadronMatcher_cfi import matchGenHFHadron


# Configuration for matching B-hadrons ================================================================
matchGenBHadron = matchGenHFHadron.clone(
    flavour = 5
)

# Configuration for matching C-hadrons =================================================================
matchGenCHadron = matchGenHFHadron.clone(
    flavour = 4
)