Classes | |
| class | AtNuOsc::PMNS |
Functions | |
| double | MeanPionProdHeight (double CosZenith, double Energy) |
| double | MeanMuonProdHeight (double CosZenith, double Energy) |
| double | RandomKR (double BoverA) |
| double | RndmPionProdHeight (double CosZenith, double Energy) |
| double | RndmMuonProdHeight (double CosZenith, double Energy) |
| double | PDFMeanPionProdHeight (double CosZenith, double Energy) |
| double | PDFMeanMuonProdHeight (double CosZenith, double Energy) |
Variables | |
| const double | SimpleProdHeight = 25.0 |
|
||||||||||||
|
Definition at line 17 of file ProductionHeight.cxx. References C. Referenced by AtNuOscillate::ProductionHeight(). 00018 {
00019 if(CosZenith < -0.2 || Energy <= 0.0) return SimpleProdHeight;
00020
00021 double A = 12.0 + 12.5*exp(-3.2*CosZenith);
00022 double B = 10.1 - 19.8*CosZenith*CosZenith +
00023 13.2*CosZenith*CosZenith*CosZenith;
00024 double C = 0.11 + 0.27 * CosZenith;
00025 return A + B * exp(-C * Energy);
00026 }
|
|
||||||||||||
|
Definition at line 10 of file ProductionHeight.cxx. Referenced by AtNuOscillate::ProductionHeight(). 00011 {
00012 if(CosZenith < -0.2 || Energy <= 0.0) return SimpleProdHeight;
00013
00014 return 35.0 - 31.0*CosZenith + 15.0*CosZenith*CosZenith;
00015 }
|
|
||||||||||||
|
Definition at line 89 of file ProductionHeight.cxx. Referenced by AtNuOscillate::ProductionHeight(). 00090 {
00091 if(CosZenith < -0.2 || Energy <= 0.0) return SimpleProdHeight;
00092
00093 double A = 14.8 + (1+2*CosZenith)*log10(Energy) +
00094 3*(1-CosZenith)*log10(Energy)*log10(Energy);
00095 double Alpha = 28.3 - 43.7*CosZenith + 41.7*CosZenith*CosZenith -
00096 16.3*CosZenith*CosZenith*CosZenith;
00097 double Beta = 0.035 + 0.243*CosZenith + 0.186*CosZenith*CosZenith;
00098 double B = Alpha*exp(-Beta * Energy) - 10.0;
00099
00100 double PDFMean = 0;
00101 if (B >= 0) {
00102 PDFMean = (A / TMath::Gamma(3/2.)) + B;
00103 }
00104 else {
00105 PDFMean = (TMath::Exp(-B*B/(A*A))*(A*A + B*B) /
00106 (A * TMath::Gamma(3/2.) * (1.0 - TMath::Gamma(3/2., B*B/(A*A))))) +
00107 B;
00108 }
00109 return PDFMean;
00110 }
|
|
||||||||||||
|
Definition at line 70 of file ProductionHeight.cxx. Referenced by AtNuOscillate::ProductionHeight(). 00071 {
00072 if(CosZenith < -0.2 || Energy <= 0.0) return SimpleProdHeight;
00073
00074 double A = 14.0 - 2.6*CosZenith + 0.8*CosZenith*CosZenith;
00075 double B = 18.1 - 28.5*CosZenith + 14.5*CosZenith*CosZenith;
00076
00077 double PDFMean = 0;
00078 if (B >= 0) {
00079 PDFMean = (A / TMath::Gamma(3/2.)) + B;
00080 }
00081 else {
00082 PDFMean = (TMath::Exp(-B*B/(A*A))*(A*A + B*B) /
00083 (A * TMath::Gamma(3/2.) * (1.0 - TMath::Gamma(3/2., B*B/(A*A))))) +
00084 B;
00085 }
00086 return PDFMean;
00087 }
|
|
|
Definition at line 29 of file ProductionHeight.cxx. References MinX. Referenced by RndmMuonProdHeight(), and RndmPionProdHeight(). 00030 {
00031 double MinX = (BoverA>=0)?0:-BoverA;
00032 double MaxY = 1/TMath::E();
00033 if(MinX > 1.0) MaxY = MinX*MinX*TMath::Exp(-MinX*MinX);
00034
00035 while (1) {
00036 double R1 = gRandom->Uniform(MinX, 4);
00037 double R2 = gRandom->Uniform(0, MaxY);
00038 if(R1*R1*TMath::Exp(-R1*R1) < R2) continue;
00039 return R1;
00040 }
00041 return 0;
00042 }
|
|
||||||||||||
|
Definition at line 55 of file ProductionHeight.cxx. References RandomKR(). Referenced by AtNuOscillate::ProductionHeight(). 00056 {
00057 if(CosZenith < -0.2 || Energy <= 0.0) return SimpleProdHeight;
00058
00059 double A = 14.8 + (1+2*CosZenith)*log10(Energy) +
00060 3*(1-CosZenith)*log10(Energy)*log10(Energy);
00061 double Alpha = 28.3 - 43.7*CosZenith + 41.7*CosZenith*CosZenith -
00062 16.3*CosZenith*CosZenith*CosZenith;
00063 double Beta = 0.035 + 0.243*CosZenith + 0.186*CosZenith*CosZenith;
00064 double B = Alpha*exp(-Beta * Energy) - 10.0;
00065
00066 double X = RandomKR(B / A);
00067 return (A*X + B);
00068 }
|
|
||||||||||||
|
Definition at line 44 of file ProductionHeight.cxx. References RandomKR(). Referenced by AtNuOscillate::ProductionHeight(). 00045 {
00046 if(CosZenith < -0.2 || Energy <= 0.0) return SimpleProdHeight;
00047
00048 double A = 14.0 - 2.6*CosZenith + 0.8*CosZenith*CosZenith;
00049 double B = 18.1 - 28.5*CosZenith + 14.5*CosZenith*CosZenith;
00050
00051 double X = RandomKR(B / A);
00052 return (A*X + B);
00053 }
|
|
|
Definition at line 8 of file ProductionHeight.cxx. |
1.3.9.1