CbmRoot
PairAnalysisObjectCuts Class Reference

#include <PairAnalysisObjectCuts.h>

Inheritance diagram for PairAnalysisObjectCuts:
[legend]
Collaboration diagram for PairAnalysisObjectCuts:
[legend]

Public Types

enum  CutType { kAll = 0, kAny }
 
enum  { kNMaxCuts = 10 }
 

Public Member Functions

 PairAnalysisObjectCuts ()
 
 PairAnalysisObjectCuts (const char *name, const char *title)
 
virtual ~PairAnalysisObjectCuts ()
 
void AddCut (PairAnalysisVarManager::ValueTypes type, const char *formulaMin, const char *formulaMax, Bool_t excludeRange=kFALSE)
 
void AddCut (const char *formula, const char *formulaMin, const char *formulaMax, Bool_t excludeRange=kFALSE)
 
void AddCut (PairAnalysisVarManager::ValueTypes type, TGraph *const graphMin, TGraph *const graphMax, Bool_t excludeRange=kFALSE)
 
void AddCut (const char *formula, TGraph *const graphMin, TGraph *const graphMax, Bool_t excludeRange=kFALSE)
 
void AddCut (PairAnalysisVarManager::ValueTypes type, THnBase *const histMin, THnBase *const histMax, Bool_t excludeRange=kFALSE)
 
void AddCut (const char *formula, THnBase *const histMin, THnBase *const histMax, Bool_t excludeRange=kFALSE)
 
void SetCutType (CutType type)
 
CutType GetCutType () const
 
Int_t GetNCuts ()
 
virtual Bool_t IsSelected (Double_t *const values)
 
virtual Bool_t IsSelected (TObject *track)
 
virtual Bool_t IsSelected (TList *)
 
virtual UInt_t GetSelectedCutsMask () const
 
virtual void Print (const Option_t *option="") const
 
virtual void Init ()
 
virtual void SetFilterMask (UInt_t mask)
 
virtual UInt_t GetFilterMask () const
 
virtual void SetSelected (Bool_t dec)
 
virtual UInt_t Selected () const
 
virtual Long64_t Merge (TCollection *)
 
virtual TList * GetOutput ()
 
virtual TObject * GetStatistics (Option_t *) const
 

Private Member Functions

 PairAnalysisObjectCuts (const PairAnalysisObjectCuts &c)
 
PairAnalysisObjectCutsoperator= (const PairAnalysisObjectCuts &c)
 
 ClassDef (AnalysisCuts, 1)
 

Private Attributes

TBits * fUsedVars
 
UShort_t fActiveCuts [PairAnalysisObjectCuts::kNMaxCuts]
 
UShort_t fNActiveCuts = 0
 
UInt_t fActiveCutsMask = 0
 
UInt_t fSelectedCutsMask
 
CutType fCutType = kAll
 
Bool_t fCutExclude [PairAnalysisObjectCuts::kNMaxCuts]
 
TObject * fCutMin [PairAnalysisObjectCuts::kNMaxCuts]
 
TObject * fCutMax [PairAnalysisObjectCuts::kNMaxCuts]
 
TFormula * fVarFormula [PairAnalysisObjectCuts::kNMaxCuts]
 
UInt_t fFilterMask
 
Bool_t fSelected
 

Detailed Description

Definition at line 22 of file PairAnalysisObjectCuts.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kNMaxCuts 

Definition at line 26 of file PairAnalysisObjectCuts.h.

◆ CutType

Enumerator
kAll 
kAny 

Definition at line 25 of file PairAnalysisObjectCuts.h.

Constructor & Destructor Documentation

◆ PairAnalysisObjectCuts() [1/3]

PairAnalysisObjectCuts::PairAnalysisObjectCuts ( )

◆ PairAnalysisObjectCuts() [2/3]

PairAnalysisObjectCuts::PairAnalysisObjectCuts ( const char *  name,
const char *  title 
)

◆ ~PairAnalysisObjectCuts()

PairAnalysisObjectCuts::~PairAnalysisObjectCuts ( )
virtual

Definition at line 57 of file PairAnalysisObjectCuts.cxx.

References fActiveCuts, fCutMax, fCutMin, fUsedVars, fVarFormula, i, and kNMaxCuts.

