コード例 #1
0
def TH1_to_TH2_Convert(filename, outputpath=''):
    FILELIST = read_file_name(filename)
    fn = FILELIST[0]; print(fn)
    histo_name_list = GetHistoNameList(filename); print(histo_name_list)
#    print(BranchName(histo_name_list[0]))
#    print Exclued_BranchName(histo_name_list[0])

    indicator = 0
    histList = []
    f = TFile(filename,"READ")
    dirlist = f.GetListOfKeys()
    ITER = dirlist.MakeIterator()
    key = ITER.Next(); #print(key.GetName())
    while key:
        dirlistb = f.GetListOfKeys()
        ITERb = dirlistb.MakeIterator()
        keyb = ITERb.Next()
        ijk = 0
        while keyb:
            if(Exclued_BranchName(key.GetName()) == Exclued_BranchName(keyb.GetName())):
                if(key.GetName() != keyb.GetName()):
                    Name2DHist = Exclued_BranchName(key.GetName()) + "Y_" + BranchName(key.GetName()) + "_X_" + BranchName(keyb.GetName()) 
                    
#                    hist = TH2D
                    print(Name2DHist)                   
                    indicator = indicator + 1
                    
            keyb = ITERb.Next()
        key = ITER.Next()

    print(indicator)
コード例 #2
0
def main():
    filename = "/Users/leejunho/Desktop/git/python3Env/group_study/fruit_team/ROOT/Project/functions/rootTree_rootHist/func/root2_tree_cut_tree.root"
    FileNameList = read_file_name(filename)
    #    BranchListAll = get_branch_list_all(FileNameList[2]) ; #print(BranchListAll)

    #    BranchListEachTree = get_branch_list_each_tree(FileNameList[2]); #print(BranchListEachTree)
    #    histo_xrange = set_histo_xrange(FileNameList[2], BranchListAll); #print(histo_xrange)
    print(CONVERT_WORKING2D(FileNameList[2], ""))
コード例 #3
0
def main():
    filelist = read_file_name("/Users/leejunho/Desktop/git/python3Env/group_study/fruit_team/ROOT/Project/functions/rootTree_rootHist/func/root2_tree_cut_tree_hist.root")

#    print(filelist[2])
    TH1_to_TH2_Convert(filelist[2],".")
コード例 #4
0
def CONVERT_WORKING2D(filename, outputpath="", NBins=50, NYBins=50):  ### FIXME

    print(
        "*********************************************************************************************"
    )
    print("            This is 2D histo filling process          ")
    print(
        "*********************************************************************************************"
    )
    FileNameList = read_file_name(filename)
    #    print(FileNameList)
    BranchListAll = get_branch_list_all(FileNameList[2])
    BranchListEachTree = get_branch_list_each_tree(FileNameList[2])
    histo_xrange = set_histo_xrange(FileNameList[2], BranchListAll,
                                    BranchListEachTree)

    indicator = 0
    f = TFile(FileNameList[2], "READ")
    dirlist = f.GetListOfKeys()
    ITER = dirlist.MakeIterator()
    key = ITER.Next()
    DichistList = {}
    while key:
        histList = []
        NamehistList = []
        tree = key.ReadObj()
        branchlist = tree.GetListOfBranches()
        if (branchlist.IsEmpty()):
            continue
        ITER_b = branchlist.MakeIterator()
        key_b = ITER_b.Next()
        while key_b:
            branchlistbb = tree.GetListOfBranches()
            ITER_bb = branchlistbb.MakeIterator()
            key_bb = ITER_bb.Next()
            while key_bb:
                if ((key_b.GetName()) != (key_bb.GetName())):
                    Name2DHist = tree.GetName() + "_X_" + BranchName(
                        key_b.GetName()) + "_Y_" + BranchName(key_bb.GetName())
                    #                    print(Name2DHist)
                    #                    print(type(histo_xrange[tree.GetName()][key_b.GetName()][0]))
                    #                    hist = TH2D(Name2DHist, Name2DHist, 200, histo_xrange[tree.GetName()][key_b.GetName()][0], histo_xrange[tree.GetName()][key_b.GetName()][1], 200, histo_xrange[tree.GetName()][key_bb.GetName()][0], histo_xrange[tree.GetName()][key_bb.GetName()][1])
                    #FIXME #FIXME #FIXME #FIXME #FIXME #FIXME #FIXME #FIXME #FIXME #FIXME #FIXME #FIXME  Set bin number !!!!!

                    #                    hist = TH2D(Name2DHist, Name2DHist, NBins, histo_xrange[tree.GetName()][key_b.GetName()][0], histo_xrange[tree.GetName()][key_b.GetName()][1], NBins, histo_xrange[tree.GetName()][key_bb.GetName()][0], histo_xrange[tree.GetName()][key_bb.GetName()][1])  ##for soomin
                    hist = TH2D(
                        Name2DHist, Name2DHist, NBins,
                        histo_xrange[tree.GetName()][key_b.GetName()][0],
                        histo_xrange[tree.GetName()][key_b.GetName()][1],
                        NYBins,
                        histo_xrange[tree.GetName()][key_bb.GetName()][0],
                        histo_xrange[tree.GetName()][key_bb.GetName()][1])

                    histList.append(hist)
                    indicator = indicator + 1

                key_bb = ITER_bb.Next()
            key_b = ITER_b.Next()
        DichistList[tree.GetName()] = histList
        key = ITER.Next()

#    print(DichistList)
##    print(indicator)

    dicHistList = Fill_histograms(FileNameList[2], BranchListAll, DichistList,
                                  BranchListEachTree)

    if (outputpath == ''):
        Name_Output_File = FileNameList[3] + "/" + FileNameList[
            0] + "_hist2D.root"
        Name_Output_File = Name_Output_File.replace("//", "/")
    elif (outputpath[0] == "/"):
        Name_Output_File = outputpath + "/" + FileNameList[0] + "_hist2D.root"
        Name_Output_File = Name_Output_File.replace("//", "/")
#        print("!@#!@!@#!@ ",Name_Output_File)
    elif (outputpath[0] == "~"):
        Name_Output_File = outputpath.replace(
            "~", os.environ['HOME']) + FileNameList[0] + "_hist2D.root"
        Name_Output_File = Name_Output_File.replace("//", "/")
#        print("!@#!@!@#!@ ",Name_Output_File)
    else:
        Name_Output_File = os.getcwd(
        ) + "/" + outputpath + FileNameList[0] + "_hist2D.root"
        Name_Output_File = Name_Output_File.replace("//", "/")


#        print("!@#!@!@#!@ ",Name_Output_File)

#    Name_Output_File = FileNameList[0] + "_hist2D.root"
    outfile = TFile(Name_Output_File, "RECREATE")

    for i in range(len(dicHistList)):
        for j in range(len(list(dicHistList.values())[i])):
            list(dicHistList.values())[i][j].Write()
    print("")
    print("////////////////////////////////////////////////")
    print("outputfile : ")
    print(Name_Output_File)
    print("////////////////////////////////////////////////")
    print("")
    outfile.Close()

    print(
        "*********************************************************************************************"
    )
    gBenchmark.Show("Filling & Writing 2D Histograms")
    print(
        "*********************************************************************************************"
    )

    return Name_Output_File