DerivationFramework::EGInvariantMassTool Node1 DerivationFramework ::EGInvariantMassTool - m_mass1Hypothesis - m_mass2Hypothesis - m_mindR - m_checkCharge - m_doTransverseMass + EGInvariantMassTool() + initialize() + addBranches() - getInvariantMasses() Node2 ExpressionParserUser < AthAlgTool, kNumEGInvariant MassToolParser > + ExpressionParserUser() + initializeParser() Node2->Node1 Node3 ExpressionParserUserBase < AthAlgTool, NUM_PARSER > # m_parser + ExpressionParserUserBase() + ~ExpressionParserUserBase() + finalizeParser() + updateDataNeeds() + renounceInput() # _initializeParser() Node3->Node2 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< std::vector< float > > + ReadHandleKey() + ReadHandleKey() + operator=() # ReadHandleKey() # ReadHandleKey() Node31->Node63 Node64 SG::ReadHandleKey< DataVector > + ReadHandleKey() + ReadHandleKey() + operator=() # ReadHandleKey() # ReadHandleKey() Node31->Node64 Node19 std::string Node19->Node1 -m_expression1 -m_expression2 Node19->Node31 -m_sgKey Node63->Node1 -m_phi1BranchName -m_eta1BranchName -m_phi2BranchName -m_eta2BranchName -m_pt2BranchName -m_pt1BranchName Node64->Node1 -m_container2Name -m_container1Name