All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Calcs.cxx
Go to the documentation of this file.
2 
3 #include "OscLib/OscCalcPMNSOpt.h"
4 #include "OscLib/OscCalcSterile.h"
5 
6 #include <cmath>
7 #include <iostream>
8 
9 namespace ana
10 {
11  //----------------------------------------------------------------------
13  {
14  // Default to ICARUS
15  calc->SetL(0.6);
16 
17  // TODO: get good reference from Alex and Joao
18  calc->SetRho(2.84); // g/cm^3
19 
20  // PDG: http://pdg.lbl.gov/2014/tables/rpp2014-sum-leptons.pdf
21  calc->SetDmsq21(7.53e-5);
22  calc->SetTh12(asin(sqrt(.846))/2);
23 
24  // Picking anything other than maximal mixing opens a can of worms
25  calc->SetTh23(M_PI/4);
26 
27  // NH from PDG2014 + 2015 update
28  //http://pdg.lbl.gov/2015/tables/rpp2015-sum-leptons.pdf
29  calc->SetDmsq32(2.44e-3); // NB: this is normal hierarchy
30 
31  // Reactor average from PDG2014 + 2015 update
32  calc->SetTh13(asin(sqrt(.085))/2);
33 
34  // Going to have to plot for nue analysis anyway
35  calc->SetdCP(0);
36  }
37 
38  //----------------------------------------------------------------------
40  {
41  osc::IOscCalcAdjustable* ret = new osc::OscCalcPMNSOpt;
43  return ret;
44  }
45 
46  //----------------------------------------------------------------------
48  {
49  //Share most defaults
51  // IH from PDG2014 + 2015 update
52  // http://pdg.lbl.gov/2015/tables/rpp2015-sum-leptons.pdf
53  calc->SetDmsq32(-2.49e-3);
54 
55  }
56 
57  //----------------------------------------------------------------------
59  {
60  osc::IOscCalcAdjustable* ret = new osc::OscCalcPMNSOpt;
62  return ret;
63  }
64 
65  //----------------------------------------------------------------------
66  void ResetSterileCalcToDefault(osc::OscCalcSterile* calc)
67  {
68  osc::OscCalcPMNSOpt* tmp = new osc::OscCalcPMNSOpt();
70 
71  calc->SetL(tmp->GetL());
72  calc->SetRho(tmp->GetRho());
73 
74  calc->SetDm(2, tmp->GetDmsq21());
75  calc->SetDm(3, tmp->GetDmsq21() + tmp->GetDmsq32());
76 
77  calc->SetAngle(1, 2, tmp->GetTh12());
78  calc->SetAngle(1, 3, tmp->GetTh13());
79  calc->SetAngle(2, 3, tmp->GetTh23());
80 
81  calc->SetDelta(1, 3, tmp->GetdCP());
82 
83  delete tmp;
84  }
85 
86  //----------------------------------------------------------------------
87  osc::OscCalcSterile* DefaultSterileCalc(int nflavors)
88  {
89  osc::OscCalcSterile* ret = new osc::OscCalcSterile;
90 
91  if(nflavors < 3) {
92  std::cout << "The default calc requires at least 3 flavors." << std::endl;
93  std::cout << "Using 3 flavors." << std::endl;
94  ret->SetNFlavors(3);
95  }
96  else {
97  ret->SetNFlavors(nflavors);
98  }
99 
101  return ret;
102  }
103 }
void ResetOscCalcToDefault(osc::IOscCalcAdjustable *calc)
Reset calc to default assumptions for all parameters.
Definition: Calcs.cxx:12
void ResetOscCalcToDefaultIH(osc::IOscCalcAdjustable *calc)
Definition: Calcs.cxx:47
process_name opflashCryoW ana
osc::IOscCalcAdjustable * DefaultOscCalc()
Create a new calc with default assumptions for all parameters.
Definition: Calcs.cxx:39
osc::OscCalcSterile * DefaultSterileCalc(int nflavors)
Create a sterile calc with default assumptions for all parameters.
Definition: Calcs.cxx:87
void ResetSterileCalcToDefault(osc::OscCalcSterile *calc)
Reset calc to default assumptions for all parameters.
Definition: Calcs.cxx:66
do i e
osc::IOscCalcAdjustable * DefaultOscCalcIH()
Definition: Calcs.cxx:58
BEGIN_PROLOG could also be cout