Normalizes the given data such that the area under the histogram/curve
        comes to 1. Also re applies smoothing once done.

def normalize(self):
        """
        Normalizes the given data such that the area under the histogram/curve
        comes to 1. Also re applies smoothing once done.
        """
        median_diff = np.median(np.diff(self.x))
        bin_edges = [self.x[0] - median_diff/2.0]
        bin_edges.extend(median_diff/2.0 + self.x)
        self.y_raw = self.y_raw/(self.y_raw.sum()*np.diff(bin_edges))
        self.smooth()