Functions | |
| float | Oscillate (ANtpTruthInfoBeam *ib, float L, float dm2, float theta23, float UE32, float SFrac) |
| float | Oscillate (int nuFlavor, int nonOscNuFlavor, float interactionType, float Energy, float L, float dm2, float theta23, float U, float SFrac) |
| float | OscillateMatter (int nuFlavor, int nonOscNuFlavor, float Energy, float L, float dm2, float theta23, float UE32, float delta=0, int hierarchy=1) |
| float | OscillateMatter (ANtpTruthInfoBeam *ib, float L, float dm2, float theta23, float UE32, float delta=0, int hierarchy=1) |
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 34 of file NCReaderHelper.cxx. References pow(). 00038 {
00039 float oscterm = TMath::Sin(1.27*dm2*L/Energy);
00040
00041 //Using SFrac=sin^2(alpha), alpha mixing angle between
00042 // nutau and nusterile
00043
00044 float pmt=(1-SFrac)*pow((1-UE32)*oscterm*TMath::Sin(2*theta23),2);
00045 float pme=pow(TMath::Sin(theta23),2)*4.*UE32*(1-UE32)*pow(oscterm,2);
00046 float pms=SFrac*pow((1-UE32)*oscterm*TMath::Sin(2*theta23),2);
00047 float pmm=1.;
00048 if (interactionType > 0) pmm=1.-pmt-pme-pms;
00049 //for NC only pms matter
00050 else if (interactionType <1 ) pmm=1.-pms;
00051
00052 float pet=(1-SFrac)*4*(1-UE32)*UE32*pow(TMath::Cos(theta23)*oscterm,2);
00053 float pem=pow(TMath::Sin(theta23),2)*4.*UE32*(1-UE32)*pow(oscterm,2);
00054 float pes=SFrac*4*(1-UE32)*UE32*pow(TMath::Cos(theta23)*oscterm,2);
00055 float pee=1.;
00056 if (interactionType > 0) pee=1.-pet-pem-pes;
00057 else if (interactionType <1 ) pee=1.-pes;
00058
00059 if(TMath::Abs(nonOscNuFlavor)==14){
00060 if(TMath::Abs(nuFlavor)==12){
00061 if (interactionType > 0) return pme;
00062 else if (interactionType <1 ) return 1.;
00063 }
00064 else if(TMath::Abs(nuFlavor)==14){
00065 return pmm;
00066 }
00067 else if(TMath::Abs(nuFlavor)==16){
00068 if (interactionType > 0) return pmt;
00069 else if (interactionType <1 ) return 1.;
00070 }
00071 }
00072 else if(TMath::Abs(nonOscNuFlavor)==12){
00073 if(TMath::Abs(nuFlavor)==12){
00074 return pee;
00075 }
00076 else if(TMath::Abs(nuFlavor)==14){
00077 if (interactionType > 0) return pem;
00078 else if (interactionType <1 ) return 1.;
00079 }
00080 else if(TMath::Abs(nuFlavor)==16){
00081 if (interactionType > 0) return pet;
00082 else if (interactionType <1 ) return 1.;
00083 }
00084 }
00085 else{
00086 std::cout<<"I don't know what to do with "<<nonOscNuFlavor
00087 <<" "<<nuFlavor<<" "<<pee<<std::endl;
00088 }
00089 return 0.;
00090 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 24 of file NCReaderHelper.cxx. References ANtpTruthInfo::interactionType, ANtpTruthInfoBeam::nonOscNuFlavor, ANtpTruthInfo::nuEnergy, and ANtpTruthInfo::nuFlavor. Referenced by NCAnalysisReader::PrintValues(). 00027 {
00028 return NCReaderHelper::Oscillate(ib->nuFlavor, ib->nonOscNuFlavor
00029 , ib->interactionType, ib->nuEnergy
00030 , L, dm2, theta23, UE32, SFrac);
00031 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 134 of file NCReaderHelper.cxx. References ANtpTruthInfoBeam::nonOscNuFlavor, ANtpTruthInfo::nuEnergy, ANtpTruthInfo::nuFlavor, and OscillateMatter(). 00137 {
00138 return NCReaderHelper::OscillateMatter(ib->nuFlavor, ib->nonOscNuFlavor,
00139 ib->nuEnergy,
00140 L, dm2, theta23, UE32,
00141 delta,hierarchy);
00142 }
|
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 92 of file NCReaderHelper.cxx. References NCOscProb::ElecAppear(), NCOscProb::MuSurvive(), and NCOscProb::TauAppear(). Referenced by OscillateMatter(). 00096 {
00097
00098 Double_t x[1] = {};
00099 x[0] = Energy;
00100 Double_t th12 = 0.554; //sinsq2theta_12=0.8
00101 Double_t ss2th13 = 4*UE32*(1-UE32); //sinsq2theta_13
00102 Double_t dm2_12 = 8.2e-5; //best fit SNO
00103 Double_t dm2_23 = dm2;
00104
00105 Double_t par[9] = {0};
00106 par[0] = L;
00107 par[1] = th23;
00108 par[2] = th12;
00109 par[3] = TMath::ASin(TMath::Sqrt(ss2th13))/2.;
00110 par[4] = hierarchy*dm2_23;
00111 par[5] = hierarchy*dm2_12;
00112 par[6] = 2.65; //standard rock density
00113 par[7] = delta;
00114 par[8] = 1;
00115 if(nonOscNuFlavor < 0) par[8] = -1;
00116
00117 if(nonOscNuFlavor==14) {
00118 if(nuFlavor==12) return NCOscProb::ElecAppear(x,par);
00119 else if(nuFlavor==14) return NCOscProb::MuSurvive(x,par);
00120 else if(nuFlavor==16) return NCOscProb::TauAppear(x,par);
00121 }
00122 else if(nonOscNuFlavor==12) {
00123 if(nuFlavor==12) return 1 - NCOscProb::ElecAppear(x,par) -
00124 ( ss2th13 * TMath::Power(TMath::Cos(th23) *
00125 TMath::Sin(1.27*dm2*L/x[0]),2) );
00126 else if(nuFlavor==14) return NCOscProb::ElecAppear(x,par);
00127 else if(nuFlavor==16) return ( ss2th13 *
00128 TMath::Power(TMath::Cos(th23) *
00129 TMath::Sin(1.27*dm2*L/x[0]),2) );
00130 }
00131 return 0;
00132 }
|
1.3.9.1