def LookupTag(self, typ, name):
    # Support both @command(Name) and @command(:Name).
    if typ == vimdoc.COMMAND:
      fullname = name.lstrip(':')
    elif typ == vimdoc.SETTING:
      scope_match = regex.setting_scope.match(name)
      fullname = scope_match and name or 'g:' + name
    else:
      fullname = name
    block = None
    if typ in self.collections:
      collection = self.collections[typ]
      candidates = [x for x in collection if x.FullName() == fullname]
      if len(candidates) > 1:
        raise KeyError('Found multiple %ss named %s' % (typ, name))
      if candidates:
        block = candidates[0]
    if block is None:
      # Create a dummy block to get default tag.
      block = Block(typ)
      block.Local(name=fullname)
    return block.TagName()
FWHM calculation on a 1D array by using least square fitting of
dataset/ETHPy150Open google/vimdoc/vimdoc/module.py/VimPlugin.LookupTag--crossover with--dataset/ETHPy150Open ejeschke/ginga/ginga/util/iqcalc.py/IQCalc.calc_fwhm