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

Background.cxx

Go to the documentation of this file.
00001 // Body for Background namespace so that CINT recognizes its existence
00002 
00003 #include "NueAna/Extrapolation/Background.h"
00004 #include "NueAna/NueAnaTools/NueConvention.h"
00005 #include "TString.h"
00006 
00007 //_____________________________________________________________________________
00008 const Char_t* Background::AsString(Background_t background)
00009 {
00010    switch (background) {
00011    case kNueCC:     return "NueCC";      break;
00012    case kNC:        return "NC";         break;
00013    case kNuMuCC:    return "NuMuCC";     break;
00014    case kBNueCC:    return "BNueCC";     break;
00015    case kNuTauCC:   return "NuTauCC";    break;
00016    case kPiBNueCC:  return "PiBNueCC";   break;
00017    case kKaBNueCC:  return "KaBNueCC";   break;    
00018    case kSelCC:     return "SelCC";      break; 
00019    case kUnknown:   return "Unknown";    break;
00020    default:         return "?Unknown?";  break;
00021    }
00022 }
00023 
00024 //_____________________________________________________________________________
00025 Background::Background_t Background::StringToEnum(const Char_t* chars)
00026 {
00027   TString theString(chars);
00028   if(theString.Contains("NueCC"))    return kNueCC;
00029   if(theString.Contains("NC"))       return kNC;
00030   if(theString.Contains("NuMuCC"))   return kNuMuCC;
00031   if(theString.Contains("BNueCC"))   return kBNueCC;
00032   if(theString.Contains("NuTauCC"))  return kNuTauCC;
00033   if(theString.Contains("PiBNueCC")) return kPiBNueCC;
00034   if(theString.Contains("KaBNueCC")) return kKaBNueCC;
00035   if(theString.Contains("SelCC"))    return kSelCC;
00036   
00037   return kUnknown;
00038 }
00039 
00040 Background::Background_t Background::TranslateFromMC(Int_t iaction,Int_t inu,
00041                                                      Int_t inunoosc,Int_t parentid)
00042 {
00043   if(iaction==0) return Background::kNC;
00044   if(iaction==1) {
00045     if(TMath::Abs(inu)==12) {
00046       if(TMath::Abs(inunoosc)==12) {
00047         if(parentid==0) return Background::kBNueCC;
00048         else if(TMath::Abs(parentid)==211) return Background::kPiBNueCC;
00049         else if(TMath::Abs(parentid)==130 || 
00050                 TMath::Abs(parentid)==321 ||
00051                 TMath::Abs(parentid)==310) return Background::kKaBNueCC;
00052       }
00053       else if(TMath::Abs(inunoosc)==14) {
00054         return Background::kNueCC;
00055       }
00056     }
00057     else if(TMath::Abs(inu)==14) return Background::kNuMuCC;
00058     else if(TMath::Abs(inu)==16) return Background::kNuTauCC;
00059   }
00060   return Background::kUnknown;
00061 }
00062 
00063 Background::Background_t Background::TranslateFromNueClass(Int_t nueClass)
00064 {
00065   if(nueClass == ClassType::NC)    return Background::kNC;
00066   if(nueClass == ClassType::numu)  return Background::kNuMuCC;
00067   if(nueClass == ClassType::nue)   return Background::kNueCC;
00068   if(nueClass == ClassType::nutau) return Background::kNuTauCC;
00069   if(nueClass == ClassType::bnue)  return Background::kBNueCC;
00070 
00071   return Background::kUnknown;
00072 }
00073 

Generated on Mon Feb 15 11:06:23 2010 for loon by  doxygen 1.3.9.1