code: def integral(self,
                   xbin1=1, xbin2=-2,
                   ybin1=1, ybin2=-2,
                   zbin1=1, zbin2=-2,
                   width=False,
                   error=False,
                   overflow=False):
          
          if xbin1 is None:
              xbin1 = 0 if overflow else 1
          if xbin2 is None:
              xbin2 = -1 if overflow else -2
          if ybin1 is None:
              ybin1 = 0 if overflow else 1
          if ybin2 is None:
              ybin2 = -1 if overflow else -2
          if zbin1 is None:
              zbin1 = 0 if overflow else 1
          if zbin2 is None:
              zbin2 = -1 if overflow else -2
          nbinsx = self.nbins(axis=0, overflow=True)
          xbin1 %= nbinsx
          xbin2 %= nbinsx
          nbinsy = self.nbins(axis=1, overflow=True)
          ybin1 %= nbinsy
          ybin2 %= nbinsy
          nbinsz = self.nbins(axis=2, overflow=True)
          zbin1 %= nbinsz
          zbin2 %= nbinsz
          options = 'width' if width else ''
          if error:
              error = ROOT.Double()
              integral = super(_Hist3D, self).IntegralAndError(
                  xbin1, xbin2, ybin1, ybin2, zbin1, zbin2, error, options)
              return integral, error
          return super(_Hist3D, self).Integral(
              xbin1, xbin2, ybin1, ybin2, zbin1, zbin2, options)
docs: Compute the integral and error over a range of bins