mass_cons

class MassCons(n_particles, mass_constraints=None)[source]

Bases: object

Kinematic constraint model for particle physics.

Always constrains individual particle masses. Optionally adds extra mass constraints (e.g., total mass).

do_constraints(x, mass_targets_sq=None, momentum_target=None, max_iter=50, tol=1e-12, chunk_size=2000)[source]

Apply kinematic constraints using Newton-Raphson iteration.

Parameters:

xndarray

Input 4-momenta, shape (n_events, n_particles, 4)

mass_targets_sqndarray or None, optional

Target mass-squared values, shape (n_mass_constraints,) or (n_events, n_mass_constraints). If None, computed from the mean of input data for each constraint (individual particles and combined masses). Input data should already be close to physical values for meaningful results.

momentum_targetndarray or None, optional

Target total 4-momentum [E, px, py, pz], shape (4,) or (n_events, 4). If None, no momentum constraint is applied.

max_iterint

Maximum number of iterations

tolfloat

Convergence tolerance

chunk_sizeint

Number of events per chunk. Default: 2000.

Returns:

ndarray : Adjusted 4-momenta

mass_sq(p4)[source]

Compute invariant mass squared: m^2 = E^2 - px^2 - py^2 - pz^2