s = MyStruct() output_tree.Branch('N_hits',AddressOf(s,'n_hits'),'n_hits/I') output_tree.Branch("PID",AddressOf(s,'PID_v'),'PID_v/I') output_tree.Branch("P_X",AddressOf(s,'P_X_v'),'P_X_v/D') output_tree.Branch("P_Y",AddressOf(s,'P_Y_v'),'P_Y_v/D') output_tree.Branch("P_Z",AddressOf(s,'P_Z_v'),'P_Z_v/D') output_tree.Branch("Edep",Edep_v) output_tree.Branch("X",X_v) output_tree.Branch("Y",Y_v) output_tree.Branch("Z",Z_v) output_tree.Branch("Layer",Layer_v) output_tree.Branch("Sector",Sector_v) output_tree.Branch("Id",Id_v) in_ev = 0 # To know when to look for particles we must know when we are inside an event in_ev_1 = 0 # The first line after <event> is information so we must skip that as well s.n_hits = 0 s.PID_v = 0 s.P_X_v = 0. s.P_Y_v = 0. s.P_Z_v = 0. for line in input_file: # if line[:1] == "#": # continue s.PID_v = 0 s.P_X_v = 0. s.P_Y_v = 0. s.P_Z_v = 0. parts = line.split() if len(parts) > 5: if line.split()[4] == "(802," : in_ev_1 = 2