NuCutImps::CC0720Std Class Reference

#include <NuCutImps.h>

Inheritance diagram for NuCutImps::CC0720Std:
NuCut

List of all members.

Public Member Functions

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

Static Public Member Functions

static Bool_t IsGoodPID (const NuEvent &nu)

Private Attributes

Preselection2010 fPreselection2010

Detailed Description

Definition at line 156 of file NuCutImps.h.


Constructor & Destructor Documentation

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

Definition at line 1195 of file NuCutImps.cxx.

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

01195                                            :
01196     NuCut("CC0720Std", plots)
01197   {
01198     SetFidVol("cc2008");
01199     SetAnaVersion(NuCuts::kCC0720Std);
01200   }


Member Function Documentation

Bool_t NuCutImps::CC0720Std::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 1204 of file NuCutImps.cxx.

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

Referenced by NuReco::CalcEvtVariables(), NuCutImps::NSI2011Fhc::InFidVol(), NuCutImps::RAF0720Ext::InFidVol(), NuCutImps::RAF0720Std::InFidVol(), NuCutImps::CC0720Resolution::InFidVol(), and Preselection().

01205   {
01206     if (nu.ntrk > 0){
01207       // Move trk vtx upstream by 3.92cm from scintillator to steel
01208       // for this analysis version
01209       NuEvent nuc = nu;
01210       nuc.zTrkVtx = nu.zTrkVtx - (0.0392*Munits::m);
01211 
01212       return NuCut::InFidVol(nuc);
01213     }
01214     //this else statement is not strictly necessary
01215     //the events with no track will get removed by the ntrk cut
01216     //this else statement was put here so that we could fill the
01217     //nu.isInFidVolCC flag without knowing the final CC/NC pid
01218     else return NuCut::InFidVolEvt(nu);
01219   }

Bool_t NuCutImps::CC0720Std::IsGoodPID ( const NuEvent nu  )  [static]

Definition at line 1269 of file NuCutImps.cxx.

References NuEvent::jmID, and NuEvent::roID.

Referenced by NuCutImps::RetroToFCC::Selection(), NuCutImps::RetroToFNC::Selection(), Selection(), and NuCutImps::NC0720Std::Selection().

01270   {
01271     // Half of one bin in the kNN (which uses 80 bins).
01272     // This removes potential ambiguity from floating point arithmetic
01273     const double eps = 1/160.;
01274     // Cut on CC/NC PID
01275     Bool_t goodPID=(nu.roID > 0.25+eps) ||
01276       (nu.jmID > 0.5+eps);
01277 
01278     return goodPID;
01279   }

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

Implements NuCut.

Definition at line 1222 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.

01223   {
01224     // Do the base preselection (shared between CC and NC)
01225     Defer_Preselection(fPreselection2010, nu);
01226 
01227     //require a track
01228     Keep_If(nu.ntrk >= 1, "GoodNumberofTracks");
01229 
01230     // Is it in the fiducial volume?
01231     // ntrk cut to suppress warnings
01232     Keep_If(nu.ntrk > 0 && InFidVol(nu), "FidVol");
01233 
01234     // Per-detector cuts
01235     if (nu.detector == Detector::kFar) {
01236       // TrackFitPass
01237       Keep_If(nu.trkfitpass == 1, "trackfitpassFD");
01238 
01239       // Cut on track direction angle
01240       Keep_If(nu.dirCosNu > 0.6, "dirCosNu");
01241     }
01242     else if (nu.detector == Detector::kNear) {
01243       // Need to implement ND Trackfitpass (uses reclamation)
01244       // See Zeynep talk DocDB-6382 - mentions 'Nikis Reclamation'
01245 
01246       Keep_If(NuCuts::IsGoodTrackFitPassReclamation(nu), "trackfitreclamation");
01247       //Keep_If(nu.trkfitpass == 1, "trackfitpassND");
01248       
01249     }
01250   }

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

Implements NuCut.

Definition at line 1253 of file NuCutImps.cxx.

References NuCuts::IsGoodBeamTypeCC2008(), NuCuts::IsGoodCoilCurrentDirectionCC2008(), IsGoodPID(), and NuCut::Keep_If().

01254   {
01255     //sanity check that we're picking up the correct beam types
01256     //also sanity checks the hornCurrent
01257     Keep_If(NuCuts::IsGoodBeamTypeCC2008(nu),
01258             "goodBeamType");
01259 
01260     //sanity check that we're picking up the correct coil current
01261     Keep_If(NuCuts::IsGoodCoilCurrentDirectionCC2008(nu),
01262             "goodCoilCurrentDirection");
01263 
01264     //make the pid cut
01265     Keep_If(IsGoodPID(nu),"pid");
01266   }


Member Data Documentation

Definition at line 167 of file NuCutImps.h.

Referenced by Preselection().


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

Generated on 18 Oct 2018 for loon by  doxygen 1.6.1