Avoid parsing of info files if analysis not needed
As reported by @max.knobbe, Rivet currently parses all of the info files for every run which is an issue for large-scale MPI applications.
This change set moves the info-file parsing logic from the AnalysisInfo
constructor into a separate method which in turn is only called if and when the user actually requests a given analysis.
Before:
> strace rivet LHC-8-Jets-5.hepmc.gz 2>&1 | grep "\.info" | grep open | wc -l
3066
After:
> strace rivet LHC-8-Jets-5.hepmc.gz 2>&1 | grep "\.info" | grep open | wc -l
0
> strace rivet -a MC_JETS LHC-8-Jets-5.hepmc.gz 2>&1 | grep "\.info" | grep open | wc -l
1