phasespace#

import tensorwaves.data.phasespace

Implementations of a DataGenerator for four-momentum samples.

class TFPhaseSpaceGenerator(initial_state_mass: float, final_state_masses: Mapping[int, float], bunch_size: int = 50000)[source]#

Bases: DataGenerator

Implements a phase space generator using tensorflow.

Parameters:
  • initial_state_mass – Mass of the decaying state.

  • final_state_masses – A mapping of final state IDs to the corresponding masses.

  • bunch_size – Size of a bunch that is generated during a hit-and-miss iteration.

generate(size: int, rng: RealNumberGenerator) DataSample[source]#

Generate a DataSample of phase space four-momenta.

Returns:

A DataSample of four-momenta arrays of shape \(n \times 4\).

class TFWeightedPhaseSpaceGenerator(initial_state_mass: float, final_state_masses: Mapping[int, float])[source]#

Bases: DataGenerator

Implements a phase space generator with weights using tensorflow.

The weights are provided in the returned DataSample under the key "weights".

Parameters:
  • initial_state_mass – Mass of the decaying state.

  • final_state_masses – A mapping of final state IDs to the corresponding masses.

generate(size: int, rng: RealNumberGenerator) DataSample[source]#

Generate a DataSample of phase space four-momenta with weights.

Returns:

A tuple of a DataSample (four-momenta) with an event-wise sequence of weights. The four-momenta are arrays of shape \(n \times 4\).