#! /usr/bin/env python
import lighthisto
import logging
import sys

if sys.version_info[:3] < (2,4,0):
    print "rivet scripts require Python version >= 2.4.0... exiting"
    sys.exit(1)

import os, copy, re
from math import sqrt

## Try to load faster but non-standard cElementTree module
try:
    import xml.etree.cElementTree as ET
except ImportError:
    try:
        import cElementTree as ET
    except ImportError:
        try:
            import xml.etree.ElementTree as ET
        except:
            sys.stderr.write("Can't load the ElementTree XML parser: please install it!\n")
            sys.exit(1)

# #############################################

def fillAbove(desthisto, sourcehistosbyptmin):
    for i,b in enumerate(desthisto.getBins()):
        ## Fill bins with pT-ordered histos (so that 'highest always wins')
        for ptmin, h in sorted(sourcehistosbyptmin.iteritems()):
            newb = h.getBin(i)
            if newb.xlow >= ptmin:
                b.val =  newb.val
                b.errplus =  newb.errplus
                b.errminus =  newb.errminus
                b._focus= newb._focus

def fillAboveTeV(desthisto, sourcehistosbyptmin):
    for i,b in enumerate(desthisto.getBins()):
        ## Fill bins with pT-ordered histos (so that 'highest always wins')
        for ptmin, h in sorted(sourcehistosbyptmin.iteritems()):
            newb = h.getBin(i)
            if newb.xlow*500. >= ptmin:
                b.val =  newb.val
                b.errplus =  newb.errplus
                b.errminus =  newb.errminus
                b._focus= newb._focus

def mergeByPt(hpath, sqrts):
    global inhistos_pt
    global outhistos
    try:
        fillAbove(outhistos[hpath], inhistos_pt[hpath][float(sqrts)])
    except:
        pass

def mergeByPtTeV(hpath, sqrts):
    global inhistos_pt
    global outhistos
    try:
        fillAboveTeV(outhistos[hpath], inhistos_pt[hpath][float(sqrts)])
    except:
        pass

def mergeByMass(hpath, sqrts):
    global inhistos_mass
    global outhistos
    try:
        fillAbove(outhistos[hpath], inhistos_mass[hpath][float(sqrts)])
    except:
        pass

def mergeByMassTeV(hpath, sqrts):
    global inhistos_mass
    global outhistos
    try:
        fillAboveTeV(outhistos[hpath], inhistos_mass[hpath][float(sqrts)])
    except:
        pass

def useOnePt(hpath, sqrts, ptmin):
    global inhistos_pt
    global outhistos
    try:
       ## Find best pT_min match
        ptmins = inhistos_pt[hpath][float(sqrts)].keys()
        closest_ptmin = None
        for ptm in ptmins:
            if closest_ptmin is None or \
                    abs(ptm-float(ptmin)) < abs(closest_ptmin-float(ptmin)):
                closest_ptmin = ptm
        if closest_ptmin != float(ptmin):
            logging.warning("Inexact match for requested pTmin=%s: " % ptmin + \
                                "using pTmin=%e instead" % closest_ptmin)
        outhistos[hpath] =  inhistos_pt[hpath][float(sqrts)][closest_ptmin]
    except:
        pass

def useOneMass(hpath, sqrts, ptmin):
    global inhistos_pt
    global outhistos
    try:
       ## Find best pT_min match
        ptmins = inhistos_mass[hpath][float(sqrts)].keys()
        closest_ptmin = None
        for ptm in ptmins:
            if closest_ptmin is None or \
                    abs(ptm-float(ptmin)) < abs(closest_ptmin-float(ptmin)):
                closest_ptmin = ptm
        if closest_ptmin != float(ptmin):
            logging.warning("Inexact match for requested pTmin=%s: " % ptmin + \
                                "using pTmin=%e instead" % closest_ptmin)
        outhistos[hpath] =  inhistos_mass[hpath][float(sqrts)][closest_ptmin]
    except:
        pass

# #######################################

if __name__ == "__main__":
    import logging
    from optparse import OptionParser, OptionGroup
    parser = OptionParser(usage="%prog name")
    verbgroup = OptionGroup(parser, "Verbosity control")
    verbgroup.add_option("-v", "--verbose", action="store_const", const=logging.DEBUG, dest="LOGLEVEL",
                         default=logging.INFO, help="print debug (very verbose) messages")
    verbgroup.add_option("-q", "--quiet", action="store_const", const=logging.WARNING, dest="LOGLEVEL",
                         default=logging.INFO, help="be very quiet")
    parser.add_option_group(verbgroup)
    (opts, args) = parser.parse_args()
    logging.basicConfig(level=opts.LOGLEVEL, format="%(message)s")


    ## Prefix used in dat file headers
    headerprefix = "# "

