15 The main Pythia8 configuration fragment that sets up the Pythia8_i algorithm
16 and returns a CA instance
19 commands = kwargs.get(
"Commands", [])
23 "Main:timesAllowErrors = 500",
24 "ParticleDecays:limitTau0 = on",
25 "ParticleDecays:tau0Max = 10.0"
27 commands.extend(base_cmds)
30 if "CollisionEnergy" not in kwargs:
31 kwargs[
"CollisionEnergy"] = flags.Beam.Energy * 2 / GeV
34 if flags.Generator.PDGparams:
36 from EvgenProdTools.offline_dict
import parameters
39 particle_params = parameters.get(
"particles")
41 for pdg_str, vals
in particle_params.items():
45 commands.append(f
"{pdg}:m0 = {vals['mass']}")
46 commands.append(f
"{pdg}:mWidth = {vals['width']}")
48 log.warning(
"Could not retrieve standard ATLAS particle parameters")
51 ew_params = parameters.get(
"EW_parameters")
54 for key, val
in ew_params.items():
55 if key[1]
in (
'sin2thetaW',
'sin2thetaWbar'):
56 commands.append(f
"StandardModel:{key[1]} = {val}")
58 log.warning(
"Could not retrieve standard ATLAS EW parameters")
67 "StandardModel:sin2thetaW = 0.23113",
68 "StandardModel:sin2thetaWbar = 0.23146",
72 commands =
list(dict.fromkeys(commands))
73 kwargs[
"Commands"] = commands
78 CompFactory.Pythia8_i(
"Pythia8_i", **kwargs)