rxmc.ias_pn_observation.IsobaricAnalogPNObservation#

class rxmc.ias_pn_observation.IsobaricAnalogPNObservation(x: ndarray, y: ndarray, Elab: float, reaction: Reaction, ExIAS: float, 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, 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]), ObservationClass: Type[Observation] = <class 'rxmc.observation.Observation'>, error_kwargs: dict = None, wavelengths_beyond_range: float = 2.0, zeros_per_node: int = 5)[source]#

Bases: object

Observation for (p,n) isobaric analog state (IAS) reactions.

This class dynamically inherits from Observation or any other derived class of Observation based on the ObservationClass parameter in the initializer. The default behavior is to inherit from Observation, but users can specify a different subclass, such as FixedCovarianceObservation, to precompute the covariance matrix inverse in cases where the covariance is fixed.

It is designed to handle (p,n) IAS reaction measurements in differential cross section form.

Internally, this involves initializing a jitr.xs.quasielastic_pn.Workspace which precomputes things like boundary conditions to speed up computation of observables for a given set of interaction parameters.

__init__(x: ndarray, y: ndarray, Elab: float, reaction: Reaction, ExIAS: float, 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, 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]), ObservationClass: Type[Observation] = <class 'rxmc.observation.Observation'>, error_kwargs: dict = None, wavelengths_beyond_range: float = 2.0, zeros_per_node: int = 5)[source]#

Initialize a Observation instance for the (p,n) IAS reaction.

Parameters:
  • x (np.ndarray) – Measured angle grid in degrees.

  • y (np.ndarray) – Measured differential cross section data.

  • Elab (float) – Laboratory energy of the incoming proton (MeV).

  • reaction (jitr.reactions.Reaction) – Reaction information.

  • ExIAS (float) – Excitation energy of the IAS in the residual nucleus (MeV).

  • y_units (str) – Units of the supplied y values.

  • y_stat_err (np.ndarray, optional) – Statistical errors associated with y.

  • y_sys_err_normalization (float or array-like, optional) – Systematic normalization error(s) associated with y.

  • y_sys_err_offset (float or array-like, optional) – Systematic offset error(s) associated with y.

  • dataset_label (str, optional) – Human-readable dataset identifier used in error messages.

  • lmax (int) – Maximum angular momentum

  • angles_vis (np.ndarray) – Array of angles in degrees for visualization.

  • ObservationClass (Type[Observation]) – The base class Type that this instance will inherit from; must be a subclass of Observation. Defaults to the base class Observation, but the user can supply any other subclass. For example, if one wants the covariance to be precomputed one can supply FixedCovarianceObservation instead here.

  • error_kwargs (dict) – Additional keyword arguments for error handling.

  • wavelengths_beyond_range (float) – Number of wavelengths beyond the interaction range to set the channel radius.

  • zeros_per_node (int) – Number of zeros of the basis functions per node in the R-matrix solver.

Methods

__init__(x, y, Elab, reaction, ExIAS, y_units)

Initialize a Observation instance for the (p,n) IAS reaction.

covariance(y)

from_measurement(measurement, reaction, ...)

num_pts_within_interval(interval)

residual(ym)

covariance(y)[source]#
residual(ym)[source]#
num_pts_within_interval(interval)[source]#
classmethod from_measurement(measurement: Distribution, reaction: Reaction, ExIAS: float, lmax: int = 20, 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]), ObservationClass: Type[Observation] = <class 'rxmc.observation.Observation'>, error_kwargs: dict = None, wavelengths_beyond_range: float = 2.0, zeros_per_node: int = 5)[source]#