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", comEnergy = cms.double(13000.0), pythiaHepMCVerbosity = cms.untracked.bool(False), maxEventsToPrint = cms.untracked.int32(0), pythiaPylistVerbosity = cms.untracked.int32(0), ExternalDecays = cms.PSet( EvtGen130 = cms.untracked.PSet( decay_table = cms.string('GeneratorInterface/EvtGenInterface/data/DECAY_2014.DEC'), particle_property_file = cms.FileInPath('GeneratorInterface/EvtGenInterface/data/evt_2014.pdl'), user_decay_embedded= cms.vstring( """ Particle B0 5.2796400e+00 0.0000000e+00 Particle anti-B0 5.2796400e+00 0.0000000e+00 Particle J/psi 3.0969000e+00 9.2900000e-05 Particle rho0 7.7526000e-01 1.4910000e-01 Alias MyB0 B0 Alias Myanti-B0 anti-B0 ChargeConj Myanti-B0 MyB0 # Alias MyJpsi J/psi ChargeConj MyJpsi MyJpsi # # Alias Myrho0 rho0 ChargeConj Myrho0 Myrho0 # Alias MyX(3872) X_1(3872) Particle MyX(3872) 3.87169 0.0001 ChargeConj MyX(3872) MyX(3872) # Decay MyJpsi 1.000 mu+ mu- PHOTOS VLL; Enddecay # Decay MyB0 1.000 MyX(3872) K_S0 PHSP; Enddecay # Decay Myanti-B0 1.000 MyX(3872) K_S0 PHSP; Enddecay # Decay MyX(3872) 1.000 MyJpsi Myrho0 PHSP; Enddecay # Decay Myrho0 1.000 pi+ pi- PHSP; Enddecay # End""" ), list_forced_decays = cms.vstring('MyB0','Myanti-B0'), 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) ########### # Filters # ########### bfilter = cms.EDFilter( "PythiaFilter", MaxEta = cms.untracked.double(9999.), MinEta = cms.untracked.double(-9999.), ParticleID = cms.untracked.int32(511) ) jpsifilter = cms.EDFilter( "PythiaDauVFilter", verbose = cms.untracked.int32(0), NumberDaughters = cms.untracked.int32(2), MotherID = cms.untracked.int32(9920443), ParticleID = cms.untracked.int32(443), DaughterIDs = cms.untracked.vint32(13, -13), MinPt = cms.untracked.vdouble(2.5, 2.5), MinEta = cms.untracked.vdouble(-2.5, -2.5), MaxEta = cms.untracked.vdouble( 2.5, 2.5) ) xxxfilter = cms.EDFilter( "PythiaDauVFilter", verbose = cms.untracked.int32(0), NumberDaughters = cms.untracked.int32(2), MotherID = cms.untracked.int32(511), ParticleID = cms.untracked.int32(9920443), DaughterIDs = cms.untracked.vint32(443, 113), MinPt = cms.untracked.vdouble(5, 0.4), MinEta = cms.untracked.vdouble(-9999, -9999), MaxEta = cms.untracked.vdouble( 9999, 9999) ) decayfilter = cms.EDFilter( "PythiaDauVFilter", verbose = cms.untracked.int32(0), NumberDaughters = cms.untracked.int32(2), MotherID = cms.untracked.int32(0), ParticleID = cms.untracked.int32(511), DaughterIDs = cms.untracked.vint32(9920443, 310), MinPt = cms.untracked.vdouble(5., 0.4), MinEta = cms.untracked.vdouble(-9999., -9999.), MaxEta = cms.untracked.vdouble( 9999., 9999.) ) ProductionFilterSequence = cms.Sequence(generator*bfilter*jpsifilter*xxxfilter*decayfilter)