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

Public Member Functions

 numuCCMultiPiFGD2Selection (bool forceBreak=true)
 
void DefineSteps ()
 Define all steps in the selection.
 
void DefineDetectorFV ()
 Define the detector Fiducial Volume in which this selection is applied.
 
ToyBoxBMakeToyBox ()
 Create the appropriate type of box.
 
bool FillEventSummary (AnaEventC &event, Int_t allCutsPassed[])
 
SampleId::SampleEnum GetSampleEnum ()
 
bool IsRelevantRecObjectForSystematic (const AnaEventC &event, AnaRecObjectC *recObj, SystId_h systId, Int_t branch) const
 Is this track relevant for a given systematic (prior to selection, call when initializing the event, valid for all toys in the same event)
 
bool IsRelevantTrueObjectForSystematic (const AnaEventC &event, AnaTrueObjectC *trueObj, SystId_h systId, Int_t branch) const
 Is this true track relevant for a given systematic (prior to selection, call when initializing the event, valid for all toys in the same event)
 
bool IsRelevantSystematic (const AnaEventC &event, const ToyBoxB &box, SystId_h systId, Int_t branch) const
 Is this systematic relevant for this selection.
 
void InitializeEvent (AnaEventC &event)
 Fill the EventBox with the objects needed by this selection.
 
bool CheckRedoSelection (const AnaEventC &event, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep)
 
- Public Member Functions inherited from SelectionBase
 SelectionBase (bool forceBreak=true, Int_t eventBoxId=UNASSIGNEDID)
 
virtual bool FillEventSummary (AnaEventC &, Int_t *)
 Fill the Event Summary, needed by fitters.
 
virtual SampleId_h GetSampleId ()
 Return the sample type, needed by fitters.
 
virtual bool IsRelevantRecObjectForSystematicInToy (const AnaEventC &, const ToyBoxB &, AnaRecObjectC *, SystId_h syst_index, Int_t branch=0) const
 Is this track relevant for a given systematic (after selection, called for each toy)
 
virtual bool IsRelevantTrueObjectForSystematicInToy (const AnaEventC &, const ToyBoxB &, AnaTrueObjectC *, SystId_h syst_index, Int_t branch=0) const
 Is this true track relevant for a given systematic (after selection, called for each toy)
 
void Initialize ()
 Initialize this selection: defines the steps and the detectorFV.
 
void Validate () const
 Validates this selection.
 
bool Apply (AnaEventC &event, bool &redo)
 Apply all steps in the selection.
 
const std::string & Title () const
 Return the title of this selection. A nice version of the name.
 
virtual const char * GetName () const
 Return the name of this selection. This overrides the TObject::GetName() interface.
 
const std::string & Name () const
 Return the name of this selection.
 
void SetTitle (const std::string &title)
 Set the title of this selection, which is the "nice" version of the selection name,.
 
void SetName (const std::string &name)
 Set the name of this selection, which is used internally by the SelectionManager.
 
void Enable ()
 enable and disable selection
 
void Disable ()
 
bool IsEnabled () const
 
bool GetForceBreak () const
 
void PrintStatistics () const
 
void PrintStatistics (const std::string &name) const
 
void PrintStatistics (UInt_t ID) const
 
void CreateToyBoxArray (Int_t nevents)
 Create the array of PreviousToyBox.
 
void FinalizeEvent (const AnaEventC &event)
 Delete the PreviousToyBox pointer for the last toy of the event.
 
