NAGASH 0.9.8
Next Generation Analysis System
Loading...
Searching...
No Matches
Uncertainty.cxx
Go to the documentation of this file.
1//***************************************************************************************
4//***************************************************************************************
5
7
8using namespace NAGASH;
9
13double Uncertainty::AplusB(double A_err, double B_err)
14{
15 return sqrt(A_err * A_err + B_err * B_err);
16}
17
21double Uncertainty::AminusB(double A_err, double B_err)
22{
23 return sqrt(A_err * A_err + B_err * B_err);
24}
25
31double Uncertainty::AoverAplusB(double A, double AplusB, double A_err, double AplusB_err)
32{
33 double B = AplusB - A;
34 double B_err = A_err < AplusB_err ? sqrt(pow(AplusB_err, 2) - pow(A_err, 2)) : 0;
35
36 if (AplusB != 0)
37 return sqrt(B * B * A_err * A_err + A * A * B_err * B_err) / pow(A + B, 2);
38 else
39 return 0;
40}
41
47double Uncertainty::AoverB(double A, double B, double A_err, double B_err)
48{
49 if (B != 0)
50 return sqrt(B * B * A_err * A_err + A * A * B_err * B_err) / pow(B, 2);
51 else
52 return 0;
53}
54
61double Uncertainty::AminusBoverAplusB(double A, double B, double A_err, double B_err)
62{
63 if (A != 0 || B != 0)
64 return 2 * sqrt(B * B * A_err * A_err + A * A * B_err * B_err) / pow(A + B, 2);
65 else
66 return 0;
67}
static double AplusB(double A_err, double B_err)
Calculate the uncertainty of .
static double AminusBoverAplusB(double A, double B, double A_err, double B_err)
Calculate the uncertainty of .
static double AoverB(double A, double B, double A_err, double B_err)
Calculate the uncertainty of .
static double AoverAplusB(double A, double AplusB, double A_err, double AplusB_err)
Calculate the uncertainty of .
static double AminusB(double A_err, double B_err)
Calculate the uncertainty of .