helicity_decay

Implementation of the helicity formalism for amplitude model generation.

class HelicityAmplitudeGenerator(top_node_no_dynamics=True, name_generator=<expertsystem.amplitude.helicity_decay.HelicityAmplitudeNameGenerator object>)[source]

Bases: expertsystem.amplitude.abstract_generator.AbstractAmplitudeGenerator

Amplitude model generator for the helicity formalism.

create_parameter_couplings(graph_groups)[source]
fix_parameters_unambiguously()[source]

Fix parameters, so that the total amplitude is unambiguous.

Ambiguous means with regard to the fit parameters. In other words: all fit parameters per graph, except one, will all be fixed. It’s fine if they are all already fixed.

generate(graphs)[source]
generate_amplitude_info(graph_groups)[source]
static generate_partial_decay(graph, node_id)[source]
generate_sequential_decay(graph)[source]
get_fit_parameters()[source]
write_to_file(filename)[source]
Return type

None

class HelicityAmplitudeNameGenerator[source]

Bases: expertsystem.amplitude.abstract_generator.AbstractAmplitudeNameGenerator

Parameter name generator for the helicity formalism.

generate_amplitude_coefficient_infos(graph)[source]

Generate coefficient info for a sequential amplitude graph.

Generally, each partial amplitude of a sequential amplitude graph should check itself if it or a parity partner is already defined. If so a coupled coefficient is introduced.

generate_unique_amplitude_name(graph, node_id=None)[source]

Generates a unique name for the amplitude corresponding.

That is, corresponging to the given StateTransitionGraph. If node_id is given, it generates a unique name for the partial amplitude corresponding to the interaction node of the given StateTransitionGraph.

register_amplitude_coefficient_name(graph)[source]
determine_attached_final_state(graph, edge_id)[source]

Determine all final state particles of a graph.

These are attached downward (forward in time) for a given edge (resembling the root).

Args: graph (StateTransitionGraph) edge_id (int): id of the edge,

which is taken as the root Returns: list of final state edge ids ([int])

determine_attached_final_state_string(graph, edge_id)[source]
generate_kinematics(graphs)[source]
generate_particle_list(graphs)[source]
generate_particles_string(name_hel_list, use_helicity=True, make_parity_partner=False)[source]
get_graph_group_unique_label(graph_group)[source]
get_helicity_from_edge_props(edge_props)[source]
get_parent_recoil_edge(graph, edge_id)[source]

Determine the id of the recoil edge of the parent edge.

For the specified edge of a graph.

Args: graph (StateTransitionGraph) edge_id (int): id of the edge,

for which the parents recoil partner is determined Returns: parent recoil edge id (int)

get_prefactor(graph)[source]

Calculate the product of all prefactors defined in this graph.

get_recoil_edge(graph, edge_id)[source]

Determine the id of the recoil edge for the specified edge of a graph.

Parameters
Returns

recoil edge id (int)

group_graphs_same_initial_and_final(graphs)[source]

Match final and initial states in groups.

Each graph corresponds to a specific state transition amplitude. This function groups together graphs, which have the same initial and final state (including spin). This is needed to determine the coherency of the individual amplitude parts.

Parameters

graphs ([StateTransitionGraph]) –

Returns

graph groups ([[StateTransitionGraph]])

remove_spin_projection(edge_props)[source]