Hi Matt,
Are you really using 2.25/03? I do not understand how your piece of code
can even compile. fTree should be fChain.
Did you use the TTree::MakeSelector function to generate your skeleton
class?
I suggest you do. h1analysis.C works very well with 2.25/03.
In the Begin function, look how the Init function initializes the branch
address. Samething for the Notify function.
Rene Brun
On Wed, 20 Sep 2000, Matthew D. Langston wrote:
> A call to TChain::Process on a user defined TSelector erroneously
> iterates over and over again on the first TFile of a TChain. In
> addition, this second and subsequent erroneous iterations over the first
> TFile is at least an order of magnitude slower than the first iteration,
> if not more.
>
> I have attached the small, simple file named MySelector.cxx which
> demonstrates this problem. Notice that I defined MySelector::ProcessCut
> as follows:
>
> Bool_t ProcessCut( Int_t entry )
> {
> fTree->GetEntry( entry );
> return kTRUE;
> }
>
> Is this not the correct way to simply read in all of a TTree's
> TBranches? I also tried the following with the same result:
>
> Bool_t ProcessCut( Int_t entry )
> {
> b_foo->GetEntry( entry );
> return kTRUE;
> }
>
>
> I followed the example in the files h1analysis.h and h1analysis.C in the
> tutorials subdirectory, which seem to do it as I describe as well.
>
> The nature of the problem suggests that the user is required to call
> TChain::LoadTree during the call to TSelector::Notify, in a manner
> similar to the case with the code generated by TTree::MakeClass.
> However, it didn't seem like I should have to do this with a TSelector.
> Could somebody help me please? Thank you :-)
>
> Regards, Matt
>
> --
> Matthew D. Langston
> SLD, Stanford Linear Accelerator Center
> langston@SLAC.Stanford.EDU
>
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:33 MET