◆ PairAnalysisObjectCuts() [3/3]

PairAnalysisObjectCuts::PairAnalysisObjectCuts ( const PairAnalysisObjectCuts c)
private

Member Function Documentation

◆ AddCut() [1/6]

void PairAnalysisObjectCuts::AddCut ( const char *  formula,
const char *  formulaMin,
const char *  formulaMax,
Bool_t  excludeRange = kFALSE 
)

◆ AddCut() [2/6]

void PairAnalysisObjectCuts::AddCut ( const char *  formula,
TGraph *const  graphMin,
TGraph *const  graphMax,
Bool_t  excludeRange = kFALSE 
)

◆ AddCut() [3/6]

void PairAnalysisObjectCuts::AddCut ( const char *  formula,
THnBase *const  histMin,
THnBase *const  histMax,
Bool_t  excludeRange = kFALSE 
)

◆ AddCut() [4/6]

void PairAnalysisObjectCuts::AddCut ( PairAnalysisVarManager::ValueTypes  type,
const char *  formulaMin,
const char *  formulaMax,
Bool_t  excludeRange = kFALSE 
)

◆ AddCut() [5/6]

void PairAnalysisObjectCuts::AddCut ( PairAnalysisVarManager::ValueTypes  type,
TGraph *const  graphMin,
TGraph *const  graphMax,
Bool_t  excludeRange = kFALSE 
)

◆ AddCut() [6/6]

void PairAnalysisObjectCuts::AddCut ( PairAnalysisVarManager::ValueTypes  type,
THnBase *const  histMin,
THnBase *const  histMax,
Bool_t  excludeRange = kFALSE 
)

◆ ClassDef()

AnalysisCuts::ClassDef ( AnalysisCuts  ,
 
)
privateinherited

◆ GetCutType()

CutType PairAnalysisObjectCuts::GetCutType ( ) const
inline

Definition at line 63 of file PairAnalysisObjectCuts.h.

References fCutType.

◆ GetFilterMask()

virtual UInt_t AnalysisCuts::GetFilterMask ( ) const
inlinevirtualinherited

Definition at line 24 of file AnalysisCuts.h.

References AnalysisCuts::fFilterMask.

Referenced by AnalysisFilter::IsSelected().

◆ GetNCuts()

Int_t PairAnalysisObjectCuts::GetNCuts ( )
inline

Definition at line 65 of file PairAnalysisObjectCuts.h.

References fNActiveCuts.

◆ GetOutput()

virtual TList* AnalysisCuts::GetOutput ( )
inlinevirtualinherited

Definition at line 29 of file AnalysisCuts.h.

◆ GetSelectedCutsMask()

virtual UInt_t PairAnalysisObjectCuts::GetSelectedCutsMask ( ) const
inlinevirtual

Definition at line 77 of file PairAnalysisObjectCuts.h.

References fSelectedCutsMask.

◆ GetStatistics()

virtual TObject* AnalysisCuts::GetStatistics ( Option_t *  ) const
inlinevirtualinherited

Definition at line 30 of file AnalysisCuts.h.

◆ Init()

virtual void AnalysisCuts::Init ( )
inlinevirtualinherited

Reimplemented in PairAnalysisCutGroup.

Definition at line 22 of file AnalysisCuts.h.

Referenced by AnalysisFilter::Init().

◆ IsSelected() [1/3]

Bool_t PairAnalysisObjectCuts::IsSelected ( Double_t *const  values)
virtual

use a THnBase inherited cut object //

TODO: what about formulas in the axis

TODO: what about formulas in the axis

use formulas for the cut //

use graph for the cut // NOTE: binary search or a linear interpolation is used, spline creation at each eval is too cpu expensive

use a linear interpolation

binary search

TODO: think about poper implementation, how to store the x-variable in the spline use spline for the cut //

Reimplemented from AnalysisCuts.

Definition at line 71 of file PairAnalysisObjectCuts.cxx.

References PairAnalysisHelper::EvalFormula(), fActiveCuts, fActiveCutsMask, fCutExclude, fCutMax, fCutMin, fCutType, fNActiveCuts, fSelectedCutsMask, fVarFormula, PairAnalysisVarManager::GetValueType(), kAll, kAny, and AnalysisCuts::SetSelected().

