RE: [ROOT] tree draw

From: Philippe Canal (pcanal@fnal.gov)
Date: Thu Apr 18 2002 - 23:18:11 MEST


> Is that really how it is ?

In short, No.

All your use cases are supposed to work and do work for me with the
Event example in $ROOTSYS/test.

Could you provide me (in private) with the result of
	root [] .class c
	root [] tree.Draw("c.GetId()");
	root [] tree.Draw("c.id");
for both the split mode 0 and 1.

Also in the case of the seg violation can you send me the stack trace.

Thanks,
Philippe.


-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Mathieu Ribordy
Sent: Thursday, April 18, 2002 12:05 PM
To: roottalk@cern.ch
Subject: [ROOT] tree draw


Hi,

if I save a tree with entries being a class, I get different behaviour,
with respect of the methods defined in the class, when I am in split
mode or not:

let's define the instance c of class C, with method GetId(), returning
value of member id

split mode = 0:
-----------
only one superbranch.
I can execute tree.Draw("c.GetId()");
1. I cannot access directly id, even if declared public

split mode = 1
-----------
many subbranches.
I can draw: tree.Draw("id")
but:
2. tree.Draw("c.Id()")
make a seg violation.

I do not understand point 2. making a seg violation.

I think I understand the reasons for the difference between split and
unsplit, but still, it means that I cannot access directly members in a
short way when doing simple things, and use methods, when plotting more
sophisticated observables from an algorithm with one single tree.

Then, assuming that I want to plot complicated observables eventually, I
need in any case to save the tree unsplit. Therefore I need to have in
mind the members name and their corresponding Get methods to do stg.

Is that really how it is ?

thank you
    Mathieu



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