Belle II Software development
KKGenGenerationOnly_tautauDS_gg_1000.py
1#!/usr/bin/env python3
2
3
10
11import basf2 as b2
12from beamparameters import add_beamparameters
13import pdg
14b2.set_random_seed(12345)
15b2.set_log_level(b2.LogLevel.INFO)
16
17# main path
18main = b2.create_path()
19
20# event info setter
21main.add_module("EventInfoSetter", expList=0, runList=1, evtNumList=1000000)
22
23# beam parameters
24beamparameters = add_beamparameters(main, "Y4S")
25# beamparameters.param("generateCMS", True)
26# beamparameters.param("smearVertex", False)
27
28# Add new dark scalar particle (1000 MeV)
29pdg.add_particle(name='ds', pdgCode=53, mass=1.0, width=0, charge=0, spin=0, max_width=0, lifetime=0, pythiaID=53)
30
31# to run the framework the used modules need to be registered
32kkgeninput = b2.register_module('KKGenInput')
33kkgeninput.param('tauinputFile', b2.find_file('kkmc_tautauDS_gg_1000MeV.dat'))
34kkgeninput.param('KKdefaultFile', b2.find_file('data/generators/kkmc/KK2f_defaults.dat'))
35# kkgeninput.param('taudecaytableFile', b2.find_file('data/generators/kkmc/tau_decaytable.dat'))
36# above line makes decay table to be read by Pythia; uncomment next line to make tau decay table to be read by Tauola
37kkgeninput.param('taudecaytableFile', '')
38kkgeninput.param('kkmcoutputfilename', 'kkmc_tautauDS_gg_1000MeV.txt')
39
40# run
41main.add_module("Progress")
42main.add_module(kkgeninput)
43main.add_module("RootOutput", outputFileName="kkmc_tautauDS_gg_1000MeV.root")
44# main.add_module("HepMCOutput", OutputFilename='kkmc_tautauDS_gg_1000MeV.hepmc', StoreVirtualParticles=True)
45# main.add_module("PrintTauTauMCParticles", logLevel=LogLevel.INFO, onlyPrimaries=False)
46main.add_module("PrintMCParticles", logLevel=b2.LogLevel.INFO, onlyPrimaries=False, showStatus=True)
47
48
49# generate events
50b2.process(main, calculateStatistics=True)
51
52# show call statistics
53print(b2.statistics)
add_particle(name, pdgCode, mass, width, charge, spin, max_width=None, lifetime=0, pythiaID=0, define_anti_particle=False)
Definition pdg.py:135