Skip to content

hipo-comparator

Compare two HIPO files bank by bank.

Synopsis

hipo-comparator [options] <file1.hipo> <file2.hipo>

Description

hipo-comparator performs detailed comparison between two HIPO files, detecting:

  • Schema differences
  • Missing banks
  • Row count mismatches
  • Value differences (with configurable tolerance for floats)

Options

Option Description Default
-t, --tolerance <eps> Float/Double comparison tolerance 1e-6
-b, --banks <bank> Only compare specified banks (repeatable) all
-s, --start <n> Starting event index 0
-e, --end <n> Ending event index (-1 = all) -1
-m, --max-diff <n> Maximum differences to show per bank 10
--summary Show only summary, not detailed differences -
-q, --quiet Suppress output except errors -
--no-color Disable colored output -

Exit Codes

Code Meaning
0 Files are identical
1 Differences found
2 Error (file not found, etc.)

Examples

Basic Comparison

# Compare two files
hipo-comparator file1.hipo file2.hipo

# Quick summary only
hipo-comparator --summary file1.hipo file2.hipo

Tolerance

# Higher tolerance for floating point comparisons
hipo-comparator -t 1e-4 file1.hipo file2.hipo

# Very loose tolerance
hipo-comparator -t 0.01 file1.hipo file2.hipo

Specific Banks

# Compare only specific banks
hipo-comparator -b REC::Particle -b REC::Track file1.hipo file2.hipo

Event Range

# Compare events 100-200 only
hipo-comparator -s 100 -e 200 file1.hipo file2.hipo

Scripting

# Silent comparison (check exit code)
if hipo-comparator -q file1.hipo file2.hipo; then
    echo "Files are identical"
else
    echo "Differences found"
fi

See Also