Calcs.cxx
Go to the documentation of this file.
2 
5 
6 #include <cmath>
7 #include <iostream>
8 
9 namespace ana
10 {
11  //----------------------------------------------------------------------
13  {
14  calc->SetDmsq21(tmp->GetDmsq21());
15  calc->SetTh12(tmp->GetTh12());
16  calc->SetTh13(tmp->GetTh13());
17  calc->SetDmsq32(tmp->GetDmsq32());
18  calc->SetTh23(tmp->GetTh23());
19  calc->SetdCP(tmp->GetdCP());
20  }
21 
22  //----------------------------------------------------------------------
24  {
25  // No controversy here...
26  calc->SetL(810);
27 
28  // CRUST2.0 model fit, docdb:13640
29  calc->SetRho(2.84); // g/cm^3
30 
31  // PDG: http://pdg.lbl.gov/2019/tables/rpp2019-sum-leptons.pdf
32  calc->SetDmsq21(7.53e-5);
33  calc->SetTh12(asin(sqrt(.307)));
34 
35  // Picking anything other than maximal mixing opens a can of worms
36  calc->SetTh23(M_PI/4);
37 
38  //PDG: http://pdg.lbl.gov/2019/tables/rpp2019-sum-leptons.pdf
39  calc->SetDmsq32(2.44e-3); // NB: this is normal hierarchy
40 
41  // PDG: http://pdg.lbl.gov/2019/tables/rpp2019-sum-leptons.pdf
42  calc->SetTh13(asin(sqrt(2.18e-2)));
43 
44  // Going to have to plot for nue analysis anyway
45  calc->SetdCP(0);
46  }
47 
48  //----------------------------------------------------------------------
50  {
53  return ret;
54  }
55 
56  //----------------------------------------------------------------------
58  {
59  //Share most defaults
61  // IH from PDG2017
62  // http://pdg.lbl.gov/2019/tables/rpp2019-sum-leptons.pdf
63  calc->SetDmsq32(-2.55e-3);
64 
65  }
66 
67  //----------------------------------------------------------------------
69  {
72  return ret;
73  }
74 
75  //----------------------------------------------------------------------
77  {
80 
81  calc->SetL(tmp->GetL());
82  calc->SetRho(tmp->GetRho());
83 
84  calc->SetDm(2, tmp->GetDmsq21());
85  calc->SetDm(3, tmp->GetDmsq21() + tmp->GetDmsq32());
86 
87  calc->SetAngle(1, 2, tmp->GetTh12());
88  calc->SetAngle(1, 3, tmp->GetTh13());
89  calc->SetAngle(2, 3, tmp->GetTh23());
90 
91  calc->SetDelta(1, 3, tmp->GetdCP());
92 
93  delete tmp;
94  }
95 
96  //----------------------------------------------------------------------
98  {
100 
101  if(nflavors < 3) {
102  std::cout << "The default calculator requires at least 3 flavors." << std::endl;
103  std::cout << "Using 3 flavors." << std::endl;
104  ret->SetNFlavors(3);
105  }
106  else {
107  ret->SetNFlavors(nflavors);
108  }
109 
111  return ret;
112  }
113 }
virtual void SetL(double L)=0
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
void SetNFlavors(int nflavors)
void ResetOscCalcToDefault(osc::IOscCalcAdjustable *calc)
Reset calculator to default assumptions for all parameters.
Definition: Calcs.cxx:23
_OscCalcPMNSOpt< double > OscCalcPMNSOpt
virtual void SetDmsq21(const T &dmsq21)=0
void ResetOscCalcToDefaultIH(osc::IOscCalcAdjustable *calc)
Definition: Calcs.cxx:57
T sqrt(T number)
Definition: d0nt_math.hpp:156
virtual double GetL() const
Definition: IOscCalc.h:83
void SetDelta(int i, int j, double delta)
virtual void SetTh13(const T &th13)=0
Adapt the PMNS_Sterile calculator to standard interface.
virtual T GetTh23() const
Definition: IOscCalc.h:89
Float_t tmp
Definition: plot.C:36
osc::OscCalcDumb calc
osc::IOscCalcAdjustable * DefaultOscCalc()
Create a new calculator with default assumptions for all parameters.
Definition: Calcs.cxx:49
virtual void SetDmsq32(const T &dmsq32)=0
#define M_PI
Definition: SbMath.h:34
void ResetOscCalcToTemplate(osc::IOscCalcAdjustable *calc, osc::IOscCalcAdjustable *tmp)
Definition: Calcs.cxx:12
osc::OscCalcSterile * DefaultSterileCalc(int nflavors)
Create a sterile calculator with default assumptions for all parameters.
Definition: Calcs.cxx:97
Optimized version of OscCalcPMNS.
Definition: StanTypedefs.h:31
virtual T GetDmsq32() const
Definition: IOscCalc.h:86
virtual T GetTh12() const
Definition: IOscCalc.h:87
void ResetSterileCalcToDefault(osc::OscCalcSterile *calc)
Reset calculator to default assumptions for all parameters.
Definition: Calcs.cxx:76
virtual T GetdCP() const
Definition: IOscCalc.h:90
OStream cout
Definition: OStream.cxx:6
virtual T GetTh13() const
Definition: IOscCalc.h:88
virtual T GetDmsq21() const
Definition: IOscCalc.h:85
void SetAngle(int i, int j, double th)
virtual void SetRho(double rho)=0
void SetDm(int i, double dm)
virtual void SetL(double L) override
virtual void SetRho(double rho) override
virtual void SetTh23(const T &th23)=0
Float_t e
Definition: plot.C:35
osc::IOscCalcAdjustable * DefaultOscCalcIH()
Definition: Calcs.cxx:68
virtual double GetRho() const
Definition: IOscCalc.h:84
virtual void SetTh12(const T &th12)=0
virtual void SetdCP(const T &dCP)=0
T asin(T number)
Definition: d0nt_math.hpp:60