NueRWHelpers Namespace Reference

Functions

float Oscillate (NtpMCTruth *mcth, float L, float dm2, float theta23, float UE32)
float Oscillate (ANtpTruthInfoBeam *ib, float L, float dm2, float theta23, float UE32)
float Oscillate (int nuFlavor, int nonOscNuFlavor, float Energy, float L, float dm2, float theta23, float U)
float Oscillate (ANtpTruthInfoBeamNue *ib)
float OscillateMatter (int nuFlavor, int nonOscNuFlavor, float Energy, float L, float dm2, float theta23, float UE32, float delta=0, int hierarchy=1)
float OscillateMatter (NtpMCTruth *mcth, 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)

Function Documentation

float NueRWHelpers::Oscillate ( ANtpTruthInfoBeamNue ib  ) 
float NueRWHelpers::Oscillate ( int  nuFlavor,
int  nonOscNuFlavor,
float  Energy,
float  L,
float  dm2,
float  theta23,
float  U 
)

Definition at line 32 of file NueRWHelpers.cxx.

00034 {
00035    float oscterm = TMath::Sin(1.27*dm2*L/Energy);      
00036 
00037    float pmt=pow((1-UE32)*oscterm*TMath::Sin(2*theta23),2);
00038    float pme=pow(TMath::Sin(theta23),2)*4.*UE32*(1-UE32)*pow(oscterm,2);
00039    float pmm=1.-pmt-pme;
00040    
00041    float pet=4*(1-UE32)*UE32*pow(TMath::Cos(theta23)*oscterm,2);
00042    float pem=pow(TMath::Sin(theta23),2)*4.*UE32*(1-UE32)*pow(oscterm,2);
00043    float pee=1.-pet-pem;
00044 
00045 
00046    if(abs(nonOscNuFlavor)==14){
00047       if(abs(nuFlavor)==12){
00048          return pme;
00049       }
00050       else if(abs(nuFlavor)==14){
00051          return pmm;
00052       }
00053       else if(abs(nuFlavor)==16){
00054          return pmt;
00055       }
00056    }
00057    else if(abs(nonOscNuFlavor)==12){
00058       if(abs(nuFlavor)==12){
00059          return pee;
00060       }
00061       else if(abs(nuFlavor)==14){
00062          return pem;
00063       }
00064       else if(abs(nuFlavor)==16){
00065          return pet;
00066       }
00067    }
00068    else{
00069      std::cout<<"I don't know what to do with "<<nonOscNuFlavor
00070          <<" "<<nuFlavor<<" "<<pee<<std::endl;
00071    }
00072    return 0.;
00073 }

float NueRWHelpers::Oscillate ( ANtpTruthInfoBeam ib,
float  L,
float  dm2,
float  theta23,
float  UE32 
)

Definition at line 16 of file NueRWHelpers.cxx.

References ANtpTruthInfoBeam::nonOscNuFlavor, ANtpTruthInfo::nuEnergy, ANtpTruthInfo::nuFlavor, and Oscillate().

00018 {
00019   return NueRWHelpers::Oscillate(ib->nuFlavor, ib->nonOscNuFlavor,ib->nuEnergy,
00020                                    L, dm2, theta23, UE32);
00021 }

float NueRWHelpers::Oscillate ( NtpMCTruth mcth,
float  L,
float  dm2,
float  theta23,
float  UE32 
)

Definition at line 9 of file NueRWHelpers.cxx.

References NtpMCTruth::inu, NtpMCTruth::inunoosc, and NtpMCTruth::p4neu.

Referenced by Oscillate().

00011 {
00012     return NueRWHelpers::Oscillate(mcth->inu, mcth->inunoosc, mcth->p4neu[3],
00013                                    L, dm2, theta23, UE32);
00014 }  

float NueRWHelpers::OscillateMatter ( ANtpTruthInfoBeam ib,
float  L,
float  dm2,
float  theta23,
float  UE32,
float  delta = 0,
int  hierarchy = 1 
)

Definition at line 127 of file NueRWHelpers.cxx.

References ANtpTruthInfoBeam::nonOscNuFlavor, ANtpTruthInfo::nuEnergy, ANtpTruthInfo::nuFlavor, and OscillateMatter().

00130 {
00131   return NueRWHelpers::OscillateMatter(ib->nuFlavor, ib->nonOscNuFlavor,
00132                                        ib->nuEnergy,
00133                                        L, dm2, theta23, UE32,
00134                                        delta,hierarchy);
00135 }

float NueRWHelpers::OscillateMatter ( NtpMCTruth mcth,
float  L,
float  dm2,
float  theta23,
float  UE32,
float  delta = 0,
int  hierarchy = 1 
)

Definition at line 117 of file NueRWHelpers.cxx.

References NtpMCTruth::inu, NtpMCTruth::inunoosc, OscillateMatter(), and NtpMCTruth::p4neu.

00120 {
00121   return NueRWHelpers::OscillateMatter(mcth->inu, mcth->inunoosc, 
00122                                        mcth->p4neu[3],
00123                                        L, dm2, theta23, UE32,
00124                                        delta,hierarchy);
00125 }

float NueRWHelpers::OscillateMatter ( int  nuFlavor,
int  nonOscNuFlavor,
float  Energy,
float  L,
float  dm2,
float  theta23,
float  UE32,
float  delta = 0,
int  hierarchy = 1 
)

Definition at line 75 of file NueRWHelpers.cxx.

Referenced by OscillateMatter().

00079 {
00080 
00081   Double_t x[1] = {};
00082   x[0] = Energy;
00083   Double_t th12 = 0.554;              //sinsq2theta_12=0.8
00084   Double_t ss2th13 = 4*UE32*(1-UE32); //sinsq2theta_13
00085   Double_t dm2_12 = 8.2e-5; //best fit SNO
00086   Double_t dm2_23 = dm2;
00087 
00088   Double_t par[9] = {0};
00089   par[0] = L;
00090   par[1] = th23;
00091   par[2] = th12;
00092   par[3] = TMath::ASin(TMath::Sqrt(ss2th13))/2.;
00093   par[4] = hierarchy*dm2_23;
00094   par[5] = hierarchy*dm2_12;
00095   par[6] = 2.65; //standard rock density
00096   par[7] = delta;
00097   par[8] = 1;
00098   if(nonOscNuFlavor < 0) par[8] = -1;
00099   
00100   if(nonOscNuFlavor==14) {
00101     if(nuFlavor==12) return ElecAppear(x,par);
00102     else if(nuFlavor==14) return MuSurvive(x,par) - ElecAppear(x,par);
00103     else if(nuFlavor==16) return MuDisappear(x,par);
00104   }
00105   else if(nonOscNuFlavor==12) {
00106     if(nuFlavor==12) return 1 - ElecAppear(x,par) - 
00107       ( ss2th13 * TMath::Power(TMath::Cos(th23) * 
00108                                TMath::Sin(1.27*dm2*L/x[0]),2) );
00109     else if(nuFlavor==14) return ElecAppear(x,par);
00110     else if(nuFlavor==16) return ( ss2th13 *
00111                                    TMath::Power(TMath::Cos(th23) * 
00112                                                 TMath::Sin(1.27*dm2*L/x[0]),2) );
00113   }
00114   return 0;
00115 }


Generated on 19 Jan 2018 for loon by  doxygen 1.6.1