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 _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 from GeneratorInterface.Core.ExternalGeneratorFilter import ExternalGeneratorFilter
0134 process.generator = ExternalGeneratorFilter(_generator)
0135 
0136 # The line below removes messages like "particle not recognized by pythia"
0137 from GeneratorInterface.EvtGenInterface.EvtGenSetting_cff import *
0138 process.generator.PythiaParameters.processParameters.extend(EvtGenExtraParticles)
0139 
0140 process.bufilter = cms.EDFilter("PythiaDauVFilter",
0141     DaughterIDs = cms.untracked.vint32(20443, 321),
0142     MaxEta = cms.untracked.vdouble(9999.0, 2.5),
0143     MinEta = cms.untracked.vdouble(-9999.0, -2.5),
0144     MinPt = cms.untracked.vdouble(0.0, 0.4),
0145     MotherID = cms.untracked.int32(0),
0146     NumberDaughters = cms.untracked.int32(2),
0147     ParticleID = cms.untracked.int32(521)
0148 )
0149 
0150 
0151 process.muplusfilter = cms.EDFilter("PythiaDauVFilter",
0152     ChargeConjugation = cms.untracked.bool(False),
0153     DaughterIDs = cms.untracked.vint32(13),
0154     MaxEta = cms.untracked.vdouble(2.5),
0155     MinEta = cms.untracked.vdouble(-2.5),
0156     MinPt = cms.untracked.vdouble(1.5),
0157     MotherID = cms.untracked.int32(20443),
0158     NumberDaughters = cms.untracked.int32(1),
0159     ParticleID = cms.untracked.int32(443)
0160 )
0161 
0162 
0163 process.ProductionFilterSequence = cms.Sequence(process.generator+process.bufilter+process.chic1filter+process.muplusfilter+process.muminusfilter)
0164 
0165 # Path and EndPath definitions
0166 process.generation_step = cms.Path(process.pgen)
0167 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0168 process.endjob_step = cms.EndPath(process.endOfProcess)
0169 process.RAWSIMoutput_step = cms.EndPath(process.RAWSIMoutput)
0170 
0171 # Schedule definition
0172 process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.endjob_step,process.RAWSIMoutput_step)
0173 # filter all path with the production filter sequence
0174 for path in process.paths:
0175     getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq 
0176 
0177 process.MessageLogger.cerr.FwkReport.reportEvery = 10
0178 
0179 # Customisation from command line