Save-to-file example doesn't work?

Hi,

using PROOF-lite with ROOT trunk@45440

I have just discovered the (potentially very very interesting) options ‘stf’ and 'outfile=…'
and am trying to follow the example given in http://root.cern.ch/drupal/content/handling-outputs.
Unfortunately it doesn’t seem to work:

root [0] TProof* p = TProof::Open("")
 +++ Starting PROOF-Lite with 4 workers +++
Opening connections to workers: OK (4 workers)                 
Setting up worker servers: OK (4 workers)                 
PROOF set to parallel mode (4 workers)
root [1] p->SetParameter("ProofSimple_NHist", (Long_t) 16)
root [2] p->Process("tutorials/proof/ProofSimple.C+", 40000000, "stf")
 
Info in <TProofLite::SetQueryRunning>: starting query: 1
Info in <TProofQueryResult::SetRunning>: nwrks: 4
ntuple opts: 0  0utput objects ... / (1 workers still sending)   
Lite-0: all output objects have been merged                                                         
(Long64_t)0
root [3] p->GetOutputList()->Print()
Collection name='TList', class='TList', size=16
 TH1.Print Name  = h0, Entries= 40000000, Total sum= 3.98921e+07
 TH1.Print Name  = h1, Entries= 40000000, Total sum= 3.98919e+07
 TH1.Print Name  = h2, Entries= 40000000, Total sum= 3.98925e+07
 TH1.Print Name  = h3, Entries= 40000000, Total sum= 3.98923e+07
 TH1.Print Name  = h4, Entries= 40000000, Total sum= 3.98921e+07
 TH1.Print Name  = h5, Entries= 40000000, Total sum= 3.98925e+07
 TH1.Print Name  = h6, Entries= 40000000, Total sum= 3.98923e+07
 TH1.Print Name  = h7, Entries= 40000000, Total sum= 3.98919e+07
 TH1.Print Name  = h8, Entries= 40000000, Total sum= 3.98922e+07
 TH1.Print Name  = h9, Entries= 40000000, Total sum= 3.98918e+07
 TH1.Print Name  = h10, Entries= 40000000, Total sum= 3.98917e+07
 TH1.Print Name  = h11, Entries= 40000000, Total sum= 3.98917e+07
 TH1.Print Name  = h12, Entries= 40000000, Total sum= 3.9892e+07
 TH1.Print Name  = h13, Entries= 40000000, Total sum= 3.98928e+07
 TH1.Print Name  = h14, Entries= 40000000, Total sum= 3.98916e+07
 TH1.Print Name  = h15, Entries= 40000000, Total sum= 3.98921e+07

There is no TProofOutputFile with option “stf”, unlike the example shown.

When using option “of=…” I get:

[code]root [2] p->Process(“tutorials/proof/ProofSimple.C+”, 40000000, “of=test.root”)

Info in TProofLite::SetQueryRunning: starting query: 1
Info in TProofQueryResult::SetRunning: nwrks: 4
ntuple opts: 0 0utput objects … / (1 workers still sending)
Lite-0: all output objects have been merged
(Long64_t)0
[/code]

and the file “test.root” is nowhere to be found (at least not in the working directory).

Please can you help ?

Hi,

Thanks for your interest.
This feature is very experimental, we are working on right now and started from standard clusters (where it should work … the examples, at least).
I have not yet addressed the Proof-Lite case; I am not surprised that it does not work out of the box, because TProofLite overwrites the Process method where most of the new settings are done.
I will have a look asap and let you know.

G. Ganis

Hi,

The current trunk (>= r45632) should work for PROOF-Lite too.
You will get some harmless warnings which will be silenced next.
Please let me know if you try. Feedback/comments are very welcome.

G. Ganis

Hi,
yes that did the trick. It works as I expected now, if I do

root [4] p->Process("ProofSimple.C+", 4000, "stf of=test.root")

then I get the histograms with 4000 entries in a file test.root in
my current directory.
Thanks a lot!