Monitored::LiveHistogramProvider Node1 Monitored::LiveHistogram Provider - m_currentHistogram - m_currentLumiBlock + LiveHistogramProvider() + histogram() + updateHistDef() + copyDataToNewHistogram() + copyDataToNewHistogram() Node2 Monitored::IHistogramProvider + ~IHistogramProvider() + histogram() Node2->Node1 Node3 GenericMonitoringTool + log - m_histoPath - m_histograms - m_explicitBooking - m_failOnEmpty - m_useCache - m_registerHandler + ~GenericMonitoringTool() + initialize() + start() + stop() + handle() + invokeFillers() + book() + setPath() + getPath() + histogramService() + runNumber() + lumiBlock() - invokeFillersDebug() Node3->Node1 -m_gmTool Node4 extends< AthAlgTool, IIncidentListener > Node4->Node3 Node5 ServiceHandle< ITHistSvc > Node5->Node3 -m_histSvc Node6 std::mutex Node6->Node3 -m_cacheMutex Node7 std::vector< std::shared _ptr< Monitored::HistogramFiller > > Node7->Node3 -m_fillers -m_alwaysCreateFillers Node17 std::map< std::vector < std::string >, std ::unique_ptr< std::vector < std::shared_ptr< Monitored ::HistogramFiller > > >, std ::less<> > Node17->Node3 -ATLAS_THREAD_SAFE Node11 std::shared_ptr< Monitored ::HistogramDef > + operator->() Node11->Node1 -m_histDef Node19 std::shared_ptr< Monitored ::HistogramFactory > + operator->() Node19->Node1 -m_factory