# cfg file for Ups(2S) -> Ups(1S) pion+ pion-. Masses and widths are matched between pythia, evtgen and PDG 2016 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", pythiaPylistVerbosity = cms.untracked.int32(0), pythiaHepMCVerbosity = cms.untracked.bool(False), maxEventsToPrint = cms.untracked.int32(0), 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_2014.pdl'), list_forced_decays = cms.vstring('myUps2S'), operates_on_particles = cms.vint32(100553), convertPythiaCodes = cms.untracked.bool(False), user_decay_embedded= cms.vstring( """ Particle Upsilon(2S) 10.02326 0.00003198 Particle Upsilon 9.4603000 0.00005402 Alias myUps2S Upsilon(2S) Alias myUps Upsilon Decay myUps 1.0 mu+ mu- PHOTOS VLL; Enddecay Decay myUps2S 1.0 myUps pi+ pi- YMSTOYNSPIPICLEO -0.753 0.000; Enddecay End """ ) ), parameterSets = cms.vstring('EvtGen130') ), PythiaParameters = cms.PSet( pythia8CommonSettingsBlock, pythia8CP5SettingsBlock, processParameters = cms.vstring( 'Bottomonium:states(3S1) = 100553', 'Bottomonium:O(3S1)[3S1(1)] = 4.63', 'Bottomonium:O(3S1)[3S1(8)] = 0.045', 'Bottomonium:O(3S1)[1S0(8)] = 0.06', 'Bottomonium:O(3S1)[3P0(8)] = 0.06', 'Bottomonium:gg2bbbar(3S1)[3S1(1)]g = on', 'Bottomonium:gg2bbbar(3S1)[3S1(8)]g = on', 'Bottomonium:qg2bbbar(3S1)[3S1(8)]q = on', 'Bottomonium:qqbar2bbbar(3S1)[3S1(8)]g = on', 'Bottomonium:gg2bbbar(3S1)[1S0(8)]g = on', 'Bottomonium:qg2bbbar(3S1)[1S0(8)]q = on', 'Bottomonium:qqbar2bbbar(3S1)[1S0(8)]g = on', 'Bottomonium:gg2bbbar(3S1)[3PJ(8)]g = on', 'Bottomonium:qg2bbbar(3S1)[3PJ(8)]q = on', 'Bottomonium:qqbar2bbbar(3S1)[3PJ(8)]g = on', 'Bottomonium:gg2bbbar(3S1)[3S1(1)]gm = on', 'PhaseSpace:pTHatMin = 2.', '100553:onMode = off', ), parameterSets = cms.vstring('pythia8CommonSettings', 'pythia8CP5Settings', 'processParameters' ) ) ) generator.PythiaParameters.processParameters.extend(EvtGenExtraParticles) # We will filter , first on the ID, then in the mass, this will constraint the photon daughter pwaveIDfilter = cms.EDFilter("MCSingleParticleFilter", ParticleID = cms.untracked.vint32(100553), MinPt = cms.untracked.vdouble(2.0), MinEta = cms.untracked.vdouble(-2.4), MaxEta = cms.untracked.vdouble(2.4), Status = cms.untracked.vint32(2) ) upsIDfilter = cms.EDFilter("MCSingleParticleFilter", ParticleID = cms.untracked.vint32(553), MinPt = cms.untracked.vdouble(2.0), MinEta = cms.untracked.vdouble(-2.4), MaxEta = cms.untracked.vdouble(2.4), Status = cms.untracked.vint32(2) ) # Next two muon filter are derived from muon reconstruction muminusfilter = cms.EDFilter("PythiaDauVFilter", MotherID = cms.untracked.int32(100553), MinPt = cms.untracked.vdouble(2.0), ParticleID = cms.untracked.int32(553), ChargeConjugation = cms.untracked.bool(False), MinEta = cms.untracked.vdouble(-2.4), MaxEta = cms.untracked.vdouble(2.4), NumberDaughters = cms.untracked.int32(1), DaughterIDs = cms.untracked.vint32(-13) ) muplusfilter = cms.EDFilter("PythiaDauVFilter", MotherID = cms.untracked.int32(100553), MinPt = cms.untracked.vdouble(2.0), ParticleID = cms.untracked.int32(553), ChargeConjugation = cms.untracked.bool(False), MinEta = cms.untracked.vdouble(-2.4), MaxEta = cms.untracked.vdouble(2.4), NumberDaughters = cms.untracked.int32(1), DaughterIDs = cms.untracked.vint32(13) ) # two pion filter piminusfilter = cms.EDFilter("PythiaDauVFilter", MotherID = cms.untracked.int32(0), MinPt = cms.untracked.vdouble(0.5), ParticleID = cms.untracked.int32(100553), ChargeConjugation = cms.untracked.bool(False), MinEta = cms.untracked.vdouble(-2.4), MaxEta = cms.untracked.vdouble(2.4), NumberDaughters = cms.untracked.int32(1), DaughterIDs = cms.untracked.vint32(-211) ) piplusfilter = cms.EDFilter("PythiaDauVFilter", MotherID = cms.untracked.int32(0), MinPt = cms.untracked.vdouble(0.5), ParticleID = cms.untracked.int32(100553), ChargeConjugation = cms.untracked.bool(False), MinEta = cms.untracked.vdouble(-2.4), MaxEta = cms.untracked.vdouble(2.4), NumberDaughters = cms.untracked.int32(1), DaughterIDs = cms.untracked.vint32(211) ) ProductionFilterSequence = cms.Sequence(generator*pwaveIDfilter*upsIDfilter*piminusfilter*piplusfilter*muminusfilter*muplusfilter)