All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | Private Attributes | List of all members
ana::Penalizer_GlbLike Class Reference

#include <CalcsNuFit.h>

Inheritance diagram for ana::Penalizer_GlbLike:
ana::IExperiment

Public Member Functions

 Penalizer_GlbLike (osc::IOscCalcAdjustable *cvcalc, int hietrue, bool weakOnly=false)
 
double Dmsq21CV () const
 
double Th12CV () const
 
double Dmsq32CV () const
 
double Th23CV () const
 
double Th13CV () const
 
double RhoCV () const
 
double Dmsq21Err () const
 
double Th12Err () const
 
double Dmsq32Err () const
 
double Th23Err () const
 
double Th13Err () const
 
double RhoErr () const
 
double ChiSq (osc::IOscCalcAdjustable *calc, const SystShifts &syst=SystShifts::Nominal()) const override
 
- Public Member Functions inherited from ana::IExperiment
virtual ~IExperiment ()
 
virtual void SaveTo (TDirectory *dir) const
 

Protected Attributes

double fDmsq21
 
double fTh12
 
double fDmsq32
 
double fTh23
 
double fTh13
 
double fRho
 
double fDmsq21Err
 
double fTh12Err
 
double fDmsq32Err
 
double fTh23Err
 
double fTh13Err
 
double fRhoErr
 

Private Attributes

bool fWeakOnly
 

Detailed Description

Definition at line 62 of file CalcsNuFit.h.

Constructor & Destructor Documentation

ana::Penalizer_GlbLike::Penalizer_GlbLike ( osc::IOscCalcAdjustable cvcalc,
int  hietrue,
bool  weakOnly = false 
)

Definition at line 152 of file CalcsNuFit.cxx.

152  : fWeakOnly(weakOnly) {
153 
154  fDmsq21 = cvcalc->GetDmsq21();
155  fTh12 = cvcalc->GetTh12();
156  fDmsq32 = cvcalc->GetDmsq32();
157  fTh23 = cvcalc->GetTh23();
158  fTh13 = cvcalc->GetTh13();
159  fRho = cvcalc->GetRho();
160 
161  //Set the errors by hand for now.
162  //Fractional errors in GLoBES convention
163  //NH: 0.023, 0.018, 0.058, 0.0, 0.024, 0.016
164  //IH: 0.023, 0.018, 0.048, 0.0, 0.024, 0.016
165 
168  fDmsq32Err = (hietrue > 0) ? kNuFitDmsq32ErrNH : kNuFitDmsq32ErrIH;
169  fTh13Err = (hietrue > 0) ? kNuFitTh13ErrNH : kNuFitTh13ErrIH;
170  fTh23Err = (hietrue > 0) ? kNuFitTh23ErrNH : kNuFitTh23ErrIH;
171 
172  fRhoErr = 0.02*fRho;
173 
174  }
const double kNuFitDmsq32ErrNH
Definition: CalcsNuFit.h:32
const double kNuFitTh23ErrIH
Definition: CalcsNuFit.h:37
const double kNuFitDmsq32ErrIH
Definition: CalcsNuFit.h:36
const double kNuFitTh12Err
Definition: CalcsNuFit.h:30
const double kNuFitTh13ErrIH
Definition: CalcsNuFit.h:38
const double kNuFitDmsq21Err
Definition: CalcsNuFit.h:29
const double kNuFitTh23ErrNH
Definition: CalcsNuFit.h:33
const double kNuFitTh13ErrNH
Definition: CalcsNuFit.h:34

Member Function Documentation

double ana::Penalizer_GlbLike::ChiSq ( osc::IOscCalcAdjustable calc,
const SystShifts syst = SystShifts::Nominal() 
) const
overridevirtual

Implements ana::IExperiment.

Definition at line 176 of file CalcsNuFit.cxx.

177  {
178 
179  //Usage: calc is the fit parameters as above
180  //Starting fit parameters and errors are set in constructor - this is equivalent to SetCentralValues in globes
181 
182  double ret =
183  util::sqr((calc->GetDmsq21() - fDmsq21)/fDmsq21Err) +
184  util::sqr((calc->GetTh12() - fTh12)/fTh12Err) +
185  util::sqr((calc->GetRho() - fRho)/fRhoErr);
186 
187  // if fWeakOnly is set, only apply a constraint to the parameter we can only weakly constrain in DUNE
188  if (!fWeakOnly)
189  ret +=
190  util::sqr((calc->GetDmsq32() - fDmsq32)/fDmsq32Err) +
191  util::sqr((calc->GetTh23() - fTh23)/fTh23Err) +
192  util::sqr((calc->GetTh13() - fTh13)/fTh13Err);
193 
194  // No term in delta
195 
196  return ret;
197  }
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
double ana::Penalizer_GlbLike::Dmsq21CV ( ) const
inline

Definition at line 67 of file CalcsNuFit.h.

67 {return fDmsq21;}
double ana::Penalizer_GlbLike::Dmsq21Err ( ) const
inline

Definition at line 74 of file CalcsNuFit.h.

74 {return fDmsq21Err;}
double ana::Penalizer_GlbLike::Dmsq32CV ( ) const
inline

Definition at line 69 of file CalcsNuFit.h.

69 {return fDmsq32;}
double ana::Penalizer_GlbLike::Dmsq32Err ( ) const
inline

Definition at line 76 of file CalcsNuFit.h.

76 {return fDmsq32Err;}
double ana::Penalizer_GlbLike::RhoCV ( ) const
inline

Definition at line 72 of file CalcsNuFit.h.

72 {return fRho;}
double ana::Penalizer_GlbLike::RhoErr ( ) const
inline

Definition at line 79 of file CalcsNuFit.h.

79 {return fRhoErr;}
double ana::Penalizer_GlbLike::Th12CV ( ) const
inline

Definition at line 68 of file CalcsNuFit.h.

68 {return fTh12;}
double ana::Penalizer_GlbLike::Th12Err ( ) const
inline

Definition at line 75 of file CalcsNuFit.h.

75 {return fTh12Err;}
double ana::Penalizer_GlbLike::Th13CV ( ) const
inline

Definition at line 71 of file CalcsNuFit.h.

71 {return fTh13;}
double ana::Penalizer_GlbLike::Th13Err ( ) const
inline

Definition at line 78 of file CalcsNuFit.h.

78 {return fTh13Err;}
double ana::Penalizer_GlbLike::Th23CV ( ) const
inline

Definition at line 70 of file CalcsNuFit.h.

70 {return fTh23;}
double ana::Penalizer_GlbLike::Th23Err ( ) const
inline

Definition at line 77 of file CalcsNuFit.h.

77 {return fTh23Err;}

Member Data Documentation

double ana::Penalizer_GlbLike::fDmsq21
protected

Definition at line 85 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fDmsq21Err
protected

Definition at line 92 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fDmsq32
protected

Definition at line 87 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fDmsq32Err
protected

Definition at line 94 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fRho
protected

Definition at line 90 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fRhoErr
protected

Definition at line 97 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fTh12
protected

Definition at line 86 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fTh12Err
protected

Definition at line 93 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fTh13
protected

Definition at line 89 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fTh13Err
protected

Definition at line 96 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fTh23
protected

Definition at line 88 of file CalcsNuFit.h.

double ana::Penalizer_GlbLike::fTh23Err
protected

Definition at line 95 of file CalcsNuFit.h.

bool ana::Penalizer_GlbLike::fWeakOnly
private

Definition at line 102 of file CalcsNuFit.h.


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