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

NuCutImps::MSRock_Nov09 Class Reference

#include <NuCutImps.h>

Inheritance diagram for NuCutImps::MSRock_Nov09:

NuCut List of all members.

Public Member Functions

 MSRock_Nov09 (const NuPlots *plots=0)

Protected Member Functions

void Preselection (const NuEvent &nu)
void Selection (const NuEvent &nu)

Constructor & Destructor Documentation

NuCutImps::MSRock_Nov09::MSRock_Nov09 const NuPlots plots = 0  ) 
 

Definition at line 829 of file NuCutImps.cxx.

References plots(), and NuCut::SetFidVol().

00829                                                  :
00830     NuCut("MSRock_Nov09", plots)
00831   {
00832     SetFidVol("cc2008");
00833   }


Member Function Documentation

void NuCutImps::MSRock_Nov09::Preselection const NuEvent nu  )  [protected, virtual]
 

Implements NuCut.

Definition at line 835 of file NuCutImps.cxx.

References NuEvent::coilIsOk, NuCut::Cut_If(), NuEvent::cutOnBeamInfo, NuEvent::cutOnDataQuality, NuEvent::goodBeamSntp, NuEvent::isLI, NuCut::Keep_Data_If(), NuCut::Keep_If(), NuEvent::litime, MAXMSG, and NuEvent::ntrk.

00836   {
00837     // can't use CC0325Std::Preselection because it has a fiducial cut and
00838     // an overly tight angle cut.  This is copied from there except for those.
00839 
00840     Keep_If(nu.ntrk >= 1, "GoodNumberofTracks");    // Good tracks
00841     Cut_If(nu.isLI || nu.litime != -1, "LICut");    // Filter out LI events
00842     Keep_Data_If(!nu.cutOnDataQuality || nu.coilIsOk, nu, "IsCoilOkay");
00843     Keep_Data_If(nu.goodBeamSntp && nu.coilIsOk, nu,"GoodBeamDetPOT");
00844     Keep_Data_If(!nu.cutOnBeamInfo || CC0325Std::IsGoodBeam(nu),nu,"GoodBeam");
00845 
00846     // Per-detector cuts
00847     if (nu.detector == Detector::kFar){
00848       // Matt's rock selection does not use Trackfitpass at the moment
00849       // Keep_If(nu.trkfitpass == 1, "trackfitpass");
00850       Keep_Data_If(nu.isGoodDataQuality||!nu.cutOnDataQuality,nu,"DataQuality");
00851 
00852       // [-2, 12] microseconds
00853       Keep_Data_If(NuCuts::GoodTimeToNearestSpill(nu, -2, +12) 
00854                    || !nu.cutOnSpillTiming, nu, "SpillTime");
00855       // Cosmic cut?
00856       Keep_If(TMath::Abs(nu.trkvtxdcosy) < 0.4, "CosY");
00857     }
00858     else if (nu.detector == Detector::kNear){
00859       MAXMSG("CC0325Std",Msg::kWarning, 1)
00860         << "Rock Muon Selection being called on ND. You probably don't want to be doing this."
00861         << endl;
00862       Keep_If(NuCuts::IsGoodTrackFitPassReclamation(nu), "trackfitreclamation");
00863       Keep_Data_If(nu.coilCurrent<-1000||!nu.cutOnDataQuality,nu,"CoilCurrent");
00864     }
00865     
00866     // Make a fiducial cut
00867     // Keep_If(nu.regionTrkVtx == 1, "front_face");
00868     // Keep_If(GetRegion(nu) == 1, "front_face");
00869     Keep_If(ChairSound::GetRegion(nu) > 0 && ChairSound::GetRegion(nu) < 7, "Antifiducial");
00870   }

void NuCutImps::MSRock_Nov09::Selection const NuEvent nu  )  [protected, virtual]
 

Implements NuCut.

Definition at line 873 of file NuCutImps.cxx.

References NuCut::Keep_If(), and NuEvent::roID.

00874   {
00875     // Other selectors have a Defer_Selection to CC0325Std here, but I 
00876     // don't think it makes sense here since we don't share a preselection.
00877     // However, I honestly have no clear idea what it's even supposed to do, 
00878     // so I could be wrong.
00879     // Keep_If(nu.roID >= 0.25, "RoID"); // Note: >= is not the same as >
00880     // Keep_If(1/nu.sigqp_qp > 3.5, "SigmaQP_QP");
00881     // Keep_If(TMath::Abs(nu.relativeAngle - TMath::Pi()) > 2.08, "RelativeAngle");
00882 
00883     Keep_If(nu.roID >= 0.1, "RoID");
00884   }


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:10:39 2010 for loon by  doxygen 1.3.9.1