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_GlbLikeCDR Class Reference

#include <CalcsNuFit_cdr.h>

Inheritance diagram for ana::Penalizer_GlbLikeCDR:
ana::IExperiment

Public Member Functions

 Penalizer_GlbLikeCDR (osc::IOscCalcAdjustable *cvcalc, int hietrue, bool weakOnly=false)
 
double Dmsq21CV () const
 
double Th12CV () const
 
double Dmsq32CV () const
 
double Th23CV () const
 
double Th13CV () 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 54 of file CalcsNuFit_cdr.h.

Constructor & Destructor Documentation

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

Definition at line 127 of file CalcsNuFit_cdr.cxx.

127  : fWeakOnly(weakOnly) {
128 
129  fDmsq21 = cvcalc->GetDmsq21();
130  fTh12 = cvcalc->GetTh12();
131  fDmsq32 = cvcalc->GetDmsq32();
132  fTh23 = cvcalc->GetTh23();
133  fTh13 = cvcalc->GetTh13();
134  fRho = cvcalc->GetRho();
135 
136  //Set the errors by hand for now.
137  //Fractional errors in GLoBES convention
138  //NH: 0.023, 0.018, 0.058, 0.0, 0.024, 0.016
139  //IH: 0.023, 0.018, 0.048, 0.0, 0.024, 0.016
140 
141  fDmsq21Err = 0.024*fDmsq21;
142  fTh12Err = 0.023*fTh12;
143  fDmsq32Err = 0.016*fDmsq32;
144  fTh13Err = 0.018*fTh13;
145  fTh23Err = (hietrue > 0) ? 0.058*fTh23 : 0.048*fTh23;
146 
147  fRhoErr = 0.02*fRho;
148 
149  }

Member Function Documentation

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

Implements ana::IExperiment.

Definition at line 151 of file CalcsNuFit_cdr.cxx.

152  {
153 
154  //Usage: calc is the fit parameters as above
155  //Starting fit parameters and errors are set in constructor - this is equivalent to SetCentralValues in globes
156 
157  double ret =
158  util::sqr((calc->GetDmsq21() - fDmsq21)/fDmsq21Err) +
159  util::sqr((calc->GetTh12() - fTh12)/fTh12Err) +
160  util::sqr((calc->GetRho() - fRho)/fRhoErr);
161 
162  // if fWeakOnly is set, only apply a constraint to the parameter we can only weakly constrain in DUNE
163  if (!fWeakOnly)
164  ret +=
165  util::sqr((calc->GetDmsq32() - fDmsq32)/fDmsq32Err) +
166  util::sqr((calc->GetTh23() - fTh23)/fTh23Err) +
167  util::sqr((calc->GetTh13() - fTh13)/fTh13Err);
168 
169  // No term in delta
170 
171  return ret;
172  }
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
double ana::Penalizer_GlbLikeCDR::Dmsq21CV ( ) const
inline

Definition at line 59 of file CalcsNuFit_cdr.h.

59 {return fDmsq21;}
double ana::Penalizer_GlbLikeCDR::Dmsq32CV ( ) const
inline

Definition at line 61 of file CalcsNuFit_cdr.h.

61 {return fDmsq32;}
double ana::Penalizer_GlbLikeCDR::Th12CV ( ) const
inline

Definition at line 60 of file CalcsNuFit_cdr.h.

60 {return fTh12;}
double ana::Penalizer_GlbLikeCDR::Th13CV ( ) const
inline

Definition at line 63 of file CalcsNuFit_cdr.h.

63 {return fTh13;}
double ana::Penalizer_GlbLikeCDR::Th23CV ( ) const
inline

Definition at line 62 of file CalcsNuFit_cdr.h.

62 {return fTh23;}

Member Data Documentation

double ana::Penalizer_GlbLikeCDR::fDmsq21
protected

Definition at line 69 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fDmsq21Err
protected

Definition at line 76 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fDmsq32
protected

Definition at line 71 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fDmsq32Err
protected

Definition at line 78 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fRho
protected

Definition at line 74 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fRhoErr
protected

Definition at line 81 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fTh12
protected

Definition at line 70 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fTh12Err
protected

Definition at line 77 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fTh13
protected

Definition at line 73 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fTh13Err
protected

Definition at line 80 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fTh23
protected

Definition at line 72 of file CalcsNuFit_cdr.h.

double ana::Penalizer_GlbLikeCDR::fTh23Err
protected

Definition at line 79 of file CalcsNuFit_cdr.h.

bool ana::Penalizer_GlbLikeCDR::fWeakOnly
private

Definition at line 86 of file CalcsNuFit_cdr.h.


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