Load dictionary for class via rootmap in PROOF

Hello,

I have a TTree in which I stored a series of used-defined class type objects. There is a rootmap file in search path that maps the class to the library. When I browse my tree in a normal CINT session, the class is loaded automatically absolutely fine. Specifically, the following works:

TClass::GetClass("MyCustomClass")

I wrote a TSelector that uses TTreeFormula that make use of this custom class. It runs (Processes) fine in normal single-core mode. But when I try to run with proof-lite, it is crashing. I noticed in the logs that I have warnings from TClass that no dictionary is available for that type.

Should Proof recognise the rootmap files? Or must I use gProof->Load("/path/to/class/header.h") ? It would be nice if the rootmaps could be used automatically?

Correction: gProof->Load appears insufficient: I get warnings about ShowMembers not being found. My classes were compiled with reflex. Not sure how to get them to load on the TProofServLite correctly??

Will

Sorry for the noise. For future reference, there was no real problem here at all. I forgot that to get reflex dictionaries to load you needed to add a little kludge, which I had added years ago to my rootlogon.C (which prooflite does not use!?). I resolved my problems by adding:

gProof->Exec("gSystem->Load(\"libCintex\")");
   gProof->Exec("ROOT::Cintex::Cintex::Enable()");

And the library is automatically loaded correctly from there.

It would be good to know how I can set up proof-lite to use my rootlogon.C file by default though!

Anyway, main problem appears solved.

Hi,

Automatic loading of what can be automatically loaded in PROOF-Lite is on the list and we hope it will come sooner than later.
For the ‘rootlogon.C’, can you try by placing the following in your $HOME/.rootrc ?

Proof.Logon rootlogon.C

(add the full path if necessary …).

G. Ganis