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

NueStandard Namespace Reference


Functions

bool PassesDataQuality (NueRecord *nr)
bool PassesNearDataQuality (int gbm, float cc, int st)
bool PassesFarDataQuality (float li, int rc, int dpfddq, float tmin, double spillt)
bool IsInFid (NueRecord *nr)
bool PassesPreSelection (NueRecord *nr)
bool PassesPreSelection (int tp, int tlp, float energy)
bool PassesNonHEPreSelection (NueRecord *nr)
bool PassesNonHEPreSelection (int tp, int tlp, float energy)
bool PassesSysPreSelection (NueRecord *nr)
bool PassesSysPreSelection (int tp, int tlp, float energy)
bool PassesMREFiducial (NueRecord *nr)
bool PassesMREPreSelection (NueRecord *nr)
bool PassesMREPreSelection (float bestComp, int fitp, double pid)
bool PassesPIDSelection (NueRecord *nr, Selection::Selection_t sel)
bool PassesSelection (NueRecord *nr, Selection::Selection_t sel)
double GetPIDValue (NueRecord *nr, Selection::Selection_t sel)


Function Documentation

double NueStandard::GetPIDValue NueRecord nr,
Selection::Selection_t  sel
 

Definition at line 228 of file NueStandard.cxx.

References NueRecord::ann, TreePID::fCutPID, MCNNVars::fracCCy, NueRecord::mcnnv, MCNNVars::meanfracQmatched, Ann::pid_30inp, SubShowerVar::pid_daikon, NueRecord::subshowervars, and NueRecord::treepid.

Referenced by NueSystematic::DoPIDSkew(), and PassesPIDSelection().

00229 {
00230   double retval = 0;
00231   float var1;
00232 
00233   switch(sel) {
00234   case Selection::kCuts:  retval = nr->treepid.fCutPID;           break;
00235   case Selection::kANN:   retval = nr->ann.pid_30inp;             break;
00236   case Selection::kSSPID: retval = nr->subshowervars.pid_daikon;  break;
00237   case Selection::kMCNN:
00238      var1 = nr->mcnnv.meanfracQmatched;
00239      if(var1 <= 0.8 && nr->mcnnv.fracCCy != -1) retval = -0.5;
00240      else        retval = nr->mcnnv.fracCCy;                      break;
00241   default:                                                        break;
00242   }
00243 
00244   return retval;
00245 }

bool NueStandard::IsInFid NueRecord nr  ) 
 

Definition at line 19 of file NueStandard.cxx.

References VldContext::GetDetector(), RecRecordImp< T >::GetHeader(), VldContext::GetSimFlag(), RecHeader::GetVldContext(), NueConvention::IsInsideFarFiducial_Nue_Standard(), NueConvention::IsInsideNearFiducial_Nue_Standard(), NueRecord::srevent, ANtpEventInfo::vtxX, ANtpEventInfo::vtxY, and ANtpEventInfo::vtxZ.

Referenced by PassesSelection().

00020 {
00021    float x = nr->srevent.vtxX;
00022    float y = nr->srevent.vtxY;
00023    float z = nr->srevent.vtxZ;
00024                                                                                
00025    DetectorType::Detector_t fDet;
00026    fDet = nr->GetHeader().GetVldContext().GetDetector();
00027    if(fDet != DetectorType::kFar && fDet != DetectorType::kNear) return false;
00028 
00029    SimFlag::SimFlag_t sim = nr->GetHeader().GetVldContext().GetSimFlag();
00030    bool isMC = (sim == SimFlag::kMC);
00031    int retval = 0;
00032 
00033    if(fDet == DetectorType::kFar)
00034      retval = NueConvention::IsInsideFarFiducial_Nue_Standard(x,y,z, isMC);
00035  
00036    if(fDet == DetectorType::kNear)
00037      retval = NueConvention::IsInsideNearFiducial_Nue_Standard(x,y,z, isMC);
00038       
00039    return (retval == 1);
00040 }

bool NueStandard::PassesDataQuality NueRecord nr  ) 
 

Definition at line 42 of file NueStandard.cxx.

References NueRecord::bmon, ANtpEventInfoNue::coilCurrent, ANtpEventInfoNue::daveFDDataQuality, BeamMon::dt_stnd, ANtpEventInfoNue::eventTimeMin, VldContext::GetDetector(), RecRecordImp< T >::GetHeader(), VldContext::GetSimFlag(), RecHeader::GetVldContext(), BeamMon::goodBeamMon, ANtpEventInfoNue::liTime, PassesFarDataQuality(), PassesNearDataQuality(), ANtpEventInfoNue::rcBoundary, ANtpEventInfoNue::spillType, and NueRecord::srevent.

