HighLAND
Public Member Functions | Protected Attributes | List of all members
FillTPCVetoTrackAction Class Reference
Inheritance diagram for FillTPCVetoTrackAction:
StepBase

Public Member Functions

bool Apply (AnaEventC &event, ToyBoxB &boxB) const
 
StepBaseMakeClone ()
 MANDATORY FUNCTIONS !!!
 
- Public Member Functions inherited from StepBase
void SetTitle (const std::string &title)
 
void SetType (TypeEnum type)
 Set the type of this step.
 
void SetBreak (bool b)
 Set whether the cut sequence should be stopped when this cut fails.
 
void SetIndex (Int_t index)
 Set the index of this step.
 
const std::string & Title () const
 Return the title of this step.
 
TypeEnum Type () const
 Return the type of this step.
 
bool Break () const
 Return true if the cut sequence should be stopped when a cut fails.
 
Int_t Index () const
 Return the index of this step.
 
std::string ConvertType () const
 Convert into a string the type of this step.
 
void DisableInBranch (Int_t branch)
 Disable step in a given branch.
 
void EnableInBranch (Int_t branch)
 Enable step in a given branch.
 
bool IsDisabledInBranch (Int_t branch) const
 Returns true if the step is disabled in the specified branch.
 
const std::vector< StepBase * > & GetNextSteps () const
 Returns the vector of next steps.
 
void RemoveNextStep (const std::string &title, Int_t ID=0)
 Remove step with a given title (and branch ID) from next steps.
 
void AddBranchUniqueID (UInt_t ibranch)
 
void RemoveBranchUniqueID (UInt_t branch)
 Remove a branch unique ID from this step.
 
const std::vector< UInt_t > & GetBranchUniqueIDs () const
 Returns the vector of branche unique IDs associated to this step.
 
void AddNextStep (StepBase *step, Int_t branch=-1)
 
void GetNextSteps (std::vector< StepBase *> &steps, bool withSplits=false)
 Get the vector of next steps.
 
BranchStatus GetNextStepsInBranch (std::vector< StepBase *> &steps, Int_t branch)
 Get the vector of next steps in a given branch, returns a status code.
 
void ValidateStepRecursive () const
 check that the step and all its suns are correct (it was branch unique IDs defined)
 
 ClassDef (StepBase, 1)
 

Protected Attributes

Float_t _vertex_activity
 
- Protected Attributes inherited from StepBase
TypeEnum _type
 The type of this step: cut or action.
 
bool _break
 true if the cut sequence should be stopped when a cut fails
 
std::string _title
 The title of this step, which is used by the DrawingTools.
 
std::vector< bool > _disabledInBranch
 Is the step disabled in a given branch.
 
std::vector< StepBase * > _nextSteps
 The vector of next steps.
 
std::vector< UInt_t > _branchUniqueIDs
 Branch unique IDs associated to this step.
 
Int_t _index
 Index of the step in the selection.
 

Additional Inherited Members

- Public Types inherited from StepBase
enum  TypeEnum { kCut =0, kAction, kUnknown }
 Enumerator describing the values that _type member can take.
 
enum  BranchStatus { BranchOK =0, BranchEmpty, NoBranches, BranchOutOfRange }
 

Detailed Description

Definition at line 300 of file nueCCSelection.hxx.

Member Function Documentation

§ Apply()

bool FillTPCVetoTrackAction::Apply ( AnaEventC event,
ToyBoxB box 
) const
virtual

The return value should specify whether the step was passed. For actions the return value is ignored

Gamma isolation veto

Reimplemented from StepBase.

Definition at line 623 of file nueCCSelection.cxx.

623  {
624 //*********************************************************************
625 
626  AnaEventB& event = *static_cast<AnaEventB*>(&eventC);
627 
628  // cast the box to the appropriate type
629  ToyBoxNueCC& nuebox = *static_cast<ToyBoxNueCC*>(&boxB);
630 
631  AnaTrackB* track = nuebox.MainTrack;
632  if(!track) return false;
633 
634  nuebox.VetoTrack = nueCCUtils::FindTPCVetoTrack(event, *track);
635  nuebox.SecondMostEnergeticFGDTPCTrack = nueCCUtils::FindFGDTPCVetoTrack(event, *track, static_cast<SubDetId::SubDetEnum>(nuebox.DetectorFV) );
636 
637  /// Gamma isolation veto
638  Int_t nTracks[3];
639  nueCCUtils::FindGammaIsoTracks(event, *track, _vertex_activity, nTracks);
640  // Find activity near and far from the vertex
641  nuebox.TPCVetoNearTracks = nTracks[1];
642  nuebox.TPCVetoFarTracks = nTracks[0];
643  // Tracks at vertex going in the P0D
644  nuebox.TPCVetoP0DNearTracks = nTracks[2];
645 
646  // Tracks starting in the first two layers for FGD1 or in the first layer for FGD2
647  nuebox.NOOFVTracks = nueCCUtils::FindOOFVFGDTPCTracks(event, *track, static_cast<SubDetId::SubDetEnum>(nuebox.DetectorFV) );
648 
649  // FGD OOFV track
650  nuebox.OOFVtrack = cutUtils::FindFGDOOFVtrack(event, *track, static_cast<SubDetId::SubDetEnum>(nuebox.DetectorFV));
651 
652  // FGD2 Shower Tracks
653  Int_t nSTracks[2];
654  nueCCUtils::FindFGD2ShowerTracks(event, *track, nSTracks);
655 
656  nuebox.FGD2ShowerNFGD1TPC2Tracks = nSTracks[0];
657  nuebox.FGD2ShowerNFGD2TPC3Tracks = nSTracks[1];
658 
659  return true;
660 }
SubDetId_h DetectorFV
Indicate the FV we are interested in.
Definition: ToyBoxB.hxx:52
AnaTrackB * MainTrack
For storing the Main Track (The lepton candidate in geranal: HMN or HMP track)
Int_t FGD2ShowerNFGD2TPC3Tracks
FGD2 shower.
Int_t TPCVetoNearTracks
Updated TPC veto.
AnaTrackB * VetoTrack
The TPC veto track.
Representation of a global track.
Int_t NOOFVTracks
OOFV tracks.
AnaTrackB * SecondMostEnergeticFGDTPCTrack
The second most energetic TPC track in the same FGD as the main track.
AnaTrackB * OOFVtrack
For storing the oofv fgd tracks.

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