ParticleSelectionAlg Node1 ParticleSelectionAlg - m_selTools - m_evtInfoName - m_inCollKey - m_outCollKey - m_writeSplitAux - m_outOwnPolicyName - m_selection - m_doCutFlow - m_cutBKCName + ParticleSelectionAlg() + ~ParticleSelectionAlg() + initialize() + start() + execute() + finalize() - selectParticles() * contType_t * m_outOwnPolicy * m_contType * m_cutBKStartIdx * m_idxSelParster Node2 ExpressionParserUser <::AthAnalysisAlgorithm > + ExpressionParserUser() + initializeParser() Node2->Node1 Node3 ExpressionParserUserBase < ::AthAnalysisAlgorithm, 1 > # m_parser + ExpressionParserUserBase() + ~ExpressionParserUserBase() + finalizeParser() + updateDataNeeds() + renounceInput() # _initializeParser() Node3->Node2 Node4 AthAnalysisAlgorithm - m_doneFirstEvent + AthAnalysisAlgorithm() + AthAnalysisAlgorithm() + ~AthAnalysisAlgorithm() + sysInitialize() + sysExecute() + retrieveMetadata() + retrieveMetadata() # updateEvtStore() # handle() # beginInputFile() # endInputFile() # metaDataStop() # firstExecute() # currentFile() * inputMetaStore() * inputMetaStore() * outputMetaStore() * outputMetaStore() Node4->Node3 Node26 IDynamicDataConsumer + ~IDynamicDataConsumer() + updateDataNeeds() Node26->Node3 Node27 std::unique_ptr< Expression Parsing::IProxyLoader > + operator->() Node27->Node3 #m_proxyLoaders Node29 ExpressionParsing:: SGxAODProxyLoader - m_verbose + SGxAODProxyLoader() + ~SGxAODProxyLoader() + reset() + variableTypeFromString() + loadIntVariableFromString() + loadDoubleVariableFromString() + loadVecIntVariableFromString() + loadVecDoubleVariableFrom String() + updateDataDependencies() + wrapParent() - splitVarnameIntoContainer AndMethod() - computeClassForVarname() - getMethodCallAccessor() - getAccessor() - createAccessor() Node29->Node3 #m_xAODProxyLoader Node40 std::vector< std::string > Node40->Node3 #m_renounce Node41 std::vector< std::size_t > + elements Node41->Node1 -m_selToolIdxOffset Node42 long Node42->Node1 -m_nEventsProcessed