docs: def determine_optimum_fraction_correct_cutoffs(self, analysis_set, dataframe, stability_classication_x_cutoff):
          '''Determines the value of stability_classication_y_cutoff which approximately maximizes the fraction correct
             measurement w.r.t. a fixed stability_classication_x_cutoff. This function uses discrete sampling and so it
             may miss the actual maximum. We use two rounds of sampling: i) a coarse-grained sampling (0.1 energy unit
             intervals); and ii) finer sampling (0.01 unit intervals).
             In both rounds, we choose the one corresponding to a lower value for the cutoff in cases of multiple maxima.'''
  
          # Determine the value for the fraction correct y-value (predicted) cutoff which will approximately yield the
          # maximum fraction-correct value
  
          fraction_correct_range = []
          experimental_field = BenchmarkRun.get_analysis_set_fieldname('Experimental', analysis_set)
  
          # Round 1 : Coarse sampling. Test 0.5 -> 8.0 in 0.1 increments
          for z in range(5, 80):
              w = float(z) / 10.0
              fraction_correct_range.append((w, fraction_correct_pandas(dataframe, experimental_field, 'Predicted', x_cutoff = stability_classication_x_cutoff, y_cutoff = w, ignore_null_values = True)))
  
          max_value_cutoff, max_value = fraction_correct_range[0][0], fraction_correct_range[0][1]
          for p in fraction_correct_range:
              if p[1] > max_value:
                  max_value_cutoff, max_value = p[0], p[1]
  
          # Round 2 : Finer sampling. Test max_value_cutoff - 0.1 -> max_value_cutoff + 0.1 in 0.01 increments
          for z in range(int((max_value_cutoff - 0.1) * 100), int((max_value_cutoff + 0.1) * 100)):
              w = float(z) / 100.0
              fraction_correct_range.append((w, fraction_correct_pandas(dataframe, experimental_field, 'Predicted', x_cutoff = stability_classication_x_cutoff, y_cutoff = w, ignore_null_values = True)))
          fraction_correct_range = sorted(set(fraction_correct_range)) # sort so that we find the lowest cutoff value in case of duplicate fraction correct values
          max_value_cutoff, max_value = fraction_correct_range[0][0], fraction_correct_range[0][1]
          for p in fraction_correct_range:
              if p[1] > max_value:
                  max_value_cutoff, max_value = p[0], p[1]
  
          return max_value_cutoff, max_value, fraction_correct_range