PROOF-Lite not working

I have a very frustrating problem using PROOF-Lite in compiled code.
However, it seems to be reproducible using CINT too, so I created a example. If I run the following code:

#include "TChain.h"
#include "TProof.h"
#include "TCollection.h"
#include "include/rfacQuantumNumberLister.hh"
#include "include/rfacQuantumNumberContainer.hh"
#include <iostream>
using namespace std;

void prooftest()
   TChain * myChain = new TChain("T");
  rfacQuantumNumberLister * myQuantumNumberLister = new rfacQuantumNumberLister();
  myQuantumNumberLister->SetInputList(new TList());
  myQuantumNumberLister->GetInputList()->Add(new TObjString("SFACbranch"));

  rfacQuantumNumberContainer myQMContainer;
  TIter centralQ(myQuantumNumberLister->GetOutputList());

  while(TCollection * cobj = dynamic_cast< TCollection* > (centralQ()))
  cout << "Found :" << myQMContainer.size() << endl;
  delete myQuantumNumberLister;

everything works as it should; the TSelector object is invoked and the output list contains the expected output object.
However, if I remove the comment from the line


to actually use PROOF-Lite in the processing, suddenly the TSelector is not invoked at all, and the output list only consists of an object

Collection name='MissingFiles', class='TList', size=1
 file:///home/rikard/fac/Work/hbar_cfac_rikard/DataTool/output_small.root /T|TTree|125 md5-undef

So I was wondering how I should do to make this work? I have tried looking into the log files.
There seems to be an error on Master:

Error in <TTree::SetBranchAddress>: unknown branch -> FeedbackList

However I don’t know what this means, or how I should correct it?


To use processing-by-object you need to make the workers aware of the selector code.
Try adding


Given that it looks like you need also an additional library, it may be worth to use a PAR file where you put all what you need: … -par-files .

G. Ganis