RE: [ROOT] char * in TTree

From: Philippe Canal (pcanal@fnal.gov)
Date: Tue Jun 10 2003 - 23:09:02 MEST


Hi Nicolas,

Thanks for reporting this problem.
In TFormula, as you noticed, the token " had the lowest priority instead of
the highest.

I have fixed this problem and the fix will appear shortly in the CVS
repository.

Cheers,
Philippe.

-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Nicolas Produit
Sent: Thursday, June 05, 2003 9:26 AM
To: roottalk@pcroot.cern.ch
Subject: [ROOT] char * in TTree


Hi,

I have a TTree with some char * member.
I want to filter on the value of this char*
according documentation page 263 case 25 and 26
I can use == and strstr and I have to escape the " as \"
This work well most of the case.
But I have sometimes character '+' '-' and ' ' inside the variable.
The parser does not seem to like that.
(  *   Version   3.05/05       21 May 2003   *
on solaris)

Example
root [7] t->Scan("name","strstr(name,\"4U2358\")")
************************
*    Row   *      name *
************************
*        0 * 4U2358+21 *
************************
==> 1 selected entry
(Int_t)1
root [8] t->Scan("name","strstr(name,\"4U2358+\")")

*ERROR 26 :
  Unknown name : ""4U2358"
(Int_t)(-1)
root [9] t->Scan("name","strstr(name,\"4U2358\+\")")

*ERROR 26 :
  Unknown name : ""4U2358"
(Int_t)(-1)
root [10] t->Scan("name","strstr(name,\"XMMU\")")
************************
*    Row   *      name *
************************
*       25 * XMMU J004 *
*       26 * XMMU J004 *
*       28 * XMMU J004 *
*       29 * XMMU J004 *
*       30 * XMMU J004 *
************************
==> 5 selected entries
(Int_t)5
root [11] t->Scan("name","strstr(name,\"XMMU J\")")
************************
*    Row   *      name *
************************
************************
==> 0 selected entries
(Int_t)0

Any way to achieve that?





--
Nicolas Produit
INTEGRAL Science Data Center    Phone:  +41 22 950 91 40
16, Chemin d'Ecogia             Fax:    +41 22 950 91 33
CH-1290 Versoix                 www:    http://isdc.unige.ch/



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET