Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

NCOscProb Namespace Reference


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)


Function Documentation

double NCOscProb::EAppear4N double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  uE3Sqr
 

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 }

double NCOscProb::EAppear4NDelta41Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  uE3Sqr
 

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 }

double NCOscProb::EAppear4NDelta43Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  uE3Sqr
 

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 }

double NCOscProb::ElecAppear double *  ,
double * 
 

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 }

double NCOscProb::MuSurvive double *  ,
double * 
 

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 }

double NCOscProb::MuSurvive4N double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  uMu4Sqr
 

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 }

double NCOscProb::MuSurvive4NDelta41Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr
 

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 }

double NCOscProb::MuSurvive4NDelta43Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  uMu4Sqr
 

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 }

double NCOscProb::OscProb4NAngles double  ssDeltaMSqr31,
double  ssDeltaMSqr41,
double  ssDeltaMSqr43,
double  theta13,
double  theta23,
double  theta34,
int  oscMode
 

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 ue4 = TMath::Sin(theta13)*TMath::Sin(theta34);
00383   double umu3 = TMath::Sin(theta23)*TMath::Cos(theta13)*TMath::Cos(theta34);
00384   double umu4 = TMath::Sin(theta23)*TMath::Cos(theta13)*TMath::Sin(theta34);
00385   double us3 = -TMath::Sin(theta34);
00386   double us4 = TMath::Cos(theta34);
00387 
00388   prob[NCType::kNuMuToNuMu] = 1. - 4.*umu3*umu3*(1. - umu3*umu3 - umu4*umu4)*ssDeltaMSqr31;
00389   prob[NCType::kNuMuToNuMu] -= 4.*umu3*umu3*umu4*umu4*ssDeltaMSqr43;
00390   prob[NCType::kNuMuToNuMu] -= 4.*umu4*umu4*(1. - umu3*umu3 - umu4*umu4)*ssDeltaMSqr41;
00391 
00392   prob[NCType::kNuMuToNuE] = 4.*umu3*umu3*ue3*ue3*ssDeltaMSqr31;
00393   prob[NCType::kNuMuToNuE] += 4.*umu4*umu4*ue4*ue4*ssDeltaMSqr41;
00394   prob[NCType::kNuMuToNuE] += 4.*umu3*ue3*umu4*ue4*(ssDeltaMSqr31 + ssDeltaMSqr41 
00395                                                     - ssDeltaMSqr43);
00396 
00397   prob[NCType::kNuMuToNuS] = 4.*umu3*umu3*us3*us3*ssDeltaMSqr31;
00398   prob[NCType::kNuMuToNuS] += 4.*umu4*umu4*us4*us4*ssDeltaMSqr41;
00399   prob[NCType::kNuMuToNuS] += 4.*umu3*us3*umu4*us4*(ssDeltaMSqr31 + ssDeltaMSqr41 
00400                                                     - ssDeltaMSqr43);
00401 
00402   prob[NCType::kNuMuToNuTau] = 1. - prob[NCType::kNuMuToNuMu];
00403   prob[NCType::kNuMuToNuTau] -= prob[NCType::kNuMuToNuE];
00404   prob[NCType::kNuMuToNuTau] -= prob[NCType::kNuMuToNuS];
00405 
00406   prob[NCType::kNuEToNuE] = 1.;
00407 
00408   return prob[oscMode];
00409 }

double NCOscProb::SAppear4N double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  phi43,
double  uS3Sqr,
double  uMu4Sqr
 

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 }

double NCOscProb::SAppear4NDelta41Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  uS3Sqr
 

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 }

double NCOscProb::SAppear4NDelta43Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  phi43,
double  uS3Sqr,
double  uMu4Sqr
 

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 }

double NCOscProb::TauAppear double *  ,
double * 
 

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 }

double NCOscProb::TauAppear4N double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  phi43,
double  uS3Sqr,
double  uMu4Sqr,
double  uE3Sqr
 

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 }

double NCOscProb::TauAppear4NDelta41Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  uS3Sqr,
double  uE3Sqr
 

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 }

double NCOscProb::TauAppear4NDelta43Is0 double  baseline,
double  energy,
double  deltaMSqr23,
double  uMu3Sqr,
double  phi43,
double  uS3Sqr,
double  uMu4Sqr,
double  uE3Sqr
 

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 }


Generated on Fri Mar 28 16:16:14 2008 for loon by  doxygen 1.3.9.1