Used to pass a selection expression to the Tree drawing routine.
See TTree::Draw
A TreeFormula can contain any arithmetic expression including standard operators and mathematical functions separated by operators. Examples of valid expression:
TTreeFormula now relies on a variety of TFormLeafInfo classes to handle the reading of the information. Here is the list of theses classes:
The following method are available from the TFormLeafInfo interface:
Definition at line 58 of file TTreeFormula.h.
Classes | |
| struct | RealInstanceCache |
Public Types | |
| enum | { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) } |
| enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
| enum | { kNotGlobal = (1ULL << (10)) , kNormalized = (1ULL << (14)) , kLinear = (1ULL << (16)) } |
| enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) } |
Public Member Functions | |
| TTreeFormula ()=delete | |
| TTreeFormula (const char *name, const char *formula, TTree *tree) | |
| Normal TTree Formula Constructor. | |
| TTreeFormula (TRootIOCtor *) | |
| TreeFormula constructor only valid for ROOT I/O purposes. | |
| ~TTreeFormula () override | |
| Tree Formula default destructor. | |
| void | AbstractMethod (const char *method) const |
| Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it. | |
| virtual void | Analyze (const char *schain, Int_t &err, Int_t offset=0) |
| Analyze a sub-expression in one formula. | |
| virtual Bool_t | AnalyzeFunction (TString &chaine, Int_t &err, Int_t offset=0) |
| Check if the chain as function call. | |
| virtual void | AppendPad (Option_t *option="") |
| Append graphics object to current pad. | |
| virtual void | Browse (TBrowser *b) |
| Browse object. May be overridden for another default action. | |
| ULong_t | CheckedHash () |
| Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
| virtual const char * | ClassName () const |
| Returns name of class to which the object belongs. | |
| void | Clear (Option_t *option="") override |
| Resets the objects. | |
| TObject * | Clone (const char *newname="") const override |
| Make a clone of an object using the Streamer facility. | |
| Int_t | Compare (const TObject *obj) const override |
| Compare two TNamed objects. | |
| virtual Int_t | Compile (const char *expression="") |
| Compile expression already stored in fTitle. | |
| void | Copy (TObject &formula) const override |
| Copy this formula. | |
| virtual char * | DefinedString (Int_t code) |
| Return address of string corresponding to special code. | |
| virtual Double_t | DefinedValue (Int_t code) |
| Return value corresponding to special code. | |
| Int_t | DefinedVariable (TString &variable, Int_t &action) override |
| Check if name is in the list of Tree/Branch leaves. | |
| virtual void | Delete (Option_t *option="") |
| Delete this object. | |
| virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
| Computes distance from point (px,py) to the object. | |
| virtual void | Draw (Option_t *option="") |
| Default Draw method for all objects. | |
| virtual void | DrawClass () const |
| Draw class inheritance tree of the class to which this object belongs. | |
| virtual TObject * | DrawClone (Option_t *option="") const |
| Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1). | |
| virtual void | Dump () const |
| Dump contents of object on stdout. | |
| virtual void | Error (const char *method, const char *msgfmt,...) const |
| Issue error message. | |
| virtual Double_t | Eval (Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const |
| Evaluate this formula. | |
| virtual TClass * | EvalClass () const |
| Evaluate the class of this treeformula. | |
| virtual Double_t | EvalInstance (Int_t i=0, const char *stringStack[]=nullptr) |
| Double_t template specialization of EvalInstance. | |
| template<typename T> | |
| T | EvalInstance (Int_t i=0, const char *stringStack[]=nullptr) |
| Evaluate this treeformula. | |
| virtual Long64_t | EvalInstance64 (Int_t i=0, const char *stringStack[]=nullptr) |
| Long64_t template specialization of EvalInstance. | |
| virtual LongDouble_t | EvalInstanceLD (Int_t i=0, const char *stringStack[]=nullptr) |
| LongDouble_t template specialization of EvalInstance. | |
| virtual void * | EvalObject (Int_t i=0) |
| Evaluate this treeformula. | |
| virtual Double_t | EvalPar (const Double_t *x, const Double_t *params=nullptr) |
| virtual Double_t | EvalParOld (const Double_t *x, const Double_t *params=nullptr) |
| Evaluate this formula. | |
| virtual const char * | EvalStringInstance (Int_t i=0) |
| Eval the instance as a string. | |
| virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
| Execute method on this object with the given parameter string, e.g. | |
| virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
| Execute method on this object with parameters stored in the TObjArray. | |
| virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
| Execute action corresponding to an event at (px,py). | |
| virtual void | Fatal (const char *method, const char *msgfmt,...) const |
| Issue fatal error message. | |
| virtual void | FillBuffer (char *&buffer) |
| Encode TNamed into output buffer. | |
| virtual TObject * | FindObject (const char *name) const |
| Must be redefined in derived classes. | |
| virtual TObject * | FindObject (const TObject *obj) const |
| Must be redefined in derived classes. | |
| template<> | |
| Long64_t | GetConstant (Int_t k) |
| template<> | |
| LongDouble_t | GetConstant (Int_t k) |
| virtual Option_t * | GetDrawOption () const |
| Get option used by the graphics system to draw this object. | |
| virtual TString | GetExpFormula (Option_t *option="") const |
| Reconstruct the formula expression from the internal TFormula member variables. | |
| virtual const char * | GetIconName () const |
| Returns mime type name of object. | |
| virtual TLeaf * | GetLeaf (Int_t n) const |
| Return leaf corresponding to serial number n. | |
| TFormLeafInfo * | GetLeafInfo (Int_t code) const |
| Return DataMember corresponding to code. | |
| virtual const TObject * | GetLinearPart (Int_t i) |
| Return linear part. | |
| TTreeFormulaManager * | GetManager () const |
| TMethodCall * | GetMethodCall (Int_t code) const |
| Return methodcall corresponding to code. | |
| virtual Int_t | GetMultiplicity () const |
| const char * | GetName () const override |
| Returns name of object. | |
| virtual Int_t | GetNcodes () const |
| virtual Int_t | GetNdata () |
| Return number of available instances in the formula. | |
| virtual Int_t | GetNdim () const |
| virtual Int_t | GetNpar () const |
| virtual Int_t | GetNumber () const |
| virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
| Returns string containing info about the object at position (px,py). | |
| virtual Option_t * | GetOption () const |
| Double_t | GetParameter (const char *name) const |
| Return value of parameter named parName. | |
| Double_t | GetParameter (Int_t ipar) const |
| Return value of parameter number ipar. | |
| virtual Double_t * | GetParameters () const |
| virtual void | GetParameters (Double_t *params) |
| virtual const char * | GetParName (Int_t ipar) const |
| Return name of one parameter. | |
| virtual Int_t | GetParNumber (const char *name) const |
| Return parameter number by name. | |
| const char * | GetTitle () const override |
| Returns title of object. | |
| virtual TTree * | GetTree () const |
| virtual UInt_t | GetUniqueID () const |
| Return the unique object id. | |
| virtual Bool_t | HandleTimer (TTimer *timer) |
| Execute action in response of a timer timing out. | |
| ULong_t | Hash () const override |
| Return hash value for this object. | |
| Bool_t | HasInconsistentHash () const |
| Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
| virtual void | Info (const char *method, const char *msgfmt,...) const |
| Issue info message. | |
| virtual Bool_t | InheritsFrom (const char *classname) const |
| Returns kTRUE if object inherits from class "classname". | |
| virtual Bool_t | InheritsFrom (const TClass *cl) const |
| Returns kTRUE if object inherits from TClass cl. | |
| virtual void | Inspect () const |
| Dump contents of this object in a graphics canvas. | |
| void | InvertBit (UInt_t f) |
| TClass * | IsA () const override |
| Bool_t | IsDestructed () const |
| IsDestructed. | |
| virtual Bool_t | IsEqual (const TObject *obj) const |
| Default equal comparison (objects are equal if they have the same address in memory). | |
| virtual Bool_t | IsFolder () const |
| Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
| virtual bool | IsInteger (bool fast=true) const |
| Return TRUE if the formula corresponds to one single Tree leaf and this leaf is short, int or unsigned short, int When a leaf is of type integer or string, the generated histogram is forced to have an integer bin width. | |
| virtual Bool_t | IsLinear () const |
| virtual Bool_t | IsNormalized () const |
| Bool_t | IsOnHeap () const |
| bool | IsQuickLoad () const |
| Bool_t | IsSortable () const override |
| virtual bool | IsString () const |
| Return TRUE if the formula is a string. | |
| Bool_t | IsZombie () const |
| void | ls (Option_t *option="") const override |
| List TNamed name and title. | |
| void | MayNotUse (const char *method) const |
| Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
| bool | Notify () override |
| This method must be overridden to handle object notification (the base implementation is no-op). | |
| void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
| Use this method to declare a method obsolete. | |
| void | operator delete (void *, size_t) |
| Operator delete for sized deallocation. | |
| void | operator delete (void *ptr) |
| Operator delete. | |
| void | operator delete (void *ptr, void *vp) |
| Only called by placement new when throwing an exception. | |
| void | operator delete[] (void *, size_t) |
| Operator delete [] for sized deallocation. | |
| void | operator delete[] (void *ptr) |
| Operator delete []. | |
| void | operator delete[] (void *ptr, void *vp) |
| Only called by placement new[] when throwing an exception. | |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *vp) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, void *vp) |
| virtual void | Paint (Option_t *option="") |
| This method must be overridden if a class wants to paint itself. | |
| virtual void | Pop () |
| Pop on object drawn in a pad to the top of the display list. | |
| void | Print (Option_t *option="") const override |
| Dump this formula with its attributes. | |
| virtual char * | PrintValue (Int_t mode, Int_t instance, const char *decform="9.9") const |
| Return value of variable as a string. | |
| virtual char * | PrintValue (Int_t mode=0) const |
| Return value of variable as a string. | |
| virtual void | ProcessLinear (TString &replaceformula) |
| If the formula is for linear fitting, change the title to normal and fill the LinearParts array. | |
| virtual Int_t | Read (const char *name) |
| Read contents of object with specified name from the current directory. | |
| virtual void | RecursiveRemove (TObject *obj) |
| Recursively remove this object from a list. | |
| void | ResetBit (UInt_t f) |
| virtual void | ResetLoading () |
| Tell the formula that we are going to request a new entry. | |
| virtual void | SaveAs (const char *filename="", Option_t *option="") const |
| Save this object in the file specified by filename. | |
| virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
| Save a primitive as a C++ statement(s) on output stream "out". | |
| virtual void | SetAxis (TAxis *axis=nullptr) |
| Set the axis (in particular get the type). | |
| void | SetBit (UInt_t f) |
| void | SetBit (UInt_t f, Bool_t set) |
| Set or unset the user status bits as specified in f. | |
| virtual void | SetDrawOption (Option_t *option="") |
| Set drawing option for object. | |
| virtual void | SetName (const char *name) |
| Set the name of the TNamed. | |
| virtual void | SetNameTitle (const char *name, const char *title) |
| Set all the TNamed parameters (name and title). | |
| virtual void | SetNumber (Int_t number) |
| virtual void | SetParameter (const char *name, Double_t parvalue) |
| Initialize parameter number ipar. | |
| virtual void | SetParameter (Int_t ipar, Double_t parvalue) |
| Initialize parameter number ipar. | |
| virtual void | SetParameters (const Double_t *params) |
| Initialize array of all parameters. | |
| virtual void | 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) |
| Initialize up to 11 parameters All arguments except THE FIRST TWO are optional In case of a function with only one parameter, call this function with p1=0. | |
| virtual void | SetParName (Int_t ipar, const char *name) |
| Set name of parameter number ipar. | |
| virtual void | 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") |
| Set up to 11 parameter names. | |
| void | SetQuickLoad (bool quick) |
| virtual void | SetTitle (const char *title="") |
| Set the title of the TNamed. | |
| virtual void | SetTree (TTree *tree) |
| virtual void | SetUniqueID (UInt_t uid) |
| Set the unique object id. | |
| virtual Int_t | Sizeof () const |
| Return size of the TNamed part of the TObject. | |
| void | Streamer (TBuffer &b, const TClass *onfile_class) |
| Stream a class object. | |
| void | Streamer (TBuffer &b, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class=nullptr) |
| specialized streamer function being able to read old TF1 versions as TF1Old in memory | |
| void | Streamer (TBuffer &) override |
| Stream an object of class TTreeFormula. | |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| virtual void | SysError (const char *method, const char *msgfmt,...) const |
| Issue system error message. | |
| Bool_t | TestBit (UInt_t f) const |
| Int_t | TestBits (UInt_t f) const |
| virtual void | Update () |
| virtual void | UpdateFormulaLeaves () |
| This function is called TTreePlayer::UpdateFormulaLeaves, itself called by TChain::LoadTree when a new Tree is loaded. | |
| virtual void | UseCurrentStyle () |
| Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
| virtual void | Warning (const char *method, const char *msgfmt,...) const |
| Issue warning message. | |
| virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
| Write this object to the current directory. | |
| virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
| Write this object to the current directory. | |
Static Public Member Functions | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static Longptr_t | GetDtorOnly () |
| Return destructor only flag. | |
| static void | GetMaxima (Int_t &maxop, Int_t &maxpar, Int_t &maxconst) |
| static function to get the maximum value of 3 parameters -maxop : maximum number of operations -maxpar : maximum number of parameters -maxconst : maximum number of constants | |
| static Bool_t | GetObjectStat () |
| Get status of object stat flag. | |
| static void | SetDtorOnly (void *obj) |
| Set destructor only flag. | |
| static void | SetMaxima (Int_t maxop=1000, Int_t maxpar=1000, Int_t maxconst=1000) |
| static function to set the maximum value of 3 parameters | |
| static void | SetObjectStat (Bool_t stat) |
| Turn on/off tracking of objects in the TObjectTable. | |
Protected Types | |
| enum | { kEnd = 0 , kAdd = 1 , kSubstract = 2 , kMultiply = 3 , kDivide = 4 , kModulo = 5 , kcos = 10 , ksin = 11 , ktan = 12 , kacos = 13 , kasin = 14 , katan = 15 , katan2 = 16 , kfmod = 17 , kpow = 20 , ksq = 21 , ksqrt = 22 , kstrstr = 23 , kmin = 24 , kmax = 25 , klog = 30 , kexp = 31 , klog10 = 32 , kpi = 40 , kabs = 41 , ksign = 42 , kint = 43 , kSignInv = 44 , krndm = 50 , kAnd = 60 , kOr = 61 , kEqual = 62 , kNotEqual = 63 , kLess = 64 , kGreater = 65 , kLessThan = 66 , kGreaterThan = 67 , kNot = 68 , kcosh = 70 , ksinh = 71 , ktanh = 72 , kacosh = 73 , kasinh = 74 , katanh = 75 , kStringEqual = 76 , kStringNotEqual = 77 , kBitAnd = 78 , kBitOr = 79 , kLeftShift = 80 , kRightShift = 81 , kJumpIf = 82 , kJump = 83 , kexpo = 100 , kxexpo = 100 , kyexpo = 101 , kzexpo = 102 , kxyexpo = 105 , kgaus = 110 , kxgaus = 110 , kygaus = 111 , kzgaus = 112 , kxygaus = 115 , klandau = 120 , kxlandau = 120 , kylandau = 121 , kzlandau = 122 , kxylandau = 125 , kpol = 130 , kxpol = 130 , kypol = 131 , kzpol = 132 , kParameter = 140 , kConstant = 141 , kBoolOptimize = 142 , kStringConst = 143 , kVariable = 144 , kFunctionCall = 145 , kData = 146 , kUnary = 147 , kBinary = 148 , kThree = 149 , kDefinedVariable = 150 , kDefinedString = 151 , kPlusD = 152 , kPlusDD = 153 , kMultD = 154 , kMultDD = 155 , kBoolOptimizeOr = 156 , kBoolOptimizeAnd = 157 , kBoolSet = 158 , kFDM = 159 , kFD0 = 160 , kFD1 = 161 , kFD2 = 162 , kFD3 = 163 } |
| enum | { kDirect , kDataMember , kMethod , kIndexOfEntry , kEntries , kLength , kIteration , kLengthFunc , kSum , kEntryList , kTreeMember , kIndexOfLocalEntry , kMin , kMax , kLocalEntries } |
| enum | { kOnlyPrepStep = (1ULL << (3)) } |
| enum | { kAlias = 200 , kAliasString = 201 , kAlternate = 202 , kAlternateString = 203 , kMinIf = 204 , kMaxIf = 205 } |
| enum | EStatusBits { kIsCharacter = (1ULL << (12)) , kMissingLeaf = (1ULL << (15)) , kIsInteger = (1ULL << (17)) , kNeedEntries = (1ULL << (18)) } |
| typedef Double_t(TObject::* | TFuncG) (const Double_t *, const Double_t *) const |
Protected Member Functions | |
| TTreeFormula (const char *name, const char *formula, TTree *tree, const std::vector< std::string > &aliases) | |
| Constructor used during the expansion of an alias. | |
| Bool_t | AnalyzePrimitive (TString &chain, TObjArray &args, Int_t &err, Int_t offset) override |
| Check if the given string matches a defined function primitive. | |
| bool | BranchHasMethod (TLeaf *leaf, TBranch *branch, const char *method, const char *params, Long64_t readentry) const |
| Return the leaf (if any) of the tree with contains an object of a class having a method which has the name provided in the argument. | |
| virtual Bool_t | CheckOperands (Int_t leftoperand, Int_t rightoperartion, Int_t &err) |
| Check whether the operands at 'leftoper' and 'oper-1' are compatible with the operation at 'oper'. | |
| virtual Bool_t | CheckOperands (Int_t operation, Int_t &err) |
| Check whether the operand at 'oper-1' is compatible with the operation at 'oper'. | |
| void | ClearFormula (Option_t *option="") |
| Resets the objects. | |
| void | Convert (UInt_t fromVersion) override |
| Int_t | DefineAlternate (const char *expression) |
| This method check for treat the case where expression contains Alt$( and load up both fAliases and fExpr. | |
| void | DefineDimensions (Int_t code, Int_t size, TFormLeafInfoMultiVarDim *info, Int_t &virt_dim) |
| This method is used internally to decode the dimensions of the variables. | |
| virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
| Interface to ErrorHandler (protected). | |
| virtual TClass * | EvalClass (Int_t oper) const |
| Evaluate the class of the operation oper. | |
| Double_t | EvalParFast (const Double_t *x, const Double_t *params) |
| Evaluate this formula. | |
| Double_t | EvalPrimitive (const Double_t *x, const Double_t *params) |
| Evaluate primitive formula. | |
| Double_t | EvalPrimitive0 (const Double_t *x, const Double_t *params) |
| Evaluate primitive formula. | |
| Double_t | EvalPrimitive1 (const Double_t *x, const Double_t *params) |
| Evaluate primitive formula. | |
| Double_t | EvalPrimitive2 (const Double_t *x, const Double_t *params) |
| Evaluate primitive formula. | |
| Double_t | EvalPrimitive3 (const Double_t *x, const Double_t *params) |
| Evaluate primitive formula. | |
| Double_t | EvalPrimitive4 (const Double_t *x, const Double_t *params) |
| Evaluate primitive formula. | |
| Int_t | FindLeafForExpression (const char *expression, TLeaf *&leaf, TString &leftover, bool &final, UInt_t ¶n_level, TObjArray &castqueue, std::vector< std::string > &aliasUsed, bool &useLeafCollectionObject, const char *fullExpression) |
| Look for the leaf corresponding to the start of expression. | |
| Short_t | GetAction (Int_t code) const |
| Short_t | GetActionOptimized (Int_t code) const |
| Int_t | GetActionParam (Int_t code) const |
| Int_t | GetActionParamOptimized (Int_t code) const |
| TLeaf * | GetLeafWithDatamember (const char *topchoice, const char *nextchice, Long64_t readentry) const |
| Return the leaf (if any) which contains an object containing a data member which has the name provided in the arguments. | |
| Int_t * | GetOper () const |
| Int_t * | GetOperOptimized () const |
| Int_t | GetRealInstance (Int_t instance, Int_t codeindex) |
| Now let calculate what physical instance we really need. | |
| virtual Double_t | GetValueFromMethod (Int_t i, TLeaf *leaf) const |
| Return result of a leafobject method. | |
| virtual void * | GetValuePointerFromMethod (Int_t i, TLeaf *leaf) const |
| Return result of a leafobject method. | |
| void | Init (const char *name, const char *formula) |
| Initialization called from the constructors. | |
| virtual bool | IsLeafInteger (Int_t code) const |
| Return TRUE if the leaf corresponding to code is short, int or unsigned short, int When a leaf is of type integer, the generated histogram is forced to have an integer bin width. | |
| virtual bool | IsLeafString (Int_t code) const |
| Return TRUE if the leaf or data member corresponding to code is a string. | |
| bool | IsString (Int_t oper) const override |
| Return true if the expression at the index 'oper' is to be treated as as string. | |
| void | LoadBranches () |
| Make sure that all the branches have been loaded properly. | |
| bool | LoadCurrentDim () |
| Calculate the actual dimension for the current entry. | |
| void | MakePrimitive (const char *expr, Int_t pos) |
| MakePrimitive find TFormulaPrimitive replacement for some operands. | |
| void | MakeZombie () |
| void | Optimize () override |
| MI include. | |
| Int_t | ParseWithLeaf (TLeaf *leaf, const char *expression, bool final, UInt_t paran_level, TObjArray &castqueue, bool useLeafCollectionObject, const char *fullExpression) |
| Decompose 'expression' as pointing to something inside the leaf Returns: | |
| Int_t | PreCompile () |
| Pre compile function. | |
| Int_t | RegisterDimensions (const char *size, Int_t code) |
| This method is used internally to decode the dimensions of the variables. | |
| Int_t | RegisterDimensions (Int_t code, Int_t size, TFormLeafInfoMultiVarDim *multidim=nullptr) |
| This method stores the dimension information for later usage. | |
| Int_t | RegisterDimensions (Int_t code, TBranchElement *branch) |
| This method is used internally to decode the dimensions of the variables. | |
| Int_t | RegisterDimensions (Int_t code, TFormLeafInfo *info, TFormLeafInfo *maininfo, bool useCollectionObject) |
| This method is used internally to decode the dimensions of the variables. | |
| Int_t | RegisterDimensions (Int_t code, TLeaf *leaf) |
| This method is used internally to decode the dimensions of the variables. | |
| void | ResetDimensions () |
| Populate the TTreeFormulaManager with the dimension information. | |
| void | SavePrimitiveNameTitle (std::ostream &out, const char *variable_name) |
| Save object name and title into the output stream "out". | |
| void | SetAction (Int_t code, Int_t value, Int_t param=0) |
| void | SetActionOptimized (Int_t code, Int_t value, Int_t param=0) |
| bool | StringToNumber (Int_t code) override |
| Try to 'demote' a string into an array bytes. | |
| virtual bool | SwitchToFormLeafInfo (Int_t code) |
| Convert the underlying lookup method from the direct technique (dereferencing the address held by the branch) to the method using TFormLeafInfo. | |
Static Protected Member Functions | |
| static void | SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE) |
| Save object constructor in the output stream "out". | |
| static void | SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr) |
| Save invocation of primitive Draw() method Skipped if option contains "nodraw" string. | |
| static TString | SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0) |
| Save array in the output stream "out" as vector. | |
Protected Attributes | |
| TObjArray | fAliases |
| ! List of TTreeFormula for each alias used. | |
| std::vector< std::string > | fAliasesUsed |
| ! List of aliases used during the parsing of the expression. | |
| TBits | fAlreadyFound |
| ! cache for information | |
| TAxis * | fAxis |
| ! pointer to histogram axis if this is a string | |
| TObjArray | fBranches |
| ! List of branches to read. Similar to fLeaves but duplicates are zeroed out. | |
| Int_t | fCodes [kMAXCODES] |
| List of leaf numbers referenced in formula. | |
| Double_t * | fConst |
| LongDouble_t * | fConstLD |
| ! local version of fConsts able to store bigger numbers | |
| Int_t | fCumulSizes [kMAXCODES][kMAXFORMDIM] |
| Accumulated sizes of lower dimensions for each leaf after variable dimensions has been calculated. | |
| TObjArray | fDataMembers |
| ! List of leaf data members | |
| bool | fDidBooleanOptimization |
| ! True if we executed one boolean optimization since the last time instance number 0 was evaluated | |
| TList * | fDimensionSetup |
| ! list of dimension setups, for delayed creation of the dimension information. | |
| TString * | fExpr |
| TString * | fExprOptimized |
| ![fNOperOptimized] List of expressions | |
| TObjArray | fExternalCuts |
| ! List of TCutG and TEntryList used in the formula | |
| Int_t | fFixedSizes [kMAXCODES][kMAXFORMDIM] |
| Physical sizes of lower dimensions for each leaf. | |
| TObjArray | fFunctions |
| bool | fHasCast |
| Record whether the formula contain a cast operation or not. | |
| UChar_t | fHasMultipleVarDim [kMAXCODES] |
| True if the corresponding variable is an array with more than one variable dimension. | |
| Int_t | fIndexes [kMAXCODES][kMAXFORMDIM] |
| Index of array selected by user for each leaf. | |
| TObjArray | fLeafNames |
| List of TNamed describing leaves. | |
| TObjArray | fLeaves |
| ! List of leaf used in this formula. | |
| TObjArray | fLinearParts |
| Int_t * | fLookupType |
| [fNindex] Array indicating how each leaf should be looked-up | |
| TTreeFormulaManager * | fManager |
| ! The dimension coordinator. | |
| TObjArray | fMethods |
| ! List of leaf method calls | |
| Int_t | fMultiplicity |
| Indicator of the variability of the formula. | |
| TString | fName |
| TString * | fNames |
| Int_t | fNcodes |
| Number of leaves referenced in formula. | |
| Int_t | fNconst |
| Int_t | fNdata [kMAXCODES] |
| ! This caches the physical number of element in the leaf or data member. | |
| Int_t | fNdim |
| Int_t | fNdimensions [kMAXCODES] |
| Number of array dimensions in each leaf. | |
| bool | fNeedLoading |
| ! If true, the current entry has not been loaded yet. | |
| Int_t | fNindex |
| Size of fIndex. | |
| Int_t | fNoper |
| Int_t | fNOperOptimized |
| !Number of operators after optimization | |
| Int_t | fNpar |
| Int_t | fNstring |
| Int_t | fNumber |
| Int_t | fNval |
| TOperOffset * | fOperOffset |
| ![fNOperOptimized] Offsets of operrands | |
| Int_t * | fOperOptimized |
| ![fNOperOptimized] List of operators. (See documentation for changes made at version 7) | |
| TFuncG | fOptimal |
| !pointer to optimal function | |
| Double_t * | fParams |
| TFormulaPrimitive ** | fPredefined |
| ![fNPar] predefined function | |
| bool | fQuickLoad |
| ! If true, branch GetEntry is only called when the entry number changes. | |
| RealInstanceCache | fRealInstanceCache |
| ! Cache accelerating the GetRealInstance function | |
| TString | fTitle |
| TTree * | fTree |
| ! Pointer to Tree | |
| TTreeFormula * | fVarIndexes [kMAXCODES][kMAXFORMDIM] |
| Pointer to a variable index. | |
Private Member Functions | |
| TTreeFormula (const TTreeFormula &)=delete | |
| template<typename T> | |
| T | GetConstant (Int_t k) |
| TTreeFormula & | operator= (const TTreeFormula &)=delete |
Static Private Member Functions | |
| static void | AddToTObjectTable (TObject *) |
| Private helper function which will dispatch to TObjectTable::AddObj. | |
Private Attributes | |
| UInt_t | fBits |
| bit field status word | |
| Int_t * | fOper |
| UInt_t | fUniqueID |
| object unique identifier | |
Static Private Attributes | |
| static Longptr_t | fgDtorOnly = 0 |
| object for which to call dtor only (i.e. no delete) | |
| static Bool_t | fgObjectStat = kTRUE |
| if true keep track of objects in TObjectTable | |
Friends | |
| class | TTreeFormulaManager |
#include <TTreeFormula.h>
|
protectedinherited |
Definition at line 69 of file TFormula.h.
|
protectedinherited |
Definition at line 136 of file TFormula.h.
|
protected |
| Enumerator | |
|---|---|
| kDirect | |
| kDataMember | |
| kMethod | |
| kIndexOfEntry | |
| kEntries | |
| kLength | |
| kIteration | |
| kLengthFunc | |
| kSum | |
| kEntryList | |
| kTreeMember | |
| kIndexOfLocalEntry | |
| kMin | |
| kMax | |
| kLocalEntries | |
Definition at line 69 of file TTreeFormula.h.
|
protectedinherited |
|
inherited |
|
inherited |
|
protected |
| Enumerator | |
|---|---|
| kAlias | |
| kAliasString | |
| kAlternate | |
| kAlternateString | |
| kMinIf | |
| kMaxIf | |
Definition at line 78 of file TTreeFormula.h.
|
inherited |
| Enumerator | |
|---|---|
| kNotGlobal | |
| kNormalized | |
| kLinear | |
Definition at line 212 of file TFormula.h.
|
inherited |
|
protected |
| Enumerator | |
|---|---|
| kIsCharacter | |
| kMissingLeaf | |
| kIsInteger | |
| kNeedEntries | |
Definition at line 63 of file TTreeFormula.h.
|
protected |
Constructor used during the expansion of an alias.
Definition at line 184 of file TTreeFormula.cxx.
|
privatedelete |
|
delete |
| TTreeFormula::TTreeFormula | ( | TRootIOCtor * | ) |
TreeFormula constructor only valid for ROOT I/O purposes.
Definition at line 143 of file TTreeFormula.cxx.
| TTreeFormula::TTreeFormula | ( | const char * | name, |
| const char * | formula, | ||
| TTree * | tree ) |
Normal TTree Formula Constructor.
Definition at line 174 of file TTreeFormula.cxx.
|
override |
Tree Formula default destructor.
Definition at line 341 of file TTreeFormula.cxx.
|
inherited |
Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.
Definition at line 1149 of file TObject.cxx.
|
staticprivateinherited |
Private helper function which will dispatch to TObjectTable::AddObj.
Included here to avoid circular dependency between header files.
Definition at line 195 of file TObject.cxx.
Analyze a sub-expression in one formula.
Expressions in one formula are recursively analyzed. Result of analysis is stored in the object tables.
the expression "gaus" is a substitute for
[0]*exp(-0.5*((x-[1])/[2])**2)
to obtain a standard normalized gaussian, use "gausn" instead of "gaus" the expression "gausn" is a substitute for
[0]*exp(-0.5*((x-[1])/[2])**2)/(sqrt(2*pi)*[2]))
WARNING: gaus and gausn are mutually exclusive in the same expression.
In the same way the expression "landau" is a substitute for
[0]*TMath::Landau(x,[1],[2],kFALSE)
to obtain a standard normalized landau, use "landaun" instead of "landau" the expression "landaun" is a substitute for
[0]*TMath::Landau(x,[1],[2],kTRUE)
WARNING: landau and landaun are mutually exclusive in the same expression.
Those pseudo operation are used to implement lazy evaluation of && and ||. When the left hand of the expression if false (respectively true), the evaluation of the right is entirely skipped (since it would not change the value of the expression).
&& 142 11 (one operation on right) 142 21 (2 operations on right) || 142 12 (one operation on right) 142 22 (2 operations on right)
functions calls (kFunctionCall) :
f0 145 0 f1 145 1 etc..
1 : Division By Zero
2 : Invalid Floating Point Operation
4 : Empty String
5 : invalid syntax
6 : Too many operators
7 : Too many parameters
10 : z specified but not x and y
11 : z and y specified but not x
12 : y specified but not x
13 : z and x specified but not y
20 : non integer value for parameter number
21 : atan2 requires two arguments
22 : pow requires two arguments
23 : degree of polynomial not specified
24 : Degree of polynomial must be positive
25 : Degree of polynomial must be less than 20
26 : Unknown name
27 : Too many constants in expression
28 : strstr requires two arguments
29 : interpreted or compiled function have to return a numerical type
30 : Bad numerical expression
31 : Part of the variable exist but some of it is not accessible or useable
40 : '(' is expected
41 : ')' is expected
42 : '[' is expected
43 : ']' is expected
By default, the formula is assigned fNumber=0. However, the following formula built with simple functions are assigned fNumber:
"gaus" 100 (or gausn) "xygaus" 110 "expo" 200 "polN" 300+N "landau" 400 "xylandau" 410
Note that expressions like gaus(0), expo(1) will force fNumber=0
If you overload this member function, you also HAVE TO never call the constructor:
and write your own constructor
which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor
This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.
Definition at line 718 of file TFormula_v5.cxx.
|
virtualinherited |
Check if the chain as function call.
If you overload this member function, you also HAVE TO never call the constructor:
and write your own constructor
which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor
This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.
Definition at line 343 of file TFormula_v5.cxx.
|
overrideprotectedvirtual |
Check if the given string matches a defined function primitive.
Reimplemented from ROOT::v5::TFormula.
Definition at line 5963 of file TTreeFormula.cxx.
|
virtualinherited |
Append graphics object to current pad.
In case no current pad is set yet, create a default canvas with the name "c1".
Definition at line 204 of file TObject.cxx.
|
protected |
Return the leaf (if any) of the tree with contains an object of a class having a method which has the name provided in the argument.
Definition at line 3306 of file TTreeFormula.cxx.
|
virtualinherited |
Browse object. May be overridden for another default action.
Reimplemented in RooPlot, ROOT::Experimental::XRooFit::xRooNode, ROOT::Internal::THnBaseBrowsable, TApplicationRemote, TASImage, TAxis3D, TBaseClass, TBranch, TBranchClones, TBranchElement, TBranchObject, TBranchSTL, TBrowserObject, TCanvas, TChain, TClass, TCollection, TCollectionPropertyBrowsable, TDatabasePDG, TDirectory, TDirectoryFile, TEfficiency, TF1, TFolder, TGenerator, TGeoManager, TGeometry, TGeoNode, TGeoOverlap, TGeoTrack, TGeoVolume, TGraph2D, TGraph, TH1, THbookBranch, THbookFile, THbookKey, THnBase, THStack, TKey, TKeyMapFile, TLeaf, TMacro, TMapFile, TMultiDimFit, TMultiGraph, TNode, TNtuple, TNtupleD, TPad, TPair, TParticleClassPDG, TPrincipal, TRecorder, TRemoteObject, TROOT, TRootIconList, TSPlot, TStyle, TSystemDirectory, TSystemFile, TTask, TTree, TTreePerfStats, and TVirtualBranchBrowsable.
Definition at line 218 of file TObject.cxx.
|
inlineinherited |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();
(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.
|
protectedvirtualinherited |
Check whether the operands at 'leftoper' and 'oper-1' are compatible with the operation at 'oper'.
Definition at line 2194 of file TFormula_v5.cxx.
Check whether the operand at 'oper-1' is compatible with the operation at 'oper'.
Definition at line 2180 of file TFormula_v5.cxx.
|
static |
|
static |
|
inlinestaticconstexpr |
Definition at line 219 of file TTreeFormula.h.
|
virtualinherited |
Returns name of class to which the object belongs.
Definition at line 227 of file TObject.cxx.
|
overridevirtualinherited |
Resets the objects.
Resets the object to its state before compilation.
Reimplemented from TObject.
Definition at line 2225 of file TFormula_v5.cxx.
|
protectedinherited |
Resets the objects.
Resets the object to its state before compilation.
Definition at line 2235 of file TFormula_v5.cxx.
|
overridevirtualinherited |
Make a clone of an object using the Streamer facility.
If newname is specified, this will be the name of the new object.
Reimplemented from TObject.
Reimplemented in TStreamerInfo, and TTreeIndex.
Definition at line 73 of file TNamed.cxx.
Compare two TNamed objects.
Returns 0 when equal, -1 when this is smaller and +1 when bigger (like strcmp).
Reimplemented from TObject.
Reimplemented in TStructNodeProperty.
Definition at line 84 of file TNamed.cxx.
|
virtualinherited |
Compile expression already stored in fTitle.
Loop on all subexpressions of formula stored in fTitle
If you overload this member function, you also HAVE TO never call the constructor:
and write your own constructor
which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor
This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.
Definition at line 2303 of file TFormula_v5.cxx.
|
overrideprotectedvirtual |
Reimplemented from ROOT::v5::TFormula.
Definition at line 5848 of file TTreeFormula.cxx.
|
overridevirtualinherited |
|
inlinestatic |
Definition at line 219 of file TTreeFormula.h.
|
protected |
This method check for treat the case where expression contains Alt$( and load up both fAliases and fExpr.
It also checks for MinIf$( and MaxIf$( We return:
Definition at line 677 of file TTreeFormula.cxx.
|
protected |
This method is used internally to decode the dimensions of the variables.
Definition at line 373 of file TTreeFormula.cxx.
|
virtualinherited |
Return address of string corresponding to special code.
This member function is inactive in the TFormula class. It may be redefined in derived classes.
If you overload this member function, you also HAVE TO never call the constructor:
and write your own constructor
which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor
This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.
Definition at line 2564 of file TFormula_v5.cxx.
Return value corresponding to special code.
This member function is inactive in the TFormula class. It may be redefined in derived classes.
If you overload this member function, you also HAVE TO never call the constructor:
and write your own constructor
which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor
This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.
Definition at line 2595 of file TFormula_v5.cxx.
Check if name is in the list of Tree/Branch leaves.
This member function redefines the function in ROOT::v5::TFormula If a leaf has a name corresponding to the argument name, then returns a new code.
A TTreeFormula may contain more than one variable. For each variable referenced, the pointers to the corresponding branch and leaf is stored in the object arrays fBranches and fLeaves.
name can be :
New additions:
'.' can be replaced by '->'
and
The expected returned values are
Reimplemented from ROOT::v5::TFormula.
Definition at line 2751 of file TTreeFormula.cxx.
|
virtualinherited |
Delete this object.
Typically called as a command via the interpreter. Normally use "delete" operator when object has been allocated on the heap.
Reimplemented in RooLinkedList, TAxis, TBtree, TCanvas, TClonesArray, TCollection, TDirectory, TDirectoryFile, TExMap, TFile, TGFrame, TGItemContext, TGTextEdit, THashList, THashTable, TKey, TKeySQL, TKeyXML, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TMap, TMVA::Results, TObjArray, TObjectTable, TOrdCollection, TProtoClass, TQCommand, TRefArray, TSystemDirectory, TSystemFile, TThread, TTree, TTreeViewer, TViewPubDataMembers, and TViewPubFunctions.
Definition at line 268 of file TObject.cxx.
Computes distance from point (px,py) to the object.
This member function must be implemented for each graphics primitive. This default function returns a big number (999999).
Reimplemented in TASImage, TAxis3D, TAxis, TBox, TBRIK, TColorWheel, TCrown, TCurlyArc, TCurlyLine, TDiamond, TEfficiency, TEllipse, TF1, TF2, TF3, TFileDrawMap, TGenerator, TGeoBBox, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoEltu, TGeoHalfSpace, TGeoHype, TGeoNode, TGeoOverlap, TGeoParaboloid, TGeoPcon, TGeoPgon, TGeoScaledShape, TGeoShape, TGeoShapeAssembly, TGeoSphere, TGeoTessellated, TGeoTorus, TGeoTrack, TGeoTube, TGeoTubeSeg, TGeoVGShape, TGeoVolume, TGeoXtru, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLScenePad, TGLTH3Composition, TGLViewer, TGraph2D, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TH1, THistPainter, THStack, TLine, TMarker3DBox, TMarker, TMultiGraph, TNode, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPCON, TPie, TPieSlice, TPoints3DABC, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TScatter2D, TScatter, TSPHE, TSpider, TSpline, TStyle, TText, TTreePerfStats, TTUBE, TTUBS, TVirtualHistPainter, and TXTRU.
Definition at line 284 of file TObject.cxx.
|
protectedvirtualinherited |
Interface to ErrorHandler (protected).
Reimplemented in TThread, and TTreeViewer.
Definition at line 1059 of file TObject.cxx.
|
virtualinherited |
Default Draw method for all objects.
Reimplemented in RooAbsData, RooPlot, RooStats::HypoTestInverterPlot, RooStats::SamplingDistPlot, ROOT::Experimental::XRooFit::xRooNLLVar::xRooHypoPoint, ROOT::Experimental::XRooFit::xRooNLLVar::xRooHypoSpace, ROOT::Experimental::XRooFit::xRooNode, ROOT::RGeoPainter, TArrow, TASImage, TBox, TBrowser, TButton, TCanvas, TChain, TClass, TClassTree, TCollection, TColorWheel, TDiamond, TDirectory, TEfficiency, TEllipse, TEveGeoNode, TEveGeoTopNode, TF1, TF2, TF3, TFile, TFITSHDU, TFrame, TGenerator, TGeoBatemanSol, TGeometry, TGeoNode, TGeoOverlap, TGeoPainter, TGeoParallelWorld, TGeoPhysicalNode, TGeoPolygon, TGeoShape, TGeoTrack, TGeoVGShape, TGeoVolume, TGItemContext, TGListTree, TGPicture, TGraph2D, TGraph, TGraphPolar, TGraphPolargram, TGraphStruct, TGraphTime, TH1, THelix, THStack, TLegend, TMarker, TMatrixTBase< Element >, TMatrixTBase< Double_t >, TMatrixTBase< Float_t >, TMultiDimFit, TMultiGraph, TMultiLayerPerceptron, TNode, TNodeDiv, TPad, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TPave, TPaveLabel, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TRatioPlot, TSpider, TSpline, TStructViewer, TStructViewerGUI, TTree, TTreePerfStats, TVectorT< Element >, TVectorT< Double_t >, TVectorT< Float_t >, TVirtualPad, and TWbox.
Definition at line 293 of file TObject.cxx.
|
virtualinherited |
Draw class inheritance tree of the class to which this object belongs.
If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:
Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.
Definition at line 308 of file TObject.cxx.
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
If pad was not selected - gPad will be used.
Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.
Definition at line 319 of file TObject.cxx.
|
virtualinherited |
Dump contents of object on stdout.
Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed
The following output is the Dump of a TArrow object:
Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.
Definition at line 367 of file TObject.cxx.
|
virtualinherited |
Issue error message.
Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.
Reimplemented in TFitResult.
Definition at line 1098 of file TObject.cxx.
|
virtualinherited |
Evaluate this formula.
The current value of variables x,y,z,t is passed through x, y, z and t. The parameters used will be the ones in the array params if params is given otherwise parameters will be taken from the stored data members fParams
Definition at line 2675 of file TFormula_v5.cxx.
|
virtual |
Evaluate the class of this treeformula.
If the 'value' of this formula is a simple pointer to an object, this function returns the TClass corresponding to its type.
Definition at line 3668 of file TTreeFormula.cxx.
Evaluate the class of the operation oper.
If the 'value' in the requested operation is a simple pointer to an object, this function returns the TClass corresponding to its type.
Definition at line 3681 of file TTreeFormula.cxx.
|
inlinevirtual |
Double_t template specialization of EvalInstance.
Definition at line 185 of file TTreeFormula.h.
| T TTreeFormula::EvalInstance | ( | Int_t | instance = 0, |
| const char * | stringStackArg[] = nullptr ) |
Evaluate this treeformula.
| T | The type used to interpret the numbers then used for the operations |
| instance | iteration instance |
| stringStackArg | formula as string |
Definition at line 4124 of file TTreeFormula.cxx.
|
inlinevirtual |
Long64_t template specialization of EvalInstance.
Definition at line 187 of file TTreeFormula.h.
|
inlinevirtual |
LongDouble_t template specialization of EvalInstance.
Definition at line 189 of file TTreeFormula.h.
|
virtual |
Evaluate this treeformula.
Return the address of the object pointed to by the formula. Return 0 if the formula is not a single object The object type can be retrieved using by call EvalClass();
Definition at line 3730 of file TTreeFormula.cxx.
|
inlinevirtualinherited |
Definition at line 236 of file TFormula.h.
Evaluate this formula.
The current value of variables x,y,z,t is passed through the pointer x. The parameters used will be the ones in the array params if params is given otherwise parameters will be taken from the stored data members fParams
Definition at line 4198 of file TFormula_v5.cxx.
|
virtualinherited |
Evaluate this formula.
The current value of variables x,y,z,t is passed through the pointer x. The parameters used will be the ones in the array params if params is given otherwise parameters will be taken from the stored data members fParams
Definition at line 2694 of file TFormula_v5.cxx.
Evaluate primitive formula.
Definition at line 4123 of file TFormula_v5.cxx.
|
protectedinherited |
Evaluate primitive formula.
Definition at line 4144 of file TFormula_v5.cxx.
|
protectedinherited |
Evaluate primitive formula.
Definition at line 4153 of file TFormula_v5.cxx.
|
protectedinherited |
Evaluate primitive formula.
Definition at line 4162 of file TFormula_v5.cxx.
|
protectedinherited |
Evaluate primitive formula.
Definition at line 4172 of file TFormula_v5.cxx.
|
protectedinherited |
Evaluate primitive formula.
Definition at line 4182 of file TFormula_v5.cxx.
|
virtual |
Eval the instance as a string.
Definition at line 3785 of file TTreeFormula.cxx.
|
virtualinherited |
Execute method on this object with the given parameter string, e.g.
"3.14,1,\"text\"".
Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.
Definition at line 378 of file TObject.cxx.
|
virtualinherited |
Execute method on this object with parameters stored in the TObjArray.
The TObjArray should contain an argv vector like:
Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.
Definition at line 398 of file TObject.cxx.
Execute action corresponding to an event at (px,py).
This method must be overridden if an object can react to graphics events.
Reimplemented in TASImage, TASPaletteEditor::LimitLine, TAxis3D, TAxis, TBox, TButton, TCanvas, TCrown, TCurlyArc, TCurlyLine, TDiamond, TEfficiency, TEllipse, TF1, TF2, TF3, TFrame, TGenerator, TGeoManager, TGeoNode, TGeoOverlap, TGeoShape, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLEventHandler, TGLHistPainter, TGLParametricEquation, TGLScenePad, TGLTH3Composition, TGLViewer, TGraph2D, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGroupButton, TH1, THistPainter, TLine, TLink, TMarker3DBox, TMarker, TNode, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TScatter2D, TScatter, TSliderBox, TSpider, TSpline, TText, TTreePerfStats, TView3D, TView, TVirtualHistPainter, and TWbox.
Definition at line 415 of file TObject.cxx.
|
virtualinherited |
Issue fatal error message.
Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.
Definition at line 1126 of file TObject.cxx.
|
virtualinherited |
Encode TNamed into output buffer.
Reimplemented in TDirectoryFile, TFile, TKey, TKeySQL, TKeyXML, TSQLFile, and TXMLFile.
Definition at line 103 of file TNamed.cxx.
|
protected |
Look for the leaf corresponding to the start of expression.
It returns the corresponding leaf if any. It also modify the following arguments:
Definition at line 2240 of file TTreeFormula.cxx.
|
virtualinherited |
Must be redefined in derived classes.
This function is typically used with TCollections, but can also be used to find an object by name inside this object.
Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.
Definition at line 425 of file TObject.cxx.
Must be redefined in derived classes.
This function is typically used with TCollections, but can also be used to find an object inside this object.
Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.
Definition at line 435 of file TObject.cxx.
Definition at line 105 of file TFormula.h.
Definition at line 113 of file TFormula.h.
Definition at line 106 of file TFormula.h.
Definition at line 114 of file TFormula.h.
|
inlineprivate |
Definition at line 4032 of file TTreeFormula.cxx.
Definition at line 4053 of file TTreeFormula.cxx.
|
inline |
Definition at line 4033 of file TTreeFormula.cxx.
|
virtualinherited |
Get option used by the graphics system to draw this object.
Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.
Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.
Definition at line 445 of file TObject.cxx.
|
staticinherited |
Return destructor only flag.
Definition at line 1196 of file TObject.cxx.
|
virtualinherited |
Reconstruct the formula expression from the internal TFormula member variables.
This function uses the internal member variables of TFormula to construct the mathematical expression associated with the TFormula instance. This function can be used to get an expanded version of the expression originally assigned to the TFormula instance, i.e. that the string returned by GetExpFormula() doesn't depend on other TFormula object names.
if option contains "p" the returned string will contain the formula expression with symbolic parameters, eg [0] replaced by the actual value of the parameter. Example: if expression in formula is: "[0]*(x>-[1])+[2]*exp(-[3]*x)" and parameters are 3.25,-4.01,4.44,-0.04, GetExpFormula("p") will return: "(3.25*(x>+4.01))+(4.44*exp(+0.04*x))"
Definition at line 3032 of file TFormula_v5.cxx.
|
virtualinherited |
Returns mime type name of object.
Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.
Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.
Definition at line 472 of file TObject.cxx.
Return leaf corresponding to serial number n.
Definition at line 4620 of file TTreeFormula.cxx.
| TFormLeafInfo * TTreeFormula::GetLeafInfo | ( | Int_t | code | ) | const |
Return DataMember corresponding to code.
function called by TLeafObject::GetValue with the value of fLookupType computed in TTreeFormula::DefinedVariable
Definition at line 4611 of file TTreeFormula.cxx.
|
protected |
Return the leaf (if any) which contains an object containing a data member which has the name provided in the arguments.
Definition at line 3132 of file TTreeFormula.cxx.
|
virtualinherited |
Return linear part.
Definition at line 3222 of file TFormula_v5.cxx.
|
inline |
Definition at line 195 of file TTreeFormula.h.
static function to get the maximum value of 3 parameters -maxop : maximum number of operations -maxpar : maximum number of parameters -maxconst : maximum number of constants
Definition at line 4549 of file TFormula_v5.cxx.
| TMethodCall * TTreeFormula::GetMethodCall | ( | Int_t | code | ) | const |
Return methodcall corresponding to code.
function called by TLeafObject::GetValue with the value of fLookupType computed in TTreeFormula::DefinedVariable
Definition at line 4631 of file TTreeFormula.cxx.
|
inlinevirtual |
Definition at line 197 of file TTreeFormula.h.
|
inlineoverridevirtualinherited |
|
inlinevirtual |
Definition at line 199 of file TTreeFormula.h.
|
virtual |
Return number of available instances in the formula.
Definition at line 4640 of file TTreeFormula.cxx.
|
inlinevirtualinherited |
Definition at line 238 of file TFormula.h.
|
inlinevirtualinherited |
Definition at line 239 of file TFormula.h.
|
inlinevirtualinherited |
Definition at line 240 of file TFormula.h.
Returns string containing info about the object at position (px,py).
This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).
Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.
Definition at line 491 of file TObject.cxx.
|
staticinherited |
Get status of object stat flag.
Definition at line 1181 of file TObject.cxx.
|
inlineprotectedinherited |
Definition at line 104 of file TFormula.h.
|
inlineprotectedinherited |
Definition at line 112 of file TFormula.h.
|
inlinevirtualinherited |
Reimplemented in TArrow, TAxis3D, TFile, TGaxis, TGeoVolume, TH1, THelix, TLegendEntry, TMapFile, TNode, TPave, TPoints3DABC, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPSocket, TSelector, TSocket, and TUDPSocket.
|
inherited |
Return value of parameter named parName.
Definition at line 3241 of file TFormula_v5.cxx.
|
inherited |
Return value of parameter number ipar.
Definition at line 3232 of file TFormula_v5.cxx.
|
inlinevirtualinherited |
Definition at line 244 of file TFormula.h.
|
inlinevirtualinherited |
Definition at line 245 of file TFormula.h.
|
virtualinherited |
Return name of one parameter.
Definition at line 3255 of file TFormula_v5.cxx.
|
virtualinherited |
Return parameter number by name.
Definition at line 3265 of file TFormula_v5.cxx.
Now let calculate what physical instance we really need.
Some redundant code is used to speed up the cases where they are no dimensions.
We know that instance is less that fCumulUsedSize[0] so we can skip the modulo when virt_dim is 0.
Definition at line 3433 of file TTreeFormula.cxx.
|
inlineoverridevirtualinherited |
|
inlinevirtual |
Definition at line 216 of file TTreeFormula.h.
|
virtualinherited |
Return the unique object id.
Definition at line 480 of file TObject.cxx.
Return result of a leafobject method.
Definition at line 4648 of file TTreeFormula.cxx.
Return result of a leafobject method.
Definition at line 4709 of file TTreeFormula.cxx.
Execute action in response of a timer timing out.
This method must be overridden if an object has to react to timers.
Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.
Definition at line 516 of file TObject.cxx.
|
inlineoverridevirtualinherited |
Return hash value for this object.
Note: If this routine is overloaded in a derived class, this derived class should also add
Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like
Reimplemented from TObject.
|
inlineinherited |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
missing call to RecursiveRemove in destructor).
Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)
|
virtualinherited |
Issue info message.
Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.
Definition at line 1072 of file TObject.cxx.
|
virtualinherited |
Returns kTRUE if object inherits from class "classname".
Reimplemented in TClass.
Definition at line 549 of file TObject.cxx.
Returns kTRUE if object inherits from TClass cl.
Reimplemented in TClass.
Definition at line 557 of file TObject.cxx.
|
protected |
Initialization called from the constructors.
Definition at line 195 of file TTreeFormula.cxx.
|
virtualinherited |
Dump contents of this object in a graphics canvas.
Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.
The following picture is the Inspect of a histogram object:
Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.
Definition at line 570 of file TObject.cxx.
|
inlineoverridevirtual |
Reimplemented from ROOT::v5::TFormula.
Definition at line 219 of file TTreeFormula.h.
|
inlineinherited |
IsDestructed.
Default equal comparison (objects are equal if they have the same address in memory).
More complicated classes might want to override this function.
Reimplemented in TGObject, TObjString, TPair, and TQCommand.
Definition at line 589 of file TObject.cxx.
|
virtualinherited |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Reimplemented in ROOT::Experimental::XRooFit::xRooNode, ROOT::Internal::THnBaseBrowsable, TApplicationRemote, TAxis3D, TBaseClass, TBranch, TBranchClones, TBranchElement, TBranchObject, TBranchSTL, TBrowserObject, TCanvas, TClass, TCollection, TDatabasePDG, TDirectory, TFolder, TGeoManager, TGeometry, TGeoNode, TGeoNodeMatrix, TGeoOverlap, TGeoTrack, TGeoVolume, THbookFile, THbookKey, THnBase, TKey, TMapFile, TMultiDimFit, TNode, TPad, TPair, TParticleClassPDG, TPrincipal, TRemoteObject, TROOT, TRootIconList, TSPlot, TSystemDirectory, TTask, TTree, and TVirtualBranchBrowsable.
Definition at line 579 of file TObject.cxx.
Return TRUE if the formula corresponds to one single Tree leaf and this leaf is short, int or unsigned short, int When a leaf is of type integer or string, the generated histogram is forced to have an integer bin width.
Definition at line 4778 of file TTreeFormula.cxx.
Return TRUE if the leaf corresponding to code is short, int or unsigned short, int When a leaf is of type integer, the generated histogram is forced to have an integer bin width.
Definition at line 4833 of file TTreeFormula.cxx.
Return TRUE if the leaf or data member corresponding to code is a string.
Definition at line 4903 of file TTreeFormula.cxx.
|
inlinevirtualinherited |
Definition at line 248 of file TFormula.h.
|
inlinevirtualinherited |
Definition at line 249 of file TFormula.h.
|
inline |
Definition at line 207 of file TTreeFormula.h.
|
inlineoverridevirtualinherited |
Reimplemented from TObject.
Reimplemented in TStructNodeProperty.
|
virtual |
Return TRUE if the formula is a string.
Definition at line 4881 of file TTreeFormula.cxx.
Return true if the expression at the index 'oper' is to be treated as as string.
Reimplemented from ROOT::v5::TFormula.
Definition at line 4891 of file TTreeFormula.cxx.
|
protected |
Make sure that all the branches have been loaded properly.
Definition at line 5528 of file TTreeFormula.cxx.
|
protected |
Calculate the actual dimension for the current entry.
Definition at line 5556 of file TTreeFormula.cxx.
|
overridevirtualinherited |
List TNamed name and title.
Reimplemented from TObject.
Reimplemented in ROOT::Experimental::XRooFit::xRooBrowser, TNode, TROOT, TStreamerBase, TStreamerElement, TStreamerInfo, TStreamerSTL, TTask, TText, and TVirtualStreamerInfo.
Definition at line 112 of file TNamed.cxx.
|
protectedinherited |
MakePrimitive find TFormulaPrimitive replacement for some operands.
Definition at line 3755 of file TFormula_v5.cxx.
|
inherited |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
Definition at line 1160 of file TObject.cxx.
|
inlineoverridevirtual |
This method must be overridden to handle object notification (the base implementation is no-op).
Different objects in ROOT use the Notify method for different purposes, in coordination with other objects that call this method at the appropriate time.
For example, TLeaf uses it to load class information; TBranchRef to load contents of referenced branches TBranchRef; most notably, based on Notify, TChain implements a callback mechanism to inform interested parties when it switches to a new sub-tree.
Reimplemented from TObject.
Definition at line 209 of file TTreeFormula.h.
|
inherited |
Use this method to declare a method obsolete.
Specify as of which version the method is obsolete and as from which version it will be removed.
Definition at line 1169 of file TObject.cxx.
|
inherited |
Operator delete for sized deallocation.
Definition at line 1234 of file TObject.cxx.
|
inherited |
Operator delete.
Definition at line 1212 of file TObject.cxx.
|
inherited |
Only called by placement new when throwing an exception.
Definition at line 1266 of file TObject.cxx.
|
inherited |
Operator delete [] for sized deallocation.
Definition at line 1245 of file TObject.cxx.
|
inherited |
Operator delete [].
Definition at line 1223 of file TObject.cxx.
|
inherited |
Only called by placement new[] when throwing an exception.
Definition at line 1274 of file TObject.cxx.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
privatedelete |
|
overrideprotectedvirtual |
MI include.
Optimize formula
Reimplemented from ROOT::v5::TFormula.
Definition at line 5972 of file TTreeFormula.cxx.
|
virtualinherited |
This method must be overridden if a class wants to paint itself.
The difference between Paint() and Draw() is that when a object draws itself it is added to the display list of the pad in which it is drawn (and automatically redrawn whenever the pad is redrawn). While paint just draws the object without adding it to the pad display list.
Reimplemented in ROOT::Experimental::RTreeMapPainter, ROOT::RGeoPainter, TAnnotation, TArrow, TASImage, TASPaletteEditor::LimitLine, TASPaletteEditor::PaintPalette, TAxis3D, TBits, TBox, TButton, TCanvas, TClassTree, TCollection, TColorWheel, TCrown, TDiamond, TDirectory, TEfficiency, TEllipse, TEveArrow, TEveCaloViz, TEveDigitSet, TEveGeoShape, TEveGeoTopNode, TEvePlot3D, TEvePointSet, TEveProjectionAxes, TEveScene, TEveShape, TEveStraightLineSet, TEveText, TEveTriangleSet, TExec, TF1, TF2, TF3, TFile, TFileDrawMap, TFrame, TGaxis, TGenerator, TGeoBoolNode, TGeoIntersection, TGeoNode, TGeoOverlap, TGeoPainter, TGeoPhysicalNode, TGeoShape, TGeoSubtraction, TGeoTrack, TGeoUnion, TGeoVGShape, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph2D, TGraph2DPainter, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGraphTime, TH1, THistPainter, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TNode, TNodeDiv, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TRatioPlot, TScatter2D, TScatter, TShape, TSpectrum2Painter, TSpider, TSpline, TSQLFile, TStyle, TText, TTreePerfStats, TVirtualGeoPainter, TVirtualGeoTrack, TVirtualHistPainter, TVirtualPad, TWbox, and TXMLFile.
Definition at line 631 of file TObject.cxx.
|
protected |
Decompose 'expression' as pointing to something inside the leaf Returns:
Definition at line 784 of file TTreeFormula.cxx.
|
virtualinherited |
Pop on object drawn in a pad to the top of the display list.
I.e. it will be drawn last and on top of all other primitives.
Reimplemented in TFrame, TPad, and TVirtualPad.
Definition at line 640 of file TObject.cxx.
|
protectedinherited |
Pre compile function.
Definition at line 4490 of file TFormula_v5.cxx.
|
overridevirtualinherited |
Dump this formula with its attributes.
Reimplemented from TObject.
Definition at line 3287 of file TFormula_v5.cxx.
|
virtual |
Return value of variable as a string.
mode = 0 : Print column values
decform contains the requested format (with the same convention as printf).
Definition at line 4995 of file TTreeFormula.cxx.
|
virtual |
Return value of variable as a string.
Definition at line 4981 of file TTreeFormula.cxx.
|
virtualinherited |
If the formula is for linear fitting, change the title to normal and fill the LinearParts array.
Definition at line 3315 of file TFormula_v5.cxx.
|
virtualinherited |
Read contents of object with specified name from the current directory.
First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().
Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.
Definition at line 673 of file TObject.cxx.
|
virtualinherited |
Recursively remove this object from a list.
Typically implemented by classes that can contain multiple references to a same object.
Reimplemented in RooAbsCollection, RooAbsData, RooLinkedList, RooMCStudy, ROOT::Internal::TCheckHashRecursiveRemoveConsistency, ROOT::RBrowserDataCleanup, RooWorkspace, TBrowser, TChain, TCling, TCollection, TDialogCanvas, TDirectory, TEfficiency, TFileMerger, TFitEditor, TFolder, TFriendElement, TGedEditor, TGeometry, TGFileBrowser, TGraph2D, TGraph, TH1, TH1Editor, TH2Editor, THashList, THistPainter, THStack, TInspectCanvas, TLegend, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TMultiGraph, TNode, TObjArray, TObjectRefSpy, TObjectSpy, TPad, TProcessID, TROOT, TRootBrowser, TRootBrowserHistory, TRootBrowserLite, TRootContextMenu, TTree, TTreePlayer, TViewPubDataMembers, TViewPubFunctions, and TVirtualPad.
Definition at line 684 of file TObject.cxx.
This method is used internally to decode the dimensions of the variables.
Definition at line 419 of file TTreeFormula.cxx.
|
protected |
This method stores the dimension information for later usage.
Definition at line 456 of file TTreeFormula.cxx.
|
protected |
This method is used internally to decode the dimensions of the variables.
Definition at line 572 of file TTreeFormula.cxx.
|
protected |
This method is used internally to decode the dimensions of the variables.
Definition at line 467 of file TTreeFormula.cxx.
This method is used internally to decode the dimensions of the variables.
Definition at line 600 of file TTreeFormula.cxx.
|
protected |
Populate the TTreeFormulaManager with the dimension information.
Definition at line 5346 of file TTreeFormula.cxx.
|
virtual |
Tell the formula that we are going to request a new entry.
Definition at line 5140 of file TTreeFormula.cxx.
|
virtualinherited |
Save this object in the file specified by filename.
otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.
The function is available via the object context menu.
Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.
Definition at line 708 of file TObject.cxx.
|
virtualinherited |
Save a primitive as a C++ statement(s) on output stream "out".
Reimplemented in TAnnotation, TArc, TArrow, TASImage, TAxis3D, TBox, TButton, TCanvas, TChain, TCrown, TCurlyArc, TCurlyLine, TCutG, TDiamond, TEfficiency, TEllipse, TExec, TF12, TF1, TF2, TF3, TFrame, TGaxis, TGButton, TGButtonGroup, TGCanvas, TGCheckButton, TGColorSelect, TGColumnLayout, TGComboBox, TGCompositeFrame, TGContainer, TGDockableFrame, TGDoubleHSlider, TGDoubleVSlider, TGedMarkerSelect, TGedPatternSelect, TGeoArb8, TGeoBBox, TGeoBoolNode, TGeoCombiTrans, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoCtub, TGeoDecayChannel, TGeoElementRN, TGeoEltu, TGeoGtra, TGeoHalfSpace, TGeoHMatrix, TGeoHype, TGeoIdentity, TGeoIntersection, TGeoMaterial, TGeoMedium, TGeoMixture, TGeoPara, TGeoParaboloid, TGeoPatternCylPhi, TGeoPatternCylR, TGeoPatternParaX, TGeoPatternParaY, TGeoPatternParaZ, TGeoPatternSphPhi, TGeoPatternSphR, TGeoPatternSphTheta, TGeoPatternTrapZ, TGeoPatternX, TGeoPatternY, TGeoPatternZ, TGeoPcon, TGeoPgon, TGeoRotation, TGeoScaledShape, TGeoShapeAssembly, TGeoSphere, TGeoSubtraction, TGeoTessellated, TGeoTorus, TGeoTranslation, TGeoTrap, TGeoTrd1, TGeoTrd2, TGeoTube, TGeoTubeSeg, TGeoUnion, TGeoVolume, TGeoXtru, TGFileContainer, TGFont, TGFrame, TGFSComboBox, TGGC, TGGroupFrame, TGHButtonGroup, TGHorizontal3DLine, TGHorizontalFrame, TGHorizontalLayout, TGHProgressBar, TGHScrollBar, TGHSlider, TGHSplitter, TGHtml, TGIcon, TGLabel, TGLayoutHints, TGLineStyleComboBox, TGLineWidthComboBox, TGListBox, TGListDetailsLayout, TGListLayout, TGListTree, TGListView, TGLVContainer, TGMainFrame, TGMatrixLayout, TGMdiFrame, TGMdiMainFrame, TGMdiMenuBar, TGMenuBar, TGMenuTitle, TGNumberEntry, TGNumberEntryField, TGPictureButton, TGPopupMenu, TGProgressBar, TGRadioButton, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphEdge, TGraphErrors, TGraphMultiErrors, TGraphNode, TGraphPolar, TGraphPolargram, TGraphStruct, TGroupButton, TGRowLayout, TGShapedFrame, TGShutter, TGShutterItem, TGSplitFrame, TGStatusBar, TGTab, TGTabLayout, TGTableLayout, TGTableLayoutHints, TGTextButton, TGTextEdit, TGTextEntry, TGTextLBEntry, TGTextView, TGTileLayout, TGToolBar, TGTransientFrame, TGTripleHSlider, TGTripleVSlider, TGVButtonGroup, TGVertical3DLine, TGVerticalFrame, TGVerticalLayout, TGVFileSplitter, TGVProgressBar, TGVScrollBar, TGVSlider, TGVSplitter, TGXYLayout, TGXYLayoutHints, TH1, TH2Poly, THelix, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TPad, TPaletteAxis, TParallelCoord, TParallelCoordVar, TPave, TPaveClass, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPieSlice, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TProfile2D, TProfile3D, TProfile, TRootContainer, TRootEmbeddedCanvas, TScatter2D, TScatter, TSlider, TSliderBox, TSpline3, TSpline5, TStyle, TText, TTreePerfStats, and TWbox.
Definition at line 858 of file TObject.cxx.
|
staticprotectedinherited |
Save object constructor in the output stream "out".
Can be used as first statement when implementing SavePrimitive() method for the object
Definition at line 777 of file TObject.cxx.
|
staticprotectedinherited |
Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
Definition at line 845 of file TObject.cxx.
|
protectedinherited |
Save object name and title into the output stream "out".
Definition at line 135 of file TNamed.cxx.
|
staticprotectedinherited |
Save array in the output stream "out" as vector.
Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()
Definition at line 796 of file TObject.cxx.
|
inlineprotectedinherited |
Definition at line 108 of file TFormula.h.
|
inlineprotectedinherited |
Definition at line 116 of file TFormula.h.
|
virtual |
Set the axis (in particular get the type).
Definition at line 5178 of file TTreeFormula.cxx.
Set or unset the user status bits as specified in f.
Definition at line 888 of file TObject.cxx.
|
virtualinherited |
Set drawing option for object.
This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().
Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.
Definition at line 871 of file TObject.cxx.
|
staticinherited |
Set destructor only flag.
Definition at line 1204 of file TObject.cxx.
|
staticinherited |
static function to set the maximum value of 3 parameters
None of these parameters cannot be less than 10 (default is 1000) call this function to increase one or all maxima when processing very complex formula, eg TFormula::SetMaxima(100000,1000,1000000); If you process many functions with a small number of operations/parameters you may gain some memory and performance by decreasing these values.
Definition at line 4536 of file TFormula_v5.cxx.
|
virtualinherited |
Set the name of the TNamed.
WARNING: if the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.
Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, ROOT::Experimental::XRooFit::xRooNode, TChain, TColor, TDirectory, TEfficiency, TEventList, TEveScene, TFormula, TGraph2D, TGraph, TH1, TNode, TRotMatrix, TShape, TSystemDirectory, TSystemFile, and TTree.
Definition at line 149 of file TNamed.cxx.
|
virtualinherited |
Set all the TNamed parameters (name and title).
WARNING: if the name is changed and the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.
Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, TContextMenu, TGraph2D, TGraph, TH1, and TNode.
Definition at line 163 of file TNamed.cxx.
|
inlinevirtualinherited |
Definition at line 252 of file TFormula.h.
|
staticinherited |
Turn on/off tracking of objects in the TObjectTable.
Definition at line 1188 of file TObject.cxx.
|
virtualinherited |
Initialize parameter number ipar.
Definition at line 3384 of file TFormula_v5.cxx.
|
virtualinherited |
Initialize parameter number ipar.
Definition at line 3395 of file TFormula_v5.cxx.
|
virtualinherited |
Initialize array of all parameters.
See also the next function with the same name.
Definition at line 3406 of file TFormula_v5.cxx.
|
virtualinherited |
Initialize up to 11 parameters All arguments except THE FIRST TWO are optional In case of a function with only one parameter, call this function with p1=0.
Minimum two arguments are required to differentiate this function from the SetParameters(cont Double_t *params)
Definition at line 3421 of file TFormula_v5.cxx.
|
virtualinherited |
Set name of parameter number ipar.
Definition at line 3441 of file TFormula_v5.cxx.
|
virtualinherited |
Set up to 11 parameter names.
Definition at line 3450 of file TFormula_v5.cxx.
|
inline |
Definition at line 213 of file TTreeFormula.h.
|
virtualinherited |
Set the title of the TNamed.
Reimplemented in Axis2, RooPlot, ROOT::Experimental::XRooFit::xRooNode, ROOT::TSchemaRule::TSources, TASImage, TEfficiency, TF1, TGraph2D, TGraph, TH1, THnBase, TParallelCoordVar, TSystemDirectory, and TSystemFile.
Definition at line 173 of file TNamed.cxx.
|
inlinevirtual |
Definition at line 214 of file TTreeFormula.h.
|
virtualinherited |
Set the unique object id.
Definition at line 899 of file TObject.cxx.
|
virtualinherited |
Return size of the TNamed part of the TObject.
Reimplemented in TDirectory, TDirectoryFile, TFile, TKey, TSQLFile, and TXMLFile.
Definition at line 182 of file TNamed.cxx.
|
inherited |
Stream a class object.
Definition at line 3469 of file TFormula_v5.cxx.
|
inherited |
specialized streamer function being able to read old TF1 versions as TF1Old in memory
Definition at line 3507 of file TFormula_v5.cxx.
|
overridevirtual |
Stream an object of class TTreeFormula.
Reimplemented from ROOT::v5::TFormula.
Definition at line 5203 of file TTreeFormula.cxx.
|
inline |
Definition at line 219 of file TTreeFormula.h.
Try to 'demote' a string into an array bytes.
If this is not possible, return false.
Reimplemented from ROOT::v5::TFormula.
Definition at line 5237 of file TTreeFormula.cxx.
Convert the underlying lookup method from the direct technique (dereferencing the address held by the branch) to the method using TFormLeafInfo.
This is in particular useful in the case where we need to append an additional TFormLeafInfo (for example to call a method). Return false if the switch was unsuccessful (basically in the case of an old style split tree).
Definition at line 5896 of file TTreeFormula.cxx.
|
virtualinherited |
Issue system error message.
Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.
Definition at line 1112 of file TObject.cxx.
|
inlinevirtualinherited |
Definition at line 264 of file TFormula.h.
|
virtual |
This function is called TTreePlayer::UpdateFormulaLeaves, itself called by TChain::LoadTree when a new Tree is loaded.
Because Trees in a TChain may have a different list of leaves, one must update the leaves numbers in the TTreeFormula used by the TreePlayer.
A safer alternative would be to recompile the whole thing .... However currently compile HAS TO be called from the constructor!
Definition at line 5266 of file TTreeFormula.cxx.
|
virtualinherited |
|
virtualinherited |
Issue warning message.
Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.
Definition at line 1084 of file TObject.cxx.
|
virtualinherited |
Write this object to the current directory.
For more see the const version of this method.
Reimplemented in ROOT::TBufferMergerFile, TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.
Definition at line 989 of file TObject.cxx.
|
virtualinherited |
Write this object to the current directory.
The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".
Writing an object to a file involves the following steps:
Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.
If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().
The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.
An object is read from the file into memory via TKey::Read() or via TObject::Read().
The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.
Reimplemented in TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.
Definition at line 964 of file TObject.cxx.
|
friend |
Definition at line 60 of file TTreeFormula.h.
|
protected |
! List of TTreeFormula for each alias used.
Definition at line 107 of file TTreeFormula.h.
|
protected |
! List of aliases used during the parsing of the expression.
Definition at line 128 of file TTreeFormula.h.
|
protectedinherited |
! cache for information
Definition at line 88 of file TFormula.h.
|
protected |
! pointer to histogram axis if this is a string
Definition at line 122 of file TTreeFormula.h.
|
privateinherited |
|
protected |
! List of branches to read. Similar to fLeaves but duplicates are zeroed out.
Definition at line 109 of file TTreeFormula.h.
List of leaf numbers referenced in formula.
Definition at line 96 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 82 of file TFormula.h.
|
protected |
! local version of fConsts able to store bigger numbers
Definition at line 130 of file TTreeFormula.h.
|
protected |
Accumulated sizes of lower dimensions for each leaf after variable dimensions has been calculated.
Definition at line 118 of file TTreeFormula.h.
|
protected |
! List of leaf data members
Definition at line 104 of file TTreeFormula.h.
|
protected |
! True if we executed one boolean optimization since the last time instance number 0 was evaluated
Definition at line 123 of file TTreeFormula.h.
|
protected |
! list of dimension setups, for delayed creation of the dimension information.
Definition at line 127 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 78 of file TFormula.h.
|
protectedinherited |
![fNOperOptimized] List of expressions
Definition at line 92 of file TFormula.h.
|
protected |
! List of TCutG and TEntryList used in the formula
Definition at line 106 of file TTreeFormula.h.
|
protected |
Physical sizes of lower dimensions for each leaf.
Definition at line 114 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 85 of file TFormula.h.
|
staticprivateinherited |
|
protected |
Record whether the formula contain a cast operation or not.
Definition at line 99 of file TTreeFormula.h.
True if the corresponding variable is an array with more than one variable dimension.
Definition at line 115 of file TTreeFormula.h.
|
protected |
Index of array selected by user for each leaf.
Definition at line 119 of file TTreeFormula.h.
|
protected |
List of TNamed describing leaves.
Definition at line 108 of file TTreeFormula.h.
|
protected |
! List of leaf used in this formula.
Definition at line 103 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 86 of file TFormula.h.
|
protected |
[fNindex] Array indicating how each leaf should be looked-up
Definition at line 102 of file TTreeFormula.h.
|
protected |
! The dimension coordinator.
Definition at line 124 of file TTreeFormula.h.
|
protected |
! List of leaf method calls
Definition at line 105 of file TTreeFormula.h.
|
protected |
Indicator of the variability of the formula.
Definition at line 100 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 84 of file TFormula.h.
|
protected |
Number of leaves referenced in formula.
Definition at line 98 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 74 of file TFormula.h.
! This caches the physical number of element in the leaf or data member.
Definition at line 97 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 71 of file TFormula.h.
Number of array dimensions in each leaf.
Definition at line 113 of file TTreeFormula.h.
|
protected |
! If true, the current entry has not been loaded yet.
Definition at line 111 of file TTreeFormula.h.
|
protected |
Size of fIndex.
Definition at line 101 of file TTreeFormula.h.
|
protectedinherited |
Definition at line 73 of file TFormula.h.
|
protectedinherited |
!Number of operators after optimization
Definition at line 91 of file TFormula.h.
|
protectedinherited |
Definition at line 72 of file TFormula.h.
|
protectedinherited |
Definition at line 77 of file TFormula.h.
|
protectedinherited |
Definition at line 75 of file TFormula.h.
|
protectedinherited |
Definition at line 76 of file TFormula.h.
|
privateinherited |
Definition at line 80 of file TFormula.h.
|
protectedinherited |
![fNOperOptimized] Offsets of operrands
Definition at line 94 of file TFormula.h.
|
protectedinherited |
![fNOperOptimized] List of operators. (See documentation for changes made at version 7)
Definition at line 93 of file TFormula.h.
|
protectedinherited |
!pointer to optimal function
Definition at line 96 of file TFormula.h.
|
protectedinherited |
Definition at line 83 of file TFormula.h.
|
protectedinherited |
![fNPar] predefined function
Definition at line 95 of file TFormula.h.
|
protected |
! If true, branch GetEntry is only called when the entry number changes.
Definition at line 110 of file TTreeFormula.h.
|
protected |
! Cache accelerating the GetRealInstance function
Definition at line 132 of file TTreeFormula.h.
|
protected |
! Pointer to Tree
Definition at line 95 of file TTreeFormula.h.
|
privateinherited |
|
protected |
Pointer to a variable index.
Definition at line 120 of file TTreeFormula.h.