Re: [ROOT] Understanding TSelector

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Wed Aug 21 2002 - 10:07:56 MEST


Hi Edward,

  the TSelector is being extended for the use with the soon to be
released PROOF system. Originally we had a TSelector with ProcessCut()
and ProcessFill() to split the selection step from the filling step.
However, in the PROOF environment (and also in non-PROOF) this turns out
to not be really necessary as everything can be done better in a single
Process() method: no need to save state between ProcessCut() and
ProcessFill() since in Process() we can either just return if the cut is
not accepted or continue with the fill if we pass the cut. However for
backward compatability we will support both ways of working. For the
time being use the Cut and Fill methods becausr the is what
TTree::Process() is still using.


Cheers, Fons.



On Wed, 2002-08-21 at 02:29, Edward Chen wrote:
> Hi - I'm trying to make some sense of the TSelector class.  I'm using
> ROOT version 3.03/06.
> 
> I generated a selector using myChain->MakeSelector("mySelector");
> 
> 
> In mySelector.C, the comments says:
> 
> 
> // ProcessCut():  called at the beginning of each entry to return a flag,
> //                   true if the entry must be analyzed.
> // ProcessFill(): called in the entry loop for all entries accepted
> //                   by Select.
> 
> It's not clear what "Select" means above.
> 
> Further down in mySelector.C, there are three Process methods:
> 
> Process(),ProcessCut(),and ProcessFill().
> 
> For ProcessFill(), it says:
> 
> // Read branches not processed in ProcessCut() and fill histograms.
> 
> I don't quite understand the point of all this.  What is the point of
> Process()?  Also - why does one need a separate ProcessCut() and
> ProcessFill()?  Since you are using if statements in ProcessCut(), you can
> fill either histos for events that pass the cuts, or different histos
> for events that don't pass the cuts.
> 
> Thanks for any help.
> 
> -Ed
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:05 MET