void AddStep (StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, Int_t b1, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, Int_t b1, Int_t b2, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, Int_t b1, Int_t b2, Int_t b3, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, Int_t b1, Int_t b2, Int_t b3, Int_t b4, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, Int_t b1, Int_t b2, Int_t b3, Int_t b4, Int_t b5, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, Int_t b1, Int_t b2, Int_t b3, Int_t b4, Int_t b5, Int_t b6, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (Int_t b0, Int_t b1, Int_t b2, Int_t b3, Int_t b4, Int_t b5, Int_t b6, Int_t b7, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (const std::vector< UInt_t > &branch_seq, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void AddStep (const std::vector< UInt_t > &branch_seq, StepBase *step)
 
void AddSteps (const std::vector< UInt_t > &branch_seq, const std::vector< StepBase *> &steps)
 
void AddSplit (UInt_t nbranches, Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1)
 Add a split in the step sequence. The user should specify the number of branches in this split and the branch sequence.
 
void AddSplit (UInt_t nbranches, const std::vector< UInt_t > &branch_seq)
 
void AddBranch (Int_t ibranch, const std::vector< UInt_t > &branch_seq, const std::string &alias="")
 
void DisableStep (const std::string &title, Int_t ID=-1)
 Replace a step (same structure of AddStep, but for only one step at once) More...
 
void RemoveStep (const std::string &title, Int_t ID=-1)
 Disable step provided title and branch ID.
 
void ReplaceStep (const std::string &old_title, Int_t ID, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 Replace step provided title and branch ID of the step to replace.
 
void InsertStep (const std::string &previous_title, Int_t ID, StepBase::TypeEnum type, const std::string &title, StepBase *step, bool cut_break=false)
 
void CopySteps (SelectionBase &sel1, UInt_t branchID1, UInt_t first, UInt_t last, Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1)
 Copy a clone of the steps in range first-last from branch sbranch1 in selection ssel1 to sbranch2 in selection ssel2.
 
void CopySteps (SelectionBase &sel1, const std::string &sbranch1, UInt_t first, UInt_t last, Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1)
 
void CopySteps (SelectionBase &sel1, UInt_t branchID1, UInt_t first, UInt_t last, const std::vector< UInt_t > &branch_seq2)
 
void CopySteps (SelectionBase &sel1, const std::string &sbranch1="trunk")
 Copy a clone of all the steps from branch sbranch1 in selection ssel1 to first branch in selection 2.
 
void CopyStep (SelectionBase &sel1, const std::string &sbranch1, UInt_t istep, Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1)
 Copy a clone of the steps with number istep from branch sbranch1 in selection ssel1 to sbranch2 in selection ssel2.
 
void CopyStep (SelectionBase &sel1, UInt_t istep, Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1)
 
std::vector< StepBase * > GetStepsInBranch (const std::vector< UInt_t > &branch_seq, UInt_t first=0, UInt_t last=NMAXSTEPS-1) const
 Get all steps in a given branch provided the branch sequence (vector of integers)
 
std::vector< StepBase * > GetStepsInBranchWithDummy (const std::vector< UInt_t > &branch_seq, UInt_t first=0, UInt_t last=NMAXSTEPS-1) const
 Get all steps in a given branch provided the branch sequence (vector of integers)
 
std::vector< StepBase * > GetStepsInBranch (const std::string &branch, UInt_t first=0, UInt_t last=NMAXSTEPS-1) const
 Get all steps in a given branch provided the branch alias.
 
std::vector< StepBase * > GetStepsInBranch (UInt_t ID, UInt_t first=0, UInt_t last=NMAXSTEPS-1) const
 Get all steps in a given branch provided the branch uniqueID.
 
std::vector< StepBase * > GetCutsInBranch (const std::string &branch) const
 Get all cuts in a given branch provided the branch alias.
 
std::vector< StepBase * > GetCutsInBranch (UInt_t ID) const
 Get all cuts in a given branch provided the branch uniqueID.
 
StepBaseGetLastStepInBranch (Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1) const
 Get the last step in a given branch provided the branch sequence (individual integers)
 
StepBaseGetLastStepInBranch (const std::vector< UInt_t > &branch) const
 Get the last step in a given branch provided the branch sequence (vector of integers)
 
StepBaseGetLastStepInBranch (const std::string &branch) const
 Get the last step in a given branch provided the branch alias.
 
StepBaseGetStepInBranch (const std::vector< UInt_t > &branch_seq, UInt_t index) const
 Get step in a given branch provided the branch sequence (vector of integers) and the step index.
 
StepBaseGetStepInBranch (const std::string &branch, UInt_t index) const
 Get step in a given branch provided the branch alias and the step index.
 
StepBaseGetStepInBranch (UInt_t ID, UInt_t index) const
 Get step in a given branch provided the branch uniqueID and the step index.
 
std::string ConvertBranchToString (const std::vector< UInt_t > &branch, Int_t upToSplit=-1) const
 Convert the branch sequence into a string.
 
std::vector< UInt_t > ConvertBranch (Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1) const
 Convert the branch sequence of individual integers into a vector of integers.
 
void SetBranchAlias (Int_t ID, const std::string &name, Int_t b0=-1, Int_t b1=-1, Int_t b2=-1, Int_t b3=-1, Int_t b4=-1, Int_t b5=-1, Int_t b6=-1, Int_t b7=-1)
 Set the branch alias and unique ID provided the branch sequence.
 
std::vector< UInt_t > GetBranchSequence (const std::string &name) const
 Get the branch sequence for a specific branch alias.
 
std::vector< UInt_t > GetBranchSequence (Int_t ID) const
 Get the branch sequence for a specific branch unique ID.
 
Int_t GetBranchUniqueID (const std::string &name) const
 Gets the branch unique ID with a given alias.
 
std::string GetBranchAlias (Int_t ID) const
 Gets the branch alias for a given branch unique ID.
 
bool ApplySteps (AnaEventC &event, ToyBoxB &box, const std::string &branch, Int_t ifirst=0, Int_t ilast=NMAXSTEPS)
 Apply a range of steps in a branch.
 
bool ApplySteps (AnaEventC &event, ToyBoxB &box, Int_t firstStepToApply)
 Apply all registered steps in a threadsafe way.
 
bool GetCutPassed (Int_t icut, Int_t branch=0) const
 Return whether the specified cut was passed or not.
 
Int_t GetAccumCutLevel (Int_t branch=0) const
 
void InitializeCutLevels ()
 Reset all cuts to "not passed", and set the accumulated cut level to 0.
 
Int_t GetMaxAccumCutLevel () const
 Get the maximum cut level for this event and the last processed toy.
 
Int_t GetMaxAccumCutLevelForAllToys () const
 Get the maximum cut level for this event and all toys.
 
bool PreSelectionPassed (const AnaEventC &event)
 Is the preselection passed in any of the branches.
 
void SetPreSelectionAccumLevel (Int_t presel)
 Set the pre-selection accum level.
 
Int_t GetPreSelectionAccumLevel () const
 Set the pre-selection accum level.
 
void SetEnabledIndex (Int_t index)
 Set the Selection index.
 
Int_t GetEnabledIndex () const
 Get the Selection index.
 
void SetDetectorFV (SubDetId_h det, Int_t ibranch=-1)
 Set the detector in which the Fiducial Volume is defined.
 
SubDetId_h GetDetectorFV (Int_t ibranch=0) const
 Get the detector in which the Fiducial Volume is defined.
 
EventBoxId_h GetEventBoxId () const
 Returns the Id of the EventBox to be used in this selection.
 
bool HasBranch (Int_t ibranch, const std::string &fromMethod="HasBranch") const
 Check the existence of branch.
 
UInt_t GetNBranches () const
 Return the number of branches.
 
std::vector< std::string > GetStepNames (Int_t ibranch=0) const
 Return all the names of the steps, in the order they were added.
 
std::vector< std::string > GetCutNames (Int_t ibranch=0) const
 Return all the names of the cuts, in the order they were added.
 
StepBaseGetStep (const std::string &title, Int_t ID=0) const
 Return an step provided the title and the Branch ID.
 
Int_t GetCutNumber (const std::string &title, Int_t ID=0) const
 Return the cut number (starting at 0) corresponding to an step with a given title.
 
Int_t GetStepNumber (const std::string &title, Int_t ID=0) const
 Return the step number (starting at 0) corresponding to an step with a given title.
 
UInt_t GetNMaxCuts () const
 Return the number of steps in a given branch. More...
 
UInt_t GetNCuts (Int_t branch) const
 Return the number of cuts in a given branch. More...
 
void SetForceFillEventSummary (bool force)
 
bool GetForceFillEventSummary () const
 Returns the flag to fill the EventSummary even when the selection is not passed.
 
void DumpBranches () const
 Dumps the list of branches.
 
void DumpSteps (const std::string &branch="", bool onlycuts=false) const
 Print out the index, name and title of each step for a given branch (no argument for all branches)
 
void DumpSteps (Int_t ID, bool onlycuts=false) const
 
void DumpCuts (Int_t branch=-1) const
 Print out the index, name and title of each cut for a given branch (no argument for all branches)
 
void SetValidRunPeriods (std::string runPeriods)
 
bool IsValidRun (int runPeriod) const
 Method to see whether this selection should be applied to the given run period.
 
const ToyBoxBGetPreviousToyBox (const AnaEventC &event) const
 Get the ToyBox of the last processed toy for a particular event.
 
const ToyBoxBGetPreviousToyBox () const
 Get the ToyBox of the last processed toy (only for no MULTITHREAD)
 
 ClassDef (SelectionBase, 1)
 

Protected Attributes

numuCCMultiPiSelection _numuCCMultiPiSelection
 
numuCCFGD2Selection _numuCCFGD2Selection
 
- Protected Attributes inherited from SelectionBase
Int_t _selEnabledIndex
 The index of the selection in the selection manager (for enabled selections)
 
SubDetId_h _detectorFV [NMAXBRANCHES]
 
std::string _name
 The name of the selection.
 
std::string _title
 the nice name of the selection
 
bool _enabled
 is this selection enabled ?
 
Int_t _presel_accum_cut_level
 The preselection accum level.
 
bool _cut_passed [NMAXBRANCHES][NMAXSTEPS]
 The cuts that were passed.
 
Int_t _current_cut [NMAXBRANCHES]
 The current cut level.
 
std::vector< StepBase * > _firstSteps
 The top level steps in the trunk.
 
std::vector< std::string > _branchAlias
 Association between a branch unique ID (entry in vector) and branch alias.
 
std::vector< std::vector< UInt_t > > _branchSequence
 Association between a branch unique ID (entry in vector) and branch sequence.
 
std::vector< UInt_t > _nCutsInBranch
 Number of cuts in each branch.
 
std::vector< UInt_t > _nEventsPassed
 Used for statistics.
 
int _cut_passed_stats [NMAXBRANCHES][NMAXSTEPS]
 
bool _forceBreak
 
bool _forceFillEventSummary
 
bool _validRunPeriods [10]
 
ToyBoxB ** PreviousToyBox
 Array of pointers to the PreviousToyBox (for each event)
 
Int_t _maxAccumLevelForAllToys
 This is the maximum accum level of any of the branches in all toys.
 
EventBoxId_h _eventBoxId
 The ID of the EventBox to be used.
 
bool _initialized
 Is this selection initialized ?
 

Additional Inherited Members

- Protected Member Functions inherited from SelectionBase
void AddBranchUniqueID (std::vector< StepBase *> &steps, UInt_t ibranch)
 Add a branch unique ID to all steps in that branch.
 
bool ApplyStep (AnaEventC &event, ToyBoxB &box, const StepBase &step, Int_t branch=-1)
 
bool ApplyStepRecursive (AnaEventC &event, ToyBoxB &box, const StepBase &step, Int_t firstStepToApply)
 Apply all steps recursively provided the first step in a threadsafe way.
 
bool CutPassed (bool passed, Int_t branch, ToyBoxB &box)
 
bool CutPassed (bool ok, const StepBase &step, ToyBoxB &box)
 

Detailed Description

Definition at line 9 of file numuCCMultiPiFGD2Selection.hxx.

Member Function Documentation

§ CheckRedoSelection()

bool numuCCMultiPiFGD2Selection::CheckRedoSelection ( const AnaEventC ,
const ToyBoxB PreviousToyBox,
Int_t &  redoFromStep 
)
virtual

This method is called after the systematic is applied (Apply). It should decide wheder the selection has to be redone or not.

Reimplemented from SelectionBase.

Definition at line 148 of file numuCCMultiPiFGD2Selection.cxx.

148  {
149 //********************************************************************
150 
151  return _numuCCMultiPiSelection.CheckRedoSelection(event, PreviousToyBox, redoFromStep);
152 }
bool CheckRedoSelection(const AnaEventC &event, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep)

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