DifferentialCrossSection¶
- class madspace.DifferentialCrossSection(self: madspace._madspace_py.DifferentialCrossSection, matrix_element: madspace._madspace_py.MatrixElement, cm_energy: SupportsFloat, running_coupling: madspace._madspace_py.RunningCoupling | None, energy_scale: None | madspace._madspace_py.EnergyScale | madspace._madspace_py.CachedScale, pid_options: collections.abc.Sequence[collections.abc.Sequence[SupportsInt]] = [], pdf1: None | madspace._madspace_py.PdfGrid | madspace._madspace_py.CachedPdf = None, pdf2: None | madspace._madspace_py.PdfGrid | madspace._madspace_py.CachedPdf = None, input_momentum_fraction: bool = True, decay: bool = False)¶
Bases:
FunctionGeneratorThe fully differential cross section \(f(x)\).
Assembles the integrand of the phase-space integral: a MatrixElement evaluation multiplied by the flux factor, the PartonDensity values for the two beams, and \(\alpha_s\) from a RunningCoupling, all at the EnergyScale of the event [1]. The
Cached*variants of the PDF and scale arguments reuse values already computed elsewhere in the graph.With
decaythe generator instead describes the decay of a single incoming particle. The differential rate is then \(|M|^2 / (2 M)\) with \(M\) =cm_energy, in GeV, rather than a hadronic cross section in pb. There are no beams, hence no momentum fractions and no PDFs.batchis the leading batch dimension.Arguments
the arguments of
matrix_element, plusx1,x2–float, shape(batch,)– parton momentum fractions (wheninput_momentum_fractionis true).pdf_id–int, shape(batch,)– selected flavour combination.pdf1,pdf2–float, shape(batch,)– cached PDF values (with aCachedPdfargument).alpha_s–float, shape(batch,)– cached coupling (with aCachedScaleargument).
Returns
the return values of
matrix_element, scaled to the differential cross section.
References
[1] T. Heimel, O. Mattelaer, R. Winterhalder, “MadSpace”, https://arxiv.org/abs/2602.06895 (Sec. 3.2)
- Parameters:
matrix_element – The squared matrix element.
cm_energy – Total collision energy.
running_coupling – Optional \(\alpha_s\) source.
energy_scale – An EnergyScale, a
CachedScaletag, or nothing.pid_options – Allowed flavour combinations of the two initial partons.
pdf1 – A PdfGrid, a
CachedPdftag, or nothing, for the first beam.pdf2 – Likewise for the second beam.
input_momentum_fraction – If true,
x1/x2are taken as inputs rather than reconstructed.decay – If true, describe the decay of a single incoming particle instead of a collision.
- has_pdf(self: madspace._madspace_py.DifferentialCrossSection, pdf_index: SupportsInt) bool¶
Whether beam
pdf_index(0 or 1) has a PDF attached.
- matrix_element(self: madspace._madspace_py.DifferentialCrossSection) madspace._madspace_py.MatrixElement¶
The matrix element.
- pid_options(self: madspace._madspace_py.DifferentialCrossSection) list[list[int]]¶
The allowed initial-parton flavour combinations.
- running_coupling(self: madspace._madspace_py.DifferentialCrossSection) madspace._madspace_py.RunningCoupling | None¶
The strong-coupling source, if any.