import FWCore.ParameterSet.Config as cms from Configuration.Generator.Pythia8CommonSettings_cfi import * from Configuration.Generator.MCTunes2017.PythiaCP5Settings_cfi import * from GeneratorInterface.EvtGenInterface.EvtGenSetting_cff import * _generator = cms.EDFilter( "Pythia8GeneratorFilter", pythiaHepMCVerbosity = cms.untracked.bool(False), maxEventsToPrint = cms.untracked.int32(0), pythiaPylistVerbosity = cms.untracked.int32(0), filterEfficiency = cms.untracked.double(2e-05), crossSection = cms.untracked.double(540000000.), comEnergy = cms.double(13000.0), ExternalDecays = cms.PSet( EvtGen130 = cms.untracked.PSet( decay_table = cms.string('GeneratorInterface/EvtGenInterface/data/DECAY_2014_NOLONGLIFE.DEC'), particle_property_file = cms.FileInPath('GeneratorInterface/EvtGenInterface/data/evt_0.1kpilifetime.pdl'), user_decay_file = cms.vstring('GeneratorInterface/EvtGenInterface/data/BdBstohhtoMuMu.dec'), list_forced_decays = cms.vstring('MyB0', 'Myanti-B0', 'MyB_s0', 'Myanti-B_s0'), operates_on_particles = cms.vint32(), convertPythiaCodes = cms.untracked.bool(False), ), parameterSets = cms.vstring('EvtGen130') ), PythiaParameters = cms.PSet( pythia8CommonSettingsBlock, pythia8CP5SettingsBlock, processParameters = cms.vstring( "SoftQCD:nonDiffractive = on", 'PTFilter:filter = on', # this turn on the filter 'PTFilter:quarkToFilter = 5', # PDG id of q quark 'PTFilter:scaleToFilter = 1.0'), parameterSets = cms.vstring( 'pythia8CommonSettings', 'pythia8CP5Settings', 'processParameters', ) ) ) from GeneratorInterface.Core.ExternalGeneratorFilter import ExternalGeneratorFilter generator = ExternalGeneratorFilter(_generator) generator.PythiaParameters.processParameters.extend(EvtGenExtraParticles) bfilter = cms.EDFilter( "MCSingleParticleFilter", MaxEta = cms.untracked.vdouble(9999.0,9999.0,9999.0,9999.0), MinEta = cms.untracked.vdouble(-9999.0,-9999.0,-9999.0,-9999.0), ParticleID = cms.untracked.vint32(511,531,-511,-531) ) decayfilter = cms.EDFilter( "MCMultiParticleFilter", ParticleID = cms.vint32(321, 211, 321, 211, 321, 211, 321, 211), MotherID = cms.untracked.vint32(511, 511, 531, 531, -511, -511, -531, -531), EtaMax = cms.vdouble(2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5), PtMin = cms.vdouble(3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5), Status = cms.vint32(0,0,0,0,0,0,0,0), NumRequired = cms.int32(2), AcceptMore = cms.bool(True) ) mugenfilter = cms.EDFilter( "MCMultiParticleFilter", ParticleID = cms.vint32(-13, 13, -13, 13), MotherID = cms.untracked.vint32(321, -321, 211, -211), MaxDecayRadius = cms.untracked.vdouble(2000.0, 2000.0, 2000.0, 2000.0), MaxDecayZ = cms.untracked.vdouble(4000.0, 4000.0, 4000.0, 4000.0), MinDecayZ = cms.untracked.vdouble(-4000.0, -4000.0, -4000.0, -4000.0), EtaMax = cms.vdouble(2.5, 2.5, 2.5, 2.5), PtMin = cms.vdouble(3.5, 3.5, 3.5, 3.5), Status = cms.vint32(1,1,1,1), NumRequired = cms.int32(2), AcceptMore = cms.bool(True) ) ProductionFilterSequence = cms.Sequence(generator*bfilter*decayfilter*mugenfilter)