class_docstr: EvaluationResult keeps track of all the information related to evaluation, namely the runnable (Pipeline or
  component), inputs, outputs, and expected outputs.
  The EvaluationResult keeps track of all the information stored by eval.
  
  :param runnable: The runnable (Pipeline or component) used for evaluation.
  :param inputs: List of inputs used for evaluation.
  :param outputs: List of outputs generated by the runnable.
  :param expected_outputs: List of expected outputs used for evaluation.
class_docstr_tok: ["EvaluationResult","keeps","track","of","all","the","information","related","to","evaluation",",","namely","the","runnable","(","Pipeline","or","component",")",",","inputs",",","outputs",",","and","expected","outputs",".","The","EvaluationResult","keeps","track","of","all","the","information","stored","by","eval",".",":","param","runnable",":","The","runnable","(","Pipeline","or","component",")","used","for","evaluation",".",":","param","inputs",":","List","of","inputs","used","for","evaluation",".",":","param","outputs",":","List","of","outputs","generated","by","the","runnable",".",":","param","expected_outputs",":","List","of","expected","outputs","used","for","evaluation","."]
code: def _calculate_recall(self):
      return MetricsResult({"recall": None})
  
file_path: haystack/haystack/evaluation/eval.py
imports: from typing import Any, Callable, Dict, List, Union
  from haystack import Pipeline
  from haystack.core.component import Component
  from haystack.evaluation.metrics import Metric, MetricsResult
label_desc: Use image node_id 3 for calling the EvaluationResult obj's underlying member method code with example usage: obj._calculate_recall() and returns: MetricsResult