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

NCReaderHelper Namespace Reference


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)


Function Documentation

float NCReaderHelper::Oscillate int  nuFlavor,
int  nonOscNuFlavor,
float  interactionType,
float  Energy,
float  L,
float  dm2,
float  theta23,
float  U,
float  SFrac
 

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 }

float NCReaderHelper::Oscillate ANtpTruthInfoBeam ib,
float  L,
float  dm2,
float  theta23,
float  UE32,
float  SFrac
 

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 }

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

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 }

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

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 }


Generated on Thu Nov 1 12:02:18 2007 for loon by  doxygen 1.3.9.1