Public Member Functions | Protected Member Functions | List of all members
FitSinSqTheta23LowerOctant Class Reference

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N21-01-16/3FlavorAna/Ana2017/nue/joint_fit_2017_tools.h"

Inheritance diagram for FitSinSqTheta23LowerOctant:
ana::IConstrainedFitVar ana::IConstrainedFitVar ana::IConstrainedFitVar ana::IConstrainedFitVar ana::IFitVar ana::IFitVar ana::IFitVar ana::IFitVar

Public Member Functions

virtual double GetValue (const osc::IOscCalcAdjustable *osc) const
 
virtual void SetValue (osc::IOscCalcAdjustable *osc, double val) const
 
virtual std::string ShortName () const
 
virtual std::string LatexName () const
 
virtual double LowLimit () const
 
virtual double HighLimit () const
 
virtual double GetValue (const osc::IOscCalcAdjustable *osc) const
 
virtual void SetValue (osc::IOscCalcAdjustable *osc, double val) const
 
virtual std::string ShortName () const
 
virtual std::string LatexName () const
 
virtual double LowLimit () const
 
virtual double HighLimit () const
 
virtual double GetValue (const osc::IOscCalcAdjustable *osc) const
 
virtual void SetValue (osc::IOscCalcAdjustable *osc, double val) const
 
virtual std::string ShortName () const
 
virtual std::string LatexName () const
 
virtual double LowLimit () const
 
virtual double HighLimit () const
 
virtual double GetValue (const osc::IOscCalcAdjustable *osc) const
 
virtual void SetValue (osc::IOscCalcAdjustable *osc, double val) const
 
virtual std::string ShortName () const
 
virtual std::string LatexName () 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...
 

Protected Member Functions

template<typename T >
T Clamp (T val) const
 

Detailed Description

Definition at line 346 of file joint_fit_2017_tools.h.

Member Function Documentation

template<typename T >
T ana::IConstrainedFitVar::Clamp ( T  val) const
inlineprotectedinherited
virtual double FitSinSqTheta23LowerOctant::GetValue ( const osc::IOscCalcAdjustable osc) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 124 of file joint_fit_2019_style_tools.h.

References osc::_IOscCalcAdjustable< T >::GetTh23(), std::sin(), and util::sqr().

124  {
125  return util::sqr(sin(osc->GetTh23()));};
virtual T GetTh23() const
Definition: IOscCalc.h:94
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
T sin(T number)
Definition: d0nt_math.hpp:132
virtual double FitSinSqTheta23LowerOctant::GetValue ( const osc::IOscCalcAdjustable osc) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 332 of file sensitivity_tools.h.

References osc::_IOscCalcAdjustable< T >::GetTh23(), std::sin(), and util::sqr().

332  {
333  return util::sqr(sin(osc->GetTh23()));};
virtual T GetTh23() const
Definition: IOscCalc.h:94
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
T sin(T number)
Definition: d0nt_math.hpp:132
virtual double FitSinSqTheta23LowerOctant::GetValue ( const osc::IOscCalcAdjustable osc) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 349 of file joint_fit_2017_tools.h.

References osc::_IOscCalcAdjustable< T >::GetTh23(), std::sin(), and util::sqr().

349  {
350  return util::sqr(sin(osc->GetTh23()));};
virtual T GetTh23() const
Definition: IOscCalc.h:94
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
T sin(T number)
Definition: d0nt_math.hpp:132
virtual double FitSinSqTheta23LowerOctant::GetValue ( const osc::IOscCalcAdjustable osc) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 504 of file joint_fit_2018_tools.h.

References osc::_IOscCalcAdjustable< T >::GetTh23(), std::sin(), and util::sqr().

504  {
505  return util::sqr(sin(osc->GetTh23()));};
virtual T GetTh23() const
Definition: IOscCalc.h:94
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
T sin(T number)
Definition: d0nt_math.hpp:132
virtual double FitSinSqTheta23LowerOctant::HighLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 131 of file joint_fit_2019_style_tools.h.

131 {return 0.5;}
virtual double FitSinSqTheta23LowerOctant::HighLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 339 of file sensitivity_tools.h.

339 {return 0.499;}
virtual double FitSinSqTheta23LowerOctant::HighLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 356 of file joint_fit_2017_tools.h.

356 {return 0.5;}
virtual double FitSinSqTheta23LowerOctant::HighLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 511 of file joint_fit_2018_tools.h.

511 {return 0.5;}
virtual std::string FitSinSqTheta23LowerOctant::LatexName ( ) const
inlinevirtual

Definition at line 129 of file joint_fit_2019_style_tools.h.

129 {return "sin^{2}#theta_{23} LO";}
virtual std::string FitSinSqTheta23LowerOctant::LatexName ( ) const
inlinevirtual

Definition at line 337 of file sensitivity_tools.h.

337 {return "sin^{2}#theta_{23} LO";}
virtual std::string FitSinSqTheta23LowerOctant::LatexName ( ) const
inlinevirtual

Definition at line 354 of file joint_fit_2017_tools.h.

354 {return "sin^{2}#theta_{23} LO";}
virtual std::string FitSinSqTheta23LowerOctant::LatexName ( ) const
inlinevirtual

