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)
30def run_fragmentation_with_add_particles():
31 with b2tu.clean_working_directory():
33 b2.set_random_seed(57)
37 main.add_module(
'EventInfoSetter')
39 kkmc_inputfile = b2.find_file(
'data/generators/kkmc/ccbar_nohadronization.input.dat')
40 kkmc_logfile =
'kkmc_ccbar.txt'
41 kkmc_config = b2.find_file(
'data/generators/kkmc/KK2f_defaults.dat')
45 tauinputFile=kkmc_inputfile,
46 KKdefaultFile=kkmc_config,
48 kkmcoutputfilename=kkmc_logfile,
52 pythia_config = b2.find_file(
'data/generators/modules/fragmentation/pythia_belle2_charm.dat')
53 decay_user = b2.find_file(
'data/generators/modules/fragmentation/dec_belle2_qqbar.dec')
54 decay_file = get_default_decayfile()
59 ParameterFile=pythia_config,
63 UserDecFile=decay_user,
65 QuarkPairMotherParticle=23,
66 AdditionalPDGCodes=[9000005],
68 b2.process(main, n_events)
71for final_state
in [
"uubar",
"ddbar",
"ssbar",
"ccbar"]:
72 b2.B2INFO(f
'Running the test for continuum generation and final state {final_state}')
73 return_code = b2tu.run_in_subprocess(target=run_continuum_generation, finalstate=final_state)
76 f
'Continuum generation fails when generating events for final state {final_state}')
78b2.B2INFO(
'Running the test for fragmentation with additional particles')
79return_code = b2tu.run_in_subprocess(target=run_fragmentation_with_add_particles)
81 b2.B2FATAL(
'Fragmentation fails when adding additional particles to Pythia')
add_particle(name, pdgCode, mass, width, charge, spin, max_width=None, lifetime=0, pythiaID=0, define_anti_particle=False)