MakeSelector confusion


The behavior of MakeSelector doesn’t appear to match any documentation to be found (html or pdf). The available documentation says that “unlike MakeClass, separates the [rpcessing into a ProcessCut and ProcessFill”. However, the code produced with MakeSelector from ROOT 4.00/02 only has a Process method—neither of the above-mentioned separate functions. This then, seems to essentially just be equivalent to the MyClass::Loop method, where you as a user create and test your selections/conditions before updating any histograms. Is the difference simply that the MakeSelector is better-suited for parallel processing? Are the two really essentially equivalent on a single-CPU system?

Finally, is there any place where updated documentation on the new/chaged/different behavior of the MySelector::Process?


Ok, I just saw that there IS actually an updated manual, which explains that the ProcessCut and ProcessFill methods have been combined into one. However, I am still a little confused because the manual still extolls the virtues of having separate ProcessCut and ProcessFill methods. Are we supposed to try using them or not? Further, it seems that the manual assumes one is already familiar with the older technique. There don’t seem to be any real examples of just how one would/should use the selector.

Finally, when it states that processing stops when kFALSE is returned, does that mean that one jumps immediately to the Terminate method or does it mean that the loop breaks and we jump to the next event?

Thanks again,

The manual still needs to be update. You should use just the Process method.

It goes to the next event.


Thanks Philippe.