예제 #1
0
def DATA_Merger(infilename1, infilename2):
    filename_list1 = read_file_name(infilename1)
    infile1 = filename_list1[2]
    filename_list2 = read_file_name(infilename2)
    infile2 = filename_list2[2]
    DATE_ROW = MakeList_column(infile1)
    DATA_ROW = MakeList_column(infile2)
    for i in range(len(DATA_ROW)):
        DATE_ROW.append(DATA_ROW[i])
    NEWNAME = infile1.replace(".txt", "_MERGE_" + filename_list2[0])
    FN = NEWNAME + ".txt"
    Of = open(FN, "w+")
    for j in range(len(DATE_ROW[0])):
        for i in range(len(DATE_ROW)):
            Of.write("%s" % DATE_ROW[i][j])
            if (i != len(DATE_ROW) - 1):
                Of.write(" ")
            else:
                Of.write("\n")


#        Of.write("%s " %DATE_ROW[0][j])
#        Of.write("%s\n" %DATE_ROW[1][j])
    Of.close()
    return FN
예제 #2
0
def Month_divide(filename):
    FILE = read_file_name(filename)
    infile1 = FILE[2]
    OUTPUT_PATH = FILE[3] + FILE[0]
    COL_LIST1 = MakeList_column(infile1)

    #print(COL_LIST1)

    M_LIST = []

    for k in range(len(COL_LIST1[0])):
        gg = []
        for m in range(len(COL_LIST1)):
            gg.append(COL_LIST1[m][k])

        M_LIST.append(gg)
    #    if k==0:
    #        continue

    #print(M_LIST)

    RETURN_LIST = []
    bb = []
    for a in range(len(M_LIST)):
        #    aa=[]
        #    aa.append(M_LIST[a])
        if a > 1 and (float(M_LIST[a][0]) - float(M_LIST[a - 1][0])) > 1:
            #print(bb)
            FN = "M" + str(int(M_LIST[a - 1][0]) // 100) + ".txt"
            FN = OUTPUT_PATH + "_" + FN
            RETURN_LIST.append(FN)
            Of = open(FN, "w+")
            for i in range(len(bb)):
                for j in range(len(bb[i])):
                    Of.write("%s" % bb[i][j])
                    if (j != len(bb[i]) - 1):
                        Of.write(" ")
                    if (j == len(bb[i]) - 1):
                        Of.write("\n")
            Of.close()
            bb = []
            bb.append(M_LIST[0])
            cc = bb
        bb.append(M_LIST[a])
    #    print(bb)
    #print(bb)
    #print(cc)
    FN = "M" + str(int(cc[1][0]) // 100) + ".txt"
    FN = OUTPUT_PATH + "_" + FN
    Of = open(FN, "w+")
    for i in range(len(cc)):
        for j in range(len(cc[i])):
            Of.write("%s" % cc[i][j])
            if (j != len(cc[i]) - 1):
                Of.write(" ")
            if (j == len(cc[i]) - 1):
                Of.write("\n")
    Of.close()
    RETURN_LIST.append(FN)
    return RETURN_LIST
예제 #3
0
 def Read_Data_n_MC(self):
     return_list = []
     for i in range(len(self.filelist)):
         tfile = TFile(read_file_name(self.filelist[i])[2], "READ")
         return_list.append(tfile)
     #print(return_list)
     return return_list
예제 #4
0
def READ_ExRoot(filename):
    Filename_list = read_file_name(filename)
    Filename = Filename_list[2]
    chain = TChain("Delphes")  ## in C++ :: "TChain chain("LHEF");"
    chain.Add(Filename)
    ROOT.gSystem.Load("libDelphes")
    treeReader = ExRootTreeReader(chain)
    Entries = treeReader.GetEntries()
    print "Total Entry number :", Entries
    return [Entries, treeReader]
예제 #5
0
def READ_ExRoot(filename):
    Filename_list = read_file_name(filename)
    Filename = Filename_list[2]
    chain = TChain("Delphes")   ## in C++ :: "TChain chain("LHEF");"
    chain.Add(Filename)
    ROOT.gSystem.Load("libDelphes")
    gInterpreter.Declare('#include "/afs/cern.ch/user/j/junho/work/MyAnalysis_IPHC2/CMSSW_8_0_23/src/MG5_aMC_v2_5_5/Delphes/TEST/delphes/classes/DelphesClasses.h"')
    gInterpreter.Declare('#include "/afs/cern.ch/user/j/junho/work/MyAnalysis_IPHC2/CMSSW_8_0_23/src/MG5_aMC_v2_5_5/Delphes/TEST/delphes/external/ExRootAnalysis/ExRootTreeReader.h"')
    treeReader = ExRootTreeReader(chain)
    Entries = treeReader.GetEntries()
    print "Total Entry number :", Entries    
    return [Entries,treeReader]
예제 #6
0
def Store_ROOT(filename):
    Selected_Event_list = Do_selection(filename)
    FileName_list = read_file_name(filename)
    Infile_name = FileName_list[0]
    InputFile_dir = FileName_list[3]
    outROOT_file_name = "Ntuple_" + Infile_name
    Outfile = InputFile_dir + outROOT_file_name
    #print Outfile
    outROOT_file = TFile(Outfile,"recreate")
    tree = TTree('tree','tree')
    ### TODO  #### branch first
    lep1pt = np.zeros(1,dtype=float); lep1eta=np.zeros(1,dtype=float); lep1phi=np.zeros(1,dtype=float); #lep1E=np.zeros(1,dtype=float);
    lep2pt = np.zeros(1,dtype=float); lep2eta=np.zeros(1,dtype=float); lep2phi=np.zeros(1,dtype=float); #lep2E=np.zeros(1,dtype=float);
    jet1pt = np.zeros(1,dtype=float); jet1eta=np.zeros(1,dtype=float); jet1phi=np.zeros(1,dtype=float); jet1M=np.zeros(1,dtype=float);
    jet2pt = np.zeros(1,dtype=float); jet2eta=np.zeros(1,dtype=float); jet2phi=np.zeros(1,dtype=float); jet2M=np.zeros(1,dtype=float);
    MET = np.zeros(1,dtype=float); #lep1charge=np.zeros(1,dtype=float); lep2charge=np.zeros(1,dtype=float)
    lep1PID = np.zeros(1,dtype=float); lep2PID = np.zeros(1,dtype=float); Mjj=np.zeros(1,dtype=float); dr_ll_jj=np.zeros(1,dtype=float)
    dphijj=np.zeros(1,dtype=float);
    zeppen_lep1 = np.zeros(1,dtype=float); zeppen_lep2 = np.zeros(1,dtype=float)
    METphi = np.zeros(1,dtype=float); detajj = np.zeros(1,dtype=float); Mll = np.zeros(1,dtype=float);
    RpT = np.zeros(1,dtype=float);
    LL_Helicity=np.zeros(1,dtype=float); TL_Helicity=np.zeros(1,dtype=float); TT_Helicity=np.zeros(1,dtype=float);

    ### TODO  #### branch second
    tree.Branch('lep1pt',lep1pt,'lep1pt/D'); tree.Branch('lep1eta',lep1eta,'lep1eta/D');tree.Branch('lep1phi',lep1phi,'lep1phi/D'); #tree.Branch('lep1E',lep1E,'lep1E/D');
    tree.Branch('lep2pt',lep2pt,'lep2pt/D'); tree.Branch('lep2eta',lep2eta,'lep2eta/D');tree.Branch('lep2phi',lep2phi,'lep2phi/D'); #tree.Branch('lep2E',lep2E,'lep2E/D')
    tree.Branch('jet1pt',jet1pt,'jet1pt/D'); tree.Branch('jet1eta',jet1eta,'jet1eta/D');tree.Branch('jet1phi',jet1phi,'jet1phi/D'); tree.Branch('jet1M',jet1M,'jet1M/D')
    tree.Branch('jet2pt',jet2pt,'jet2pt/D'); tree.Branch('jet2eta',jet2eta,'jet2eta/D');tree.Branch('jet2phi',jet2phi,'jet2phi/D'); tree.Branch('jet2M',jet2M,'jet2M/D')
    tree.Branch('MET',MET,'MET/D');#tree.Branch('lep1charge',lep1charge,'lep1charge/D'); tree.Branch('lep2charge',lep2charge,'lep2charge/D');
    tree.Branch('lep1PID',lep1PID,'lep1PID/D'); tree.Branch('lep2PID',lep2PID,'lep2PID/D'); tree.Branch('Mjj',Mjj,'Mjj/D'); tree.Branch('dr_ll_jj',dr_ll_jj,'dr_ll_jj/D'); tree.Branch('dphijj',dphijj,'dphijj/D')
    tree.Branch('zeppen_lep1',zeppen_lep1,'zeppen_lep1/D'); tree.Branch('zeppen_lep2',zeppen_lep2,'zeppen_lep2/D')
    tree.Branch('METphi',METphi,'METphi/D'); tree.Branch('detajj',detajj,'detajj/D');
    tree.Branch('Mll',Mll,'Mll/D'); tree.Branch('RpT',RpT,'RpT/D')
    tree.Branch('LL_Helicity',LL_Helicity,'LL_Helicity/D'); tree.Branch('TL_Helicity',TL_Helicity,'TL_Helicity/D')
    tree.Branch('TT_Helicity',TT_Helicity,'TT_Helicity/D')


    ### TODO #### branch fill
    for i in range(len(Selected_Event_list)):
        lep1pt[0] = Selected_Event_list[i][0]; lep1eta[0] = Selected_Event_list[i][1]; lep1phi[0] = Selected_Event_list[i][2]; #lep1E[0] = Selected_Event_list[i][3];
        lep2pt[0] = Selected_Event_list[i][3]; lep2eta[0] = Selected_Event_list[i][4]; lep2phi[0] = Selected_Event_list[i][5]; #lep2E[0] = Selected_Event_list[i][7];
        jet1pt[0] = Selected_Event_list[i][6]; jet1eta[0] = Selected_Event_list[i][7]; jet1phi[0] = Selected_Event_list[i][8];jet1M[0] = Selected_Event_list[i][9];
        jet2pt[0] = Selected_Event_list[i][10]; jet2eta[0] = Selected_Event_list[i][11]; jet2phi[0] = Selected_Event_list[i][12]; jet2M[0] = Selected_Event_list[i][13];
        MET[0] = Selected_Event_list[i][14]; #lep1charge[0] = Selected_Event_list[i][13]; lep2charge[0] = Selected_Event_list[i][14];
        lep1PID[0] = Selected_Event_list[i][15]; lep2PID[0] = Selected_Event_list[i][16]; Mjj[0] = Selected_Event_list[i][17];
        dr_ll_jj[0] = Selected_Event_list[i][18]; dphijj[0] = Selected_Event_list[i][19];
        zeppen_lep1[0] = Selected_Event_list[i][20]; zeppen_lep2[0] = Selected_Event_list[i][21];
        METphi[0] = Selected_Event_list[i][22]; detajj[0] = Selected_Event_list[i][23]; Mll[0] = Selected_Event_list[i][24];
        RpT[0] = Selected_Event_list[i][25]; LL_Helicity[0] = Selected_Event_list[i][26];
        TL_Helicity[0] = Selected_Event_list[i][27]; TT_Helicity[0] = Selected_Event_list[i][28];
        tree.Fill()
    outROOT_file.Write()
    outROOT_file.Close()
예제 #7
0
def Add_first(texts_path):
    Total_data_list = []
    all_text_path = texts_path
    print("Total involved text data files :", len(all_text_path))
    #print(read_file_name(all_text_path[0]))
    for i in range(len(all_text_path)):
        print(all_text_path[i])
        First_col_write = read_file_name(all_text_path[i])[0]
        #print(First_col_write)
        ROW_LIST = MakeList(read_file_name(all_text_path[i])[2]) 
        for j in range(len(ROW_LIST)):
            if ROW_LIST[j][0] == " ":
                continue
            if ROW_LIST[j][0] == "V1":
                continue
            temp_list = [First_col_write]
            for k in range(len(ROW_LIST[j])):
                temp_list.append(ROW_LIST[j][k])
            Total_data_list.append(temp_list)
    #print(Total_data_list)
    print("Total Entry :", len(Total_data_list))
    return Total_data_list
예제 #8
0
def Plotting(text_infile="Loss_epoch.txt"):
    data = open(text_infile, 'r')
    l_epoch = []
    l_val_loss = []
    l_val_error = []
    l_train_loss = []
    l_train_error = []
    for line in data:
        if "Epoch" in line: continue
        Epoch, Val_loss, Val_error, Train_loss, Train_error = line.split()
        l_epoch.append(int(Epoch))
        l_val_loss.append(float(Val_loss))
        l_val_error.append(float(Val_error))
        l_train_loss.append(float(Train_loss))
        l_train_error.append(float(Train_error))

    fig = plt.figure()
    ax_loss = fig.add_subplot(111)
    #ax_acc.plot(range(1,len(l_epoch)+1), l_epoch, label='Epoch', color='blue')
    ax_loss.set_xlabel('Epoch')
    ax_loss.plot(range(1,
                       len(l_epoch) + 1),
                 l_val_loss,
                 label='Validation Loss',
                 color='blue')
    ax_loss.plot(np.nan, 'black', label="Validation Error/Accuracy")
    ax_loss.plot(range(1,
                       len(l_epoch) + 1),
                 l_train_loss,
                 label='Train Loss',
                 color='red')
    ax_loss.plot(np.nan, 'green', label="Train Error/Accuracy")
    ax_loss.set_ylabel('Loss-value Scale', color='red')
    ax_err = ax_loss.twinx()
    ax_err.plot(range(1,
                      len(l_epoch) + 1),
                l_val_error,
                label='Validation Error',
                color='black')
    ax_err.plot(range(1,
                      len(l_epoch) + 1),
                l_train_error,
                label='Train Error',
                color='green')
    ax_err.set_ylabel('Error/Accuracy Scale', color='blue')

    ax_loss.legend(loc=0)
    SaveDir = read_file_name(text_infile)[3] + "/Plot_Loss_epoch.pdf"
    plt.savefig(SaveDir)
예제 #9
0
def Daily_data(filename):
    FILE = read_file_name(filename)
    infile1 = FILE[2]
    COL_LIST1 = MakeList_column(infile1)

#    print(COL_LIST1)
    for s in range(len(COL_LIST1)-1):
#        print(COL_LIST1[s][0])
        x= [COL_LIST1[0][i+1] for i in range(len(COL_LIST1[0])-1)]
        y = [float(COL_LIST1[s+1][j+1]) for j in range(len(COL_LIST1[0])-1)]
        plt.xlabel(COL_LIST1[0][0])
        plt.ylabel(COL_LIST1[s+1][0])
#        print(x,y)
        plt.plot(x,y,color='green',marker='o',linestyle='solid')
        plt.grid(True)
        SavefileName = FILE[0] + "_" + COL_LIST1[s][0] + "_month_plot.pdf"
        print(SavefileName)
#        plt.show()
        plt.savefig(SavefileName)
        plt.close('all')        
예제 #10
0
def ADD_daily_date_FirstLine(START_YEAR=1996,
                             START_MONTH=1,
                             START_DAY=1,
                             infilename="daily_test.txt"):
    filename_list = read_file_name(infilename)
    infile = filename_list[2]
    outfile = infile
    outfile = outfile.replace(".txt", "")
    outfile = outfile + "_Daily.txt"
    year = START_YEAR
    month = START_MONTH
    day = START_DAY
    DATE_class = DATE_MAKER()
    Daily_date_list = []
    Daily_date_list.append("DATE")
    for i in range(10000):
        #    for i in range(8036):
        DATE_num = DATE_class.DATE_MAKER(year, month, day)
        DATE_str = DATE_class.MAKE_DATE_STR(DATE_num)
        #        print(DATE_str[3])
        Daily_date_list.append(DATE_str[3])
        year = DATE_num[0]
        month = DATE_num[1]
        day = DATE_num[2] + 1
    Origin_row_list = MakeList(infile)
    #    print(Origin_row_list)
    return_list = []
    for i in range(len(Origin_row_list)):
        temp_list = []
        temp_list.append(Daily_date_list[i])
        for j in range(len(Origin_row_list[0])):
            temp_list.append(Origin_row_list[i][j])
        return_list.append(temp_list)
    MAKE_TXT(return_list, outfile)
    #    print(return_list)
    print("created file name : ", outfile)
    return outfile
예제 #11
0
def Store_ROOT(filename):
    Selected_Event_list = Do_selection(filename)
    FileName_list = read_file_name(filename)
    Infile_name = FileName_list[0]
    InputFile_dir = FileName_list[3]
    outROOT_file_name = "Ntuple_" + Infile_name
    Outfile = InputFile_dir + outROOT_file_name
    #print Outfile
    outROOT_file = TFile(Outfile,"recreate")
    tree = TTree('tree','tree')
    ### TODO  #### branch first

    lep1pt=np.zeros(1,dtype=float); lep1eta=np.zeros(1,dtype=float); lep1phi=np.zeros(1,dtype=float); lep1e=np.zeros(1,dtype=float);
    lep2pt=np.zeros(1,dtype=float); lep2eta=np.zeros(1,dtype=float); lep2phi=np.zeros(1,dtype=float); lep2e=np.zeros(1,dtype=float);
    lep3pt=np.zeros(1,dtype=float); lep3eta=np.zeros(1,dtype=float); lep3phi=np.zeros(1,dtype=float); lep3e=np.zeros(1,dtype=float);
    lep4pt=np.zeros(1,dtype=float); lep4eta=np.zeros(1,dtype=float); lep4phi=np.zeros(1,dtype=float); lep4e=np.zeros(1,dtype=float);
    jet1pt=np.zeros(1,dtype=float); jet1eta=np.zeros(1,dtype=float); jet1phi=np.zeros(1,dtype=float); jet1m=np.zeros(1,dtype=float);
    jet2pt=np.zeros(1,dtype=float); jet2eta=np.zeros(1,dtype=float); jet2phi=np.zeros(1,dtype=float); jet2m=np.zeros(1,dtype=float);
    Z1_lep_p_pt=np.zeros(1,dtype=float); Z1_lep_p_eta=np.zeros(1,dtype=float); Z1_lep_p_phi=np.zeros(1,dtype=float); Z1_lep_p_e=np.zeros(1,dtype=float);
    Z1_lep_m_pt=np.zeros(1,dtype=float); Z1_lep_m_eta=np.zeros(1,dtype=float); Z1_lep_m_phi=np.zeros(1,dtype=float); Z1_lep_m_e=np.zeros(1,dtype=float);
    Z2_lep_p_pt=np.zeros(1,dtype=float); Z2_lep_p_eta=np.zeros(1,dtype=float); Z2_lep_p_phi=np.zeros(1,dtype=float); Z2_lep_p_e=np.zeros(1,dtype=float);
    Z2_lep_m_pt=np.zeros(1,dtype=float); Z2_lep_m_eta=np.zeros(1,dtype=float); Z2_lep_m_phi=np.zeros(1,dtype=float); Z2_lep_m_e=np.zeros(1,dtype=float);
    MET=np.zeros(1,dtype=float); METphi=np.zeros(1,dtype=float);
    Mll_Z1=np.zeros(1,dtype=float); Mll_Z2=np.zeros(1,dtype=float); Z1_Mt=np.zeros(1,dtype=float); Z2_Mt=np.zeros(1,dtype=float);
    detall_Z1=np.zeros(1,dtype=float); detall_Z2=np.zeros(1,dtype=float); dphill_Z1=np.zeros(1,dtype=float); dphill_Z2=np.zeros(1,dtype=float);
    Ptll_Z1=np.zeros(1,dtype=float); Ptll_Z2=np.zeros(1,dtype=float); Ell_Z1=np.zeros(1,dtype=float); Ell_Z2=np.zeros(1,dtype=float); Mllll=np.zeros(1,dtype=float); 
    Mjj=np.zeros(1,dtype=float); Mtjj=np.zeros(1,dtype=float); detajj=np.zeros(1,dtype=float); dphijj=np.zeros(1,dtype=float); Ejj=np.zeros(1,dtype=float); Ptjj=np.zeros(1,dtype=float); Etajj=np.zeros(1,dtype=float); Phijj=np.zeros(1,dtype=float);
    Tight_Z1_pt=np.zeros(1,dtype=float); Tight_Z1_eta=np.zeros(1,dtype=float); Tight_Z1_phi=np.zeros(1,dtype=float); Tight_Z1_e=np.zeros(1,dtype=float); Tight_Z1_mass=np.zeros(1,dtype=float);
    Tight_Z2_pt=np.zeros(1,dtype=float); Tight_Z2_eta=np.zeros(1,dtype=float); Tight_Z2_phi=np.zeros(1,dtype=float); Tight_Z2_e=np.zeros(1,dtype=float); Tight_Z2_mass=np.zeros(1,dtype=float); 
    E_ZZ=np.zeros(1,dtype=float); Pt_ZZ=np.zeros(1,dtype=float); M_ZZ=np.zeros(1,dtype=float); EtaZZ=np.zeros(1,dtype=float); PhiZZ=np.zeros(1,dtype=float); dphi_ZZ=np.zeros(1,dtype=float); deta_ZZ=np.zeros(1,dtype=float);
    Z1Z2jj_pt=np.zeros(1,dtype=float); Z1Z2jj_eta=np.zeros(1,dtype=float); Z1Z2jj_phi=np.zeros(1,dtype=float); Z1Z2jj_M=np.zeros(1,dtype=float); Z1Z2jj_E=np.zeros(1,dtype=float); Zeppen_Z1=np.zeros(1,dtype=float); Zeppen_Z2=np.zeros(1,dtype=float); RpT_jets=np.zeros(1,dtype=float); Rpt_hard=np.zeros(1,dtype=float);
    Weight=np.zeros(1,dtype=float); ScalarHT=np.zeros(1,dtype=float); LL_Helicity=np.zeros(1,dtype=float); TL_Helicity=np.zeros(1,dtype=float); TT_Helicity=np.zeros(1,dtype=float); 


    tree.Branch('lep1pt',lep1pt,'lep1pt/D'); tree.Branch('lep1eta',lep1eta,'lep1eta/D');tree.Branch('lep1phi',lep1phi,'lep1phi/D');tree.Branch('lep1e',lep1e,'lep1e/D');
    tree.Branch('lep2pt',lep2pt,'lep2pt/D'); tree.Branch('lep2eta',lep2eta,'lep2eta/D');tree.Branch('lep2phi',lep2phi,'lep2phi/D');tree.Branch('lep2e',lep2e,'lep2e/D');
    tree.Branch('lep3pt',lep3pt,'lep3pt/D'); tree.Branch('lep3eta',lep3eta,'lep3eta/D');tree.Branch('lep3phi',lep3phi,'lep3phi/D');tree.Branch('lep3e',lep3e,'lep3e/D');
    tree.Branch('lep4pt',lep4pt,'lep4pt/D'); tree.Branch('lep4eta',lep4eta,'lep4eta/D');tree.Branch('lep4phi',lep4phi,'lep4phi/D');tree.Branch('lep4e',lep4e,'lep4e/D');
    tree.Branch('jet1pt',jet1pt,'jet1pt/D'); tree.Branch('jet1eta',jet1eta,'jet1eta/D');tree.Branch('jet1phi',jet1phi,'jet1phi/D');tree.Branch('jet1m',jet1m,'jet1m/D');
    tree.Branch('jet2pt',jet2pt,'jet2pt/D'); tree.Branch('jet2eta',jet2eta,'jet2eta/D');tree.Branch('jet2phi',jet2phi,'jet2phi/D');tree.Branch('jet2m',jet2m,'jet2m/D');
    tree.Branch('Z1_lep_p_pt',Z1_lep_p_pt,'Z1_lep_p_pt/D'); tree.Branch('Z1_lep_p_eta',Z1_lep_p_eta,'Z1_lep_p_eta/D');tree.Branch('Z1_lep_p_phi',Z1_lep_p_phi,'Z1_lep_p_phi/D');tree.Branch('Z1_lep_p_e',Z1_lep_p_e,'Z1_lep_p_e/D');
    tree.Branch('Z1_lep_m_pt',Z1_lep_m_pt,'Z1_lep_m_pt/D'); tree.Branch('Z1_lep_m_eta',Z1_lep_m_eta,'Z1_lep_m_eta/D');tree.Branch('Z1_lep_m_phi',Z1_lep_m_phi,'Z1_lep_m_phi/D');tree.Branch('Z1_lep_m_e',Z1_lep_m_e,'Z1_lep_m_e/D');
    tree.Branch('Z2_lep_p_pt',Z2_lep_p_pt,'Z2_lep_p_pt/D'); tree.Branch('Z2_lep_p_eta',Z2_lep_p_eta,'Z2_lep_p_eta/D');tree.Branch('Z2_lep_p_phi',Z2_lep_p_phi,'Z2_lep_p_phi/D');tree.Branch('Z2_lep_p_e',Z2_lep_p_e,'Z2_lep_p_e/D');
    tree.Branch('Z2_lep_m_pt',Z2_lep_m_pt,'Z2_lep_m_pt/D'); tree.Branch('Z2_lep_m_eta',Z2_lep_m_eta,'Z2_lep_m_eta/D');tree.Branch('Z2_lep_m_phi',Z2_lep_m_phi,'Z2_lep_m_phi/D');tree.Branch('Z2_lep_m_e',Z2_lep_m_e,'Z2_lep_m_e/D');
    tree.Branch('MET',MET,'MET/D'); tree.Branch('METphi',METphi,'METphi/D');
    tree.Branch('Mll_Z1',Mll_Z1,'Mll_Z1/D'); tree.Branch('Mll_Z2',Mll_Z2,'Mll_Z2/D');tree.Branch('Z1_Mt',Z1_Mt,'Z1_Mt/D');tree.Branch('Z2_Mt',Z2_Mt,'Z2_Mt/D');
    tree.Branch('detall_Z1',detall_Z1,'detall_Z1/D'); tree.Branch('detall_Z2',detall_Z2,'detall_Z2/D');tree.Branch('dphill_Z1',dphill_Z1,'dphill_Z1/D');tree.Branch('dphill_Z2',dphill_Z2,'dphill_Z2/D');
    tree.Branch('Ptll_Z1',Ptll_Z1,'Ptll_Z1/D'); tree.Branch('Ptll_Z2',Ptll_Z2,'Ptll_Z2/D');tree.Branch('Ell_Z1',Ell_Z1,'Ell_Z1/D');tree.Branch('Ell_Z2',Ell_Z2,'Ell_Z2/D'); tree.Branch('Mllll',Mllll,'Mllll/D');
    tree.Branch('Mjj',Mjj,'Mjj/D'); tree.Branch('Mtjj',Mtjj,'Mtjj/D');tree.Branch('detajj',detajj,'detajj/D');tree.Branch('dphijj',dphijj,'dphijj/D');
    tree.Branch('Ejj',Ejj,'Ejj/D'); tree.Branch('Ptjj',Ptjj,'Ptjj/D');tree.Branch('Etajj',Etajj,'Etajj/D');tree.Branch('Phijj',Phijj,'Phijj/D');
    tree.Branch('Tight_Z1_pt',Tight_Z1_pt,'Tight_Z1_pt/D'); tree.Branch('Tight_Z1_eta',Tight_Z1_eta,'Tight_Z1_eta/D');tree.Branch('Tight_Z1_phi',Tight_Z1_phi,'Tight_Z1_phi/D');tree.Branch('Tight_Z1_e',Tight_Z1_e,'Tight_Z1_e/D'); tree.Branch('Tight_Z1_mass',Tight_Z1_mass,'Tight_Z1_mass/D');
    tree.Branch('Tight_Z2_pt',Tight_Z2_pt,'Tight_Z2_pt/D'); tree.Branch('Tight_Z2_eta',Tight_Z2_eta,'Tight_Z2_eta/D');tree.Branch('Tight_Z2_phi',Tight_Z2_phi,'Tight_Z2_phi/D');tree.Branch('Tight_Z2_e',Tight_Z2_e,'Tight_Z2_e/D'); tree.Branch('Tight_Z2_mass',Tight_Z2_mass,'Tight_Z2_mass/D');
    tree.Branch('E_ZZ',E_ZZ,'E_ZZ/D'); tree.Branch('Pt_ZZ',Pt_ZZ,'Pt_ZZ/D');tree.Branch('M_ZZ',M_ZZ,'M_ZZ/D');tree.Branch('EtaZZ',EtaZZ,'EtaZZ/D');
    tree.Branch('PhiZZ',PhiZZ,'PhiZZ/D'); tree.Branch('dphi_ZZ',dphi_ZZ,'dphi_ZZ/D');tree.Branch('deta_ZZ',deta_ZZ,'deta_ZZ/D');
    tree.Branch('Z1Z2jj_pt',Z1Z2jj_pt,'Z1Z2jj_pt/D'); tree.Branch('Z1Z2jj_eta',Z1Z2jj_eta,'Z1Z2jj_eta/D');tree.Branch('Z1Z2jj_phi',Z1Z2jj_phi,'Z1Z2jj_phi/D');tree.Branch('Z1Z2jj_M',Z1Z2jj_M,'Z1Z2jj_M/D'); tree.Branch('Z1Z2jj_E',Z1Z2jj_E,'Z1Z2jj_E/D');
    tree.Branch('Zeppen_Z1',Zeppen_Z1,'Zeppen_Z1/D'); tree.Branch('Zeppen_Z2',Zeppen_Z2,'Zeppen_Z2/D');tree.Branch('RpT_jets',RpT_jets,'RpT_jets/D');tree.Branch('Rpt_hard',Rpt_hard,'Rpt_hard/D');
    tree.Branch('Weight',Weight,'Weight/D'); tree.Branch('ScalarHT',ScalarHT,'ScalarHT/D');
    tree.Branch('LL_Helicity',LL_Helicity,'LL_Helicity/D'); tree.Branch('TL_Helicity',TL_Helicity,'TL_Helicity/D')
    tree.Branch('TT_Helicity',TT_Helicity,'TT_Helicity/D')


    for i in range(len(Selected_Event_list)):
        lep1pt[0]=Selected_Event_list[i][0]; lep1eta[0]=Selected_Event_list[i][1]; lep1phi[0]=Selected_Event_list[i][2]; lep1e[0]=Selected_Event_list[i][3];
        lep2pt[0]=Selected_Event_list[i][4]; lep2eta[0]=Selected_Event_list[i][5]; lep2phi[0]=Selected_Event_list[i][6]; lep2e[0]=Selected_Event_list[i][7];
        lep3pt[0]=Selected_Event_list[i][8]; lep3eta[0]=Selected_Event_list[i][9]; lep3phi[0]=Selected_Event_list[i][10]; lep3e[0]=Selected_Event_list[i][11];
        lep4pt[0]=Selected_Event_list[i][12]; lep4eta[0]=Selected_Event_list[i][13]; lep4phi[0]=Selected_Event_list[i][14]; lep4e[0]=Selected_Event_list[i][15];
        jet1pt[0]=Selected_Event_list[i][16]; jet1eta[0]=Selected_Event_list[i][17]; jet1phi[0]=Selected_Event_list[i][18]; jet1m[0]=Selected_Event_list[i][19];
        jet2pt[0]=Selected_Event_list[i][20]; jet2eta[0]=Selected_Event_list[i][21]; jet2phi[0]=Selected_Event_list[i][22]; jet2m[0]=Selected_Event_list[i][23];
        Z1_lep_p_pt[0]=Selected_Event_list[i][24]; Z1_lep_p_eta[0]=Selected_Event_list[i][25]; Z1_lep_p_phi[0]=Selected_Event_list[i][26]; Z1_lep_p_e[0]=Selected_Event_list[i][27]; 
        Z1_lep_m_pt[0]=Selected_Event_list[i][28]; Z1_lep_m_eta[0]=Selected_Event_list[i][29]; Z1_lep_m_phi[0]=Selected_Event_list[i][30]; Z1_lep_m_e[0]=Selected_Event_list[i][31];
        Z2_lep_p_pt[0]=Selected_Event_list[i][32]; Z2_lep_p_eta[0]=Selected_Event_list[i][33]; Z2_lep_p_phi[0]=Selected_Event_list[i][34]; Z2_lep_p_e[0]=Selected_Event_list[i][35];
        Z2_lep_m_pt[0]=Selected_Event_list[i][36]; Z2_lep_m_eta[0]=Selected_Event_list[i][37]; Z2_lep_m_phi[0]=Selected_Event_list[i][38]; Z2_lep_m_e[0]=Selected_Event_list[i][39];
        MET[0]=Selected_Event_list[i][40]; METphi[0]=Selected_Event_list[i][41];
        Mll_Z1[0]=Selected_Event_list[i][42]; Mll_Z2[0]=Selected_Event_list[i][43]; Z1_Mt[0]=Selected_Event_list[i][44]; Z2_Mt[0]=Selected_Event_list[i][45];
        detall_Z1[0]=Selected_Event_list[i][46]; detall_Z2[0]=Selected_Event_list[i][47]; dphill_Z1[0]=Selected_Event_list[i][48]; dphill_Z2[0]=Selected_Event_list[i][49];
        Ptll_Z1[0]=Selected_Event_list[i][50]; Ptll_Z2[0]=Selected_Event_list[i][51]; Ell_Z1[0]=Selected_Event_list[i][52]; Ell_Z2[0]=Selected_Event_list[i][53]; Mllll[0]=Selected_Event_list[i][54];
        Mjj[0]=Selected_Event_list[i][55]; Mtjj[0]=Selected_Event_list[i][56]; detajj[0]=Selected_Event_list[i][57]; dphijj[0]=Selected_Event_list[i][58];
        Ejj[0]=Selected_Event_list[i][59]; Ptjj[0]=Selected_Event_list[i][60]; Etajj[0]=Selected_Event_list[i][61]; Phijj[0]=Selected_Event_list[i][62];
        Tight_Z1_pt[0]=Selected_Event_list[i][63]; Tight_Z1_eta[0]=Selected_Event_list[i][64]; Tight_Z1_phi[0]=Selected_Event_list[i][65]; Tight_Z1_e[0]=Selected_Event_list[i][66]; Tight_Z1_mass[0]=Selected_Event_list[i][67];
        Tight_Z2_pt[0]=Selected_Event_list[i][68]; Tight_Z2_eta[0]=Selected_Event_list[i][69]; Tight_Z2_phi[0]=Selected_Event_list[i][70]; Tight_Z2_e[0]=Selected_Event_list[i][71]; Tight_Z2_mass[0]=Selected_Event_list[i][72];
        E_ZZ[0]=Selected_Event_list[i][73]; Pt_ZZ[0]=Selected_Event_list[i][74]; M_ZZ[0]=Selected_Event_list[i][75]; EtaZZ[0]=Selected_Event_list[i][76]; PhiZZ[0]=Selected_Event_list[i][77]; dphi_ZZ[0]=Selected_Event_list[i][78]; deta_ZZ[0]=Selected_Event_list[i][79];
        Z1Z2jj_pt[0]=Selected_Event_list[i][80]; Z1Z2jj_eta[0]=Selected_Event_list[i][81]; Z1Z2jj_phi[0]=Selected_Event_list[i][82]; Z1Z2jj_M[0]=Selected_Event_list[i][83]; Z1Z2jj_E[0]=Selected_Event_list[i][84];
        Zeppen_Z1[0]=Selected_Event_list[i][85]; Zeppen_Z2[0]=Selected_Event_list[i][86]; RpT_jets[0]=Selected_Event_list[i][87]; Rpt_hard[0]=Selected_Event_list[i][88];
        Weight[0]=Selected_Event_list[i][89]; ScalarHT[0]=Selected_Event_list[i][90]; LL_Helicity[0]=Selected_Event_list[i][91]; TL_Helicity[0]=Selected_Event_list[i][92]; TT_Helicity[0]=Selected_Event_list[i][93];
        tree.Fill()

    outROOT_file.Write()
    outROOT_file.Close()
    print("Create Output Ntuple.root :", Outfile)
예제 #12
0
def PlotProper_YearDATE(filename,title="Development",Xlabel="Date",Ylabel="Object", MSE=1.0):
    filelist = read_file_name(filename)
    Col_list = MakeList_column(filelist[2])
    #print(len(Col_list))    
    Y_data = []
    nomi_X_date = []
    List_x = []; 
    temp_x = []
    error_low = []; error_high = [];
    error_2low = []; error_2high = [];
    sqrt_MSE = math.sqrt(MSE)
    MIN_Y=0; MAX_Y=0
    for i in range(len(Col_list[1])):
        if(i==0):
            continue
        if(i > 1):
            if float(Col_list[1][i])>MAX_Y:
                MAX_Y = float(Col_list[1][i])
            if float(Col_list[1][i])<MIN_Y:
                MIN_Y = float(Col_list[1][i])
        Y_data.append(float(Col_list[1][i]))
        error_low.append(float(Col_list[1][i])-sqrt_MSE); error_2low.append(float(Col_list[1][i])-2*sqrt_MSE)
        error_high.append(float(Col_list[1][i])+sqrt_MSE);error_2high.append(float(Col_list[1][i])+2*sqrt_MSE) 
        nomi_X_date.append(float(Col_list[0][i]))
        List_x.append(str(int(Col_list[0][i])))
        temp_x.append(i-1)
        if(i==1):
            MIN_Y = float(Col_list[1][i])
            MAX_Y = float(Col_list[1][i])
    RANGE_Y = (MAX_Y - MIN_Y)/5

    plt.grid(True)
    plt.plot(Y_data,'b^:')
    #plt.fill_between(temp_x,error_2low,error_2high,edgecolor='#FF9848', facecolor='#FF9848')
    plt.fill_between(temp_x,error_low,error_high,edgecolor='#7EFF99', facecolor='#7EFF99')
    #plt.fill_between(temp_x,error_2low,error_2high,edgecolor='#CC4F1B', facecolor='#FF9848')
    plt.plot([18,19,20,21],[23.69,23.08,26.17,24.72],'r^-')  #Manually input real 2014,2015,2016,2017 DATA
    #plt.plot(temp_x,'r:')
    plt.title(title)
    plt.xlabel(Xlabel,fontsize=16,color='r'); plt.ylabel(Ylabel,fontsize=16,color='r')
    plt.axis([-1,len(Col_list[1])-1,0,MAX_Y+RANGE_Y])
    #plt.xticks(np.arange(len(Col_list[1])),('Tom', '', '', '', 'Sue'))
    if(len(Col_list[1]) < 10):
        plt.xticks(np.arange(len(Col_list[1]),nomi_X_date))
    else:
        XTicks = []
        tot_len = len(nomi_X_date)
        for i in range(tot_len):
            if(i==0):
                XTicks.append(List_x[i])
            elif(i == int(tot_len/4)):
                XTicks.append(List_x[i])
            elif(i == int(tot_len/2)):
                XTicks.append(List_x[i])
            elif(i == int(3*tot_len/4)):
                XTicks.append(List_x[i])
            elif(i == int(tot_len)-1): 
                XTicks.append(List_x[i])
                break
            else:
                XTicks.append("")
        plt.xticks(np.arange(len(Col_list[1])),XTicks)
    #plt.legend(["Predicted PM2.5","Recorded PM2.5",r"$2 \sigma$ Error band", r"$1 \sigma$ Error band"])
    #plt.legend(["Predicted PM2.5","Recorded PM2.5",r"$1 \sigma$ Error band"])
    #plt.legend(["PM2.5 Estimated","PM2.5 Recorded",r"$\sqrt{MSE}$ Estimated"])
    plt.legend(["PM2.5 Estimated","PM2.5 Recorded","Error Estimated"],prop={'size': 12})
    plt.show()
예제 #13
0
def MakeMonthlyDate_BaseOnDailyDate(infilename="test.txt"):
    filename_list = read_file_name(infilename)
    infile = filename_list[2]
    outfile = infile
    outfile = outfile.replace(".txt", "")
    outfile = outfile.replace("_Daily", "")
    outfile = outfile + "_Monthly.txt"
    row_list = MakeList(infile)
    return_list = []
    return_list.append(row_list[0])
    refresh_date_flag = 1
    for i in range(len(row_list)):
        temp_list = []
        if (i == 0):
            continue
        if ((i == 1) | (refresh_date_flag == 0)):
            first_list = []
            iterated_num = 1
            month_date = row_list[i][0][:6]
            refresh_date_flag = 1
            temp_list.append(month_date)
            for j in range((len(row_list[0]) - 1)):
                temp_list.append(row_list[i][j + 1])
            first_list = temp_list
            #            print(first_list)
            continue

        if (row_list[i][0][:6] == month_date):
            for j in range((len(row_list[0]))):
                if (j == 0):
                    temp_list.append(row_list[i][0][:6])
                else:
                    calc = float(first_list[j]) + float(row_list[i][j])
                    #calc = "%0.3f"%calc; str_calc = str(calc)
                    temp_list.append(calc)
            first_list = temp_list
            iterated_num = iterated_num + 1
#            print(first_list)

        if ((i == len(row_list) - 1)):
            return_temp_list = []
            for k in range(len(first_list)):
                if k == 0:
                    return_temp_list.append(first_list[0])
                else:
                    calc = float(first_list[k]) / float(iterated_num)
                    calc = "%0.4f" % calc
                    str_calc = str(calc)
                    return_temp_list.append(str_calc)
            return_list.append(return_temp_list)
            break

        if (row_list[i + 1][0][:6] != month_date):
            return_temp_list = []
            refresh_date_flag = 0
            for k in range(len(first_list)):
                if k == 0:
                    return_temp_list.append(first_list[0])
                else:
                    calc = float(first_list[k]) / float(iterated_num)
                    calc = "%0.4f" % calc
                    str_calc = str(calc)
                    return_temp_list.append(str_calc)
            return_list.append(return_temp_list)
#    print(return_list)
    MAKE_TXT(return_list, outfile)
    print("created file name : ", outfile)
    return outfile
예제 #14
0
    def Make_simulation(self, infilename, EventNum=100):
        Filelist = read_file_name(infilename)
        pick_all = input("Do you want to Make All MC? (Y/N)\n")
        pick_all = pick_all.lower()
        print(" * Input file name :", Filelist[2])
        if (pick_all != "y"):
            Make_MC = PICKING_BRANCH_n_SAVING(Filelist[2])
            print(" * Tempary produce file :", Make_MC[0])
            print(" * Going to make MC for", Make_MC[1])
            INPUT = Make_MC[0]
        else:
            INPUT = Filelist[2]

        data_col_list = MakeList_column(INPUT)
        sorted_col_list = []
        DATA_LIST = []
        DATA_NAME_LIST = []
        for i in range(len(data_col_list)):
            temp_list = []
            for j in range(len(data_col_list[i])):
                if (j == 0):
                    DATA_NAME_LIST.append(data_col_list[i][j])
                    continue
                temp_t = float(data_col_list[i][j])
                temp_list.append(temp_t)

            temp_list.sort()
            sorted_col_list.append(temp_list)
#        print(sorted_col_list)

        DATA_LIST.append(DATA_NAME_LIST)
        for i in range(EventNum):
            if (i % 1000 == 0):
                print("Now looping", i, "th event")
            temp_list1 = []
            for j in range(len(sorted_col_list)):
                px = random.random()
                Num = len(sorted_col_list[j])
                float_Num = float(Num)
                prob = 1.0 / float_Num

                th_num = 0
                th_flag = 0
                while (th_flag == 0):
                    if (px > (th_num * prob)):
                        #                    if(0 > (th_num * prob)):
                        #                    if(1 > (th_num * prob)):
                        th_num = th_num + 1
                    else:
                        th_flag = 1
                        #th_num = th_num +1
                if (th_num >= len(sorted_col_list[j])):
                    th_num = len(sorted_col_list[j]) - 1
                th_num = th_num
                Estimate = (px - float(th_num - 1) / float(Num)) * float(
                    Num) * (sorted_col_list[j][th_num] - sorted_col_list[j][
                        th_num - 1]) + sorted_col_list[j][th_num - 1]
                temp_list1.append(Estimate)
#                print(th_num, sorted_col_list[j][th_num-1],Estimate, sorted_col_list[j][th_num] )
            DATA_LIST.append(temp_list1)


#        print(DATA_LIST)

        Write_MC_File = Filelist[3] + Filelist[0] + "_MC.txt"
        self.Write_list = DATA_LIST
        self.Write_file = Write_MC_File
        #print(self.Write_file)

        if (pick_all != "y"):
            remove_command = "rm -rf " + INPUT
            os.system(remove_command)
            print(" * Removing Tempary file", INPUT)
        self.MakeMCFile_UseRowList()