TProofLite question

Hi, I am trying to use TProofLite to have some level of (simple) parallelism in an application. For this I am short of following the pythia8 example. Without getting into much detail, at this early stage I would just like to have the MySelector::Process(Lont64_t entry) called only once per worker (core), where MySelector is derived from TSelector. Inside this function I have my fMyLongProcess->Exec(fnTimes/fnCores) which (function call) before doing its long loop is normally creating a file with a tree and fills the tree while looping. So the idea is that instead of having one unique file with the output of fnTimes, to have fnCores files with fnTimes/fnCores events each. With this scheme I am not declaring any objects/trees to be merged etc. However, my sessions got stack at

Info in TProofLite::SetQueryRunning: starting query: 1
Info in TProofQueryResult::SetRunning: nwrks: 2
Lite-0: merging output objects … / (1 workers still sending)

This until I saw that my fMyLongProcess did not have //! in the MySelector.h file. Is this the expected behaviour? I have not declared this object to be in any output list. Just putting the //! fixes the problem and I return to the root prompt normally after gProof->Process terminates.
Another question, I would like ofcourse to automatize the merging of the files in the end, opting for the fast tree merging, without unzipping that is. I assume this call must be made in the MySelector::Terminate but then what would be the proper way. I will need the full paths of the fnCores files and then issue a TTree::CloneTree(-1, “fast”) for each one of the files. What would be the way to get the real file pathnames from gProof while inside MySelector::Terminate? Thanks,


Sorry for the somewhat late reply.

This may be related to the automatic setting of selector members that we introduced recently, though we never experienced problems so far. I will check.

There is a technique to have the master automatically merge the files with the worker outputs: see For the paths, in PROOF-Lite you should have full control on them, right? Everything is local …

G. Ganis

PS: next time, please post PROOF related questions to the dedicated section of the forum.