def delaunay(self, variables): self.delaunay_wrapper = DelaunayWrapper(self.bunch_list[0], variables) areas = [] for i, bunch in enumerate(self.bunch_list): try: areas.append(self.delaunay_wrapper.get_areas(bunch)) except Exception as exc: if type(exc) == type(RuntimeError()): raise print "Delaunay failed at bunch id", i, "z=", bunch[0]['z'], "with", len(bunch), "particles" sys.excepthook(*sys.exc_info()) return areas
def analysis(self): print "Loading data" bunch_list = Bunch.new_list_from_read_builtin('maus_root_virtual_hit', 'maus_output.100.root') bunch_list = [ bunch for bunch in bunch_list if bunch.bunch_weight() > 10 and bunch[0]['z'] < 3472.001 ] print len(bunch_list) delaunay = DelaunayWrapper(bunch_list[0], ['x', 'px', 'y', 'py', 't', 'energy']) areas_0 = delaunay.get_areas(bunch_list[0]) areas_1 = delaunay.get_areas(bunch_list[1]) self.plot_areas(areas_0, areas_1)