aidafiles=["-900-UE.aida"   ,"-2360-UE.aida"    ,
           "-7-UE.aida"     ,"-900-UE-Long.aida",
           "-7-UE-Long.aida","-7-Jets-0.aida",
           "-7-Jets-All-1.aida","-7-Jets-All-2.aida",
           "-7-Jets-1.aida","-7-Jets-2.aida",
           "-7-Jets-3.aida","-7-Jets-4.aida","-7-Jets-5.aida",
           "-7-Jets-6.aida","-7-Jets-7.aida","-7-Jets-8.aida",
           "-7-Heavy-1.aida","-7-Heavy-2.aida","-7-Heavy-3.aida",
           "-7-Heavy-4.aida","-7-Heavy-5.aida"]

## Get histos
inhistos_pt   = {}
inhistos_mass = {}
outhistos={}
weights = {}
for f in aidafiles:
    file="LHC"+f
    sqrts=7000
    if(file.find("-900-UE")>0) :
        sqrts=900
        ptmin=0.
    elif(file.find("-2360-UE")>0) :
        sqrts=2360
        ptmin=0.
    elif(file.find("-7-UE")>0) :
        ptmin=0.
    elif(file.find("-7-Jets-0")>0) :
        ptmin=4.
    elif(file.find("-7-Jets-1")>0) :
        ptmin=30.
    elif(file.find("-7-Jets-2")>0) :
        ptmin=40.
    elif(file.find("-7-Jets-3")>0) :
        ptmin=80.
    elif(file.find("-7-Jets-4")>0) :
        ptmin=110.
    elif(file.find("-7-Jets-5")>0) :
        ptmin=210.
    elif(file.find("-7-Jets-6")>0) :
        ptmin=260.
    elif(file.find("-7-Jets-7")>0) :
        ptmin=400.
    elif(file.find("-7-Jets-8")>0) :
        ptmin=600.
    elif(file.find("-7-Heavy-1.aida")>0) :
        ptmin=0.
    elif(file.find("-7-Heavy-2.aida")>0) :
        ptmin=20.
    elif(file.find("-7-Heavy-3.aida")>0) :
        ptmin=50.
    elif(file.find("-7-Heavy-4.aida")>0) :
        ptmin=80.
    elif(file.find("-7-Heavy-5.aida")>0) :
        ptmin=110.
    elif(file.find("-7-Top.aida")>0) :
        ptmin=0.
    elif(file.find("-7-Jets-All-1")>0) :
        ptmin=25.
    elif(file.find("-7-Jets-All-2")>0) :
        ptmin=50.
    if not os.access(file, os.R_OK):
        logging.error("%s can not be read" % file)
        break
    try:
        tree = ET.parse(file)
    except:
        logging.error("%s can not be parsed as XML" % file)
        break
    tree = ET.parse(file)
    ## Get histos from this AIDA file
    for dps in tree.findall("dataPointSet"):
        h = lighthisto.Histo.fromDPS(dps)
        # di-jet decorrelations
        # jet shapes
        if(h.fullPath().find("S8924791")>0 or 
           h.fullPath().find("S8971293")>0 or 
           h.fullPath().find("S8817804")>0 or 
           h.fullPath().find("I1082936")>0 or 
           h.fullPath().find("S8994773")>0 or 
           h.fullPath().find("S8918562")>0 or 
           h.fullPath().find("S8624100")>0 or 
           h.fullPath().find("S8625980")>0 or 
           h.fullPath().find("S8894728")>0 or 
           h.fullPath().find("S8957746")>0 or 
           h.fullPath().find("S9126244")>0 or 
           h.fullPath().find("S9120041")>0 or 
           h.fullPath().find("S8950903")>0 or 
           h.fullPath().find("S9086218")>0 or 
           h.fullPath().find("S9088458")>0 or 
           h.fullPath().find("I919017" )>0 or
           h.fullPath().find("I926145" )>0 or
           h.fullPath().find("S8941262")>0 or
           h.fullPath().find("S8973270")>0 or
           h.fullPath().find("I1082009")>0) :
           if not inhistos_pt.has_key(h.fullPath()):
               inhistos_pt[h.fullPath()] = {}
           tmpE = inhistos_pt[h.fullPath()]
           if not tmpE.has_key(sqrts):
               tmpE[sqrts] = {}
           tmpP = tmpE[sqrts]
           if not tmpP.has_key(ptmin):
               tmpP[ptmin] = h
           else:
                raise Exception("A set with ptmin = %s already exists" % ( ptmin))
        else :
            outhistos[h.fullPath()] = h

