00001 import FWCore.ParameterSet.Config as cms 00002 00003 # 00004 # generator level info 00005 # 00006 from PhysicsTools.HepMCCandAlgos.genParticles_cfi import * 00007 from RecoJets.Configuration.RecoGenJets_cff import * 00008 from RecoMET.Configuration.RecoGenMET_cff import * 00009 from RecoJets.Configuration.GenJetParticles_cff import * 00010 from RecoMET.Configuration.GenMETParticles_cff import * 00011 # Vertex smearing 00012 # 00013 # There're several types of Vertex smearing module (Gauss, Flat, BeamProfile, Betafunc, BetafuncEarlyCollisions); 00014 # the cff's are available for each one : 00015 # Configuration/StandardSequences/data/VtxSmearedGauss.cff 00016 # Configuration/StandardSequences/data/VtxSmearedFlat.cff 00017 # Configuration/StandardSequences/data/VtxSmearedBeamProfile.cff 00018 # Configuration/StandardSequences/data/VtxSmearedBetafuncNominalCollision.cff 00019 # Configuration/StandardSequences/data/VtxSmearedBetafuncEarlyCollision.cff 00020 # 00021 # Either of the above returns label "VtxSmeared" that is already in the path below 00022 # (but not included here!!!) 00023 # 00024 # Note 1 : one and only label is allowed for either of these modules, 00025 # that is VtxSmeared (the reason is not to allow multiple smearing); 00026 # an attempt to use any other label will cause the Fwk to throw 00027 # Note 2 : because only one label is allowed, a user can have only one 00028 # instance of the Vertex smearing module in a given Configuration; 00029 # in other words, if you put in 2 or all 3 of the available cfi's, 00030 # the Fwk will throw 00031 # 00032 # Currently, we suggest using Betafunc vertex smearing in the desired LHC Configuration 00033 # 00034 # The vertex smearing needs to be called before the particle candidate generation 00035 # 00036 # REMINDER : vertex smearing need a startup seed; 00037 # in your cfg, do NOT forget to give seeds via RandomNumberGeneratorService !!! 00038 # 00039 # Example Configuration of the RandomNumberGeneratorService to appear in cfg: 00040 # service = RandomNumberGeneratorService 00041 # { 00042 # untracked uint32 sourceSeed = 123456789 00043 # PSet moduleSeeds = 00044 # { 00045 # untracked uint32 VtxSmeared = 98765432 00046 # } 00047 # } 00048 VertexSmearing = cms.Sequence(cms.SequencePlaceholder("VtxSmeared")) 00049 GeneInfo = cms.Sequence(genParticles) 00050 genJetMET = cms.Sequence(genJetParticles*recoGenJets+genMETParticles*recoGenMET) 00051 pgen = cms.Sequence(cms.SequencePlaceholder("randomEngineStateProducer")+VertexSmearing+GeneInfo+genJetMET) 00052 00053 # sequence for bare generator result only, without vertex smearing and analysis objects added 00054 00055 pgen_genonly = cms.Sequence(cms.SequencePlaceholder("randomEngineStateProducer")) 00056 00057 # 00058 # this sequence is intended for HI runs/studies; 00059 # 00060 00061 hiGenJets = cms.Sequence(hiGenParticlesForJets*hiRecoGenJets) 00062 00063 from PhysicsTools.HepMCCandAlgos.HiGenParticles_cfi import * 00064 00065 pgen_hi = cms.Sequence(cms.SequencePlaceholder("randomEngineStateProducer")+VertexSmearing+hiGenParticles+hiGenJets) 00066 00067 from SimGeneral.MixingModule.MatchVtx_cfi import * 00068 00069 pgen_himix = cms.Sequence(cms.SequencePlaceholder("randomEngineStateProducer")+matchVtx+hiGenParticles+hiGenJets) 00070 00071 fixGenInfo = cms.Sequence(GeneInfo * genJetMET)