TwoToTwoParticleScattering

class madspace.TwoToTwoParticleScattering(self: madspace._madspace_py.TwoToTwoParticleScattering, com: bool, invariant_power: SupportsFloat = 0.0, mass: SupportsFloat = 0.0, width: SupportsFloat = 0.0, has_cut: bool = False, y_max1: SupportsFloat = -1.0, y_max2: SupportsFloat = -1.0, beam_sign: SupportsFloat = 1.0)

Bases: Mapping

Two-particle phase-space block parametrized by the azimuth and the momentum transfer \(t\).

Same two-particle phase space as TwoBodyDecay. The polar angle is traded for the Mandelstam invariant \(t = (p_\mathrm{in,1} - p_1)^2 < 0\), which is linear in \(\cos\theta\) [1]. The azimuth is uniform, \(\phi = 2\pi\,r_\phi\). \(|t|\) is drawn with an Invariant (from invariant_power / mass / width) so a t-channel propagator pole is flattened (Sec. 2.2.4 of [1]). The momenta are built in the scattering center-of-mass frame and boosted out.

batch is the leading batch dimension. The masses are inputs here. They are supplied on the forward call and recovered by the inverse.

Inputs

  • random_phi – float, shape (batch,) – azimuthal-angle random number.

  • random_inv – float, shape (batch,) – random number for \(|t|\).

  • mass1 – float, shape (batch,) – first outgoing mass.

  • mass2 – float, shape (batch,) – second outgoing mass.

Conditions

  • momentum_in1 – float, shape (batch, 4) – first incoming momentum.

  • momentum_in2 – float, shape (batch, 4) – second incoming momentum.

  • etmin_1 – float, shape (batch,) – transverse-energy cut on the first outgoing particle. Present only when has_cut is true.

  • etmin_2 – float, shape (batch,) – transverse-energy cut on the second outgoing particle. Present only when has_cut is true.

  • x1, x2 – float, shape (batch,) – beam momentum fractions. Present only when a rapidity bound is given (see the constructor).

Outputs

  • momentum1 – float, shape (batch, 4) – first outgoing momentum.

  • momentum2 – float, shape (batch, 4) – second outgoing momentum.

In addition every mapping returns a weight (float, shape (batch,)), the Jacobian of the transformation.

References

Parameters:
  • com – If true, momenta are built in the scattering center-of-mass frame.

  • invariant_power – Exponent of the \(1/|t|^{\,p}\) sampling of the momentum transfer; see Invariant.

  • mass – t-channel propagator mass; see Invariant.

  • width – t-channel propagator width; a nonzero value selects Breit-Wigner sampling. See Invariant.

  • has_cut – If true, the etmin_* conditions restrict \(|t|\) to the region passing the transverse cuts; see Cuts.

  • y_max1 – Bound on the absolute lab rapidity of momentum1 (the recoil); negative, or 100 and above, for none.

  • y_max2 – The same for momentum2.

  • beam_sign – +1 if momentum_in1 is beam 1 (along +z), -1 if it is beam 2.

The rapidity bounds are only valid when the two incoming momenta are the beams in the partonic centre-of-mass frame (the first step of a t-channel chain). There t fixes pb.p2 and, with the masses, pa.p2, so each bound becomes an interval of \(|t|\). With a bound set, the mapping takes the beam momentum fractions x1, x2 (float, shape (batch,)) as two further conditions.