Re: copy selected entries of subset of chain

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Tue, 12 Apr 2011 07:58:11 -0500


Hi Margar,

(Besides the missing LoadEntry, GetEntry and SetBranchAddress which I assume are in the routines you did no show), it seems that the problem is the 2nd argument of the 2nd SetBranchStatus, I think it should read:

    chain->SetBranchStatus("*", 1);

Cheers,
Philippe.

On 4/12/11 2:43 AM, Margar Simonyan wrote:
> Hello ROOTTalk
>
> I would like to copy selected entries of some branches of TChain to
> another tree. So far my attempt work for single tree but not for a
> chain. Simplified logic looks like this:
>
> type var1;
> TBranch * b1=0;
> chain->SetBranchAddress("var1",&var1,&b)
>
> chain->SetBranchStatus("*", 0)
> chain->SetBranchStatus("var1", 1);
>
> f = TFile::Open("file.root", "UPDATE");
> newTree = chain->CloneTree(0);
>
> now have to enable all branches since they are needed for event selection
> chain->SetBranchStatus("*", 0);
> for(; ; )
> if(selection_function())
> newTree->Fill()
>
>
> The trees are connected and when a new file is opened in chain things
> go wrong. I tried reseting the branch addresses, but it didn't work.
> Is there any way to get it working?
>
> Thanks,
> Margar
> -------------------------------------------------------------------------
> Dr Margar Simonyan, post-doctoral researcher
> Niels Bohr Institute, Copenhagen University
> -------------------------------------------------------------------------
>
Received on Tue Apr 12 2011 - 14:58:16 CEST

This archive was generated by hypermail 2.2.0 : Tue Apr 12 2011 - 17:50:01 CEST