Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:29

0001 #Test of complete gen flow for an specific BPH signal decay.
0002 import FWCore.ParameterSet.Config as cms
0003 
0004 process = cms.Process('GEN')
0005 
0006 # import of standard configurations
0007 process.load('Configuration.StandardSequences.Services_cff')
0008 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0009 process.load('FWCore.MessageService.MessageLogger_cfi')
0010 process.load('Configuration.EventContent.EventContent_cff')
0011 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0012 process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
0013 process.load('Configuration.StandardSequences.MagneticField_cff')
0014 process.load('Configuration.StandardSequences.Generator_cff')
0015 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi')
0016 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0017 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0018 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0019 
0020 process.maxEvents = cms.untracked.PSet(
0021     input = cms.untracked.int32(100)
0022 )
0023 
0024 # Input source
0025 process.source = cms.Source("EmptySource")
0026 
0027 process.options = cms.untracked.PSet()
0028 
0029 # Output definition
0030 
0031 process.RAWSIMoutput = cms.OutputModule("PoolOutputModule",
0032     SelectEvents = cms.untracked.PSet(
0033         SelectEvents = cms.vstring('generation_step')
0034     ),
0035     dataset = cms.untracked.PSet(
0036         dataTier = cms.untracked.string('GEN'),
0037         filterName = cms.untracked.string('')
0038     ),
0039     eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
0040     fileName = cms.untracked.string('file:gen_bplus.root'),
0041     outputCommands = process.RAWSIMEventContent.outputCommands,
0042     splitLevel = cms.untracked.int32(0)
0043 )
0044 
0045 # Additional output definition
0046 
0047 # Other statements
0048 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0049 from Configuration.AlCa.GlobalTag import GlobalTag
0050 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc', '')
0051 
0052 process.chic1filter = cms.EDFilter("PythiaDauVFilter",
0053     DaughterIDs = cms.untracked.vint32(443, 22),
0054     MaxEta = cms.untracked.vdouble(9999.0, 9999.0),
0055     MinEta = cms.untracked.vdouble(-9999.0, -9999.0),
0056     MinPt = cms.untracked.vdouble(0.0, 0.0),
0057     MotherID = cms.untracked.int32(521),
0058     NumberDaughters = cms.untracked.int32(2),
0059     ParticleID = cms.untracked.int32(20443)
0060 )
0061 
0062 
0063 process.muminusfilter = cms.EDFilter("PythiaDauVFilter",
0064     ChargeConjugation = cms.untracked.bool(False),
0065     DaughterIDs = cms.untracked.vint32(-13),
0066     MaxEta = cms.untracked.vdouble(2.5),
0067     MinEta = cms.untracked.vdouble(-2.5),
0068     MinPt = cms.untracked.vdouble(1.5),
0069     MotherID = cms.untracked.int32(20443),
0070     NumberDaughters = cms.untracked.int32(1),
0071     ParticleID = cms.untracked.int32(443)
0072 )
0073 
0074 
0075 process.generator = cms.EDFilter("Pythia8GeneratorFilter",
0076     ExternalDecays = cms.PSet(
0077         EvtGen1 = cms.untracked.PSet(
0078             convertPythiaCodes = cms.untracked.bool(False),
0079             decay_table = cms.string('GeneratorInterface/EvtGenInterface/data/DECAY_NOLONGLIFE.DEC'),
0080             list_forced_decays = cms.vstring('MyB+','MyB-'),
0081             particle_property_file = cms.FileInPath('GeneratorInterface/EvtGenInterface/data/evt.pdl'),
0082             user_decay_embedded = cms.vstring(
0083         'Alias      MyB+   B+', 
0084                 'Alias      MyB-   B-', 
0085                 'ChargeConj MyB-   MyB+', 
0086                 'Alias MyJ/psi J/psi', 
0087                 'ChargeConj MyJ/psi MyJ/psi', 
0088                 'Alias Mychi_c1 chi_c1', 
0089                 'ChargeConj Mychi_c1 Mychi_c1', 
0090                 'Decay MyJ/psi', 
0091                 '1.0000  mu+        mu-                    PHOTOS VLL ;', 
0092                 'Enddecay', 
0093                 'Decay Mychi_c1', 
0094                 '1.0000  MyJ/psi    gamma                  VVP 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ;', 
0095                 'Enddecay', 
0096                 'Decay MyB+', 
0097                 '0.0168  Mychi_c1   K+                   SVS ;', 
0098                 'Enddecay', 
0099                 'CDecay MyB-', 
0100                 'End')
0101         ),
0102         parameterSets = cms.vstring('EvtGen1')
0103     ),
0104     PythiaParameters = cms.PSet(
0105         parameterSets = cms.vstring('pythia8CommonSettings', 
0106             'pythia8CUEP8M1Settings', 
0107             'processParameters'),
0108         processParameters = cms.vstring(
0109             'SoftQCD:nonDiffractive = on',
0110             'PTFilter:filter = on',
0111             'PTFilter:quarkToFilter = 5',
0112             'PTFilter:scaleToFilter = 1.0'),
0113         pythia8CUEP8M1Settings = cms.vstring('Tune:pp 14', 
0114             'Tune:ee 7', 
0115             'MultipartonInteractions:pT0Ref=2.4024', 
0116             'MultipartonInteractions:ecmPow=0.25208', 
0117             'MultipartonInteractions:expPow=1.6'),
0118         pythia8CommonSettings = cms.vstring('Tune:preferLHAPDF = 2', 
0119             'Main:timesAllowErrors = 10000', 
0120             'Check:epTolErr = 0.01', 
0121             'Beams:setProductionScalesFromLHEF = off', 
0122             'SLHA:minMassSM = 1000.', 
0123             'ParticleDecays:limitTau0 = on', 
0124             'ParticleDecays:tau0Max = 10', 
0125             'ParticleDecays:allowPhotonRadiation = on')
0126     ),
0127     comEnergy = cms.double(13000.0),
0128     maxEventsToPrint = cms.untracked.int32(0),
0129     pythiaHepMCVerbosity = cms.untracked.bool(False),
0130     pythiaPylistVerbosity = cms.untracked.int32(0)
0131 )
0132 
0133 # The line below removes messages like "particle not recognized by pythia"
0134 from GeneratorInterface.EvtGenInterface.EvtGenSetting_cff import *
0135 process.generator.PythiaParameters.processParameters.extend(EvtGenExtraParticles)
0136 
0137 process.bufilter = cms.EDFilter("PythiaDauVFilter",
0138     DaughterIDs = cms.untracked.vint32(20443, 321),
0139     MaxEta = cms.untracked.vdouble(9999.0, 2.5),
0140     MinEta = cms.untracked.vdouble(-9999.0, -2.5),
0141     MinPt = cms.untracked.vdouble(0.0, 0.4),
0142     MotherID = cms.untracked.int32(0),
0143     NumberDaughters = cms.untracked.int32(2),
0144     ParticleID = cms.untracked.int32(521)
0145 )
0146 
0147 
0148 process.muplusfilter = cms.EDFilter("PythiaDauVFilter",
0149     ChargeConjugation = cms.untracked.bool(False),
0150     DaughterIDs = cms.untracked.vint32(13),
0151     MaxEta = cms.untracked.vdouble(2.5),
0152     MinEta = cms.untracked.vdouble(-2.5),
0153     MinPt = cms.untracked.vdouble(1.5),
0154     MotherID = cms.untracked.int32(20443),
0155     NumberDaughters = cms.untracked.int32(1),
0156     ParticleID = cms.untracked.int32(443)
0157 )
0158 
0159 
0160 process.ProductionFilterSequence = cms.Sequence(process.generator+process.bufilter+process.chic1filter+process.muplusfilter+process.muminusfilter)
0161 
0162 # Path and EndPath definitions
0163 process.generation_step = cms.Path(process.pgen)
0164 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0165 process.endjob_step = cms.EndPath(process.endOfProcess)
0166 process.RAWSIMoutput_step = cms.EndPath(process.RAWSIMoutput)
0167 
0168 # Schedule definition
0169 process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.endjob_step,process.RAWSIMoutput_step)
0170 # filter all path with the production filter sequence
0171 for path in process.paths:
0172     getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq 
0173 
0174 process.MessageLogger.cerr.FwkReport.reportEvery = 10
0175 
0176 # Customisation from command line