CbmRoot
Loading...
Searching...
No Matches
PairAnalysisObjectCuts Class Reference

#include <PairAnalysisObjectCuts.h>

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

Public Types

enum class  ECutType { kAll = 0 , kAny }
 

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 (ECutType type)
 
ECutType 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
 

Static Public Attributes

static const Int_t fMaxCuts = 10
 

Private Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 26 of file PairAnalysisObjectCuts.h.

Member Enumeration Documentation

◆ ECutType

Enumerator
kAll 
kAny 

Definition at line 29 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 58 of file PairAnalysisObjectCuts.cxx.

References fActiveCuts, fCutMax, fCutMin, fMaxCuts, fUsedVars, and fVarFormula.

◆ 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 ,
1  )
privateinherited

◆ GetCutType()

ECutType PairAnalysisObjectCuts::GetCutType ( ) const
inline

Definition at line 56 of file PairAnalysisObjectCuts.h.

References fCutType.

◆ GetFilterMask()

virtual UInt_t AnalysisCuts::GetFilterMask ( ) const
inlinevirtualinherited

◆ GetNCuts()

Int_t PairAnalysisObjectCuts::GetNCuts ( )
inline

Definition at line 58 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 70 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 73 of file PairAnalysisObjectCuts.cxx.

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

Referenced by IsSelected().

◆ IsSelected() [2/3]

virtual Bool_t PairAnalysisObjectCuts::IsSelected ( TList * )
inlinevirtual

Implements AnalysisCuts.

Definition at line 65 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 ( ECutType type)
inline

Definition at line 53 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()

Member Data Documentation

◆ fActiveCuts

UShort_t PairAnalysisObjectCuts::fActiveCuts[fMaxCuts]
private

◆ fActiveCutsMask

UInt_t PairAnalysisObjectCuts::fActiveCutsMask = 0
private

Definition at line 79 of file PairAnalysisObjectCuts.h.

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

◆ fCutExclude

Bool_t PairAnalysisObjectCuts::fCutExclude[fMaxCuts]
private

◆ fCutMax

TObject* PairAnalysisObjectCuts::fCutMax[fMaxCuts]
private

◆ fCutMin

TObject* PairAnalysisObjectCuts::fCutMin[fMaxCuts]
private

◆ fCutType

ECutType PairAnalysisObjectCuts::fCutType = ECutType::kAll
private

Definition at line 82 of file PairAnalysisObjectCuts.h.

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

◆ fFilterMask

UInt_t AnalysisCuts::fFilterMask
privateinherited

◆ fMaxCuts

const Int_t PairAnalysisObjectCuts::fMaxCuts = 10
static

Definition at line 34 of file PairAnalysisObjectCuts.h.

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

◆ fNActiveCuts

UShort_t PairAnalysisObjectCuts::fNActiveCuts = 0
private

◆ fSelected

Bool_t AnalysisCuts::fSelected
privateinherited

◆ fSelectedCutsMask

UInt_t PairAnalysisObjectCuts::fSelectedCutsMask = 0
private

Definition at line 81 of file PairAnalysisObjectCuts.h.

Referenced by GetSelectedCutsMask(), IsSelected(), and IsSelected().

◆ fUsedVars

TBits* PairAnalysisObjectCuts::fUsedVars
private

Definition at line 76 of file PairAnalysisObjectCuts.h.

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

◆ fVarFormula

TFormula* PairAnalysisObjectCuts::fVarFormula[fMaxCuts]
private

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