Re: [ROOT] TSelector::ProcessFill(Int_t entry) speed problem

From: Jacek M. Holeczek (holeczek@us.edu.pl)
Date: Wed Apr 17 2002 - 19:37:39 MEST


I've sent the below message in the morning, but it didn't reach the
RootTalk (I got no errors/warnings, but it is not there).
Jacek.

---------- Forwarded message ----------
Date: Wed, 17 Apr 2002 11:31:56 +0200 (MET DST)
From: Jacek M. Holeczek <holeczek@us.edu.pl>
To: RootTalk <roottalk@root.cern.ch>
Subject: Re: [ROOT] TSelector::ProcessFill(Int_t entry) speed problem

Hi,
Thanks for reply.

> What you do is extremely innefficient. You destroy the Root cache.
Yes I realize that, but I could not find any solution.

> Instead, open the same file twice (in addition to the selector) with
This is a NO NO.
In "one shot" I analyze 8 ntuples which reside on 4 different files using
the same selector.
I need to do everything from inside of the selector, where only the
"tree" pointer is known / given.
Then ... somewhere in "Notify" I would need to "prepare" the
copies of these specific branches, something like this :
	fChain->SetBranchAddress("x",&x1); // uses variable x1
	b_x1 = fChain->GetBranch("x"); // get the original branch pointer
	b_x0 = CloneMyBranch(b_x1); // first "copy" of b_x1
	b_x0->SetBranchAddress(&x0); // first "copy" uses variable x0
	b_x2 = CloneMyBranch(b_x1); // second "copy" of b_x1
	b_x2->SetBranchAddress(&x2); // second "copy" uses variable x2
Can I do it somehow ?

Thanks in advance,
Jacek.



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