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_NOLONGLIFE.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 ## my decay Alias MyB0 B0 Alias Myanti-B0 anti-B0 ChargeConj Myanti-B0 MyB0 # Alias MyJpsi J/psi ChargeConj MyJpsi MyJpsi # Alias Mypsi(2S) psi(2S) ChargeConj Mypsi(2S) Mypsi(2S) # Decay MyJpsi 1.000 mu+ mu- PHOTOS VLL; Enddecay # Decay MyB0 1.000 Mypsi(2S) K_S0 PHSP; Enddecay # Decay Myanti-B0 1.000 Mypsi(2S) K_S0 PHSP; Enddecay # Decay Mypsi(2S) 1.000 MyJpsi pi+ pi- VVPIPI; 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(100443), 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(3), MotherID = cms.untracked.int32(511), ParticleID = cms.untracked.int32(100443), DaughterIDs = cms.untracked.vint32(443, 211, -211), MinPt = cms.untracked.vdouble(5, 0.3, 0.3), MinEta = cms.untracked.vdouble(-9999, -9999, -9999), MaxEta = cms.untracked.vdouble( 9999, 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(100443, 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)