# Auto generated configuration file
# using: 
# Revision: 1.19 
# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v 
# with command line options: Configuration/GenProduction/python/BPH-RunIISummer20UL16GEN-00177-fragment.py --python_filename BPH-RunIISummer20UL16GEN-00177_1_cfg.py --eventcontent RAWSIM --customise Configuration/DataProcessing/Utils.addMonitoring --datatier GEN --fileout file:BPH-RunIISummer20UL16GEN-00177.root --conditions 106X_mcRun2_asymptotic_v13 --beamspot Realistic25ns13TeV2016Collision --step GEN --geometry DB:Extended --era Run2_2016 --no_exec --mc -n 36967
import FWCore.ParameterSet.Config as cms
from GeneratorInterface.Core.ExternalGeneratorFilter import ExternalGeneratorFilter


from Configuration.Eras.Era_Run2_2016_cff import Run2_2016

process = cms.Process('GEN',Run2_2016)

# import of standard configurations
process.load('Configuration.StandardSequences.Services_cff')
process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('Configuration.StandardSequences.MagneticField_cff')
process.load('Configuration.StandardSequences.Generator_cff')
process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic25ns13TeV2016Collision_cfi')
process.load('GeneratorInterface.Core.genFilterSummary_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')

process.maxEvents = cms.untracked.PSet(
    input = cms.untracked.int32(36967)
)

# Input source
process.source = cms.Source("EmptySource")

process.options = cms.untracked.PSet(

)

# Production Info
process.configurationMetadata = cms.untracked.PSet(
    annotation = cms.untracked.string('Configuration/GenProduction/python/BPH-RunIISummer20UL16GEN-00177-fragment.py nevts:36967'),
    name = cms.untracked.string('Applications'),
    version = cms.untracked.string('$Revision: 1.19 $')
)

# Output definition

process.RAWSIMoutput = cms.OutputModule("PoolOutputModule",
    SelectEvents = cms.untracked.PSet(
        SelectEvents = cms.vstring('generation_step')
    ),
    compressionAlgorithm = cms.untracked.string('LZMA'),
    compressionLevel = cms.untracked.int32(1),
    dataset = cms.untracked.PSet(
        dataTier = cms.untracked.string('GEN'),
        filterName = cms.untracked.string('')
    ),
    eventAutoFlushCompressedSize = cms.untracked.int32(20971520),
    fileName = cms.untracked.string('file:BPH-RunIISummer20UL16GEN-00177.root'),
    outputCommands = process.RAWSIMEventContent.outputCommands,
    splitLevel = cms.untracked.int32(0)
)

# Additional output definition

# Other statements
process.genstepfilter.triggerConditions=cms.vstring("generation_step")
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, '106X_mcRun2_asymptotic_v13', '')

process.decayfilter = cms.EDFilter("PythiaDauVFilter",
    DaughterIDs = cms.untracked.vint32(521, 22),
    MaxEta = cms.untracked.vdouble(3.0, 3.0),
    MinEta = cms.untracked.vdouble(-3.0, -3.0),
    MinPt = cms.untracked.vdouble(12.0, 0.25),
    MotherID = cms.untracked.int32(0),
    NumberDaughters = cms.untracked.int32(2),
    ParticleID = cms.untracked.int32(523),
    verbose = cms.untracked.int32(0)
)


process.bfilter = cms.EDFilter("PythiaFilter",
    ParticleID = cms.untracked.int32(523)
)


process.bgroundfilter = cms.EDFilter("PythiaDauVFilter",
    DaughterIDs = cms.untracked.vint32(100443, 321),
    MaxEta = cms.untracked.vdouble(3.0, 3.0),
    MinEta = cms.untracked.vdouble(-3.0, -3.0),
    MinPt = cms.untracked.vdouble(6.9, 0.7),
    MotherID = cms.untracked.int32(523),
    NumberDaughters = cms.untracked.int32(2),
    ParticleID = cms.untracked.int32(521),
    verbose = cms.untracked.int32(0)
)


