How to use SetBranchAddres() ? Role of SetMakeClass()?

[quote]What am I missing here ?
Is there something obvious I overlooking on page 217 ? [/quote]
The example at page 215-217 is about a TTree created from a list a indepedent variables and not from objects.

SetMakeClass sets the TTree is some sort of compatibility mode that allow its reading via a set of independant variable (see the result of running TTree::MakeClass on your TTree). In particular it changes the interpretation of the address passed to SetAddress from being the beginning of the object containing the data to being the exact location where the data should be loaded.

If you have the shared library corresponding to your object it is better if you do

MyClass *myobjp = 0;
tree->SetBranchAddress("toplevel",&myobjp);

If you do not have the shared library, the method you stumbled upon is the one correct way of reading the data.

Cheers,
Philippe.