Re: [ROOT] TFormula

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Aug 05 2002 - 23:46:57 MEST


Hi Pierre-Luc,

A very expensive compromise. All the work is already done
by TTree::Draw and TTreeFormula. Up to you to find your way
extracting code from TTreeFormula.

Rene Brun

On Mon, 5 Aug 2002, Pierre-Luc Drouin wrote:

> Hello,
> 
> The SNO events are in an ASCII file. Both PAW NTuples and ROOT trees are
> dumped in an ASCII file, and then used by QSNO to extract signal (people
> that use PAW NTuples didn't want to convert in ROOT trees and vice-versa,
> so it is the compromise). My class reads events in the ASCII file,
> applies the cut and add it to a two-dimensions float array, this
> information being given to another class after... If people want to define
> a new cut, they add it to the dat file, and call the member function that
> applies cut again.
> 
> Pierre-Luc Drouin
> SNO, Carleton University
> 
> On Mon, 5 Aug 2002, Rene Brun wrote:
> 
> > Pierre-Luc,
> > 
> > Did you look at TTreeFormula?
> > We use this class to make cuts in ROOT TTrees.
> > What is the format of your SNO events?
> > 
> > Rene Brun
> > 
> > On Mon, 5 Aug 2002, Pierre-Luc Drouin wrote:
> > 
> > > Hi,
> > > 
> > > I'm working on a program that reads equations in a dat file and use them
> > > to apply cuts on some SNO events. Users must be able to change cut
> > > equations in the dat file without recompiling QSNO (SNO analysis
> > > program). Cuts may combine more than 4 parameters, that's why I need an
> > > equation interpreter that can interpret formulas with more than 4
> > > variables.
> > > 
> > > Thank you!
> > > 
> > > Pierre-Luc Drouin
> > > SNO, Carleton University 
> > > 
> > > On Mon, 5 Aug 2002, Rene Brun wrote:
> > > 
> > > > May be you should explain what you want to do !
> > > > Why don't you use CINT directly as an interpreter?
> > > > 
> > > > The convention in TFormula is to use the letters x,y,z,t
> > > > to identify the 1st,2nd,3rd,4th dimension in the expression.
> > > > For sure we could use the 26 characters + upper case.
> > > > I don't think this would be the right way to proceed.
> > > > 
> > > > Rene Brun
> > > > 
> > > > On Mon, 5 Aug 2002, Pierre-Luc Drouin wrote:
> > > > 
> > > > > Hi,
> > > > > 
> > > > > The problem I have is that I'm making a class that must be the most
> > > > > flexible as possible, and it's possible that it needs more than 4
> > > > > variables (perhaps 10, or more). Is there a mean to do that using
> > > > > TFormula? I mean, once an interpreter is able to interpret
> > > > > complex equations like
> > > > > TFormula is able to do, what does limit the number of variables?
> > > > > 
> > > > > Thank you!
> > > > > 
> > > > > Pierre-Luc Drouin
> > > > > 
> > > > > On Mon, 5 Aug 2002, Rene Brun wrote:
> > > > > 
> > > > > > Hi Pierre-Luc
> > > > > > 
> > > > > > TFormula allows up to 4 dimensions. Example:
> > > > > >  root > TFormula f("f","x+y+z+t")
> > > > > >  root > double x[4] = {1,2,3,4}
> > > > > >  root > f.EvalPar(x)
> > > > > > 
> > > > > > The current documentation indicates a max of 3 dimensions.
> > > > > > I have updated the comments in the CVS version.
> > > > > > 
> > > > > > Rene Brun
> > > > > > 
> > > > > > On Mon, 5 Aug 2002, Pierre-Luc Drouin wrote:
> > > > > > 
> > > > > > > Hello,
> > > > > > > 
> > > > > > > I need an equation interpreter that can be used with more than 3
> > > > > > > variables. Is there a class that allows it in ROOT?
> > > > > > > 
> > > > > > > Thank you!
> > > > > > > 
> > > > > > > Pierre-Luc Drouin
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > 
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:03 MET