00043 {                                                 
00044    SimFlag::SimFlag_t sim = nr->GetHeader().GetVldContext().GetSimFlag();
00045    bool isMC = (sim == SimFlag::kMC);
00046    if(isMC) return true;
00047 
00048    //common to both
00049    if(nr->bmon.goodBeamMon != 1 || nr->srevent.spillType != 3) return false;
00050 
00051    if(nr->GetHeader().GetVldContext().GetDetector() == Detector::kNear )
00052      return PassesNearDataQuality(nr->bmon.goodBeamMon, nr->srevent.coilCurrent,
00053                              nr->srevent.spillType);
00054  
00055    if(nr->GetHeader().GetVldContext().GetDetector() == Detector::kFar){
00056      float litime = nr->srevent.liTime;
00057      int rcB = nr->srevent.rcBoundary;
00058      int dpDQ = nr->srevent.daveFDDataQuality;
00059      float tmin = nr->srevent.eventTimeMin;
00060      double spillT = nr->bmon.dt_stnd;   
00061      return PassesFarDataQuality(litime, rcB, dpDQ, tmin, spillT);       
00062    }
00063 
00064    return false;
00065 }

bool NueStandard::PassesFarDataQuality float  li,
int  rc,
int  dpfddq,
float  tmin,
double  spillt
 

Definition at line 77 of file NueStandard.cxx.

Referenced by PassesDataQuality().

00079 {
00080   if(li == -1 && rc == 0 && dpfddq == 1
00081     && (tmin - spillt) > -20e-6 && (tmin - spillt) < 30e-6)
00082      return true;
00083                                                                                 
00084   return false;
00085 }

bool NueStandard::PassesMREFiducial NueRecord nr  ) 
 

Definition at line 127 of file NueStandard.cxx.

References VldContext::GetDetector(), RecRecordImp< T >::GetHeader(), VldContext::GetSimFlag(), RecHeader::GetVldContext(), NueConvention::IsInsideNearFiducial_MRE_Standard(), NueRecord::mri, MuonRemovalInfo::vtxx, MuonRemovalInfo::vtxy, and MuonRemovalInfo::vtxz.

00128 {
00129    float x = nr->mri.vtxx;
00130    float y = nr->mri.vtxy;
00131    float z = nr->mri.vtxz;
00132                                                                                 
00133    DetectorType::Detector_t fDet;
00134    fDet = nr->GetHeader().GetVldContext().GetDetector();
00135    if(fDet != DetectorType::kNear) return false;     
00136    SimFlag::SimFlag_t sim = nr->GetHeader().GetVldContext().GetSimFlag();
00137    bool isMC = (sim == SimFlag::kMC);
00138    int retval = 0;
00139                                                                                 
00140    if(fDet == DetectorType::kFar) retval = 0;
00141        
00142    if(fDet == DetectorType::kNear)
00143      retval = NueConvention::IsInsideNearFiducial_MRE_Standard(x,y,z, isMC);
00144 
00145    return (retval == 1);
00146 }

bool NueStandard::PassesMREPreSelection float  bestComp,
int  fitp,
double  pid
 

Definition at line 157 of file NueStandard.cxx.

00158 {
00159    //currently assumes DP-PID
00160    bool good = true;
00161    good = good && (bestComp > -10);
00162    good = good && (fitp == 1);
00163    good = good && (pid > -0.1);
00164                                                                                 
00165    return good;
00166 }

bool NueStandard::PassesMREPreSelection NueRecord nr  ) 
 

Definition at line 148 of file NueStandard.cxx.

References MuonRemovalInfo::best_complete, MuonRemovalInfo::fitp, NueRecord::mri, and MuonRemovalInfo::orig_cc_pid.

00149 {
00150     double pid = nr->mri.orig_cc_pid;
00151     int fitp = nr->mri.fitp;
00152     float bestC = nr->mri.best_complete;
00153 
00154     return NueStandard::PassesMREPreSelection(bestC, fitp, pid);
00155 }

bool NueStandard::PassesNearDataQuality int  gbm,
float  cc,
int  st
 

Definition at line 67 of file NueStandard.cxx.

Referenced by PassesDataQuality().

00068 {
00069   //Assumes it is taking:
00070   // nr->bmon.goodBeamMon, nr->srevent.coilCurrent, nr->srevent.spillType
00071   if(gbm == 1 && cc < -1000.0 && st != 3)
00072      return true;
00073                                                                                 
00074   return false;
00075 }

bool NueStandard::PassesNonHEPreSelection int  tp,
int  tlp,
float  energy
 

Definition at line 115 of file NueStandard.cxx.

00116 {
00117    bool good = true;
00118    good = good && (trkplane < 25);
00119    good = good && (tlp < 16);
00120    good = good && (energy > 1);
00121                                                                                 
00122    return good;
00123 }

