code: def get_score_hc_fast(
      n_alpha: np.ndarray, no_records: np.ndarray, alpha: np.ndarray
  ) -> np.ndarray:
      """
      HigherCriticism
      Similar to a traditional wald test statistic: (Observed - expected) / standard deviation.
      In this case we use the binomial distribution. The observed is N_a. The expected (under null) is N*a
      and the standard deviation is sqrt(N*a(1-a)).
  
      :param n_alpha: Number of records less than alpha.
      :param no_records: Number of records.
      :param alpha: Alpha threshold.
      :return: Score.
      """
      score = np.zeros(alpha.shape[0])
      inds = n_alpha > no_records * alpha
      factor1 = n_alpha[inds] - no_records[inds] * alpha[inds]
      factor2 = np.sqrt(
          no_records[inds] * alpha[inds] * (1.0 - alpha[inds])
      )
      score[inds] = np.true_divide(factor1, factor2)
      return score
  
imports: import numpy
label_desc: Use image node_id 2 for calling the ScoringFunctions obj's underlying member method code with example usage: obj.get_score_hc_fast(n_alpha, no_records, alpha) and returns: score