Converting some analysis code from using a ROOT-tuple to using a ROOT Tree (i.e. from individual variables in arrays to real objects) I've noted some very strange behaviour with the readout speed. With the old ROOT-tuple I could vastly increase the speed of the code by turning off all branches and then just turning back on the branches that I was interested in looking at. However with the shift to the ROOT-Tree whose branches consist of TClonesArray the exact reverse is true! When I turn off all the branches except the one I am interested in the GetEntry() method of the tree takes 50-60ms to execute. However when I to not turn the branches off the time taken for GetEntry() drops to ~3ms/event. Does anyone understand what is going on here? I don't see how not unpacking a branch can possibly slow the code down! I'm using ROOT 3.03/07 and in both cases I only do SetBranchAddress (to a TClonesArray) for the branches I am interested in reading out. Roger
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:11 MET