I am running into a problem with a standalone application that I wrote. Currently when it exits it takes on the order of 5 hours to exit. Now, that being said let me explain the application a little to you. First the application creates a TChain to load up the root trees that I have previously created. The number of individual files that it loads up is about 400 to 500 in the worst case. Once the files have been added to the program the system loops over all the events and fills histograms of various quantities. After the histos are filled a final root file is opened with TFile and the histos are saved to the new TFile with the Write() method on the TObject. This final root file is then closed. Here is the thing, it takes about 1 to 1.5 hours to loop over all my events, but then like 4-5 hours to close the TFile. So, something in not correct here. Nowhere am I killing the TChain so that could be an issue but I am not sure. I will include the code here to reference but it is not compilable since it depends on an outside defined class (MyJet). Any comments are welcomed.
I forgot to mention that the version of root that I am using is 4.04/02b here at D0. I also forgot to mention that the memory usage starts to go up, even possibly to double after the event loop is finished and it is trying to save the TFile.
I would have just attached it but it is 100M is size, figured that would be abuse. The effect does not show up untill you have a lot of events or files loaded. It does not become noticable till you have about 20000000 events, so if you load the two files several times you will get to this. Just untar and execute “./make” and then “./execute” to run it. I just compiled it clean on a clued0 node.