class_docstr: Base class for defining arms.
  
  Randomization in experiments assigns units to a given arm. Thus, the arm
  encapsulates the parametrization needed by the unit.
docstr: Returns arm name if exists; else last 8 characters of the hash.
  
  Used for presentation of candidates (e.g. plotting and tables),
  where the candidates do not yet have names (since names are
  automatically set upon addition to a trial).
docstr_tok: ["Returns","arm","name","if","exists",";","else","last","8","characters","of","the","hash",".","Used","for","presentation","of","candidates","(","e.g",".","plotting","and","tables",")",",","where","the","candidates","do","not","yet","have","names","(","since","names","are","automatically","set","upon","addition","to","a","trial",")","."]
code: def name_or_short_signature(self) -> str:
      """Returns arm name if exists; else last 8 characters of the hash.
  
      Used for presentation of candidates (e.g. plotting and tables),
      where the candidates do not yet have names (since names are
      automatically set upon addition to a trial).
  
      """
      return self._name or self.signature[-8:]
  
imports: import hashlib
  import json
  from typing import Optional
  from ax.core.types import TParameterization
  from ax.utils.common.base import SortableBase
  from ax.utils.common.equality import equality_typechecker
  from ax.utils.common.typeutils import numpy_type_to_python_type
label_desc: Use image node_id 5 for calling the Arm obj's underlying member method code with example usage: obj.name_or_short_signature() and returns: unknown