gROOT->GetListOfProofs() with PoD

Dear Proofers,

I am puzzled about the pointer from:

With a Proof Lite session:

the p1 above is correct and equal to plite.

With a PoD session:

p1 is not equal pod but also not NULL.

I am using this p1 in my HistPresent without the need of
knowledge of the Connectstring: Otto.Schaile@gar-ws-etp78:21001
to do a

Cheers
Otto

Hello,

The main purpose of that list is to control the order for final cleanup (it contains the relevant TXProofMgr pointer instead of TProof).
TProofMgr contains a list of TProofDesc and from there you can get to the TProof object. There are several steps because it was only supposed to be used internally.

If you have only one session you can use ‘gProof’, which always points to the last open session.
If you use a version >= 5.30 you should be able to get to open pointer using TProof::Open(“pod://”), i.e. w/o having to specify the full PoD string.
But, in general, remembering the initial URL is the safest way to navigate through sessions.

G. Ganis

Hey Otto,

just a small additional comment.

As Gerri has mentioned it already, in order to connect to a PoD/PROOF cluster it is better to use

TProof::Open("pod://") works for ROOT version >= 5.30.

You can also use

TProof::Open(gSystem->GetFromPipe("pod-info -c"));

or even

std::string url(gSystem->GetFromPipe("pod-info -c -b")); if( url.empty() ) { // PoD server is not running // print out an error message... return 1; } TProof::Open( url.c_str() );

It is described here: pod.gsi.de/doc/nightly/pod-info.html

Please try to avoid using the direct URL. PoD uses a port mapping and the url of you master could change every time you restart PoD.