DerivationFramework::InvariantMassTool Node1 DerivationFramework ::InvariantMassTool - m_massHypothesis - m_massHypothesis2 + InvariantMassTool() + initialize() + finalize() + addBranches() - getInvariantMasses() - calculateInvariantMass() Node2 ExpressionParserUser < AthAlgTool, kInvariantMass ToolParserNum > + ExpressionParserUser() + initializeParser() Node2->Node1 Node3 ExpressionParserUserBase < AthAlgTool, NUM_PARSER > # m_parser + ExpressionParserUserBase() + ~ExpressionParserUserBase() + finalizeParser() + updateDataNeeds() + renounceInput() # _initializeParser() Node3->Node2 Node4 AthAlgTool + AthAlgTool() + ~AthAlgTool() - AthAlgTool() - AthAlgTool() - operator=() Node4->Node3 Node28 DerivationFramework ::IAugmentationTool + ~IAugmentationTool() + addBranches() + interfaceID() Node28->Node1 Node29 IAlgTool Node29->Node28 Node30 SG::WriteHandleKey < std::vector< float > > + WriteHandleKey() + WriteHandleKey() + operator=() Node30->Node1 -m_sgName Node31 SG::VarHandleKey - m_hashedKey - m_isEventStore + VarHandleKey() + operator=() + assign() + initialize() + initialize() + clid() + key() + empty() + storeHandle() + owningHandle() + isEventStore() + start() + hashedKey() # pythonRepr() - setOwningHandle() - setKey() - updateKey() - parseKey() - updateHandle() Node31->Node30 Node63 SG::ReadHandleKey< DataVector > + ReadHandleKey() + ReadHandleKey() + operator=() # ReadHandleKey() # ReadHandleKey() Node31->Node63 Node19 std::string Node19->Node1 -m_expression -m_expression2 Node19->Node31 -m_sgKey Node63->Node1 -m_containerName2 -m_containerName