format#
- class ModelDefinition[source]#
Bases:
TypedDict- functions: Required[list[FunctionDefinition]][source]#
- class DecayDescription[source]#
Bases:
TypedDict- kinematics: Required[KinematicsDefinition][source]#
- chains: Required[list[DecayChain]][source]#
- Topology#
Topology definition as a list of final state IDs.
- class DecayChain[source]#
Bases:
TypedDict- propagators: Required[list[Propagator]][source]#
- vertices: Required[list[HelicityVertex | ParityVertex | LSVertex]][source]#
- kinematics: Required[KinematicsDefinition][source]#
- class HelicityVertex[source]#
Bases:
_HelicityVertexBase
- class ParityVertex[source]#
Bases:
_HelicityVertexBase
- class LSVertex[source]#
Bases:
_VertexBase
- Vertex = ampform_dpd.io.serialization.format.HelicityVertex | ampform_dpd.io.serialization.format.ParityVertex | ampform_dpd.io.serialization.format.LSVertex#
Tagged union of vertex definitions, discriminated by their
"type"key.
- Node#
Node definition within a
Topology.alias of
tuple[Literal[1, 2, 3] |Node,Literal[1, 2, 3] |Node]
- class KinematicsDefinition[source]#
Bases:
TypedDict- initial_state: Required[StateDefinition][source]#
- final_state: Required[list[StateDefinition]][source]#
- class BlattWeisskopfDefinition[source]#
Bases:
FunctionDefinition
- class BreitWignerDefinition[source]#
Bases:
FunctionDefinition
- class GenericFunctionDefinition[source]#
Bases:
FunctionDefinition
- class PolynomialDefinition[source]#
Bases:
FunctionDefinition
- class MomentumPowerDefinition[source]#
Bases:
FunctionDefinition
- class MultichannelBreitWignerDefinition[source]#
Bases:
FunctionDefinition- channels: list[ChannelParameters][source]#
- get_decay_chains(model: ModelDefinition, /) list[DecayChain][source]#
- get_distribution_def(model: ModelDefinition, /) Distribution[source]#
- get_function_definition(function_name: str, /, model: ModelDefinition) FunctionDefinition[source]#
- is_decay_node(node: tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node], /) bool[source]#
Whether the node is an isobar decaying into two final-state particles.
>>> is_decay_node((2, 3)) True >>> is_decay_node((1, (2, 3))) False
- is_production_node(node: tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node], /) bool[source]#
Whether the node is the initial state decaying into an isobar and a spectator.
>>> is_production_node((1, (2, 3))) True >>> is_production_node((2, 3)) False
- as_final_state_pair(node_item: Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node], Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node]], /) tuple[Literal[1, 2, 3], Literal[1, 2, 3]] | None[source]#
Convert a node item to a pair of final-state IDs, or
Noneif it is not one.Serialized nodes are lists, so this also normalizes them to tuples. It returns
Nonefor a final-state ID and for a node that contains sub-nodes.>>> as_final_state_pair([2, 3]) (2, 3) >>> as_final_state_pair(1) >>> as_final_state_pair((1, (2, 3)))
- is_isobar(node_item: Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node], Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node]], /) TypeIs[tuple[Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node], Literal[1, 2, 3] | tuple[Literal[1, 2, 3] | Node, Literal[1, 2, 3] | Node]]][source]#
Whether an item within a node is a sub-node, not a final-state ID.
>>> is_isobar((2, 3)) True >>> is_isobar(1) False