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

Constraints on the parameters $ \Delta m^2_{21} $ and $ \sin^22\theta_{12} $ from solar experiments. More...

#include <SolarConstraints.h>

Inheritance diagram for ana::SolarConstraints:
ana::IExperiment

Public Member Functions

 SolarConstraints ()
 
 SolarConstraints (const double dmsq, const double errorDmsq, const double ss2th, const double errorSs2th)
 
virtual double ChiSq (osc::IOscCalcAdjustable *osc, const SystShifts &syst=SystShifts::Nominal()) const override
 
virtual void SaveTo (TDirectory *dir) const override
 
- Public Member Functions inherited from ana::IExperiment
virtual ~IExperiment ()
 

Static Public Member Functions

static std::unique_ptr
< SolarConstraints
LoadFrom (TDirectory *dir)
 

Protected Attributes

double fCentralDmsq
 
double fErrorDmsq
 
double fCentralAngle
 
double fErrorAngle
 

Detailed Description

Constraints on the parameters $ \Delta m^2_{21} $ and $ \sin^22\theta_{12} $ from solar experiments.

Definition at line 11 of file SolarConstraints.h.

Constructor & Destructor Documentation

ana::SolarConstraints::SolarConstraints ( )

Definition at line 15 of file SolarConstraints.cxx.

16  {
17  // These value are from the 2014 PDG
18  // http://pdg.lbl.gov/2014/tables/rpp2014-sum-leptons.pdf
19  std::cerr << "WARNING: Using 2014 Solar constraints."
20  << "Are you sure you don't want kSolarConstraintsPDG2017 ?"
21  << std::endl;
22 
23  fCentralDmsq = 7.53e-5;
24  fErrorDmsq = 0.18e-5;
25 
26  fCentralAngle = 0.846;
27  fErrorAngle = 0.021;
28  }
BEGIN_PROLOG could also be cerr
ana::SolarConstraints::SolarConstraints ( const double  dmsq,
const double  errorDmsq,
const double  ss2th,
const double  errorSs2th 
)

Definition at line 31 of file SolarConstraints.cxx.

33  :fCentralDmsq (dmsq), fErrorDmsq (errorDmsq),
34  fCentralAngle(ss2th), fErrorAngle(errorSs2th)
35  { }

Member Function Documentation

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

Implements ana::IExperiment.

Definition at line 38 of file SolarConstraints.cxx.

40  {
41  double ret = 0;
42 
43  ret += util::sqr((osc->GetDmsq21() - fCentralDmsq)/fErrorDmsq);
44 
45  const double ss2th12 = util::sqr(sin(2*osc->GetTh12()));
46 
47  ret += util::sqr((ss2th12 - fCentralAngle)/fErrorAngle);
48 
49  return ret;
50  }
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
std::unique_ptr< SolarConstraints > ana::SolarConstraints::LoadFrom ( TDirectory *  dir)
static

Definition at line 71 of file SolarConstraints.cxx.

72  {
73  TObjString* tag = (TObjString*)dir->Get("type");
74  assert(tag);
75  assert(tag->GetString() == "SolarConstraints");
76 
77  std::unique_ptr<SolarConstraints> ret(new SolarConstraints);
78 
79  TH1* params = (TH1*)dir->Get("params");
80  assert(params);
81 
82  ret->fCentralDmsq = params->GetBinContent(1);
83  ret->fErrorDmsq = params->GetBinContent(2);
84  ret->fCentralAngle = params->GetBinContent(3);
85  ret->fErrorAngle = params->GetBinContent(4);
86 
87  return ret;
88  }
tuple dir
Definition: dropbox.py:28
void ana::SolarConstraints::SaveTo ( TDirectory *  dir) const
overridevirtual

Reimplemented from ana::IExperiment.

Definition at line 53 of file SolarConstraints.cxx.

54  {
55  TDirectory* tmp = dir;
56 
57  dir->cd();
58  TObjString("SolarConstraints").Write("type");
59 
60  TH1D params("", "", 4, 0, 4);
61  params.SetBinContent(1, fCentralDmsq);
62  params.SetBinContent(2, fErrorDmsq);
63  params.SetBinContent(3, fCentralAngle);
64  params.SetBinContent(4, fErrorAngle);
65  params.Write("params");
66 
67  tmp->cd();
68  }
tuple dir
Definition: dropbox.py:28

Member Data Documentation

double ana::SolarConstraints::fCentralAngle
protected

Definition at line 26 of file SolarConstraints.h.

double ana::SolarConstraints::fCentralDmsq
protected

Definition at line 25 of file SolarConstraints.h.

double ana::SolarConstraints::fErrorAngle
protected

Definition at line 26 of file SolarConstraints.h.

double ana::SolarConstraints::fErrorDmsq
protected

Definition at line 25 of file SolarConstraints.h.


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