class THaCut: public THaFormula


 THaCut -- Hall A analyzer cut (a.k.a. test)
 This is a slightly expanded version of a THaFormula


Function Members (Methods)

public:
THaCut()
THaCut(const THaCut& rhs)
THaCut(const char* name, const char* expression, const char* block, const THaVarList* vlst = gHaVars, const THaCutList* clst = gHaCuts)
virtual~THaCut()
voidTObject::AbstractMethod(const char* method) const
virtual voidTFormula::Analyze(const char* schain, Int_t& err, Int_t offset = 0)
virtual Bool_tTFormula::AnalyzeFunction(TString& chaine, Int_t& err, Int_t offset = 0)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTFormula::Clear(Option_t* option = "")
voidClearResult()
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Int_tTHaFormula::Compile(const char* expression = "")
virtual voidTFormula::Copy(TObject& formula) const
virtual Int_tTHaFormula::DefinedCut(const TString& variable)
virtual Int_tTHaFormula::DefinedGlobalVariable(const TString& variable)
virtual char*THaFormula::DefinedString(Int_t i)
virtual Double_tTHaFormula::DefinedValue(Int_t i)
virtual Int_tDefinedVariable(TString& variable, Int_t& action)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tTHaFormula::Eval()
virtual Double_tTHaFormula::Eval(Double_t, Double_t = 0.0, Double_t = 0.0, Double_t = 0.0) const
virtual Bool_tEvalCut()
virtual Double_tTFormula::EvalPar(const Double_t* x, const Double_t* params = 0)
virtual Double_tTFormula::EvalParOld(const Double_t* x, const Double_t* params = 0)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
const char*GetBlockname() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TStringTHaFormula::GetExpFormula(Option_t* opt = "") const
virtual const char*TObject::GetIconName() const
virtual const TObject*TFormula::GetLinearPart(Int_t i)
virtual const char*TNamed::GetName() const
UInt_tGetNCalled() const
virtual Int_tTFormula::GetNdim() const
virtual Int_tTFormula::GetNpar() const
UInt_tGetNPassed() const
virtual Int_tTFormula::GetNumber() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tTFormula::GetParameter(Int_t ipar) const
Double_tTFormula::GetParameter(const char* name) const
virtual Double_t*TFormula::GetParameters() const
virtual voidTFormula::GetParameters(Double_t* params)
virtual const char*TFormula::GetParName(Int_t ipar) const
virtual Int_tTFormula::GetParNumber(const char* name) const
Bool_tGetResult() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tTHaFormula::IsError() const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tTFormula::IsLinear()
virtual Bool_tTFormula::IsNormalized()
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
THaCut&operator=(const THaCut& rhs)
voidTFormula::Optimize()
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual voidTFormula::ProcessLinear(TString& replaceformula)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetBlockname(const Text_t* name)
voidTHaFormula::SetCutList(const THaCutList* lst)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTHaFormula::SetList(const THaVarList* lst)
static voidTFormula::SetMaxima(Int_t maxop = 1000, Int_t maxpar = 1000, Int_t maxconst = 1000)
virtual voidSetName(const Text_t* name)
virtual voidSetNameTitle(const Text_t* name, const Text_t* title)
virtual voidTFormula::SetNumber(Int_t number)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTFormula::SetParameter(const char* name, Double_t parvalue)
virtual voidTFormula::SetParameter(Int_t ipar, Double_t parvalue)
virtual voidTFormula::SetParameters(const Double_t* params)
virtual voidTFormula::SetParameters(Double_t p0, Double_t p1, Double_t p2 = 0, Double_t p3 = 0, Double_t p4 = 0, Double_t p5 = 0, Double_t p6 = 0, Double_t p7 = 0, Double_t p8 = 0, Double_t p9 = 0, Double_t p10 = 0)MENU
virtual voidTFormula::SetParName(Int_t ipar, const char* name)
virtual voidTFormula::SetParNames(const char* name0 = "p0", const char* name1 = "p1", const char* name2 = "p2", const char* name3 = "p3", const char* name4 = "p4", const char* name5 = "p5", const char* name6 = "p6", const char* name7 = "p7", const char* name8 = "p8", const char* name9 = "p9", const char* name10 = "p10")MENU
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTFormula::Update()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidTFormula::ClearFormula(Option_t* option = "")
virtual voidTFormula::Convert(UInt_t fromVersion)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Double_tTFormula::EvalParFast(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive0(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive1(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive2(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive3(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive4(const Double_t* x, const Double_t* params)
Short_tTFormula::GetAction(Int_t code) const
Short_tTFormula::GetActionOptimized(Int_t code) const
Int_tTFormula::GetActionParam(Int_t code) const
Int_tTFormula::GetActionParamOptimized(Int_t code) const
Int_t*TFormula::GetOper() const
Int_t*TFormula::GetOperOptimized() const
virtual Bool_tTHaFormula::IsString(Int_t oper) const
voidTFormula::MakePrimitive(const char* expr, Int_t pos)
voidTObject::MakeZombie()
Int_tTFormula::PreCompile()
voidTFormula::SetAction(Int_t code, Int_t value, Int_t param = 0)
voidTFormula::SetActionOptimized(Int_t code, Int_t value, Int_t param = 0)

Data Members

public:
enum THaFormula::[unnamed] { kMAXCODES
};
enum THaFormula::EVariableType { kUndefined
kVariable
kCut
kString
};
enum TFormula::[unnamed] { kEnd
kAdd
kSubstract
kMultiply
kDivide
kModulo
kcos
ksin
ktan
kacos
kasin
katan
katan2
kfmod
kpow
ksq
ksqrt
kstrstr
kmin
kmax
klog
kexp
klog10
kpi
kabs
ksign
kint
kSignInv
krndm
kAnd
kOr
kEqual
kNotEqual
kLess
kGreater
kLessThan
kGreaterThan
kNot
kcosh
ksinh
ktanh
kacosh
kasinh
katanh
kStringEqual
kStringNotEqual
kBitAnd
kBitOr
kLeftShift
kRightShift
kexpo
kxexpo
kyexpo
kzexpo
kxyexpo
kgaus
kxgaus
kygaus
kzgaus
kxygaus
klandau
kxlandau
kylandau
kzlandau
kxylandau
kpol
kxpol
kypol
kzpol
kParameter
kConstant
kBoolOptimize
kStringConst
kVariable
kFunctionCall
kData
kUnary
kBinary
kThree
kDefinedVariable
kDefinedString
kPlusD
kPlusDD
kMultD
kMultDD
kBoolOptimizeOr
kBoolOptimizeAnd
kBoolSet
kFDM
kFD0
kFD1
kFD2
kFD3
kNotGlobal
kNormalized
kLinear
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
G__p2memfuncTFormula::fOptimal!pointer to optimal function
static Option_t *constTHaFormula::kPRINTBRIEF
static Option_t *constTHaFormula::kPRINTFULL
protected:
TBitsTFormula::fAlreadyFound! cache for information
TStringfBlocknameName of block this cut belongs to
Double_t*TFormula::fConst[fNconst] Array of fNconst formula constants
const THaCutList*THaFormula::fCutListPointer to list of cuts
Bool_tTHaFormula::fErrorFlag indicating error in expression
TString*TFormula::fExpr[fNoper] List of expressions
TString*TFormula::fExprOptimized![fNOperOptimized] List of expressions
TObjArrayTFormula::fFunctionsArray of function calls to make
Bool_tfLastResultResult of last evaluation of this formula
TObjArrayTFormula::fLinearParts! Linear parts if the formula is linear (contains '|')
UInt_tfNCalledNumber of times this cut has been evaluated
Int_tTFormula::fNOperOptimized!Number of operators after optimization
UInt_tfNPassedNumber of times this cut was true when evaluated
TStringTNamed::fNameobject identifier
TString*TFormula::fNames[fNpar] Array of parameter names
Int_tTHaFormula::fNcodesNumber of global variables referenced in formula
Int_tTFormula::fNconstNumber of constants
Int_tTFormula::fNdimDimension of function (1=1-Dim, 2=2-Dim,etc)
Int_tTFormula::fNoperNumber of operators
Int_tTFormula::fNparNumber of parameters
Int_tTFormula::fNstringNumber of different constants character strings
Int_tTFormula::fNumberformula number identifier
Int_tTFormula::fNvalNumber of different variables in expression
TOperOffset*TFormula::fOperOffset![fNOperOptimized] Offsets of operrands
Int_t*TFormula::fOperOptimized![fNOperOptimized] List of operators. (See documentation for changes made at version 7)
Double_t*TFormula::fParams[fNpar] Array of fNpar parameters
TFormulaPrimitive**TFormula::fPredefined![fNPar] predefined function
Bool_tTHaFormula::fRegisterIf true, register this formula in ROOT's global list
TStringTNamed::fTitleobject title
THaFormula::FVarDef_t*THaFormula::fVarDefArray of variable definitions
const THaVarList*THaFormula::fVarListPointer to list of variables

Class Charts

Inheritance Chart:
TFormula
THaFormula
THaCut

Function documentation

THaCut(const char* name, const char* expression, const char* block, const THaVarList* vlst = gHaVars, const THaCutList* clst = gHaCuts)
 Create a cut 'name' according to 'expression'.
 The cut may use global variables from the list 'vlst' and other,
 previously defined cuts from 'clst'.

 Unlike the behavior of THaFormula, THaCuts do NOT store themselves in
 ROOT's list of formulas. Otherwise existing cuts used in new cut expressions
 will get reparsed instead of queried. As a result, existing cuts can only
 be used by other cuts, not by formulas.
THaCut(const THaCut& rhs)
 Copy ctor
THaCut& operator=(const THaCut& rhs)
Int_t DefinedVariable(TString& variable, Int_t& action)
 Check if 'name' is in the list of existing cuts.
 If so, store pointer to the cut for use by DefinedValue().
 Otherwise, assume 'name' is a global variable and pass it on
 to THaFormula::DefinedVariable().
void Print(Option_t* opt = "") const
 Print this cut.
 Options:
   "BRIEF" -- short (default)
   "FULL"  -- extended
   "LINE"  -- one-line (for listings)
   "STATS" -- one-line (listing of statistics only)
void SetBlockname(const Text_t* name)
 Set name of block (=group of cuts) for this cut.
 The block name is used only for informational purposes within the
 THaCut class.
void SetName(const Text_t* name)
 Set name of the cut
 This method overrides the one provided by TNamed
 so that the name can only be set if it is empty.
 This avoids problems with hash values since THaCuts are
 elements of a THashList.
 Alternatively, we could rehash the associated table(s), but that
 would be much more involved.
void SetNameTitle(const Text_t* name, const Text_t* title)
 Set name and formula of the object, only if not yet initialized
Bool_t EvalCut()
 Evaluate the cut and increment counters
void Reset()
 Reset cut result and statistics counters
THaCut(const THaCut& rhs)
{}
virtual ~THaCut()
{}
void ClearResult()
{ fLastResult = kFALSE; }
Bool_t GetResult()
{ return fLastResult; }
const char* GetBlockname()
{ return fBlockname.Data(); }
UInt_t GetNCalled()
{ return fNCalled; }
UInt_t GetNPassed()
{ return fNPassed; }

Last change: Sat Nov 7 21:26:44 2009
Last generated: 2009-11-07 21:26

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.