aidafiles=["-7-Jets-9.aida" ,"-7-Jets-10.aida",
           "-7-Jets-11.aida","-7-Jets-12.aida","-7-Jets-13.aida"]

for f in aidafiles:
    file="LHC"+f
    if(file.find("-7-Jets-9.aida")>0) :
        sqrts=7000
        mass=110
    elif(file.find("-7-Jets-10.aida")>0) :
        sqrts=7000
        mass=300
    elif(file.find("-7-Jets-11.aida")>0) :
        sqrts=7000
        mass=800
    elif(file.find("-7-Jets-12.aida")>0) :
        sqrts=7000
        mass=1200
    elif(file.find("-7-Jets-13.aida")>0) :
        sqrts=7000
        mass=2000
    if not os.access(file, os.R_OK):
        logging.error("%s can not be read" % file)
        break
    try:
        tree = ET.parse(file)
    except:
        logging.error("%s can not be parsed as XML" % file)
        break
    tree = ET.parse(file)
    ## Get histos from this AIDA file
    for dps in tree.findall("dataPointSet"):
        h = lighthisto.Histo.fromDPS(dps)
        if(h.fullPath().find("8817804")>0 or
           h.fullPath().find("1082936")>0 or
           h.fullPath().find("8968497")>0) :
           if not inhistos_mass.has_key(h.fullPath()):
               inhistos_mass[h.fullPath()] = {}
           tmpE = inhistos_mass[h.fullPath()]
           if not tmpE.has_key(sqrts):
               tmpE[sqrts] = {}
           tmpP = tmpE[sqrts]
           if not tmpP.has_key(mass):
               tmpP[mass] = h
           else:
                raise Exception("A set with mass = %s already exists" % ( mass))


## Make empty output histos if needed
for hpath,hsets in inhistos_pt.iteritems():
    if( hpath.find("8924791")>0  or 
        h.fullPath().find("8971293")>0 or 
        h.fullPath().find("8817804")>0 or 
        h.fullPath().find("8968497")>0 or 
        h.fullPath().find("9126244")>0  or 
        h.fullPath().find("1082936")>0 ) :
        workhisto = copy.deepcopy(hsets.values()[0].values()[0])
        outhistos[hpath] = workhisto
        ## Empty the bin set for histos which we're going to merge
        for b in outhistos[hpath]:
            b.val = 0
            b.errplus = 0
            b.errminus = 0
            b._focus= None

logging.info("Processing CMS_2011_S8957746")
useOnePt("/CMS_2011_S8957746/d01-x01-y01", "7000", "80" )
useOnePt("/CMS_2011_S8957746/d02-x01-y01", "7000", "80" )
useOnePt("/CMS_2011_S8957746/d03-x01-y01", "7000", "110" )
useOnePt("/CMS_2011_S8957746/d04-x01-y01", "7000", "110" )
useOnePt("/CMS_2011_S8957746/d05-x01-y01", "7000", "210" )
useOnePt("/CMS_2011_S8957746/d06-x01-y01", "7000", "210" )

