class_docstr: Estimator of the error from DP pipeline from DatasetHistograms.
  
  The recommended way to create this object is to use create_error_estimator.
  It works only for COUNT and PRIVACY_ID_COUNT.
  
  Partition selection error is not implemented yet. Now only contribution
  bounding and noise error are taken into consideration.
code: def _get_ratio_dropped(
      self, ratios_dropped: Sequence[Tuple[int, float]], bound: int
  ) -> float:
      if bound <= 0:
          return 1
      if bound > ratios_dropped[-1][0]:
          return 0
      index = bisect.bisect_left(ratios_dropped, (bound, 0))
      if ratios_dropped[index][0] == bound:
          return ratios_dropped[index][1]
  
      # index > 0, because ratio_dropped starts from 0, and bound > 0.
      x1, y1 = ratios_dropped[index - 1]
      x2, y2 = ratios_dropped[index]
      # Linearly interpolate between (x1, y1) and (x2, y2) for x=bound.
      return (y1 * (x2 - bound) + y2 * (bound - x1)) / (x2 - x1)
  
file_path: pipelinedp/pipeline_dp/dataset_histograms/histogram_error_estimator.py
imports: import pipeline_dp
  from pipeline_dp.dataset_histograms import histograms
  from typing import Optional, Sequence, Tuple
  import math
  import bisect
label_desc: Use image node_id 5 for calling the CountErrorEstimator obj's underlying member method code with example usage: obj._get_ratio_dropped(ratios_dropped, bound) and returns: unknown, int, int, ratios_dropped