# Particle gun whose pt and rapidity distributions can be specified # by TGraphs, and later handled by pythia for decays. The example here # is jpsi, with kinematic distributions from hep-ph/0310274v1 # and chosen to decay into two muons import FWCore.ParameterSet.Config as cms ### from Configuration.Generator.PythiaUESettings_cfi import * from GeneratorInterface.Pythia6Interface.pythiaDefault_cff import * process = cms.Process("Gen") process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(30000) # input = cms.untracked.int32(100) ) process.load("FWCore.MessageService.MessageLogger_cfi") process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") process.load("Configuration.StandardSequences.Services_cff") process.load("Configuration.StandardSequences.Geometry_cff") process.load("Configuration.StandardSequences.MagneticField_38T_cff") #process.load("Configuration.StandardSequences.MagneticField_cff") process.load('Configuration/StandardSequences/VtxSmearedEarly10TeVCollision_cff') #process.load("Configuration.StandardSequences.VtxSmearedBetafuncEarlyCollision_cff") process.load("Configuration.StandardSequences.Sim_cff") process.load("Configuration.StandardSequences.Digi_cff") process.load("Configuration.StandardSequences.MixingNoPileUp_cff") process.load("Configuration.StandardSequences.SimL1Emulator_cff") process.load("Configuration.StandardSequences.L1Emulator_cff") process.load("Configuration.StandardSequences.DigiToRaw_cff") process.load("PhysicsTools.HepMCCandAlgos.genParticles_cfi") process.load('Configuration/StandardSequences/EndOfProcess_cff') process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff') process.GlobalTag.globaltag = 'MC_31X_v5::All' #process.GlobalTag.globaltag = 'STARTUP_31X::All' # Event output process.load("Configuration.EventContent.EventContent_cff") process.source = cms.Source("EmptySource") process.generator = cms.EDProducer("Pythia6PtYDistGun", maxEventsToPrint = cms.untracked.int32(5), pythiaHepMCVerbosity = cms.untracked.bool(True), pythiaPylistVerbosity = cms.untracked.int32(1), PGunParameters = cms.PSet( ParticleID = cms.vint32(443), kinematicsFile = cms.FileInPath('HeavyIonsAnalysis/Configuration/data/jpsipbpb.root'), PtBinning = cms.int32(100000), YBinning = cms.int32(500), MinPt = cms.double(0.0), MaxPt = cms.double(100.0), MinY = cms.double(-2.5), #MinY = cms.double(-10.0), MaxY = cms.double(2.5), #MaxY = cms.double(10.0), MinPhi = cms.double(-3.14159265359), MaxPhi = cms.double(3.14159265359), ), PythiaParameters = cms.PSet( pythiaDefaultBlock, jpsiDecay = cms.vstring( 'BRAT(858) = 0 ! switch off', 'BRAT(859) = 1 ! switch on', 'BRAT(860) = 0 ! switch off', 'MDME(858,1) = 0 ! switch off', 'MDME(859,1) = 1 ! switch on', 'MDME(860,1) = 0 ! switch off'), upsilonDecay = cms.vstring( 'BRAT(1034) = 0 ! switch off', 'BRAT(1035) = 1 ! switch on', 'BRAT(1036) = 0 ! switch off', 'BRAT(1037) = 0 ! switch off', 'BRAT(1038) = 0 ! switch off', 'BRAT(1039) = 0 ! switch off', 'BRAT(1040) = 0 ! switch off', 'BRAT(1041) = 0 ! switch off', 'BRAT(1042) = 0 ! switch off', 'MDME(1034,1) = 0 ! switch off', 'MDME(1035,1) = 1 ! switch on', 'MDME(1036,1) = 0 ! switch off', 'MDME(1037,1) = 0 ! switch off', 'MDME(1038,1) = 0 ! switch off', 'MDME(1039,1) = 0 ! switch off', 'MDME(1040,1) = 0 ! switch off', 'MDME(1041,1) = 0 ! switch off', 'MDME(1042,1) = 0 ! switch off'), #parameterSets = cms.vstring('pythiaDefault','jpsiDecay') parameterSets = cms.vstring('pythiaDefault','upsilonDecay') ) ) # For upsilon generation, add in your configuration the uncommented lines : # process.generator.PGunParameters.kinematicsFile = cms.FileInPath('HeavyIonsAnalysis/Configuration/data/upsipbpb.root') process.generator.PGunParameters.ParticleID = cms.vint32(553) process.FEVT = cms.OutputModule("PoolOutputModule", process.FEVTSIMEventContent, fileName = cms.untracked.string('_FileName_') #fileName = cms.untracked.string('jpsi_GEN-SIM_e10.root') #fileName = cms.untracked.string('jpsi_GEN-SIM-DIGI-RAW_e100.root') #fileName = cms.untracked.string('gen_ptydist_jpsi_GEN-SIM_e30k.root') ) process.p0 = cms.Path(process.generator) process.p1 = cms.Path(process.genParticles) process.p2 = cms.Path(process.psim) process.p3 = cms.Path(process.pdigi) #process.p3 = cms.Path(process.doAllDigi) #process.p4 = cms.Path(process.L1Emulator) process.p4 = cms.Path(process.SimL1Emulator) process.p5 = cms.Path(process.DigiToRaw) process.outpath = cms.EndPath(process.FEVT) ### process.schedule = cms.Schedule(process.p,process.outpath) process.schedule = cms.Schedule( process.p0, process.p1, process.p2, process.p3, process.p4, process.p5, process.outpath )