Referenced by IsSelected().

◆ IsSelected() [2/3]

virtual Bool_t PairAnalysisObjectCuts::IsSelected ( TList *  )
inlinevirtual

Implements AnalysisCuts.

Definition at line 72 of file PairAnalysisObjectCuts.h.

◆ IsSelected() [3/3]

Bool_t PairAnalysisObjectCuts::IsSelected ( TObject *  track)
virtual

◆ Merge()

virtual Long64_t AnalysisCuts::Merge ( TCollection *  )
inlinevirtualinherited

Definition at line 28 of file AnalysisCuts.h.

◆ operator=()

PairAnalysisObjectCuts& PairAnalysisObjectCuts::operator= ( const PairAnalysisObjectCuts c)
private

◆ Print()

void PairAnalysisObjectCuts::Print ( const Option_t *  option = "") const
virtual

◆ Selected()

virtual UInt_t AnalysisCuts::Selected ( ) const
inlinevirtualinherited

Definition at line 26 of file AnalysisCuts.h.

References AnalysisCuts::fSelected.

Referenced by AnalysisFilter::IsSelected().

◆ SetCutType()

void PairAnalysisObjectCuts::SetCutType ( CutType  type)
inline

Definition at line 60 of file PairAnalysisObjectCuts.h.

References fCutType.

◆ SetFilterMask()

virtual void AnalysisCuts::SetFilterMask ( UInt_t  mask)
inlinevirtualinherited

Definition at line 23 of file AnalysisCuts.h.

References AnalysisCuts::fFilterMask.

◆ SetSelected()

virtual void AnalysisCuts::SetSelected ( Bool_t  dec)
inlinevirtualinherited

Member Data Documentation

◆ fActiveCuts

UShort_t PairAnalysisObjectCuts::fActiveCuts[PairAnalysisObjectCuts::kNMaxCuts]
private

◆ fActiveCutsMask

UInt_t PairAnalysisObjectCuts::fActiveCutsMask = 0
private

Definition at line 87 of file PairAnalysisObjectCuts.h.

Referenced by AddCut(), and IsSelected().

◆ fCutExclude

Bool_t PairAnalysisObjectCuts::fCutExclude[PairAnalysisObjectCuts::kNMaxCuts]
private

Definition at line 93 of file PairAnalysisObjectCuts.h.

Referenced by AddCut(), IsSelected(), PairAnalysisObjectCuts(), and Print().

◆ fCutMax

TObject* PairAnalysisObjectCuts::fCutMax[PairAnalysisObjectCuts::kNMaxCuts]
private

◆ fCutMin

TObject* PairAnalysisObjectCuts::fCutMin[PairAnalysisObjectCuts::kNMaxCuts]
private

◆ fCutType

CutType PairAnalysisObjectCuts::fCutType = kAll
private

Definition at line 91 of file PairAnalysisObjectCuts.h.

Referenced by GetCutType(), IsSelected(), Print(), and SetCutType().

◆ fFilterMask

UInt_t AnalysisCuts::fFilterMask
privateinherited

◆ fNActiveCuts

UShort_t PairAnalysisObjectCuts::fNActiveCuts = 0
private

Definition at line 86 of file PairAnalysisObjectCuts.h.

Referenced by AddCut(), GetNCuts(), IsSelected(), and Print().

◆ fSelected

Bool_t AnalysisCuts::fSelected
privateinherited

◆ fSelectedCutsMask

UInt_t PairAnalysisObjectCuts::fSelectedCutsMask
private
Initial value:
=
0

Definition at line 89 of file PairAnalysisObjectCuts.h.

Referenced by GetSelectedCutsMask(), and IsSelected().

◆ fUsedVars

TBits* PairAnalysisObjectCuts::fUsedVars
private

Definition at line 83 of file PairAnalysisObjectCuts.h.

Referenced by AddCut(), IsSelected(), and ~PairAnalysisObjectCuts().

◆ fVarFormula

TFormula* PairAnalysisObjectCuts::fVarFormula[PairAnalysisObjectCuts::kNMaxCuts]
private

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