API highlights
This section lists the main libraries and classes that make up the heron API. It is not exhaustive; instead it points to the primary entry points that are commonly used by the applications and analysis workflows.
Analysis services (ana/)
AnalysisConfigService: provides analysis configuration and processor selection logic.ColumnDerivationService: defines derived columns for event trees.RDataFrameService: loads samples into ROOTRDataFrameinstances.SelectionService: centralises selection configuration and predicates.
Input/output utilities (io/)
ArtFileProvenanceIO: reads and writes art provenance summaries.SampleIO: stores sample metadata and resolves input ROOT files.NormalisationService: builds sample normalisation and POT totals.EventListIO: writes event-level output trees and metadata.RunDatabaseService: queries run database information.SubRunInventoryService: scans input files to collect run/subrun totals.
Plotting utilities (plot/)
PlotEnv: resolves plot output directories and formatting.PlotDescriptors: defines standard labels, axis titles, and annotations.PlotChannels: groups samples into stacked plot channels.Plotter: orchestrates histogram styling and rendering.StackedHist: helper for stacked histogram construction.
Command-line helpers (apps/)
The CLI layer relies on reusable helpers in apps/include such as AppUtils
for path resolution, AppLog for structured logging, and module-specific
parsers (ArtCLI, SampleCLI, and EventCLI).