bool NueStandard::PassesNonHEPreSelection NueRecord nr  ) 
 

Definition at line 97 of file NueStandard.cxx.

References ANtpEventInfoNue::phNueGeV, ANtpTrackInfo::planes, NueRecord::srevent, NueRecord::srtrack, and ANtpTrackInfoNue::trklikePlanes.

00098 {
00099    int tp = nr->srtrack.planes;
00100    int tlp = nr->srtrack.trklikePlanes;
00101    float energy = nr->srevent.phNueGeV;
00102                                                                                 
00103    return PassesNonHEPreSelection(tp, tlp, energy);
00104 }                                                                                                       

bool NueStandard::PassesPIDSelection NueRecord nr,
Selection::Selection_t  sel
 

Definition at line 247 of file NueStandard.cxx.

References GetPIDValue().

Referenced by PassesSelection().

00248 {
00249   bool pass = false;
00250   double val = GetPIDValue(nr, sel);
00251                                                                                                   
00252   switch(sel) {
00253   case Selection::kCuts:  pass = (int(val) == 1);       break;
00254   case Selection::kANN:   pass = val > 0.5;             break;
00255   case Selection::kSSPID: pass = val > 0.5;             break;
00256   case Selection::kMCNN:  pass = val > 0.4;             break;
00257   default:                                              break;
00258   }
00259                                                                                                   
00260   return pass;
00261 }

bool NueStandard::PassesPreSelection int  tp,
int  tlp,
float  energy
 

Definition at line 105 of file NueStandard.cxx.

00106 {  
00107    bool good = true;
00108    good = good && (trkplane < 25);
00109    good = good && (tlp < 16);
00110    good = good && (energy > 1 && energy < 8);
00111    
00112    return good;
00113 }

bool NueStandard::PassesPreSelection NueRecord nr  ) 
 

Definition at line 88 of file NueStandard.cxx.

References ANtpEventInfoNue::phNueGeV, ANtpTrackInfo::planes, NueRecord::srevent, NueRecord::srtrack, and ANtpTrackInfoNue::trklikePlanes.

Referenced by PassesSelection().

00089 {
00090    int tp = nr->srtrack.planes;
00091    int tlp = nr->srtrack.trklikePlanes;
00092    float energy = nr->srevent.phNueGeV;
00093   
00094    return PassesPreSelection(tp, tlp, energy);
00095 }

bool NueStandard::PassesSelection NueRecord nr,
Selection::Selection_t  sel
 

Definition at line 264 of file NueStandard.cxx.

References infid(), IsInFid(), PassesPIDSelection(), and PassesPreSelection().

Referenced by NueExtrapHelper::PassCuts().

00265 {
00266   bool pass = false;
00267 
00268   bool infid = NueStandard::IsInFid(nr);
00269   bool presel = infid && NueStandard::PassesPreSelection(nr);
00270   bool pid = NueStandard::PassesPIDSelection(nr,sel); 
00271 
00272   switch(sel) {
00273   case Selection::kNone:  pass = true;                    break;
00274   case Selection::kFid:   pass = infid;                   break;
00275   case Selection::kPre:   pass = presel;                  break;
00276   case Selection::kCuts:  pass = presel && pid;           break;
00277   case Selection::kANN:   pass = presel && pid;           break;
00278   case Selection::kSSPID: pass = presel && pid;           break;
00279   case Selection::kMCNN:  pass = presel && pid;           break;
00280   case Selection::kMDA:   pass = presel && false;         break;
00281   case Selection::kBDT:   pass = presel && false;         break;
00282   case Selection::kKNue:  pass = presel && false;         break;
00283 
00284   default:                                                break;
00285   }
00286 
00287   return pass;
00288 }

bool NueStandard::PassesSysPreSelection int  tp,
int  tlp,
float  energy
 

Definition at line 177 of file NueStandard.cxx.

00178 {
00179    bool good = true;
00180    good = good && (trkplane < 28);
00181    good = good && (tlp < 18);
00182    good = good && (energy > 0.5 && energy < 10);
00183                                                                                 
00184    return good;
00185 }

bool NueStandard::PassesSysPreSelection NueRecord nr  ) 
 

Definition at line 168 of file NueStandard.cxx.

References ANtpEventInfoNue::phNueGeV, ANtpTrackInfo::planes, NueRecord::srevent, NueRecord::srtrack, and ANtpTrackInfoNue::trklikePlanes.

00169 {
00170    int tp = nr->srtrack.planes;
00171    int tlp = nr->srtrack.trklikePlanes;
00172    float energy = nr->srevent.phNueGeV;
00173                                                                                 
00174    return PassesSysPreSelection(tp, tlp, energy);
00175 }


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