Belle II Software prerelease-11-00-00a
KKGenGeneration_tau_to_pigamma_112_261.py
1#!/usr/bin/env python3
2
3
10
11import basf2 as b2
12from beamparameters import add_beamparameters
13import modularAnalysis as ma
14
15b2.set_random_seed(12345)
16b2.set_log_level(b2.LogLevel.INFO)
17
18# identifier for this run
19tag = "112_261"
20
21# main path
22main = b2.create_path()
23
24# event info setter
25main.add_module("EventInfoSetter", expList=0, runList=1, evtNumList=100000)
26
27# beam parameters
28beamparameters = add_beamparameters(main, "Y4S")
29# beamparameters.param("generateCMS", True)
30# beamparameters.param("smearVertex", False)
31
32# to run the framework the used modules need to be registered
33kkgeninput = b2.register_module('KKGenInput')
34kkgeninput.param('tauinputFile', b2.find_file(f'tauola_bbb.pigamma_{tag}.dat'))
35kkgeninput.param('KKdefaultFile', b2.find_file('data/generators/kkmc/KK2f_defaults.dat'))
36# kkgeninput.param('taudecaytableFile', b2.find_file('data/generators/kkmc/tau_decaytable.dat'))
37# above line makes decay table to be read by Pythia; uncomment next line to make tau decay table to be read by Tauola
38kkgeninput.param('taudecaytableFile', '')
39kkgeninput.param('kkmcoutputfilename', f'txt/kkmc_tautau_bbb_{tag}.txt')
40
41# run
42main.add_module("Progress")
43main.add_module(kkgeninput, logLevel=b2.LogLevel.INFO)
44main.add_module("PrintMCParticles", logLevel=b2.LogLevel.INFO, onlyPrimaries=False, showMomenta=True, showStatus=True)
45main.add_module("TauDecayMode")
46variables = ['tauMinusMCMode', 'tauMinusEgstar', 'tauPlusMCMode', 'tauPlusEgstar']
47ma.printVariableValues('', variables, main)
48ma.variablesToNtuple(decayString='', filename=f'root/kkmc_tautau_bbb_variables_{tag}.root', variables=variables, path=main)
49# ma.applyEventCuts('tauPlusEgstar > 0.01', path=main)
50
51main.add_module("RootOutput", outputFileName=f'root/kkmc_tautau_bbb_{tag}.root')
52# main.add_module("HepMCOutput", OutputFilename=f'kkmc_tautau_bbb_{tag}.hepmc', StoreVirtualParticles=True)
53
54# generate events
55b2.process(main)
56
57# show call statistics
58print(b2.statistics)