def test_track_phi_eta_finder(analysis, mod): filename_list = [] for i in range(1, 6): filename_list.append( "TestData/Mod %d - trackIDseparateParticles%d.txt" % (mod, i)) expected_list = ["event 1", "event 2", "event 3", "event 4", "event 5"] vertex_list = get_true_vertex() phis, etas = get_true_phi_eta() phi_real = [] phi_pred = [] eta_real = [] eta_pred = [] reader = FileReader() for i in range(5): print("Now testing event %d:" % (i + 1)) tracks = reader.get_all_tracks(filename_list[i]) for i_track in range(len(tracks)): tracks[i_track].set_vertex(vertex_list[i]) phi, eta = analysis.track_phi_eta_finder.find_phi_eta( tracks[i_track]) print("True phi: %f\tTrue eta: %f" % (phis[i][i_track], etas[i][i_track])) print("Your phi: %f\tYour eta: %f" % (phi, eta)) phi_real.append(phis[i][i_track]) eta_real.append(etas[i][i_track]) phi_pred.append(phi) eta_pred.append(eta) print("") phi_L2 = calc_L2(phi_real, phi_pred) eta_L2 = calc_L2(eta_real, eta_pred) print("Phi L2 Loss is {}, Eta L2 Loss is {}".format(phi_L2, eta_L2))
def test_vertex_finder(analysis, mod): filename_list = [] for i in range(1, 6): filename_list.append( "TestData/Mod %d - trackIDseparateParticles%d.txt" % (mod, i)) expected_list = [ "vertex z = 0", "vertex z = .3", "vertex z = -.2", "vertex z = .4", "vertex z = -.3" ] reader = FileReader() extract_function = lambda filename: reader.get_all_tracks(filename) run_function = lambda data: analysis.vertex_finder.find_vertex(data) process_function = lambda vertex: "z = %d" % vertex.z test_component(filename_list, expected_list, extract_function, run_function, process_function)
def get_true_tracks_for_muon_stub_matching(mod): filename_list = [] for i in range(1, 6): filename_list.append( "TestData/Mod %d - muonIDseparateParticles%d.txt" % (mod, i)) vertex_list = get_true_vertex() phis, etas = get_true_phi_eta() pTs = get_true_pT() reader = FileReader() true_tracks = [] for i in range(5): tracks = reader.get_all_tracks(filename_list[i]) for i_track in range(len(tracks)): tracks[i_track].set_vertex(vertex_list[i]) tracks[i_track].set_phi(phis[i][i_track]) tracks[i_track].set_eta(etas[i][i_track]) tracks[i_track].set_pT(pTs[i][i_track]) true_tracks.append(tracks) return true_tracks
def get_true_tracks_for_cluster_matching(mod): filename_list = [ "Mod %d - trackIDseparateParticles1.txt" % mod, "Mod %d - trackIDseparateParticles2.txt" % mod, "Mod %d - clusterIDseparateParticles3.txt" % mod, "Mod %d - clusterIDseparateParticles5.txt" % mod, "Mod %d - trackIDseparateParticles5.txt" % mod ] vertex_list = get_true_vertex() phis, etas = get_true_phi_eta() pTs = get_true_pT() final_tracks = [] reader = FileReader() for i in range(5): tracks = reader.get_all_tracks("TestData/" + filename_list[i]) if (i == 2 or i == 3): if (i == 2): true_tracks = read_track_values( "TestData/Mod %d - clusterIDTrueValues3.txt" % mod) else: true_tracks = read_track_values( "TestData/Mod %d - clusterIDTrueValues5.txt" % mod) for i_track in range(len(tracks)): tracks[i_track].set_vertex(vertex_list[i]) phi, eta, pT = get_values_from_vector(true_tracks[i_track]) tracks[i_track].set_phi(phi) tracks[i_track].set_eta(eta) tracks[i_track].set_pT(pT) final_tracks.append(tracks) else: for i_track in range(len(tracks)): tracks[i_track].set_vertex(vertex_list[i]) tracks[i_track].set_phi(phis[i][i_track]) tracks[i_track].set_eta(etas[i][i_track]) tracks[i_track].set_pT(pTs[i][i_track]) final_tracks.append(tracks) return final_tracks
def test_track_pT_finder(analysis, mod): filename_list = [] for i in range(1, 6): filename_list.append( "TestData/Mod %d - trackIDseparateParticles%d.txt" % (mod, i)) expected_list = ["event 1", "event 2", "event 3", "event 4", "event 5"] vertex_list = get_true_vertex() phis, etas = get_true_phi_eta() pTs = get_true_pT() reader = FileReader() for i in range(5): print("Now testing event %d:" % (i + 1)) tracks = reader.get_all_tracks(filename_list[i]) for i_track in range(len(tracks)): tracks[i_track].set_vertex(vertex_list[i]) tracks[i_track].set_phi(phis[i][i_track]) tracks[i_track].set_eta(etas[i][i_track]) pT = analysis.track_pT_finder.find_pT(tracks[i_track]) print("True pT: %f GeV" % pTs[i][i_track]) print("Your pT: %f GeV" % pT) print("")