Treatment of Default Weight Name
Currently, Rivet first looks for the empty ("") string in the list of weight names and takes the corresponding weight as the nominal weight. If there is no empty string, it will look for "Weight", "Default" or "0" and if it finds exactly one of those, it will use that as the default weight. (In case of more than one, it will throw an error and tell you that this is ambiguous.)
There are two issues:
- We are currently sensitive to lower vs upper case. We probably should also support "default" etc. and maybe also add "nominal" to the list? [EDIT: This part has been addressed now]
- If Rivet cannot find any of those, it will throw and error and ask you to fix the HepMC file. The latter should not be necessary if the generator authors were sticking to common sense / established conventions when choosing weight names, but unfortunately we're not there yet (you know who you are).
I'm kind of happy with it throwing an error and telling us to fix the file, because really that is what should be happening, but sometimes fixing the file is not an option for whatever reason. We should probably add some kind of fall-back mechanism to overrule this decision and "make Rivet accept" a certain weight as the nominal, no?
This could be an environment variable or a command-line flag, but we probably don't want to use the weight position for this and stick to weight names.
Thoughts?