SubchannelWeights

class madspace.SubchannelWeights(self: madspace._madspace_py.SubchannelWeights, topologies: collections.abc.Sequence[collections.abc.Sequence[madspace._madspace_py.Topology]], permutations: collections.abc.Sequence[collections.abc.Sequence[collections.abc.Sequence[SupportsInt]]], channel_indices: collections.abc.Sequence[collections.abc.Sequence[SupportsInt]])

Bases: FunctionGenerator

Splits each channel weight among its on-shell sub-channels.

A single decay topology admits several sampling orders, one per set of propagators that can be simultaneously on shell (Sec. 2.2.7 of [1]). This distributes an incoming per-channel weight over those sub-channels in proportion to their on-shell propagator denominators.

batch is the leading batch dimension.

Arguments

  • momenta – float, shape (batch, n, 4) – all momenta of the event.

  • channel_weights_in – float, shape (batch, c_in) – the per-channel weights to split.

Returns

  • channel_weights_out – float, shape (batch, c_out) – the per-sub-channel weights.

References

Parameters:
  • topologies – Per channel, its list of on-shell sub-channel topologies.

  • permutations – Per channel, the outgoing-particle permutations.

  • channel_indices – Per channel, the global channel indices.

channel_count(self: madspace._madspace_py.SubchannelWeights) → int

Number of input channels.