Analysis::BaseTagInfo Node1 Analysis::BaseTagInfo # m_isValid # m_weight + BaseTagInfo() + BaseTagInfo() + BaseTagInfo() + operator=() + ~BaseTagInfo() + setTagLikelihood() + setTagLikelihood() + tagLikelihood() + setWeight() + weight() + makeValid() + isValid() + infoType() + clone() # setValid() # setTagJetInfoType() Node2 JetTagInfoBase + clone() Node2->Node1 Node3 Analysis::ITagInfo + ~ITagInfo() + setTagLikelihood() + setTagLikelihood() + tagLikelihood() + setWeight() + weight() + makeValid() + isValid() + infoType() + clone() Node3->Node2 Node4 std::string Node4->Node1 #m_tagJetInfoType Node5 std::basic_string< char > Node5->Node4 Node6 std::vector< double > + elements Node6->Node1 #m_tagLikelihood