Belle II Software development
KKGenGeneration_tau_to_lepton_alpha.py
1#!/usr/bin/env python3
2
3
10
11import basf2 as b2
12import pdg as pdg
13from beamparameters import add_beamparameters
14
15b2.set_random_seed(12345)
16b2.set_log_level(b2.LogLevel.INFO)
17
18# create alpha particle
19mass = 1.0 # in GeV
20width = 0.004 # in GeV
21pdg.add_particle('alpha', 94144, mass, width, 0, 0)
22
23# main path
24main = b2.create_path()
25
26# event info setter
27main.add_module("EventInfoSetter", expList=0, runList=1, evtNumList=1000000)
28
29# beam parameters
30beamparameters = add_beamparameters(main, "Y4S")
31# beamparameters.param("generateCMS", True)
32# beamparameters.param("smearVertex", False)
33
34# to run the framework the used modules need to be registered
35kkgeninput = b2.register_module('KKGenInput')
36kkgeninput.param('tauinputFile', b2.find_file('tauola_bbb.lepton_alpha-mu_mu.dat'))
37kkgeninput.param('KKdefaultFile', b2.find_file('data/generators/kkmc/KK2f_defaults.dat'))
38# kkgeninput.param('taudecaytableFile', b2.find_file('data/generators/kkmc/tau_decaytable.dat'))
39# above line makes decay table to be read by Pythia; uncomment next line to make tau decay table to be read by Tauola
40kkgeninput.param('taudecaytableFile', '')
41kkgeninput.param('kkmcoutputfilename', 'kkmc_tautau_bbb.txt')
42
43# run
44main.add_module("Progress")
45main.add_module(kkgeninput, logLevel=b2.LogLevel.INFO)
46main.add_module("RootOutput", outputFileName="kkmc_tautau_bbb.root")
47main.add_module("HepMCOutput", OutputFilename='kkmc_tautau_bbb.hepmc', StoreVirtualParticles=True)
48# main.add_module("PrintTauTauMCParticles", logLevel=LogLevel.INFO, onlyPrimaries=False)
49main.add_module("PrintMCParticles", logLevel=b2.LogLevel.INFO, onlyPrimaries=False, showStatus=True)
50main.add_module(
51 "TauDecayMode",
52 printmode="all",
53 file_minus=b2.find_file('data/analysis/modules/TauDecayMode/map_tauminus.txt'),
54 file_plus=b2.find_file('data/analysis/modules/TauDecayMode/map_tauplus.txt'))
55
56
57# generate events
58b2.process(main, calculateStatistics=True)
59
60# show call statistics
61print(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