Definition at line 509 of file joint_fit_2018_tools.h.

509 {return "sin^{2}#theta_{23} LO";}
virtual double FitSinSqTheta23LowerOctant::LowLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 130 of file joint_fit_2019_style_tools.h.

130 {return 0;}
virtual double FitSinSqTheta23LowerOctant::LowLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 338 of file sensitivity_tools.h.

338 {return 0.01;}
virtual double FitSinSqTheta23LowerOctant::LowLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 355 of file joint_fit_2017_tools.h.

355 {return 0;}
virtual double FitSinSqTheta23LowerOctant::LowLimit ( ) const
inlinevirtual

Implements ana::IConstrainedFitVar.

Definition at line 510 of file joint_fit_2018_tools.h.

510 {return 0;}
double ana::IConstrainedFitVar::Penalty ( double  val,
osc::IOscCalcAdjustable  
) const
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().

10  {
11  const auto lo = LowLimit();
12  const auto hi = HighLimit();
13 
14  if (val >= lo && val <= hi) return 0;
15 
16  // Try to direct fit back towards centre of the space. Engineer penalty to
17  // be zero at the limits.
18  const auto mean = (lo + hi) / 2;
19  const auto rad = (hi - lo) / 2;
20  return util::sqr((val - mean) / rad) - 1;
21 
22 
23  // if(val < lo) return util::sqr(lo-val);
24  // if(val > hi) return util::sqr(val-hi);
25  // return 0;
26  }
virtual double HighLimit() const =0
TSpline3 lo("lo", xlo, ylo, 12,"0")
virtual double LowLimit() const =0
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
TSpline3 hi("hi", xhi, yhi, 18,"0")
static constexpr Double_t rad
Definition: Munits.h:162
virtual void FitSinSqTheta23LowerOctant::SetValue ( osc::IOscCalcAdjustable osc,
double  val 
) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 126 of file joint_fit_2019_style_tools.h.

References std::asin(), ana::IConstrainedFitVar::Clamp(), osc::_IOscCalcAdjustable< T >::SetTh23(), and std::sqrt().

126  {
127  osc->SetTh23(asin(sqrt(Clamp(val))));};
T sqrt(T number)
Definition: d0nt_math.hpp:156
T Clamp(T val) const
Definition: IFitVar.h:60
virtual void SetTh23(const T &th23)=0
T asin(T number)
Definition: d0nt_math.hpp:60
virtual void FitSinSqTheta23LowerOctant::SetValue ( osc::IOscCalcAdjustable osc,
double  val 
) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 334 of file sensitivity_tools.h.

References std::asin(), ana::IConstrainedFitVar::Clamp(), osc::_IOscCalcAdjustable< T >::SetTh23(), and std::sqrt().

334  {
335  osc->SetTh23(asin(sqrt(Clamp(val))));};
T sqrt(T number)
Definition: d0nt_math.hpp:156
T Clamp(T val) const
Definition: IFitVar.h:60
virtual void SetTh23(const T &th23)=0
T asin(T number)
Definition: d0nt_math.hpp:60
virtual void FitSinSqTheta23LowerOctant::SetValue ( osc::IOscCalcAdjustable osc,
double  val 
) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 351 of file joint_fit_2017_tools.h.

References std::asin(), ana::IConstrainedFitVar::Clamp(), osc::_IOscCalcAdjustable< T >::SetTh23(), and std::sqrt().

351  {
352  osc->SetTh23(asin(sqrt(Clamp(val))));};
T sqrt(T number)
Definition: d0nt_math.hpp:156
T Clamp(T val) const
Definition: IFitVar.h:60
virtual void SetTh23(const T &th23)=0
T asin(T number)
Definition: d0nt_math.hpp:60
virtual void FitSinSqTheta23LowerOctant::SetValue ( osc::IOscCalcAdjustable osc,
double  val 
) const
inlinevirtual

Implements ana::IFitVar.

Definition at line 506 of file joint_fit_2018_tools.h.

References std::asin(), ana::IConstrainedFitVar::Clamp(), osc::_IOscCalcAdjustable< T >::SetTh23(), and std::sqrt().

506  {
507  osc->SetTh23(asin(sqrt(Clamp(val))));};
T sqrt(T number)
Definition: d0nt_math.hpp:156
T Clamp(T val) const
Definition: IFitVar.h:60
virtual void SetTh23(const T &th23)=0
T asin(T number)
Definition: d0nt_math.hpp:60
virtual std::string FitSinSqTheta23LowerOctant::ShortName ( ) const
inlinevirtual

Definition at line 128 of file joint_fit_2019_style_tools.h.

128 {return "ssth23LO";}
virtual std::string FitSinSqTheta23LowerOctant::ShortName ( ) const
inlinevirtual

Definition at line 336 of file sensitivity_tools.h.

336 {return "ssth23LO";}
virtual std::string FitSinSqTheta23LowerOctant::ShortName ( ) const
inlinevirtual

Definition at line 353 of file joint_fit_2017_tools.h.

353 {return "ssth23LO";}
virtual std::string FitSinSqTheta23LowerOctant::ShortName ( ) const
inlinevirtual

Definition at line 508 of file joint_fit_2018_tools.h.

508 {return "ssth23LO";}

The documentation for this class was generated from the following files: