ColorOrderedMapping¶
- class madspace.ColorOrderedMapping(self: madspace._madspace_py.ColorOrderedMapping, color_order: collections.abc.Sequence[SupportsInt], t_invariant_power: SupportsFloat = 0.8, s_invariant_power: SupportsFloat = 0.8, pt_min: collections.abc.Sequence[SupportsFloat] = [], m_inv_min: collections.abc.Sequence[collections.abc.Sequence[SupportsFloat]] = [], dr_min: collections.abc.Sequence[collections.abc.Sequence[SupportsFloat]] = [], arcsine_s23: bool = True, y_max: collections.abc.Sequence[SupportsFloat] = [])¶
Bases:
MappingLeading-color phase-space mapping following a color-ordered particle chain.
Generates the full final state as a chain of \((\tilde s, t)\) two-particle blocks (TwoToThreeParticleScattering) laid out along a color-ordered permutation of the particles, peeling one on-shell momentum off at a time from each beam, with a TwoToTwoParticleScattering or DoubleT central block joining the two sides [1]. It encodes no specific diagram topology. The
discrete_iinputs select, per \(2 \to 3\) peel, which of the two branches to take. See Sec. 2.2.5 of [1], following [2].batchis the leading batch dimension.n_outis the number of outgoing particles andn = n_out + 2the total.Inputs
random_i–float, shape(batch,)– the continuous random numbers (random_dim()of them).discrete_i–int, shape(batch,)– the two-solution choices (discrete_dim()of them).
Conditions
com_energy–float, shape(batch,)– total collision energy.mass_i–float, shape(batch,)– then_outoutgoing masses.x1,x2–float, shape(batch,)– beam momentum fractions. Present only when a rapidity bound is used (see the constructor).
Outputs
momentum_i–float, shape(batch, 4)– thenmomenta (incoming beams first, then outgoing).
In addition every mapping returns a
weight(float, shape(batch,)), the Jacobian of the transformation.References
[1] T. Heimel, O. Mattelaer, R. Winterhalder, “MadSpace”, https://arxiv.org/abs/2602.06895 (Sec. 2.2.5)
[2] R. Frederix, T. Vitos, “Leading-colour-based unweighted event generation for multi-parton tree-level processes”, https://arxiv.org/abs/2409.12128
- Parameters:
color_order – 0-based permutation of
{0, ..., n-1}(n = n_out + 2) giving the chain order; particles 0 and 1 are the incoming beams. See Topology.t_invariant_power – Exponent of the
1/|t|^psampling of every momentum transfer; see Invariant.s_invariant_power – Exponent of the
1/s^psampling of every time-like invariant; see Invariant.pt_min – Per-outgoing-particle minimum transverse momentum; empty disables the cut. See Cuts.
m_inv_min – Symmetric matrix of minimum pair invariant masses; empty disables the cut. See Cuts.
dr_min – Symmetric matrix of minimum pair
delta_rseparations; empty disables the cut. See Cuts.arcsine_s23 – Remap the random number of every 2->3 invariant with the arcsine map in the azimuth, removing the
1/|sin(phi)|edge peak of the weight; see TwoToThreeParticleScattering.y_max – Per-outgoing-particle bound on the absolute lab rapidity, negative (or empty) for none. Used where a block scatters the two beams in the partonic centre-of-mass frame, so that its momentum transfers fix the light-cone components of what it emits: the central 2->2 (bounds of the two sides), the double-t central block (|t2| at fixed |t1|) and the first peel of a single chain. A side or rest system is bounded when each of its particles is. The mapping then takes the beam momentum fractions
x1,x2(float, shape(batch,)) as two further conditions.
- discrete_dim(self: madspace._madspace_py.ColorOrderedMapping) int¶
Number of discrete two-solution choices (one per 2->3 peel).
- random_dim(self: madspace._madspace_py.ColorOrderedMapping) int¶
Number of continuous unit-hypercube inputs consumed by the forward map.