All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FitVars.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 #include <limits>
6 
7 namespace ana
8 {
9  /// \f$ \theta_{13} \f$
10  class FitTheta13: public IFitVar
11  {
12  public:
13  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
14  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
15  virtual std::string ShortName() const {return "th13";}
16  virtual std::string LatexName() const {return "#theta_{13}";}
17  };
18 
19  /// \f$ \theta_{13} \f$
21 
22  //----------------------------------------------------------------------
23 
24  /// \f$ \sin^22\theta_{13} \f$
26  {
27  public:
28  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
29  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
30  virtual std::string ShortName() const {return "ss2th13";}
31  virtual std::string LatexName() const {return "sin^{2}2#theta_{13}";}
32 
33  virtual double LowLimit() const {return 0;}
34  virtual double HighLimit() const {return 1;}
35  };
36 
37  /// \f$ \sin^22\theta_{13} \f$
39 
40  //----------------------------------------------------------------------
41 
42  /// \f$ \delta_{CP}/\pi \f$
43  class FitDeltaInPiUnits: public IFitVar
44  {
45  public:
46  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
47  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
48  virtual std::string ShortName() const {return "delta(pi)";}
49  virtual std::string LatexName() const {return "#delta / #pi";}
50  };
51 
52  /// \f$ \delta_{CP}/\pi \f$
54 
55  //----------------------------------------------------------------------
56  /// \f$ \theta_{13} \f$
57  class FitTheta23: public IFitVar
58  {
59  public:
60  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
61  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
62  virtual std::string ShortName() const {return "th23";}
63  virtual std::string LatexName() const {return "#theta_{23}";}
64  };
65 
66  /// \f$ \theta_{13} \f$
68  //----------------------------------------------------------------------
69 
70  /// \f$ \sin^2\theta_{23} \f$
72  {
73  public:
74  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
75  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
76  virtual std::string ShortName() const {return "ssth23";}
77  virtual std::string LatexName() const {return "sin^{2}#theta_{23}";}
78 
79  virtual double LowLimit() const {return 0;}
80  virtual double HighLimit() const {return 1;}
81  };
82 
83  /// \f$ \sin^2\theta_{23} \f$
85 
86  //----------------------------------------------------------------------
87 
88  /// \f$ \sin^22\theta_{23} \f$
90  {
91  public:
92  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
93  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
94  virtual std::string ShortName() const {return "ss2th23";}
95  virtual std::string LatexName() const {return "sin^{2}2#theta_{23}";}
96 
97 
98  virtual double LowLimit() const {return 0;}
99  virtual double HighLimit() const {return 1;}
100  };
101 
102  /// \f$ \sin^22\theta_{23} \f$
104 
105  //----------------------------------------------------------------------
106 
107  /// \f$ \Delta m^2_{32} \f$
109  {
110  public:
111  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
112  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
113  virtual std::string ShortName() const {return "dmsq32";}
114  virtual std::string LatexName() const {return "#Deltam^{2}_{32}";}
115 
116  // "1eV^2 splitting should be enough for anyone"
117  // OscCalcPMNS freaks out at large splittings
118  virtual double LowLimit() const {return -1;}
119  virtual double HighLimit() const {return +1;}
120  };
121 
122  /// \f$ \Delta m^2_{32} \f$
124 
125  //-------------------------------------------------------------------------
126 
127  /// \f$ \Delta m^2_{32}\times10^3{\rm eV}^2 \f$
129  {
130  public:
131  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
132  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
133  virtual std::string ShortName() const {return "dmsq32scaled";}
134  virtual std::string LatexName() const {return "#Deltam^{2}_{32} (10^{-3} eV^{2})";}
135 
136  // "1eV^2 splitting should be enough for anyone"
137  // OscCalcPMNS freaks out at large splittings
138  virtual double LowLimit() const {return -1000;}
139  virtual double HighLimit() const {return +1000;}
140  };
141 
142  /// \f$ \Delta m^2_{32}\times10^3{\rm eV}^2 \f$
144 
145  //----------------------------------------------------------------------
146 
147  /// \f$ \tan^2\theta_{12} \f$
149  {
150  public:
151  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
152  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
153  virtual std::string ShortName() const {return "tsth12";}
154  virtual std::string LatexName() const {return "tan^{2}#theta_{12}";}
155 
156  virtual double LowLimit() const {return 0;}
157  virtual double HighLimit() const {return std::numeric_limits<double>::max();}
158  };
159 
160  /// \f$ \tan^2\theta_{12} \f$
162 
163  //----------------------------------------------------------------------
164 
165  /// \f$ \sin^22\theta_{12} \f$
167  {
168  public:
169  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
170  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
171  virtual std::string ShortName() const {return "ss2th12";}
172  virtual std::string LatexName() const {return "sin^{2}2#theta_{12}";}
173 
174  virtual double LowLimit() const {return 0;}
175  virtual double HighLimit() const {return 1;}
176  };
177 
178  /// \f$ \sin^22\theta_{12} \f$
180 
181  //----------------------------------------------------------------------
182 
183  /// \f$ \Delta m^2_{21} \f$
185  {
186  public:
187  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
188  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
189  virtual std::string ShortName() const {return "dmsq21";}
190  virtual std::string LatexName() const {return "#Deltam^{2}_{21}";}
191 
192  // "1eV^2 splitting should be enough for anyone"
193  // OscCalcPMNS freaks out at large splittings
194  virtual double LowLimit() const {return -1;}
195  virtual double HighLimit() const {return +1;}
196  };
197 
198  /// \f$ \Delta m^2_{21} \f$
200 
201  /// \f$ \rho \f$
203  {
204  public:
205  virtual double GetValue(const osc::IOscCalcAdjustable* osc) const;
206  virtual void SetValue(osc::IOscCalcAdjustable* osc, double val) const;
207  virtual std::string ShortName() const {return "rho";}
208  virtual std::string LatexName() const {return "#rho";}
209 
210  //Density should be greater than zero (set a ridiculously high high limit)
211  virtual double LowLimit() const {return 0;}
212  virtual double HighLimit() const {return 10.0;}
213 
214  };
215 
216  /// \f$ \rho \f$
217  const FitRho kFitRho = FitRho();
218 
219  //----------------------------------------------------------------------
220 
221 
222 
223 } // namespace
virtual std::string LatexName() const
Definition: FitVars.h:134
const FitSinSq2Theta12 kFitSinSq2Theta12
Definition: FitVars.h:179
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:70
virtual std::string ShortName() const
Definition: FitVars.h:62
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:30
const FitTheta13 kFitTheta13
Definition: FitVars.h:20
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:136
virtual double HighLimit() const
Definition: FitVars.h:212
const FitDmSq32 kFitDmSq32
Definition: FitVars.h:123
const FitSinSq2Theta23 kFitSinSq2Theta23
Definition: FitVars.h:103
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:51
virtual std::string ShortName() const
Definition: FitVars.h:171
virtual std::string LatexName() const
Definition: FitVars.h:114
virtual std::string LatexName() const
Definition: FitVars.h:154
virtual std::string LatexName() const
Definition: FitVars.h:95
virtual std::string ShortName() const
Definition: FitVars.h:207
virtual double HighLimit() const
Definition: FitVars.h:175
virtual std::string ShortName() const
Definition: FitVars.h:76
virtual double LowLimit() const
Definition: FitVars.h:174
virtual std::string ShortName() const
Definition: FitVars.h:48
virtual std::string LatexName() const
Definition: FitVars.h:77
process_name opflashCryoW ana
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:88
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:12
virtual std::string ShortName() const
Definition: FitVars.h:15
const FitDmSq21 kFitDmSq21
Definition: FitVars.h:199
virtual double HighLimit() const
Definition: FitVars.h:139
virtual std::string LatexName() const
Definition: FitVars.h:208
virtual std::string LatexName() const
Definition: FitVars.h:172
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:36
virtual std::string ShortName() const
Definition: FitVars.h:189
virtual std::string ShortName() const
Definition: FitVars.h:133
virtual double LowLimit() const
Definition: FitVars.h:138
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:62
virtual std::string ShortName() const
Definition: FitVars.h:113
virtual std::string ShortName() const
Definition: FitVars.h:153
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:124
virtual double LowLimit() const
Definition: FitVars.h:79
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:100
virtual double HighLimit() const
Definition: FitVars.h:80
virtual std::string LatexName() const
Definition: FitVars.h:63
Base class for variables with constraints. Apply penalty outside range.
Definition: IFitVar.h:28
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:148
virtual std::string ShortName() const
Definition: FitVars.h:30
virtual double HighLimit() const
Definition: FitVars.h:119
virtual double HighLimit() const
Definition: FitVars.h:34
const FitDmSq32Scaled kFitDmSq32Scaled
Definition: FitVars.h:143
virtual double HighLimit() const
Definition: FitVars.h:195
virtual double LowLimit() const
Definition: FitVars.h:98
virtual std::string LatexName() const
Definition: FitVars.h:190
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:24
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:76
const FitSinSqTheta23 kFitSinSqTheta23
Definition: FitVars.h:84
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:18
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:142
virtual double LowLimit() const
Definition: FitVars.h:33
virtual std::string LatexName() const
Definition: FitVars.h:31
Interface definition for fittable variables.
Definition: IFitVar.h:14
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:106
virtual double LowLimit() const
Definition: FitVars.h:211
virtual double LowLimit() const
Definition: FitVars.h:194
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:153
virtual double LowLimit() const
Definition: FitVars.h:156
const FitTheta23 kFitTheta23
Definition: FitVars.h:67
const FitSinSq2Theta13 kFitSinSq2Theta13
Definition: FitVars.h:38
virtual double HighLimit() const
Definition: FitVars.h:99
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:56
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:112
const FitDeltaInPiUnits kFitDeltaInPiUnits
Definition: FitVars.h:53
virtual std::string ShortName() const
Definition: FitVars.h:94
virtual std::string LatexName() const
Definition: FitVars.h:49
const FitRho kFitRho
Definition: FitVars.h:217
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:94
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:118
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:130
const FitTanSqTheta12 kFitTanSqTheta12
Definition: FitVars.h:161
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:82
virtual double LowLimit() const
Definition: FitVars.h:118
virtual void SetValue(osc::IOscCalcAdjustable *osc, double val) const
Definition: FitVars.cxx:159
virtual double HighLimit() const
Definition: FitVars.h:157
virtual std::string LatexName() const
Definition: FitVars.h:16