Fit the product of two variables (made from angles so their ranges are 0-1). See also FitVarsProductMarg. More...
#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N21-01-16/CAFAna/Vars/FitVarsProduct.h"
Public Member Functions | |
FitVarsProduct (const IConstrainedFitVar &x, const IConstrainedFitVar &y) | |
virtual double | GetValue (const osc::IOscCalcAdjustable *osc) const |
virtual void | SetValue (osc::IOscCalcAdjustable *osc, double val) const |
virtual double | LowLimit () const |
virtual double | HighLimit () const |
double | Penalty (double val, osc::IOscCalcAdjustable *) const override |
Override the default implementation with one that pushes back towards the center of the constrained space. More... | |
const std::string & | ShortName () const |
const std::string & | LatexName () const |
Protected Member Functions | |
template<typename T > | |
T | Clamp (T val) const |
Protected Attributes | |
const IConstrainedFitVar & | fVarX |
const IConstrainedFitVar & | fVarY |
Fit the product of two variables (made from angles so their ranges are 0-1). See also FitVarsProductMarg.
When we set the product, how do we decide to split it between the two variables? How do we marginalize over that freedom of choice? We introduce two new variables defined as:
and
This class is , FitVarsProductMarg is
. They have the property of being orthogonal, and ranging over 0 to 1 as
and
do.
One should fit over this parameter and introduce the corresponding FitVarsProductMarg as a marginalization variable.
Definition at line 25 of file FitVarsProduct.h.
ana::FitVarsProduct::FitVarsProduct | ( | const IConstrainedFitVar & | x, |
const IConstrainedFitVar & | y | ||
) |
Definition at line 100 of file FitVarsProduct.cxx.
References ana::assert(), ana::IConstrainedFitVar::HighLimit(), and ana::IConstrainedFitVar::LowLimit().
Definition at line 60 of file IFitVar.h.
References std::max(), std::min(), ana::StanExp(), ana::StanLog(), and submit_syst::x.
Referenced by ana::FitEpsMuTau::SetValue(), ana::FitDmSq32CPT::SetValue(), SetValue(), ana::FitDmSq32ScaledCPT::SetValue(), ana::FitVarsProductMarg::SetValue(), ana::FitDmSq32CPTHierarchy::SetValue(), FitSinSqTheta23UO::SetValue(), FitSinSqTheta23LO::SetValue(), ana::FitDmSq21CPT::SetValue(), ana::FitSinSq2Theta23CPT::SetValue(), ana::FitSinSqTheta23CPT::SetValue(), ana::FitSinSq2Theta13CPT::SetValue(), ana::FitSinSq2Theta12CPT::SetValue(), FitSinSqTheta23LowerOctant::SetValue(), FitSinSqTheta23MaxMix::SetValue(), and FitSinSqTheta23UpperOctant::SetValue().
|
virtual |
Implements ana::IFitVar.
Definition at line 111 of file FitVarsProduct.cxx.
References beta, fVarX, fVarY, and ana::IFitVar::GetValue().
|
inlinevirtual |
|
inlineinherited |
Definition at line 37 of file IFitVar.h.
References ana::IFitVar::fLatexName, ana::IFitVar::fShortName, and string.
Referenced by ana::FrequentistSurface::CreateHistograms(), ana::SurfaceKrige::SurfaceKrige(), and test_fitvarsproduct().
|
inlinevirtual |
|
overridevirtualinherited |
Override the default implementation with one that pushes back towards the center of the constrained space.
Reimplemented from ana::IFitVar.
Definition at line 8 of file IFitVar.cxx.
References hi(), ana::IConstrainedFitVar::HighLimit(), lo(), ana::IConstrainedFitVar::LowLimit(), extractScale::mean, Munits::rad, and util::sqr().
Referenced by ana::SigmaDelta::SigmaPenalty().
|
virtual |
Implements ana::IFitVar.
Definition at line 120 of file FitVarsProduct.cxx.
References beta, ana::IConstrainedFitVar::Clamp(), fVarX, fVarY, ana::IFitVar::GetValue(), ana::IFitVar::SetValue(), submit_syst::x, and submit_syst::y.
|
inlineinherited |
Definition at line 36 of file IFitVar.h.
References ana::IFitVar::fShortName.
Referenced by ana::CovMxSurface::CovMxSurface(), ana::FrequentistSurface::FillSurface(), MakeSurface(), MakeSurfaceJoint(), plot_3flavor_withsysts(), ana::FrequentistSurface::ProgressBarTitle(), ana::MCMCSamples::SampleValue(), ana::StanFitter::transform_helper(), ana::MCMCSample::Val(), ana::MCMCSamples::VarOffset(), and ana::StanFitter::write_array().
|
protected |
Definition at line 37 of file FitVarsProduct.h.
Referenced by GetValue(), and SetValue().
|
protected |
Definition at line 38 of file FitVarsProduct.h.
Referenced by GetValue(), and SetValue().