#!/usr/bin/env python

from argparse import ArgumentParser

parser = ArgumentParser()
parser.add_argument('-t', '--tree', required=True,
                  help="Tree name")
parser.add_argument('-o', '--output', required=True,
                  help="Output file name")
parser.add_argument('files', nargs='+',
                  help="Files to merge")
args = parser.parse_args()

from ROOT import TChain
import os
import sys

if os.path.exists(args.output):
    sys.exit("Output destination already exists.")

chain = TChain(args.tree)
print "Merging:"
for filename in args.files:
    print "%s/%s" % (filename, args.tree)
    chain.Add(filename)
print "Output: %s" % args.output
chain.Merge(args.output)
