9'''Test for checking if the continuum generation and fragmentation works.'''
12import b2test_utils
as b2tu
13from generators
import add_continuum_generator, get_default_decayfile
17def run_continuum_generation(finalstate):
18 with b2tu.clean_working_directory():
20 b2.set_random_seed(57)
22 main.add_module(
'EventInfoSetter')
23 add_continuum_generator(
24 finalstate=finalstate,
27 b2.process(main, n_events)
31def run_fragmentation_with_add_particles():
32 with b2tu.clean_working_directory():
34 b2.set_random_seed(57)
38 main.add_module(
'EventInfoSetter')
40 kkmc_inputfile = b2.find_file(
'data/generators/kkmc/ccbar_nohadronization.input.dat')
41 kkmc_logfile =
'kkmc_ccbar.txt'
42 kkmc_config = b2.find_file(
'data/generators/kkmc/KK2f_defaults.dat')
46 tauinputFile=kkmc_inputfile,
47 KKdefaultFile=kkmc_config,
49 kkmcoutputfilename=kkmc_logfile,
53 pythia_config = b2.find_file(
'data/generators/modules/fragmentation/pythia_belle2_charm.dat')
54 decay_user = b2.find_file(
'data/generators/modules/fragmentation/dec_belle2_qqbar.dec')
55 decay_file = get_default_decayfile()
60 ParameterFile=pythia_config,
64 UserDecFile=decay_user,
66 QuarkPairMotherParticle=23,
67 AdditionalPDGCodes=[9000005],
69 b2.process(main, n_events)
73for final_state
in [
"uubar",
"ddbar",
"ssbar",
"ccbar"]:
74 b2.B2INFO(f
'Running the test for continuum generation and final state {final_state}')
75 return_code = b2tu.run_in_subprocess(target=run_continuum_generation, finalstate=final_state)
78 f
'Continuum generation fails when generating events for final state {final_state}')
80b2.B2INFO(
'Running the test for fragmentation with additional particles')
81return_code = b2tu.run_in_subprocess(target=run_fragmentation_with_add_particles)
83 b2.B2FATAL(
'Fragmentation fails when adding additional particles to Pythia')
def add_particle(name, pdgCode, mass, width, charge, spin, max_width=None, lifetime=0, pythiaID=0, define_anti_particle=False)