Functions | |
| double | ElecAppear (double *, double *) |
| double | TauAppear (double *, double *) |
| double | MuSurvive (double *, double *) |
| double | MuSurvive4N (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double uMu4Sqr) |
| double | EAppear4N (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double uE3Sqr) |
| double | SAppear4N (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double phi43, double uS3Sqr, double uMu4Sqr) |
| double | TauAppear4N (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double phi43, double uS3Sqr, double uMu4Sqr, double uE3Sqr) |
| double | MuSurvive4NDelta43Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double uMu4Sqr) |
| double | EAppear4NDelta43Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double uE3Sqr) |
| double | TauAppear4NDelta43Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double phi43, double uS3Sqr, double uMu4Sqr, double uE3Sqr) |
| double | SAppear4NDelta43Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double phi43, double uS3Sqr, double uMu4Sqr) |
| double | MuSurvive4NDelta41Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr) |
| double | EAppear4NDelta41Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double uE3Sqr) |
| double | TauAppear4NDelta41Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double uS3Sqr, double uE3Sqr) |
| double | SAppear4NDelta41Is0 (double baseline, double energy, double deltaMSqr23, double uMu3Sqr, double uS3Sqr) |
| double | OscProb4NAngles (double ssDeltaMSqr31, double ssDeltaMSqr41, double ssDeltaMSqr43, double theta13, double theta23, double theta34, int oscMode) |
|
||||||||||||||||||||||||
|
Definition at line 162 of file NCOscProb.cxx. Referenced by NCAnalysisUtils::FindParkeModelProbability(), and TauAppear4N(). 00167 {
00168
00169 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00170 return 4.*uMu3Sqr*uE3Sqr*sinSqrDeltaM;
00171 }
|
|
||||||||||||||||||||||||
|
Definition at line 330 of file NCOscProb.cxx. Referenced by NCAnalysisUtils::FindParkeDelta41Is0Probability(), and TauAppear4NDelta41Is0(). 00335 {
00336
00337 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00338 return 4.*uMu3Sqr*uE3Sqr*sinSqrDeltaM;
00339 }
|
|
||||||||||||||||||||||||
|
Definition at line 254 of file NCOscProb.cxx. Referenced by NCAnalysisUtils::FindParkeDelta43Is0Probability(), and TauAppear4NDelta43Is0(). 00259 {
00260
00261 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00262 return 4.*uMu3Sqr*uE3Sqr*sinSqrDeltaM;
00263 }
|
|
||||||||||||
|
Definition at line 11 of file NCOscProb.cxx. References MSG. Referenced by NCAnalysisUtils::Find3FlavorProbability(), MuSurvive(), and NCReaderHelper::OscillateMatter(). 00012 {
00013
00014 //x[0] = E
00015 //Params:
00016 //par[0] = L
00017 //par[1] = th23
00018 //par[2] = th12
00019 //par[3] = th13
00020 //par[4] = dm23^2
00021 //par[5] = dm12^2
00022 //par[6] = density
00023 //par[7] = d_cp
00024 //par[8] = +1(normal hierarchy)/-1(inverted hierarchy);
00025
00026 double E = x[0]; //energy
00027 double L = par[0]; //baseline
00028 double plusminus = int(par[8]);
00029
00030 //standard rock:
00031 double density = par[6]; //g/cm^{3}
00032 double z_a = 0.5; //average Z/A
00033
00034 double A_av = 6.02214199e23; //avogadro's number
00035 double invCmToeV = 1.97e-5; //convert 1/cm to eV
00036 double invCmToGeV = 1.97e-14; //convert 1/cm to GeV
00037 double invKmToeV = 1.97e-10; //convert 1/km to eV
00038
00039 double Gf = 1.166391e-5; //fermi constant (GeV^{-2})
00040 double ne = z_a*A_av*density; //electron density #/cm^{3}
00041 double ne_natunits = ne*invCmToeV*invCmToGeV*invCmToGeV;
00042 //electron density with units Gev^{2} eV
00043 //Gev^{2} to cancel with GeV^{-2} in Gf
00044
00045 double th23 = par[1];
00046 double th12 = par[2];
00047 double th13 = par[3];
00048
00049 double sinsq_2th23 = TMath::Power(TMath::Sin(2.*th23),2);
00050 double sinsq_2th12 = TMath::Power(TMath::Sin(2.*th12),2);
00051 double sinsq_2th13 = TMath::Power(TMath::Sin(2.*th13),2);
00052
00053 double cos_th23 = TMath::Cos(th23);
00054 double sin_th23 = TMath::Sin(th23);
00055 double cos_th13 = TMath::Cos(th13);
00056
00057 double d_cp = par[7];
00058
00059 double dmsq_23 = par[4];
00060 double dmsq_12 = par[5];
00061 double dmsq_13 = dmsq_23+dmsq_12; //eV^{2}
00062
00063 //double Delta23 = dmsq_23/(2.*E*1e9); //eV
00064 double Delta12 = dmsq_12/(2.*E*1e9);
00065 double Delta13 = dmsq_13/(2.*E*1e9);
00066
00067 double A = sqrt(2.)*Gf*ne_natunits; //eV
00068 double B = TMath::Abs(A - plusminus*Delta13); //eV
00069 double J = cos_th13*sqrt(sinsq_2th12)*sqrt(sinsq_2th13)*sqrt(sinsq_2th23);
00070
00071 double p1 = sin_th23*sin_th23*sinsq_2th13*TMath::Power(Delta13/B,2)
00072 *TMath::Power(TMath::Sin(B*L/(invKmToeV*2.)),2);
00073
00074 double p2 = 0;
00075 double p3 = 0;
00076 if(density!=0){
00077 p2 = cos_th23*cos_th23*sinsq_2th12*TMath::Power(Delta12/A,2)
00078 *TMath::Power(TMath::Sin(A*L/(invKmToeV*2.)),2);
00079
00080 p3 = J*Delta12*Delta13*TMath::Sin(A*L/(invKmToeV*2.))
00081 *TMath::Sin(B*L/(invKmToeV*2.))
00082 *TMath::Cos(plusminus*d_cp + Delta13*L/(invKmToeV*2.))/(A*B);
00083 }
00084
00085 if(p1+p2+p3>1){
00086 MSG("NCOscProb", Msg::kVerbose) << "ElecAppear: probability > 1" << endl;
00087 return 1;
00088 }
00089 return p1+p2+p3;
00090
00091 }
|
|
||||||||||||
|
Definition at line 135 of file NCOscProb.cxx. References ElecAppear(), and TauAppear(). Referenced by NCAnalysisUtils::Find3FlavorProbability(), and NCReaderHelper::OscillateMatter(). 00136 {
00137 return 1. - TauAppear(x,par) - ElecAppear(x,par);
00138 }
|
|
||||||||||||||||||||||||
|
Definition at line 141 of file NCOscProb.cxx. References MSG. Referenced by NCAnalysisUtils::FindParkeModelProbability(), and TauAppear4N(). 00146 {
00147 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00148 double survive = 1.;
00149 double pm = 4.*uMu4Sqr;
00150 if(pm < 0 && TMath::Abs(pm) < 1.e-3){
00151 MSG("NCOscProb", Msg::kVerbose) << "MuSurvive4N: 4.*uMu4Sqr < 0" << endl;
00152 pm *= -1.;
00153 }
00154 //survive -= uMu3Sqr*sinSqrDeltaM;
00155 survive -= 4.*uMu3Sqr*(1-uMu3Sqr)*sinSqrDeltaM;
00156 survive += pm*(uMu3Sqr*sinSqrDeltaM - 0.5);
00157
00158 return survive;
00159 }
|
|
||||||||||||||||||||
|
Definition at line 317 of file NCOscProb.cxx. Referenced by NCAnalysisUtils::FindParkeDelta41Is0Probability(), and TauAppear4NDelta41Is0(). 00321 {
00322 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00323 double survive = 1.;
00324 survive -= 4.*uMu3Sqr*(1-uMu3Sqr)*sinSqrDeltaM;
00325
00326 return survive;
00327 }
|
|
||||||||||||||||||||||||
|
Definition at line 233 of file NCOscProb.cxx. References MSG. Referenced by NCAnalysisUtils::FindParkeDelta43Is0Probability(), and TauAppear4NDelta43Is0(). 00238 {
00239 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00240 double survive = 1.;
00241 double pm = 4.*uMu4Sqr;
00242 if(pm < 0 && TMath::Abs(pm) < 1.e-3){
00243 MSG("NCOscProb", Msg::kVerbose) << "MuSurvive4NDelta43Is0: uMu4Sqr < 0" << endl;
00244 pm *= -1.;
00245 }
00246 //survive -= uMu3Sqr*sinSqrDeltaM;
00247 survive -= 4.*uMu3Sqr*(1-uMu3Sqr)*sinSqrDeltaM;
00248 survive += pm*(2.*uMu3Sqr - 1.)*sinSqrDeltaM;
00249
00250 return survive;
00251 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 370 of file NCOscProb.cxx. Referenced by NCAnalysisUtils::FindParkeAnglesProbability(). 00377 {
00378
00379 double prob[5] = {0.};
00380
00381 double ue3 = TMath::Sin(theta13) *TMath::Cos(theta34);
00382 double umu3 = TMath::Cos(theta13)*TMath::Sin(theta23)*TMath::Cos(theta34);
00383 double utau3 = TMath::Cos(theta13)*TMath::Cos(theta23)*TMath::Cos(theta34);
00384 double us3 = -1.*TMath::Sin(theta34);
00385
00386 double ue4 = TMath::Sin(theta13) *TMath::Sin(theta34);
00387 double umu4 = TMath::Cos(theta13)*TMath::Sin(theta23)*TMath::Sin(theta34);
00388 double utau4 = TMath::Cos(theta13)*TMath::Cos(theta23)*TMath::Sin(theta34);
00389 double us4 = TMath::Cos(theta34);
00390
00391 prob[NCType::kNuMuToNuMu] = 1. - 4.*umu3*umu3*(1. - umu3*umu3 - umu4*umu4)*ssDeltaMSqr31;
00392 prob[NCType::kNuMuToNuMu] -= 4.*umu3*umu3*umu4*umu4*ssDeltaMSqr43;
00393 prob[NCType::kNuMuToNuMu] -= 4.*umu4*umu4*(1. - umu3*umu3 - umu4*umu4)*ssDeltaMSqr41;
00394
00395 prob[NCType::kNuMuToNuE] = 4.*umu3*umu3*ue3*ue3*ssDeltaMSqr31;
00396 prob[NCType::kNuMuToNuE] += 4.*umu4*umu4*ue4*ue4*ssDeltaMSqr41;
00397 prob[NCType::kNuMuToNuE] += 4.*umu3*ue3*umu4*ue4*(ssDeltaMSqr31 + ssDeltaMSqr41
00398 - ssDeltaMSqr43);
00399
00400 prob[NCType::kNuMuToNuS] = 4.*umu3*umu3*us3*us3*ssDeltaMSqr31;
00401 prob[NCType::kNuMuToNuS] += 4.*umu4*umu4*us4*us4*ssDeltaMSqr41;
00402 prob[NCType::kNuMuToNuS] += 4.*umu3*us3*umu4*us4*(ssDeltaMSqr31 + ssDeltaMSqr41
00403 - ssDeltaMSqr43);
00404
00405 prob[NCType::kNuMuToNuTau] = 4.*umu3*umu3*utau3*utau3*ssDeltaMSqr31;
00406 prob[NCType::kNuMuToNuTau] += 4.*umu4*umu4*utau4*utau4*ssDeltaMSqr41;
00407 prob[NCType::kNuMuToNuTau] += 4.*umu3*utau3*umu4*utau4*(ssDeltaMSqr31 + ssDeltaMSqr41
00408 - ssDeltaMSqr43);
00409
00410 prob[NCType::kNuEToNuE] = 1.;
00411
00412 return prob[oscMode];
00413 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 174 of file NCOscProb.cxx. References MSG. Referenced by NCAnalysisUtils::FindParkeModelProbability(), and TauAppear4N(). 00181 {
00182 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00183 double sin2DeltaM = TMath::Sin(2.*NCType::k127*deltaMSqr23*baseline/energy);
00184
00185 double wS = 4.*uS3Sqr*uMu3Sqr;
00186 double osc = wS*sinSqrDeltaM;
00187 double prod = wS;
00188 //make wS positive and small if it is negative and small.
00189 if(wS < 0. && TMath::Abs(wS) < 1.e-3){
00190 MSG("NCOscProb", Msg::kVerbose) << "SAppear4N: wS < 0" << endl;
00191 prod *= -1.;
00192 }
00193 prod *= 4.*uMu4Sqr;
00194
00195 //do the same for uMu4Sqr
00196 if(4.*uMu4Sqr < 0. && TMath::Abs(4.*uMu4Sqr) < 1.e-3){
00197 MSG("NCOscProb", Msg::kVerbose) << "SAppear4N: uMu4Sqr < 0" << endl;
00198 prod *= -1.;
00199 }
00200
00201 // wS*uMu4Sqr > 0. ? prod = TMath::Sqrt(wS*uMu4Sqr) : prod = 0.;
00202 osc += TMath::Sqrt(prod)*(sinSqrDeltaM*TMath::Cos(phi43) - 0.5*sin2DeltaM*TMath::Sin(phi43));
00203 osc += 0.5*4.*uMu4Sqr;
00204
00205 return osc;
00206 }
|
|
||||||||||||||||||||||||
|
Definition at line 342 of file NCOscProb.cxx. Referenced by NCAnalysisUtils::FindParkeDelta41Is0Probability(), and TauAppear4NDelta41Is0(). 00347 {
00348 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00349
00350 return 4.*uMu3Sqr*uS3Sqr*sinSqrDeltaM;
00351 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 266 of file NCOscProb.cxx. References MSG. Referenced by NCAnalysisUtils::FindParkeDelta43Is0Probability(), and TauAppear4NDelta43Is0(). 00273 {
00274 double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00275
00276 double wS = 4.*uMu3Sqr*uS3Sqr;
00277 double prod = wS;
00278 //make wS positive and small if it is negative and small.
00279 if(wS < 0. && TMath::Abs(wS) < 1.e-3){
00280 MSG("NCOscProb", Msg::kVerbose) << "SAppear4NDelta43Is0: wS < 0" << endl;
00281 prod *= -1.;
00282 }
00283 prod *= 4.*uMu4Sqr;
00284
00285 //do the same for uMu4Sqr
00286 if(4.*uMu4Sqr < 0. && TMath::Abs(4.*uMu4Sqr) < 1.e-3){
00287 MSG("NCOscProb", Msg::kVerbose) << "SAppear4NDelta43Is0: uMu4Sqr < 0" << endl;
00288 prod *= -1.;
00289 }
00290
00291 // wS*uMu4Sqr > 0. ? prod = TMath::Sqrt(wS*uMu4Sqr) : prod = 0.;
00292 double osc = wS + 4.*uMu4Sqr + 2.*TMath::Sqrt(prod)*TMath::Cos(phi43);
00293 osc *= sinSqrDeltaM;
00294
00295 return osc;
00296 }
|
|
||||||||||||
|
Definition at line 94 of file NCOscProb.cxx. Referenced by NCAnalysisUtils::Find3FlavorProbability(), MuSurvive(), and NCReaderHelper::OscillateMatter(). 00095 {
00096
00097 //x[0] = E
00098 //Params:
00099 //par[0] = L
00100 //par[1] = th23
00101 //par[2] = th12
00102 //par[3] = th13
00103 //par[4] = dm23^2
00104 //par[5] = dm12^2
00105 //par[6] = density
00106 //par[7] = d_cp
00107 //par[8] = +/-;
00108
00109 double E = x[0]; //energy
00110 double L = par[0]; //baseline
00111
00112 double invKmToeV = 1.97e-10; //convert 1/km to eV
00113
00114 //electron density with units Gev^{2} eV
00115 //Gev^{2} to cancel with GeV^{-2} in Gf
00116
00117 double th23 = par[1];
00118 double th13 = par[3];
00119
00120 double sinsq_2th23 = TMath::Power(TMath::Sin(2.*th23),2);
00121 double cos_th13 = TMath::Cos(th13);
00122
00123 double dmsq_23 = par[4];
00124
00125 double Delta23 = dmsq_23/(2.*E*1e9); //eV
00126
00127 double p1 = sinsq_2th23*TMath::Power(cos_th13,4)
00128 *TMath::Power(TMath::Sin(Delta23*L/(invKmToeV*2.)),2); //numu->nutau
00129
00130 return p1;
00131
00132 }
|
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 209 of file NCOscProb.cxx. References EAppear4N(), MuSurvive4N(), and SAppear4N(). Referenced by NCAnalysisUtils::FindParkeModelProbability(). 00217 {
00218
00219 // double sinSqrDeltaM = TMath::Power(TMath::Sin(NCType::k127*deltaMSqr23*baseline/energy),2.);
00220 // double sin2DeltaM = TMath::Sin(2.*NCType::k127*deltaMSqr23*baseline/energy);
00221 // double osc = uMu3Sqr*sinSqrDeltaM;
00222 // osc -= (wE + wS + TMath::Sqrt(wS*uMu4Sqr)*TMath::Cos(phi43))*sinSqrDeltaM;
00223 // osc += TMath::Sqrt(wS*uMu4Sqr)*0.5*sin2DeltaM*TMath::Sin(phi43);
00224
00225 double osc = 1. - MuSurvive4N(baseline, energy, deltaMSqr23, uMu3Sqr, uMu4Sqr);
00226 osc -= EAppear4N(baseline, energy, deltaMSqr23, uMu3Sqr, uE3Sqr);
00227 osc -= SAppear4N(baseline, energy, deltaMSqr23, uMu3Sqr, phi43, uS3Sqr, uMu4Sqr);
00228
00229 return osc;
00230 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 354 of file NCOscProb.cxx. References EAppear4NDelta41Is0(), MuSurvive4NDelta41Is0(), and SAppear4NDelta41Is0(). Referenced by NCAnalysisUtils::FindParkeDelta41Is0Probability(). 00360 {
00361
00362 double osc = 1. - MuSurvive4NDelta41Is0(baseline, energy, deltaMSqr23, uMu3Sqr);
00363 osc -= EAppear4NDelta41Is0(baseline, energy, deltaMSqr23, uMu3Sqr, uE3Sqr);
00364 osc -= SAppear4NDelta41Is0(baseline, energy, deltaMSqr23, uMu3Sqr, uS3Sqr);
00365
00366 return osc;
00367 }
|
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 299 of file NCOscProb.cxx. References EAppear4NDelta43Is0(), MuSurvive4NDelta43Is0(), and SAppear4NDelta43Is0(). Referenced by NCAnalysisUtils::FindParkeDelta43Is0Probability(). 00307 {
00308
00309 double osc = 1. - MuSurvive4NDelta43Is0(baseline, energy, deltaMSqr23, uMu3Sqr, uMu4Sqr);
00310 osc -= EAppear4NDelta43Is0(baseline, energy, deltaMSqr23, uMu3Sqr, uE3Sqr);
00311 osc -= SAppear4NDelta43Is0(baseline, energy, deltaMSqr23, uMu3Sqr, phi43, uS3Sqr, uMu4Sqr);
00312
00313 return osc;
00314 }
|
1.3.9.1