def roiEnergyAnalysis(data): '''Troubleshooting function, compares the observed sum energy in an ROI to the genEnergy''' genEnergies = [] sumEnergies = [] pbar = progressbar("Processing event &count&:", len(data)+1) pbar.start() count = 0 for event in data: genEnergy = event[2]['getpt'] * np.cosh(event[2]['geneta']) for i in range(len(genEnergy)): clustersIndices = np.compress(event[1]['ROI'] == i, event[1]['clusterID'], axis=0) #|Only take clusters corresponding to right ROI clusterEnergies = [] for clusterID in clustersIndices: #|Only take hits corresponding to correct cluster hits = np.compress(event[0]['clusterID'] == clusterID, event[0], axis=0) energies = hits['en'] for energy in energies: clusterEnergies.append(energy) #|Add the energy to the cluster energies ROIEnergy = np.sum(clusterEnergies) # Append to original lists genEnergies.append(genEnergy[i]) sumEnergies.append(ROIEnergy) pbar.update(count) count += 1 pbar.finish() # np.save("sums.npy", sumEnergies) # np.save("gens.npy", genEnergies) # Plot it Plotter.sumEnergyVsGenEnergy(sumEnergies, genEnergies)