Parallel Processing a root file


Is there some sleek way in root to parallel process a rootfile?

So, say I have a root file of 15000 events and I want to break it into 15 pieces of 1000 events each and then do my own processing which will generate 15 secondary root files. I then want to merge the 15 secondary root files such that they would be just one file.

I guess I could just write a script that would do all these and then finally call TChain::Merge, but I was wondering if root had an inbuilt class for this?

  • Sujeewa

see version 5.21/06 Release Notes at
and look at PROOF, PROOF-lite at … html#proof


Hi Rene,

I see, thanks!

But till I get v5.22, if I were to run a script then to submit several jobs at the same time, what’s the best way to go about it?

For example if I do
system "root -b -q Mymacro.C(0,1649,0)’ ";
system "root -b -q Mymacro.C(0,1649,1)’ ";

in my script, then the system will wait till 1649.0 is done to run 1649.1 , right? How can I have them both go at the same time, and take advantage of the mutlicore of the machine?

  • Sujeewa