logging.info("Processing ATLAS_2010_S8894728")
useOnePt("/ATLAS_2010_S8894728/d01-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d01-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d01-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d02-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d02-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d02-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d03-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d03-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d03-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d04-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d04-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d04-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d05-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d06-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d07-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d08-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d09-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d09-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d09-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d10-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d10-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d10-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d11-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d11-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d11-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d12-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d12-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d12-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d13-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d13-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d13-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d13-x01-y04",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d14-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d14-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d14-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d14-x01-y04", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d15-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d15-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d15-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d15-x01-y04",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d16-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d16-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d16-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d16-x01-y04", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d17-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d17-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d17-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d18-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d18-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d18-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d19-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d19-x01-y02",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d19-x01-y03",  "900", "0" )
useOnePt("/ATLAS_2010_S8894728/d20-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d20-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d20-x01-y03", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d21-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8894728/d22-x01-y01", "7000", "0" )

logging.info("Processing ATLAS_2011_S8994773")
useOnePt("/ATLAS_2011_S8994773/d01-x01-y01", "900", "0" )
useOnePt("/ATLAS_2011_S8994773/d02-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2011_S8994773/d03-x01-y01", "900", "0" )
useOnePt("/ATLAS_2011_S8994773/d04-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2011_S8994773/d13-x01-y01", "900", "0" )
useOnePt("/ATLAS_2011_S8994773/d13-x01-y02", "900", "0" )
useOnePt("/ATLAS_2011_S8994773/d13-x01-y03", "900", "0" )
useOnePt("/ATLAS_2011_S8994773/d14-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2011_S8994773/d14-x01-y02", "7000", "0" )
useOnePt("/ATLAS_2011_S8994773/d14-x01-y03", "7000", "0" )

logging.info("Processing ALICE_2010_S8624100")
useOnePt("/ALICE_2010_S8624100/d11-x01-y01", "900", "0" )
useOnePt("/ALICE_2010_S8624100/d12-x01-y01", "900", "0" )
useOnePt("/ALICE_2010_S8624100/d13-x01-y01", "900", "0" )
useOnePt("/ALICE_2010_S8624100/d17-x01-y01","2360", "0" )
useOnePt("/ALICE_2010_S8624100/d18-x01-y01","2360", "0" )
useOnePt("/ALICE_2010_S8624100/d19-x01-y01","2360", "0" )

logging.info("Processing ALICE_2010_S8625980")
useOnePt("/ALICE_2010_S8625980/d03-x01-y01", "7000", "0" )
useOnePt("/ALICE_2010_S8625980/d04-x01-y01",  "900", "0" )
useOnePt("/ALICE_2010_S8625980/d05-x01-y01", "2360", "0" )
useOnePt("/ALICE_2010_S8625980/d06-x01-y01", "7000", "0" )

logging.info("Processing ATLAS_2010_S8918562")
useOnePt("/ATLAS_2010_S8918562/d01-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d02-x01-y01", "2360", "0" )
useOnePt("/ATLAS_2010_S8918562/d03-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d04-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d05-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d06-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d07-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d08-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d09-x01-y01", "2360", "0" )
useOnePt("/ATLAS_2010_S8918562/d10-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d11-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d12-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d13-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d14-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d15-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d16-x01-y01", "2360", "0" )
useOnePt("/ATLAS_2010_S8918562/d17-x01-y01", "7000", "0" )


useOnePt("/ATLAS_2010_S8918562/d18-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d19-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d20-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d21-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d22-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d23-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d24-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d25-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d26-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d27-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d28-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d29-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d30-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d31-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d32-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d33-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d34-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d35-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d36-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d37-x01-y01", "7000", "0" )
useOnePt("/ATLAS_2010_S8918562/d38-x01-y01",  "900", "0" )
useOnePt("/ATLAS_2010_S8918562/d39-x01-y01", "7000", "0" )



logging.info("Processing ATLAS_2011_S8971293")
useOnePt("/ATLAS_2011_S8971293/d01-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y03", "7000", "210" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y04", "7000", "260" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y05", "7000", "260" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y06", "7000", "400" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y07", "7000", "400" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y08", "7000", "600" )
useOnePt("/ATLAS_2011_S8971293/d01-x01-y09", "7000", "600" )
logging.info("Processing ATLAS_2011_S8924791")
useOnePt("/ATLAS_2011_S8924791/d01-x01-y01", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x01-y02", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x02-y01", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x02-y02", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x03-y01", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x03-y02", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x04-y01", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x04-y02", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x05-y01", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x05-y02", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x06-y01", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d01-x06-y02", "7000", "30" )
useOnePt("/ATLAS_2011_S8924791/d02-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x01-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x02-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x02-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x03-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x03-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x04-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x04-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x05-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x05-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x06-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d02-x06-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x01-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x02-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x02-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x03-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x03-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x04-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x04-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x05-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x05-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x06-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d03-x06-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S8924791/d04-x01-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x01-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x02-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x02-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x03-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x03-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x04-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x04-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x05-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x05-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x06-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d04-x06-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S8924791/d05-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x02-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x02-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x03-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x03-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x04-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x04-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x05-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x05-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x06-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d05-x06-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x02-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x02-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x03-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x03-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x04-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x04-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x05-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x05-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x06-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d06-x06-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S8924791/d07-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x01-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x02-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x02-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x03-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x03-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x04-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x04-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x05-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x05-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x06-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d07-x06-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S8924791/d08-x01-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x01-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x02-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x02-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x03-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x03-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x04-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x04-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x05-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x05-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x06-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d08-x06-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x01-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x01-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x02-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x02-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x03-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x03-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x04-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x04-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x05-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x05-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x06-y01", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d09-x06-y02", "7000", "260" )
useOnePt("/ATLAS_2011_S8924791/d10-x01-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x01-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x02-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x02-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x03-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x03-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x04-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x04-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x05-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x05-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x06-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d10-x06-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x01-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x01-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x02-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x02-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x03-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x03-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x04-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x04-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x05-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x05-y02", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x06-y01", "7000", "400" )
useOnePt("/ATLAS_2011_S8924791/d11-x06-y02", "7000", "400" )
logging.info("Processing ATLAS_2010_S8817804")
mergeByPt("/ATLAS_2010_S8817804/d01-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d02-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d03-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d04-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d05-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d06-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d07-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d08-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d09-x01-y01", "7000")
mergeByPt("/ATLAS_2010_S8817804/d10-x01-y01", "7000")

mergeByMass("/ATLAS_2010_S8817804/d11-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d12-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d13-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d14-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d15-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d16-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d17-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d18-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d19-x01-y01", "7000")
mergeByMass("/ATLAS_2010_S8817804/d20-x01-y01", "7000")

useOneMass("/ATLAS_2010_S8817804/d21-x01-y01", "7000", "300" )
useOneMass("/ATLAS_2010_S8817804/d22-x01-y01", "7000", "300" )
useOneMass("/ATLAS_2010_S8817804/d23-x01-y01", "7000", "800" )
useOneMass("/ATLAS_2010_S8817804/d24-x01-y01", "7000", "300" )
useOneMass("/ATLAS_2010_S8817804/d25-x01-y01", "7000", "300" )
useOneMass("/ATLAS_2010_S8817804/d26-x01-y01", "7000", "800" )

logging.info("Processing ATLAS_2012_I1082936")
mergeByPt("/ATLAS_2012_I1082936/d01-x01-y01", "7000")
mergeByPt("/ATLAS_2012_I1082936/d01-x01-y02", "7000")
mergeByPt("/ATLAS_2012_I1082936/d01-x01-y03", "7000")
mergeByPt("/ATLAS_2012_I1082936/d01-x01-y04", "7000")
mergeByPt("/ATLAS_2012_I1082936/d01-x01-y05", "7000")
mergeByPt("/ATLAS_2012_I1082936/d01-x01-y06", "7000")
mergeByPt("/ATLAS_2012_I1082936/d01-x01-y07", "7000")
mergeByPt("/ATLAS_2012_I1082936/d02-x01-y01", "7000")
mergeByPt("/ATLAS_2012_I1082936/d02-x01-y02", "7000")
mergeByPt("/ATLAS_2012_I1082936/d02-x01-y03", "7000")
mergeByPt("/ATLAS_2012_I1082936/d02-x01-y04", "7000")
mergeByPt("/ATLAS_2012_I1082936/d02-x01-y05", "7000")
mergeByPt("/ATLAS_2012_I1082936/d02-x01-y06", "7000")
mergeByPt("/ATLAS_2012_I1082936/d02-x01-y07", "7000")

mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y01", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y02", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y03", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y04", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y05", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y06", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y07", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y08", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d03-x01-y09", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y01", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y02", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y03", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y04", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y05", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y06", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y07", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y08", "7000")
mergeByMassTeV("/ATLAS_2012_I1082936/d04-x01-y09", "7000")


logging.info("Processing CMS_2011_S8968497")

useOneMass("/CMS_2011_S8968497/d01-x01-y01", "7000", "2000" )
useOneMass("/CMS_2011_S8968497/d02-x01-y01", "7000", "1200" )
useOneMass("/CMS_2011_S8968497/d03-x01-y01", "7000", "1200" )
useOneMass("/CMS_2011_S8968497/d04-x01-y01", "7000", "800" )
useOneMass("/CMS_2011_S8968497/d05-x01-y01", "7000", "800" )
useOneMass("/CMS_2011_S8968497/d06-x01-y01", "7000", "300" )
useOneMass("/CMS_2011_S8968497/d07-x01-y01", "7000", "300" )
useOneMass("/CMS_2011_S8968497/d08-x01-y01", "7000", "300" )
useOneMass("/CMS_2011_S8968497/d09-x01-y01", "7000", "110" )


logging.info("Processing ATLAS_2011_S9126244")
mergeByPt("/ATLAS_2011_S9126244/d01-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d01-x01-y02", "7000")
mergeByPt("/ATLAS_2011_S9126244/d02-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d02-x01-y02", "7000")
mergeByPt("/ATLAS_2011_S9126244/d03-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d03-x01-y02", "7000")
mergeByPt("/ATLAS_2011_S9126244/d04-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d04-x01-y02", "7000")
mergeByPt("/ATLAS_2011_S9126244/d05-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d05-x01-y02", "7000")


useOnePt("/ATLAS_2011_S9126244/d06-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d06-x01-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d07-x01-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d07-x01-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d08-x01-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d08-x01-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d09-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d09-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d10-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d10-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d11-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d11-x01-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d12-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d12-x01-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d13-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d13-x01-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d14-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d14-x01-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d15-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d15-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d16-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d16-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d17-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d17-x01-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d18-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d18-x01-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d19-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d20-x01-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d21-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d22-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d23-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d24-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d25-x01-y01", "7000", "210" )
mergeByPt("/ATLAS_2011_S9126244/d26-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d26-x01-y02", "7000")
mergeByPt("/ATLAS_2011_S9126244/d27-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d27-x01-y02", "7000")
mergeByPt("/ATLAS_2011_S9126244/d28-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d28-x01-y02", "7000")
mergeByPt("/ATLAS_2011_S9126244/d29-x01-y01", "7000")
mergeByPt("/ATLAS_2011_S9126244/d29-x01-y02", "7000")
useOnePt("/ATLAS_2011_S9126244/d30-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d31-x01-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d32-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d33-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d34-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d35-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d36-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d37-x01-y01", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d37-x01-y02", "7000", "40" )
useOnePt("/ATLAS_2011_S9126244/d38-x01-y01", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d38-x01-y02", "7000", "80" )
useOnePt("/ATLAS_2011_S9126244/d39-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d39-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d40-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d40-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d41-x01-y01", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d41-x01-y02", "7000", "110" )
useOnePt("/ATLAS_2011_S9126244/d42-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d42-x01-y02", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d43-x01-y01", "7000", "210" )
useOnePt("/ATLAS_2011_S9126244/d43-x01-y02", "7000", "210" )

# CMS_2011_S9120041 UE analysis
logging.info("Processing CMS_2011_S9120041")
useOnePt("/CMS_2011_S9120041/d01-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d02-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d03-x01-y01",  "900", "0" )
useOnePt("/CMS_2011_S9120041/d04-x01-y01",  "900", "0" )
useOnePt("/CMS_2011_S9120041/d05-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d06-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d07-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d08-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d09-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d10-x01-y01", "7000", "0" )
useOnePt("/CMS_2011_S9120041/d11-x01-y01",  "900", "0" )
useOnePt("/CMS_2011_S9120041/d12-x01-y01",  "900", "0" )
useOnePt("/CMS_2011_S9120041/d13-x01-y01",  "900", "0" )

# CMS dijet decorrelation
logging.info("Processing CMS_2011_S8950903")
useOnePt("/CMS_2011_S8950903/d01-x01-y01", "7000", "80" )
useOnePt("/CMS_2011_S8950903/d02-x01-y01", "7000", "110" )
useOnePt("/CMS_2011_S8950903/d03-x01-y01", "7000", "110" )
useOnePt("/CMS_2011_S8950903/d04-x01-y01", "7000", "210" )
useOnePt("/CMS_2011_S8950903/d05-x01-y01", "7000", "260" )

# CMS jet cross section
logging.info("Processing CMS_2011_S9086218")
mergeByPt("/CMS_2011_S9086218/d01-x01-y01", "7000")
mergeByPt("/CMS_2011_S9086218/d02-x01-y01", "7000")
mergeByPt("/CMS_2011_S9086218/d03-x01-y01", "7000")
mergeByPt("/CMS_2011_S9086218/d04-x01-y01", "7000")
mergeByPt("/CMS_2011_S9086218/d05-x01-y01", "7000")
mergeByPt("/CMS_2011_S9086218/d06-x01-y01", "7000")

# CMS 2/3 jet cross section ratio
logging.info("Processing CMS_2011_S9086218")
mergeByPtTeV("/CMS_2011_S9088458/d01-x01-y01", "7000")

# ATLAS track jet
logging.info("Processing ATLAS_2011_I919017")
mergeByPt("/ATLAS_2011_I919017/d01-x01-y01", "7000")
mergeByPt("/ATLAS_2011_I919017/d01-x01-y02", "7000")
mergeByPt("/ATLAS_2011_I919017/d01-x01-y03", "7000")
mergeByPt("/ATLAS_2011_I919017/d01-x01-y04", "7000")
useOnePt("/ATLAS_2011_I919017/d01-x02-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x02-y25",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x03-y25",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x04-y25",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d01-x05-y25",  "7000", "30" )
mergeByPt("/ATLAS_2011_I919017/d02-x01-y01", "7000")
mergeByPt("/ATLAS_2011_I919017/d02-x01-y02", "7000")
mergeByPt("/ATLAS_2011_I919017/d02-x01-y03", "7000")
mergeByPt("/ATLAS_2011_I919017/d02-x01-y04", "7000")
useOnePt("/ATLAS_2011_I919017/d02-x02-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x02-y25",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x03-y25",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x04-y25",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y01",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y02",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y03",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y04",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y05",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y06",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y07",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y08",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y09",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y10",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y11",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y12",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y13",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y14",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y15",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y16",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y17",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y18",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y19",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y20",  "7000", "30" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y21",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y22",  "7000",  "0" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y23",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y24",  "7000",  "4" )
useOnePt("/ATLAS_2011_I919017/d02-x05-y25",  "7000", "30" )

logging.info("Processing ATLAS_2011_I926145")
mergeByPt("/ATLAS_2011_I926145/d01-x01-y01", "7000")
mergeByPt("/ATLAS_2011_I926145/d02-x01-y01", "7000")
mergeByPt("/ATLAS_2011_I926145/d03-x01-y01", "7000")

logging.info("Processing CMS_2011_S8941262")
useOnePt("/CMS_2011_S8941262/d01-x01-y01",  "7000", "0" )
useOnePt("/CMS_2011_S8941262/d03-x01-y01",  "7000", "0" )
mergeByPt("/CMS_2011_S8941262/d02-x01-y01", "7000")

logging.info("Processing CMS_2011_S8973270")
useOnePt("/CMS_2011_S8973270/d01-x01-y01",  "7000", "50" )
useOnePt("/CMS_2011_S8973270/d02-x01-y01",  "7000", "80" )
useOnePt("/CMS_2011_S8973270/d03-x01-y01",  "7000", "110" )
useOnePt("/CMS_2011_S8973270/d04-x01-y01",  "7000", "50" )
useOnePt("/CMS_2011_S8973270/d05-x01-y01",  "7000", "80" )
useOnePt("/CMS_2011_S8973270/d06-x01-y01",  "7000", "110" )

logging.info("Processing ATLAS_2012_I1082009")
useOnePt("/ATLAS_2012_I1082009/d08-x01-y01", "7000", "25" )
useOnePt("/ATLAS_2012_I1082009/d09-x01-y01", "7000", "25" )
useOnePt("/ATLAS_2012_I1082009/d10-x01-y01", "7000", "25" )
useOnePt("/ATLAS_2012_I1082009/d11-x01-y01", "7000", "50" )
useOnePt("/ATLAS_2012_I1082009/d12-x01-y01", "7000", "50" )
useOnePt("/ATLAS_2012_I1082009/d13-x01-y01", "7000", "25" )

# Choose output file
name = "LHC"+"-Jets.aida"
out = open(name, "w")
## Write out merged histos
out.write('<?xml version="1.0" encoding="ISO-8859-1" ?>\n')
out.write('<!DOCTYPE aida SYSTEM "http://aida.freehep.org/schemas/3.3/aida.dtd">\n')
out.write('<aida version="3.3">\n')
out.write('  <implementation version="1.1" package="FreeHEP"/>\n')
for hpath, h in sorted(outhistos.iteritems()):
    logging.debug("hpath = %s" % hpath)
    out.write(h.asAIDA() + "\n\n")
out.write('</aida>\n')

sys.exit(0)
