NuCutImps::RHC0150Std Class Reference

#include <NuCutImps.h>

Inheritance diagram for NuCutImps::RHC0150Std:
NuCut

List of all members.

Public Member Functions

 RHC0150Std (const NuPlots *plots=0)
Bool_t InFidVol (const NuEvent &nu) const
Bool_t IsGoodPID (const NuEvent &nu) const
void Preselection (const NuEvent &nu)
void Selection (const NuEvent &nu)

Private Attributes

Preselection2010 fPreselection2010

Detailed Description

Definition at line 220 of file NuCutImps.h.


Constructor & Destructor Documentation

NuCutImps::RHC0150Std::RHC0150Std ( const NuPlots plots = 0  ) 

Definition at line 1606 of file NuCutImps.cxx.

References NuCuts::kRHC0150Std, NuCut::SetAnaVersion(), and NuCut::SetFidVol().

01606                                              :
01607     NuCut("RHC0150Std", plots)
01608   {
01609     SetFidVol("cc2008");
01610     SetAnaVersion(NuCuts::kRHC0150Std);
01611   }


Member Function Documentation

Bool_t NuCutImps::RHC0150Std::InFidVol ( const NuEvent nu  )  const [virtual]

Fiducial volume calculation function. This is the basic 'infid' derived version, and should be overridden/passed to for any more complicated evaluations.

Reimplemented from NuCut.

Definition at line 1613 of file NuCutImps.cxx.

References NuCut::InFidVolEvt(), Munits::m, NuEvent::ntrk, and NuEvent::zTrkVtx.

Referenced by NuCutImps::NSI2011Rhc::InFidVol(), and Preselection().

01614   {
01615     if (nu.ntrk > 0){
01616       // Move trk vtx upstream by 3.92cm from scintillator to steel
01617       // for this analysis version
01618       NuEvent nuc = nu;
01619       nuc.zTrkVtx = nu.zTrkVtx - (0.0392*Munits::m);
01620 
01621       return NuCut::InFidVol(nuc);
01622     }
01623     //this else statement is not strictly necessary
01624     //the events with no track will get removed by the ntrk cut
01625     //this else statement was put here so that we could fill the
01626     //nu.isInFidVolCC flag without knowing the final CC/NC pid
01627     else return NuCut::InFidVolEvt(nu);
01628   }

Bool_t NuCutImps::RHC0150Std::IsGoodPID ( const NuEvent nu  )  const

Definition at line 1678 of file NuCutImps.cxx.

References NuEvent::roID.

Referenced by Selection().

01679   {
01680     // Half of one bin in the kNN (which uses 80 bins).
01681     // This removes potential ambiguity from floating point arithmetic
01682     const double eps = 1/160.;
01683     // Cut on CC/NC PID
01684     Bool_t goodPID=(nu.roID > 0.3+eps);
01685     return goodPID;
01686   }

void NuCutImps::RHC0150Std::Preselection ( const NuEvent nu  )  [virtual]

Implements NuCut.

Definition at line 1631 of file NuCutImps.cxx.

References NuCut::Defer_Preselection(), NuEvent::detector, NuEvent::dirCosNu, fPreselection2010, InFidVol(), NuCuts::IsGoodTrackFitPassReclamation(), NuCut::Keep_If(), Detector::kFar, Detector::kNear, NuEvent::ntrk, and NuEvent::trkfitpass.

01632   {
01633     // Do the base preselection (shared between CC and NC)
01634     Defer_Preselection(fPreselection2010, nu);
01635 
01636     //require a track
01637     Keep_If(nu.ntrk >= 1, "GoodNumberofTracks");
01638 
01639     // Is it in the fiducial volume?
01640     // ntrk cut to suppress warnings
01641     Keep_If(nu.ntrk > 0 && InFidVol(nu), "FidVol");
01642 
01643     // Per-detector cuts
01644     if (nu.detector == Detector::kFar) {
01645       // TrackFitPass
01646       Keep_If(nu.trkfitpass == 1, "trackfitpassFD");
01647 
01648       // Cut on track direction angle
01649       Keep_If(nu.dirCosNu > 0.6, "dirCosNu");
01650     }
01651     else if (nu.detector == Detector::kNear) {
01652       // Need to implement ND Trackfitpass (uses reclamation)
01653       // See Zeynep talk DocDB-6382 - mentions 'Nikis Reclamation'
01654 
01655       Keep_If(NuCuts::IsGoodTrackFitPassReclamation(nu), "trackfitreclamation");
01656 
01657       //Keep_If(nu.trkfitpass == 1, "trackfitpassND");
01658     }
01659   }

void NuCutImps::RHC0150Std::Selection ( const NuEvent nu  )  [virtual]

Implements NuCut.

Definition at line 1662 of file NuCutImps.cxx.

References NuCuts::IsGoodBeamTypeRHC2010(), NuCuts::IsGoodCoilCurrentDirectionRHC2010(), IsGoodPID(), and NuCut::Keep_If().

01663   {
01664     //sanity check that we're picking up the correct beam types
01665     //also sanity checks the hornCurrent
01666     Keep_If(NuCuts::IsGoodBeamTypeRHC2010(nu),
01667             "goodBeamType");
01668 
01669     //sanity check that we're picking up the correct coil current
01670     Keep_If(NuCuts::IsGoodCoilCurrentDirectionRHC2010(nu),
01671             "goodCoilCurrentDirection");
01672 
01673     //make the pid cut
01674     Keep_If(IsGoodPID(nu),"pid");
01675   }


Member Data Documentation

Definition at line 231 of file NuCutImps.h.

Referenced by Preselection().


The documentation for this class was generated from the following files:

Generated on 11 Jan 2018 for loon by  doxygen 1.6.1