HighLAND
|
Public Member Functions | |
tutorialSelection (bool forceBreak=true) | |
void | DefineSteps () |
========= These are mandatory functions ================== More... | |
void | DefineDetectorFV () |
Set detector FV. | |
ToyBoxB * | MakeToyBox () |
void | InitializeEvent (AnaEventC &event) |
Fill the EventBox with the objects needed by this selection. | |
bool | FillEventSummary (AnaEventC &event, Int_t allCutsPassed[]) |
SampleId::SampleEnum | GetSampleEnum () |
![]() | |
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 | IsRelevantRecObjectForSystematic (const AnaEventC &, AnaRecObjectC *, SystId_h syst_index, Int_t branch=0) 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) | |
virtual bool | IsRelevantTrueObjectForSystematic (const AnaEventC &, AnaTrueObjectC *, SystId_h syst_index, Int_t branch=0) 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) | |
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) | |
virtual bool | IsRelevantSystematic (const AnaEventC &, const ToyBoxB &, SystId_h syst_index, Int_t branch=0) const |
Is this systematic relevant for this selection. | |
virtual bool | CheckRedoSelection (const AnaEventC &, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep) |
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. | |
StepBase * | GetLastStepInBranch (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) | |
StepBase * | GetLastStepInBranch (const std::vector< UInt_t > &branch) const |
Get the last step in a given branch provided the branch sequence (vector of integers) | |
StepBase * | GetLastStepInBranch (const std::string &branch) const |
Get the last step in a given branch provided the branch alias. | |
StepBase * | GetStepInBranch (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. | |
StepBase * | GetStepInBranch (const std::string &branch, UInt_t index) const |
Get step in a given branch provided the branch alias and the step index. | |
StepBase * | GetStepInBranch (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. | |
StepBase * | GetStep (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 ToyBoxB & | GetPreviousToyBox (const AnaEventC &event) const |
Get the ToyBox of the last processed toy for a particular event. | |
const ToyBoxB & | GetPreviousToyBox () const |
Get the ToyBox of the last processed toy (only for no MULTITHREAD) | |
ClassDef (SelectionBase, 1) | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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 ? | |
Definition at line 22 of file tutorialSelection.hxx.
|
virtual |
========= These are mandatory functions ==================
In this method all steps are added to the selection
Reimplemented from SelectionBase.
Definition at line 23 of file tutorialSelection.cxx.
|
inlinevirtual |
Create a proper instance of the box (ToyBoxB) to store all relevant information to be passed from one step to the next
Reimplemented from SelectionBase.
Definition at line 38 of file tutorialSelection.hxx.