# 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-00166-fragment.py --python_filename BPH-RunIISummer20UL16GEN-00166_1_cfg.py --eventcontent RAWSIM --customise Configuration/DataProcessing/Utils.addMonitoring --datatier GEN --fileout file:BPH-RunIISummer20UL16GEN-00166.root --conditions 106X_mcRun2_asymptotic_v13 --beamspot Realistic25ns13TeV2016Collision --step GEN --geometry DB:Extended --era Run2_2016 --no_exec --mc -n 16700
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(16700)
)

# 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-00166-fragment.py nevts:16700'),
    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-00166.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.bfilter = cms.EDFilter("PythiaFilter",
    MaxEta = cms.untracked.double(9999.0),
    MinEta = cms.untracked.double(-9999.0),
    ParticleID = cms.untracked.int32(531)
)


process.phifilter = cms.EDFilter("PythiaDauVFilter",
    DaughterIDs = cms.untracked.vint32(321, -321),
    MaxEta = cms.untracked.vdouble(2.5, 2.5),
    MinEta = cms.untracked.vdouble(-2.5, -2.5),
    MinPt = cms.untracked.vdouble(0.5, 0.5),
    MotherID = cms.untracked.int32(531),
    NumberDaughters = cms.untracked.int32(2),
    ParticleID = cms.untracked.int32(333),
    verbose = cms.untracked.int32(1)
)


process.jpsifilter = cms.EDFilter("PythiaDauVFilter",
    DaughterIDs = cms.untracked.vint32(13, -13),
    MaxEta = cms.untracked.vdouble(2.5, 2.5),
    MinEta = cms.untracked.vdouble(-2.5, -2.5),
    MinPt = cms.untracked.vdouble(3.0, 3.0),
    MotherID = cms.untracked.int32(531),
    NumberDaughters = cms.untracked.int32(2),
    ParticleID = cms.untracked.int32(443),
    verbose = cms.untracked.int32(1)
)


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_s0', 
                    'Myanti-B_s0'
                ),
                operates_on_particles = cms.vint32(),
                particle_property_file = cms.FileInPath('GeneratorInterface/EvtGenInterface/data/evt_2014.pdl'),
                user_decay_embedded = cms.vstring(
                    '#', 
                    'Particle   pi+           1.3957061e-01   0.0000000e+00', 
                    'Particle   pi-           1.3957061e-01   0.0000000e+00', 
                    'Particle   K_S0          4.9761100e-01   0.0000000e+00', 
                    'Particle   K*+           8.9176000e-01   5.0300000e-02', 
                    'Particle   K*-           8.9176000e-01   5.0300000e-02', 
                    'Particle   K*0           8.9555000e-01   4.7300000e-02', 
                    'Particle   anti-K*0      8.9555000e-01   4.7300000e-02', 
                    'Particle   rho0          7.7526000e-01   1.4910000e-01', 
                    'Particle   phi           1.0194610e+00   4.2490000e-03', 
                    'Particle   B-            5.2793200e+00   0.0000000e+00', 
                    'Particle   B+            5.2793200e+00   0.0000000e+00', 
                    'Particle   B0            5.2796300e+00   0.0000000e+00', 
                    'Particle   anti-B0       5.2796300e+00   0.0000000e+00', 
                    'Particle   B_s0          5.3668900e+00   0.0000000e+00', 
                    'Particle   anti-B_s0     5.3668900e+00   0.0000000e+00', 
                    'Particle   J/psi         3.0969000e+00   9.2900006e-05', 
                    'Particle   psi(2S)       3.6860970e+00   2.9400000e-04', 
                    '#', 
                    'Alias      MyB_s0   B_s0', 
                    'Alias      Myanti-B_s0   anti-B_s0', 
                    'ChargeConj Myanti-B_s0   MyB_s0 ', 
                    'Alias      MyJ/psi  J/psi', 
                    'Alias      MyPhi    phi', 
                    'ChargeConj MyJ/psi  MyJ/psi', 
                    'ChargeConj MyPhi    MyPhi', 
                    '#', 
                    'Decay MyB_s0', 
                    '  1.000         MyJ/psi     MyPhi     MyPhi     PHSP;', 
                    '#', 
                    'Enddecay', 
                    'CDecay Myanti-B_s0', 
                    '#', 
                    'Decay MyJ/psi', 
                    '  1.000         mu+         mu-          PHOTOS VLL;', 
                    'Enddecay', 
                    '#', 
                    'Decay MyPhi', 
                    '  1.000         K+          K-           VSS;', 
                    'Enddecay', 
                    'End'
                )
            ),
            parameterSets = cms.vstring('EvtGen130')
        ),
        PythiaParameters = cms.PSet(
            parameterSets = cms.vstring(
                'pythia8CommonSettings', 
                'pythia8CP5Settings', 
                'processParameters'
            ),
            processParameters = cms.vstring(
                'SoftQCD:nonDiffractive = on', 
                '531:m0=5.366890', 
                'PTFilter:filter = on', 
                'PTFilter:quarkToFilter = 5', 
                'PTFilter:scaleToFilter = 1.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.ProductionFilterSequence = cms.Sequence(process.generator+process.bfilter+process.jpsifilter+process.phifilter)

# 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
