PROOF sessions and Queries

I have some problems in understanding PROOF sessions, and PROOF queries.
If I call TProof::Open(), the GUI pops up, and I can create new PROOF sessions.
Within these Sessions there might be several queries.

When am I supposed to open different sessions and how are the queries in one
session related to each other? If I want to have to separate interactive ROOT/PROOF
sessions( each opening different files, loading different TSelectors,… ) Should I connect
to the same session, or should I open different sessions?

The same question arises if I run a stand-alone application that uses PROOF. As
far I can see TProof::Open(“hostname”) always attaches the new TProof instance to
an existing session on the given master. However my application fails to run with an

TProof::GoParallel : attaching to candidate!

error. Additionally the already running PROOF appllication stops processing events, too.
Is there a away to make TProof::Open("…") connect to a new session, or to give
a name for the new session with help of the URL in the TProof::Open("…") command?

Thanks in advance,


The way to open two or more independent sessions on the same facility is explained at … mmand-line

Basically you have to add “?N” to the master URL. If you do not this you get attached to an existing session and you will get all feedback information from that session. However, currently concurrent submission to the same session from two TProof objects is somewhat broken and you get things as the one you observed.
If you use the option “?N” you get two or more different sessions controlled by two or more different TProof objects. In this case gProof will point to the last open session, so it is advised to keep track of the TProof’s, e.g.

root [] TProof *p1 = TProof::Open("master")
root [] TProof *p2 = TProof::Open("master?N")

Then you can submit on the two sessions concurrently. Note that you share the resources.


Ps: two or more sessions on the same cluster is not currently available in the GUI