Esempio n. 1
0
            print "typemap :", len(typemap), "header : ", len(header) # we should not have added any variable
            raise Exception # should not happen


        # create the branches
        for var in header:
            type=typemap[var]
            if type=="float":
                maps [ var ] = array.array('f',[0.0])
                tree.Branch(var , maps[var],  '% s/F' % (var))
            elif type=="int":
                maps [ var ] = array.array('i',[0])
                tree.Branch(var , maps[var],  '% s/I' % (var))

        if debug:
            tree.GetListOfBranches().Print()    

        # now fill the tree    
        ientry=0
        nvar=len(header)
        for entry in allentries:
            for ivar in range(nvar):
                varval=entry[ivar]
                varname=header[ivar]
                type=typemap[varname]
                if varname=="Label":
                    if varval=="s":
                        varval=1
                    elif varval=="b":
                        varval=0
                    else:
Esempio n. 2
0
def get_branch_size(b):
    result = 0
    l = b.GetListOfBranches()
    for i in xrange(l.GetLast() + 1):
        sub = l.At(i)
        result += sub.GetTotalSize()
    return result * 1.0


f = TFile(sys.argv[1], "READ")

trees = ['CollectionTree', 'RunMetadataTree']
for tree in trees:
    t = TTree()
    t = f.Get(tree)
    branchnames = map(lambda branch: branch.GetName(), t.GetListOfBranches())

    MB = 1e6
    GB = 1e9
    zipbytes = t.GetZipBytes()  # returns compressed size.

    names = {}
    sizes = {}
    for b in branchnames:
        branch = t.GetBranch(b)
        if b in names.keys():
            names[b] += 1
            #print "names[b]=", names[b]
            continue
        s = get_branch_size(branch)
        names[b] = 1