rxmc.elastic_diffxs_observation.ElasticDifferentialXSObservation#
- class rxmc.elastic_diffxs_observation.ElasticDifferentialXSObservation(x: ndarray, y: ndarray, Elab: float, reaction: Reaction, quantity: str, measurement_quantity: str, y_units: str, y_stat_err=None, y_sys_err_normalization=None, y_sys_err_offset=None, dataset_label: str | None = None, lmax: int = 20, wavelengths_beyond_range=2.0, zeros_per_node=5, angles_vis: ndarray = array([1.00000000e-02, 1.82808081e+00, 3.64616162e+00, 5.46424242e+00, 7.28232323e+00, 9.10040404e+00, 1.09184848e+01, 1.27365657e+01, 1.45546465e+01, 1.63727273e+01, 1.81908081e+01, 2.00088889e+01, 2.18269697e+01, 2.36450505e+01, 2.54631313e+01, 2.72812121e+01, 2.90992929e+01, 3.09173737e+01, 3.27354545e+01, 3.45535354e+01, 3.63716162e+01, 3.81896970e+01, 4.00077778e+01, 4.18258586e+01, 4.36439394e+01, 4.54620202e+01, 4.72801010e+01, 4.90981818e+01, 5.09162626e+01, 5.27343434e+01, 5.45524242e+01, 5.63705051e+01, 5.81885859e+01, 6.00066667e+01, 6.18247475e+01, 6.36428283e+01, 6.54609091e+01, 6.72789899e+01, 6.90970707e+01, 7.09151515e+01, 7.27332323e+01, 7.45513131e+01, 7.63693939e+01, 7.81874747e+01, 8.00055556e+01, 8.18236364e+01, 8.36417172e+01, 8.54597980e+01, 8.72778788e+01, 8.90959596e+01, 9.09140404e+01, 9.27321212e+01, 9.45502020e+01, 9.63682828e+01, 9.81863636e+01, 1.00004444e+02, 1.01822525e+02, 1.03640606e+02, 1.05458687e+02, 1.07276768e+02, 1.09094848e+02, 1.10912929e+02, 1.12731010e+02, 1.14549091e+02, 1.16367172e+02, 1.18185253e+02, 1.20003333e+02, 1.21821414e+02, 1.23639495e+02, 1.25457576e+02, 1.27275657e+02, 1.29093737e+02, 1.30911818e+02, 1.32729899e+02, 1.34547980e+02, 1.36366061e+02, 1.38184141e+02, 1.40002222e+02, 1.41820303e+02, 1.43638384e+02, 1.45456465e+02, 1.47274545e+02, 1.49092626e+02, 1.50910707e+02, 1.52728788e+02, 1.54546869e+02, 1.56364949e+02, 1.58183030e+02, 1.60001111e+02, 1.61819192e+02, 1.63637273e+02, 1.65455354e+02, 1.67273434e+02, 1.69091515e+02, 1.70909596e+02, 1.72727677e+02, 1.74545758e+02, 1.76363838e+02, 1.78181919e+02, 1.80000000e+02]), compound_correction: ndarray = None, transform=None, mask=None)[source]#
Bases:
ObservationObservation for elastic differential cross sections.
This is an
Observation(statistical error only): it inheritsstatistical_termandnum_pts_within_interval. Any correlated systematic — the dataset’s reported normalisation/offset, or a fixed covariance block (an array-valuedTerm) — is composed explicitly as anextra_termsentry in theConstraint.It is designed to handle elastic differential cross section measurements, specifically absolute differential cross sections, Rutherford normalized differential cross sections, and analyzing powers (Ay).
Internally, this involves initializing a jitr.xs.elastic.DifferentialWorkspace which precomputes things like boundary conditions to speed up computation of observables for a given set of interaction parameter.
- __init__(x: ndarray, y: ndarray, Elab: float, reaction: Reaction, quantity: str, measurement_quantity: str, y_units: str, y_stat_err=None, y_sys_err_normalization=None, y_sys_err_offset=None, dataset_label: str | None = None, lmax: int = 20, wavelengths_beyond_range=2.0, zeros_per_node=5, angles_vis: ndarray = array([1.00000000e-02, 1.82808081e+00, 3.64616162e+00, 5.46424242e+00, 7.28232323e+00, 9.10040404e+00, 1.09184848e+01, 1.27365657e+01, 1.45546465e+01, 1.63727273e+01, 1.81908081e+01, 2.00088889e+01, 2.18269697e+01, 2.36450505e+01, 2.54631313e+01, 2.72812121e+01, 2.90992929e+01, 3.09173737e+01, 3.27354545e+01, 3.45535354e+01, 3.63716162e+01, 3.81896970e+01, 4.00077778e+01, 4.18258586e+01, 4.36439394e+01, 4.54620202e+01, 4.72801010e+01, 4.90981818e+01, 5.09162626e+01, 5.27343434e+01, 5.45524242e+01, 5.63705051e+01, 5.81885859e+01, 6.00066667e+01, 6.18247475e+01, 6.36428283e+01, 6.54609091e+01, 6.72789899e+01, 6.90970707e+01, 7.09151515e+01, 7.27332323e+01, 7.45513131e+01, 7.63693939e+01, 7.81874747e+01, 8.00055556e+01, 8.18236364e+01, 8.36417172e+01, 8.54597980e+01, 8.72778788e+01, 8.90959596e+01, 9.09140404e+01, 9.27321212e+01, 9.45502020e+01, 9.63682828e+01, 9.81863636e+01, 1.00004444e+02, 1.01822525e+02, 1.03640606e+02, 1.05458687e+02, 1.07276768e+02, 1.09094848e+02, 1.10912929e+02, 1.12731010e+02, 1.14549091e+02, 1.16367172e+02, 1.18185253e+02, 1.20003333e+02, 1.21821414e+02, 1.23639495e+02, 1.25457576e+02, 1.27275657e+02, 1.29093737e+02, 1.30911818e+02, 1.32729899e+02, 1.34547980e+02, 1.36366061e+02, 1.38184141e+02, 1.40002222e+02, 1.41820303e+02, 1.43638384e+02, 1.45456465e+02, 1.47274545e+02, 1.49092626e+02, 1.50910707e+02, 1.52728788e+02, 1.54546869e+02, 1.56364949e+02, 1.58183030e+02, 1.60001111e+02, 1.61819192e+02, 1.63637273e+02, 1.65455354e+02, 1.67273434e+02, 1.69091515e+02, 1.70909596e+02, 1.72727677e+02, 1.74545758e+02, 1.76363838e+02, 1.78181919e+02, 1.80000000e+02]), compound_correction: ndarray = None, transform=None, mask=None)[source]#
- Parameters:
x (np.ndarray) – Measured angle grid in degrees.
y (np.ndarray) – Measured observable values.
Elab (float) – Laboratory energy in MeV.
reaction (jitr.reactions.Reaction) – Reaction system definition.
quantity (str) – Observable to compute:
"dXS/dA","dXS/dRuth", or"Ay".measurement_quantity (str) – Observable represented by the supplied y values.
y_units (str) – Units of the supplied y values (e.g.
"mb/sr").y_stat_err (np.ndarray, optional) – Statistical errors associated with y.
y_sys_err_normalization (float or np.ndarray, optional) – Reported fractional (dimensionless) normalisation uncertainty. Retained as inert metadata (see
rxmc.observation.Observation.systematic_terms()); not divided by the unit normalisation.y_sys_err_offset (float or np.ndarray, optional) – Reported absolute offset uncertainty in the same units as y. Retained as inert metadata, converted to internal units (divided by the unit normalisation, per-angle where applicable).
dataset_label (str, optional) – Human-readable dataset identifier used in error messages.
lmax (int, optional) – Maximum angular momentum. Defaults to
20.wavelengths_beyond_range (float, optional) – Number of wavelengths beyond the interaction range used to set the channel radius. Defaults to
2.0.zeros_per_node (int, optional) – Number of basis-function zeros per node in the R-matrix solver. Defaults to
5.angles_vis (np.ndarray, optional) – Angle grid in degrees for visualisation. Defaults to
np.linspace(0.01, 180, 100).compound_correction (np.ndarray, optional) – Compound-nuclear contribution to dXS/dΩ in mb/sr, added to the calculated cross section before comparing to data.
transform, mask (optional) – Comparison-space transform and active-point mask; see
Observation.
Methods
__init__(x, y, Elab, reaction, quantity, ...)from_measurement(measurement, reaction, ...)Construct from an
exfor_toolsDistribution.masked(mask[, label])A shallow copy of this observation with a new point mask.
masked_where(predicate[, label])masked()withmask = predicate(x)(points where it is True).num_pts_within_interval(ylow, yhigh[, xlim])Number of active points of
ythat fall within[ylow, yhigh).statistical_term([support])The always-on, genuinely uncorrelated statistical diagonal.
systematic_terms([support])This dataset's reported correlated systematics as fixed rank-one terms.
Attributes
Entrance-channel wavenumber in fm^-1.
log_jacobiansum(log |t'(y_raw)|)over the active points.n_activeNumber of active (unmasked) points.