process.generator = ExternalGeneratorFilter(
    cms.EDFilter("Pythia8GeneratorFilter",
        ExternalDecays = cms.PSet(
            EvtGen130 = cms.untracked.PSet(
                convertPythiaCodes = cms.untracked.bool(False),
                decay_table = cms.string('GeneratorInterface/EvtGenInterface/data/DECAY_2014_NOLONGLIFE.DEC'),
                list_forced_decays = cms.vstring(
                    'MyB*+', 
                    'MyB*-'
                ),
                operates_on_particles = cms.vint32(523, -523),
                particle_property_file = cms.FileInPath('GeneratorInterface/EvtGenInterface/data/evt_2014.pdl'),
                user_decay_embedded = cms.vstring(
                    '#', 
                    '# Particles updated from PDG2022 https://journals.aps.org/prd/abstract/10.1103/PhysRevD.98.030001', 
                    'Particle   B+            5.2793300e+00   0.0000000e+00', 
                    'Particle   B-            5.2793300e+00   0.0000000e+00', 
                    'Particle   B*+           5.3247800e+00   0.0000000e+00', 
                    'Particle   B*-           5.3247800e+00   0.0000000e+00', 
                    'Particle   B0            5.2796400e+00   0.0000000e+00', 
                    'Particle  anti-B0        5.2796400e+00   0.0000000e+00', 
                    'Particle   B*0           5.3253800e+00   0.0000000e+00', 
                    'Particle  anti-B*0       5.3253800e+00   0.0000000e+00', 
                    'Particle   B_s0          5.3669100e+00   0.0000000e+00', 
                    'Particle  anti-B_s0      5.3669100e+00   0.0000000e+00', 
                    'Particle   B_s*0         5.4167100e+00   0.0000000e+00', 
                    'Particle  anti-B_s*0     5.4167100e+00   0.0000000e+00', 
                    'Particle   J/psi         3.0969000e+00   9.2600000e-05', 
                    'Particle   psi(2S)       3.68610000+00   2.9400000e-04', 
                    'Alias      MyB+             B+', 
                    'Alias      MyB-             B-', 
                    'ChargeConj MyB-             MyB+', 
                    'Alias      MyB*+            B*+', 
                    'Alias      MyB*-            B*-', 
                    'ChargeConj MyB*-            MyB*+', 
                    'Alias       Mypsi(2S)  psi(2S)', 
                    'ChargeConj  Mypsi(2S)  Mypsi(2S)', 
                    'Decay MyB*+', 
                    '1.000        MyB+         gamma    VSP_PWAVE;', 
                    'Enddecay', 
                    'CDecay MyB*-', 
                    'Decay MyB+', 
                    '1.000  Mypsi(2S)              K+        SVS;', 
                    'Enddecay', 
                    'CDecay MyB-', 
                    'Decay Mypsi(2S)', 
                    '1.000         mu+         mu-      PHOTOS VLL;', 
                    'Enddecay', 
                    'End'
                )
            ),
            parameterSets = cms.vstring('EvtGen130')
        ),
        PythiaParameters = cms.PSet(
            parameterSets = cms.vstring(
                'pythia8CommonSettings', 
                'pythia8CP5Settings', 
                'processParameters'
            ),
            processParameters = cms.vstring(
                'SoftQCD:nonDiffractive = on', 
                '523:m0=5.32478', 
                'PTFilter:filter = on', 
                'PTFilter:quarkToFilter = 5', 
                'PTFilter:scaleToFilter = 3.0'
            ),
            pythia8CP5Settings = cms.vstring(
                'Tune:pp 14', 
                'Tune:ee 7', 
                'MultipartonInteractions:ecmPow=0.03344', 
                'MultipartonInteractions:bProfile=2', 
                'MultipartonInteractions:pT0Ref=1.41', 
                'MultipartonInteractions:coreRadius=0.7634', 
                'MultipartonInteractions:coreFraction=0.63', 
                'ColourReconnection:range=5.176', 
                'SigmaTotal:zeroAXB=off', 
                'SpaceShower:alphaSorder=2', 
                'SpaceShower:alphaSvalue=0.118', 
                'SigmaProcess:alphaSvalue=0.118', 
                'SigmaProcess:alphaSorder=2', 
                'MultipartonInteractions:alphaSvalue=0.118', 
                'MultipartonInteractions:alphaSorder=2', 
                'TimeShower:alphaSorder=2', 
                'TimeShower:alphaSvalue=0.118', 
                'SigmaTotal:mode = 0', 
                'SigmaTotal:sigmaEl = 21.89', 
                'SigmaTotal:sigmaTot = 100.309', 
                'PDF:pSet=LHAPDF6:NNPDF31_nnlo_as_0118'
            ),
            pythia8CommonSettings = cms.vstring(
                'Tune:preferLHAPDF = 2', 
                'Main:timesAllowErrors = 10000', 
                'Check:epTolErr = 0.01', 
                'Beams:setProductionScalesFromLHEF = off', 
                'SLHA:keepSM = on', 
                'SLHA:minMassSM = 1000.', 
                'ParticleDecays:limitTau0 = on', 
                'ParticleDecays:tau0Max = 10', 
                'ParticleDecays:allowPhotonRadiation = on'
            )
        ),
        comEnergy = cms.double(13000.0),
        maxEventsToPrint = cms.untracked.int32(0),
        pythiaHepMCVerbosity = cms.untracked.bool(False),
        pythiaPylistVerbosity = cms.untracked.int32(0)
    )
    ,
    _external_process_waitTime_ = cms.untracked.uint32(300),
    _external_process_verbose_ = cms.untracked.bool(False),
    _external_process_components_ =cms.vstring(),
)


process.pmmfilter = cms.EDFilter("PythiaDauVFilter",
    DaughterIDs = cms.untracked.vint32(13, -13),
    MaxEta = cms.untracked.vdouble(2.6, 2.6),
    MinEta = cms.untracked.vdouble(-2.6, -2.6),
    MinPt = cms.untracked.vdouble(2.8, 2.8),
    MotherID = cms.untracked.int32(521),
    NumberDaughters = cms.untracked.int32(2),
    ParticleID = cms.untracked.int32(100443),
    verbose = cms.untracked.int32(0)
)


process.ProductionFilterSequence = cms.Sequence(process.generator+process.bfilter+process.decayfilter+process.bgroundfilter+process.pmmfilter)

# Path and EndPath definitions
process.generation_step = cms.Path(process.pgen)
process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
process.endjob_step = cms.EndPath(process.endOfProcess)
process.RAWSIMoutput_step = cms.EndPath(process.RAWSIMoutput)

# Schedule definition
process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.endjob_step,process.RAWSIMoutput_step)
from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
associatePatAlgosToolsTask(process)
# filter all path with the production filter sequence
for path in process.paths:
	getattr(process,path).insert(0, process.ProductionFilterSequence)

# customisation of the process.

# Automatic addition of the customisation function from Configuration.DataProcessing.Utils
from Configuration.DataProcessing.Utils import addMonitoring 

#call to customisation function addMonitoring imported from Configuration.DataProcessing.Utils
process = addMonitoring(process)

# End of customisation functions

# Customisation from command line

# Add early deletion of temporary data products to reduce peak memory need
from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
process = customiseEarlyDelete(process)
# End adding early deletion
