code: func (pm *ProtocolManager) getHelperTrie(id uint, idx uint64) (common.Hash, string) {
  	switch id {
  	case htCanonical:
  		sectionHead := rawdb.ReadCanonicalHash(pm.chainDb, (idx+1)*pm.iConfig.ChtSize-1)
  		return light.GetChtRoot(pm.chainDb, idx, sectionHead), light.ChtTablePrefix
  	case htBloomBits:
  		sectionHead := rawdb.ReadCanonicalHash(pm.chainDb, (idx+1)*pm.iConfig.BloomTrieSize-1)
  		return light.GetBloomTrieRoot(pm.chainDb, idx, sectionHead), light.BloomTrieTablePrefix
  	}
  	return common.Hash{}, ""
  }
docs: // getHelperTrie returns the post-processed trie root for the given trie ID and section index