Hi rooters, I think there is a bug in TChain::Merge. I have a chain of files, each of which has trees with a single branch, made by a TBranch (splitlevel = 1) on this class: class GAHPairTreeElem: public TObject { public: // Not using f convention because this is a struct: GAHPairTreeElem() {}; GAHPairTreeElem(int Create); TClonesArray *Tracks; TClonesArray *Pairs; void Clear(); // Called to clear both clonesarrays in my loops. ClassDef(GAHPairTreeElem,1) }; By the construction of this, number of Pairs = combinations(2 tracks) in each event. Because I need to do some random access on this tree when I create a mixed-event background for the pairs, I want to merge the chain into a single tree for faster access. When I do so, I run into trouble if either 0 tracks or 0 pairs are in any entry. It looks like in that case, the clonesarray from the previous event is held over. (See scans below) I ran into this problem as well in my own loops over entries, but was able to work around it by calling Clear on the clonesarrays myself in-between loading events; but I can't do that when I'm using the TChain::Merge facility. I'm using Root 2.25/02, but I don't think TBranchClones code has changed much lately. Here's the scan of the first part of the chain: ************************************ * Row * Tracks_ * Pairs_ * ************************************ * 0 * 1 * 0 * * 1 * 1 * 0 * * 2 * 1 * 0 * * 3 * 0 * 0 * * 4 * 1 * 0 * * 5 * 2 * 1 * * 6 * 1 * 0 * * 7 * 1 * 0 * * 8 * 3 * 3 * * 9 * 2 * 1 * * 10 * 0 * 0 * * 11 * 2 * 1 * * 12 * 1 * 0 * * 13 * 1 * 0 * * 14 * 0 * 0 * * 15 * 0 * 0 * * 16 * 0 * 0 * * 17 * 1 * 0 * * 18 * 1 * 0 * * 19 * 1 * 0 * * 20 * 0 * 0 * * 21 * 0 * 0 * * 22 * 1 * 0 * * 23 * 0 * 0 * * 24 * 0 * 0 * ************************************ And here's the scan of the merged tree created from that chain: ************************************ * Row * Tracks_ * Pairs_ * ************************************ * 0 * 1 * 0 * * 1 * 1 * 0 * * 2 * 1 * 0 * * 3 * 1 * 0 * * 4 * 1 * 0 * * 5 * 2 * 1 * * 6 * 1 * 1 * * 7 * 1 * 1 * * 8 * 3 * 3 * * 9 * 2 * 1 * * 10 * 2 * 1 * * 11 * 2 * 1 * * 12 * 1 * 1 * * 13 * 1 * 1 * * 14 * 1 * 1 * * 15 * 1 * 1 * * 16 * 1 * 1 * * 17 * 1 * 1 * * 18 * 1 * 1 * * 19 * 1 * 1 * * 20 * 1 * 1 * * 21 * 1 * 1 * * 22 * 1 * 1 * * 23 * 1 * 1 * * 24 * 1 * 1 * ************************************
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:38 MET