# append E_prompt to array: array_E_prompt_neutron.append(E_prompt) # increment number of analyzed events: number_analyzed_total += 1 # get index of number_analyzed_array depending on E_prompt (index 0 = 10-11 MeV, index 1 = 11-12 MeV, ...): index_energy = int(E_prompt) - 10 # increment index index_energy of number_analyzed_array by 1: np.add.at(number_analyzed_array, [index_energy], 1) # calculate TTR value depending on the energy: if E_prompt <= 20.0: # get TTR and normalized pulse shape of neutron event: TTR_neutron, npe_norm_neutron = NC_background_functions.pulse_shape( time_window, nPE_per_bin, tail_start_10_20, tail_stop_10_20) # append E_prompt to array: array_E_10_20.append(E_prompt) # append TTR value to array: array_TTR.append(TTR_neutron) array_TTR_10_20.append(TTR_neutron) # check if event passes PSD cut: if TTR_neutron <= TTR_cut_10_20: # event passes PSD cut: number_pass_PSD_total += 1 # increment index index_energy of number_pass_PSD_array by 1: np.add.at(number_pass_PSD_array, [index_energy], 1)
# calculate the total number of PE of the prompt signal: nPE_total = np.sum(nPE_per_bin) # convert nPE_total to energy in MeV: E_prompt = NC_background_functions.conversion_npe_to_evis( nPE_total) # append E_prompt to array: array_E_prompt_neutron.append(E_prompt) # set the time window corresponding to nPE_per_bin: time_window = np.arange(min_time, time_limit_prompt + binwidth, binwidth) # get TTR and normalized pulse shape of neutron event: TTR_neutron, npe_norm_neutron = NC_background_functions.pulse_shape( time_window, nPE_per_bin, tail_start, tail_stop) # check if ttr-value is not 0: # if TTR_neutron == 0: # continue # increment number_analyzed: number_analyzed += 1 # append TTR value to array: array_TTR_neutron.append(TTR_neutron) # check if event passes PSD cut: if TTR_neutron <= TTR_cut: # event passes PSD cut: number_neutron_after_PSD += 1