TFileLooper Node1 TFileLooper + TFileLooper() + ~TFileLooper() + TFileLooper() + operator=() + run() + processKey() * m_file * m_rootDir * m_skipDirs * m_verbose * m_passBeforeFail * m_errorCode * m_failRE * m_passRE * m_skippedObjects * beginJob() and 22 more... Node2 TMultiFileLooper - m_fileList + TMultiFileLooper() + ~TMultiFileLooper() + run() + run() + addFile() Node1->Node2 Node3 TRootCompare - m_refFile - m_outFile - m_refRootDir - m_psFile - m_can - m_alg - m_threshold - m_histMatch - m_histTotal - m_histMissing - m_drawNormalized - m_drawDiff - m_sortLabels - m_noMatch + TRootCompare() + ~TRootCompare() + processKey() + beginJob() + endJob() + setReferenceFile() + setOutputFile() + setPsFile() + setAlg() + drawNormalized() + drawDiff() + sortLabels() + matchingHist() + totalHist() + missingHist() - compareHist() - sortAndDeflate() - createDirectory() - printCanvas() Node1->Node3