Struct rustitude_core::manager::ExtendedLogLikelihood
source · pub struct ExtendedLogLikelihood {
pub data_manager: Manager,
pub mc_manager: Manager,
}Expand description
The ExtendedLogLikelihood stores two Managers, one for data and one for a Monte-Carlo
dataset used for acceptance correction. These should probably have the same Manager in
practice, but this is left to the user.
Fields§
§data_manager: ManagerManager for data
mc_manager: ManagerManager for Monte-Carlo
Implementations§
source§impl ExtendedLogLikelihood
impl ExtendedLogLikelihood
sourcepub const fn new(data_manager: Manager, mc_manager: Manager) -> Self
pub const fn new(data_manager: Manager, mc_manager: Manager) -> Self
Create a new ExtendedLogLikelihood from a data and Monte-Carlo Managers.
sourcepub fn evaluate(&self, parameters: &[f64]) -> Result<f64, RustitudeError>
pub fn evaluate(&self, parameters: &[f64]) -> Result<f64, RustitudeError>
Evaluate the ExtendedLogLikelihood over the Dataset with the given free parameters.
§Errors
This method will return a RustitudeError if the amplitude calculation fails. See
Model::compute for more information.
sourcepub fn par_evaluate(
&self,
parameters: &[f64],
num_threads: usize,
) -> Result<f64, RustitudeError>
pub fn par_evaluate( &self, parameters: &[f64], num_threads: usize, ) -> Result<f64, RustitudeError>
Evaluate the ExtendedLogLikelihood over the Dataset with the given free parameters
This method also allows the user to input a maximum number of threads to use in the
calculation, as it uses a parallel loop over events.
§Errors
This method will return a RustitudeError if the amplitude calculation fails. See
Model::compute for more information.
sourcepub fn intensity(
&self,
parameters: &[f64],
dataset: &Dataset,
) -> Result<Vec<f64>, RustitudeError>
pub fn intensity( &self, parameters: &[f64], dataset: &Dataset, ) -> Result<Vec<f64>, RustitudeError>
Evaluate the unnormalized intensity function over the given Dataset with the given
free parameters.
§Errors
This method will return a RustitudeError if the amplitude calculation fails. See
Model::compute for more information.
sourcepub fn par_intensity(
&self,
parameters: &[f64],
dataset: &Dataset,
num_threads: usize,
) -> Result<Vec<f64>, RustitudeError>
pub fn par_intensity( &self, parameters: &[f64], dataset: &Dataset, num_threads: usize, ) -> Result<Vec<f64>, RustitudeError>
Evaluate the unnormalized intensity function over the given Dataset with the given
free parameters. This method also allows the user to input a maximum number of threads
to use in the calculation. This version uses a parallel loop over events.
§Errors
This method will return a RustitudeError if the amplitude calculation fails. See
Model::compute for more information.
sourcepub fn norm_int(
&self,
parameters: &[f64],
weighted: bool,
) -> Result<f64, RustitudeError>
pub fn norm_int( &self, parameters: &[f64], weighted: bool, ) -> Result<f64, RustitudeError>
Find the normalization integral for the Model over the Dataset with the given
free parameters.
§Errors
This method will return a RustitudeError if the amplitude calculation fails. See
Model::norm_int for more information.
sourcepub fn par_norm_int(
&self,
parameters: &[f64],
num_threads: usize,
weighted: bool,
) -> Result<f64, RustitudeError>
pub fn par_norm_int( &self, parameters: &[f64], num_threads: usize, weighted: bool, ) -> Result<f64, RustitudeError>
Find the normalization integral for the Model over the Dataset with the given
free parameters.
§Errors
This method will return a RustitudeError if the amplitude calculation fails. See
Model::norm_int for more information.
sourcepub fn get_amplitude(
&self,
amplitude_name: &str,
) -> Result<Amplitude, RustitudeError>
pub fn get_amplitude( &self, amplitude_name: &str, ) -> Result<Amplitude, RustitudeError>
Get a copy of an Amplitude in the Model by name.
§Errors
This method will return a RustitudeError if there is no amplitude found with the given
name in the parent Model. See Model::get_amplitude for more information.
sourcepub fn get_parameter(
&self,
amplitude_name: &str,
parameter_name: &str,
) -> Result<Parameter, RustitudeError>
pub fn get_parameter( &self, amplitude_name: &str, parameter_name: &str, ) -> Result<Parameter, RustitudeError>
Get a copy of a Parameter in a Model by name and the name of the parent
Amplitude.
§Errors
This method will return a RustitudeError if there is no parameter found with the given
name in the parent Model. It will also first check if the given amplitude exists, and
this method can also fail in the same way (see Model::get_amplitude and
Model::get_parameter).
sourcepub fn print_parameters(&self)
pub fn print_parameters(&self)
Print the free parameters in the Model. See Model::print_parameters for more
information.
sourcepub fn constrain(
&mut self,
amplitude_1: &str,
parameter_1: &str,
amplitude_2: &str,
parameter_2: &str,
) -> Result<(), RustitudeError>
pub fn constrain( &mut self, amplitude_1: &str, parameter_1: &str, amplitude_2: &str, parameter_2: &str, ) -> Result<(), RustitudeError>
Constrain two parameters by name, reducing the number of free parameters by one.
§Errors
This method will fail if any of the given amplitude or parameter names don’t correspond to
a valid amplitude-parameter pair. See Model::constrain for more information.
sourcepub fn fix(
&mut self,
amplitude: &str,
parameter: &str,
value: f64,
) -> Result<(), RustitudeError>
pub fn fix( &mut self, amplitude: &str, parameter: &str, value: f64, ) -> Result<(), RustitudeError>
Fix a parameter by name to the given value.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::fix for more information.
sourcepub fn free(
&mut self,
amplitude: &str,
parameter: &str,
) -> Result<(), RustitudeError>
pub fn free( &mut self, amplitude: &str, parameter: &str, ) -> Result<(), RustitudeError>
Free a fixed parameter by name.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::free for more information.
sourcepub fn set_bounds(
&mut self,
amplitude: &str,
parameter: &str,
bounds: (f64, f64),
) -> Result<(), RustitudeError>
pub fn set_bounds( &mut self, amplitude: &str, parameter: &str, bounds: (f64, f64), ) -> Result<(), RustitudeError>
Set the bounds of a parameter by name.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::set_bounds for more information.
sourcepub fn set_initial(
&mut self,
amplitude: &str,
parameter: &str,
initial: f64,
) -> Result<(), RustitudeError>
pub fn set_initial( &mut self, amplitude: &str, parameter: &str, initial: f64, ) -> Result<(), RustitudeError>
Set the initial value of a parameter by name.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::set_initial for more information.
sourcepub fn get_bounds(&self) -> Vec<(f64, f64)>
pub fn get_bounds(&self) -> Vec<(f64, f64)>
Get a list of bounds for all free parameters in the Model. See
Model::get_bounds for more information.
sourcepub fn get_initial(&self) -> Vec<f64>
pub fn get_initial(&self) -> Vec<f64>
Get a list of initial values for all free parameters in the Model. See
Model::get_initial for more information.
sourcepub fn get_n_free(&self) -> usize
pub fn get_n_free(&self) -> usize
Get the number of free parameters in the Model See Model::get_n_free for
more information.
sourcepub fn activate(&mut self, amplitude: &str)
pub fn activate(&mut self, amplitude: &str)
Activate an Amplitude by name. See Model::activate for more information.
sourcepub fn deactivate(&mut self, amplitude: &str)
pub fn deactivate(&mut self, amplitude: &str)
Deactivate an Amplitude by name. See Model::deactivate for more information.
Auto Trait Implementations§
impl Freeze for ExtendedLogLikelihood
impl !RefUnwindSafe for ExtendedLogLikelihood
impl Send for ExtendedLogLikelihood
impl Sync for ExtendedLogLikelihood
impl Unpin for ExtendedLogLikelihood
impl !UnwindSafe for ExtendedLogLikelihood
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.