MadGraphControl interface updates
This is a first pass at a simplification and cleanup of MadGraph control for the new workflow.
The changes are obviously pretty extensive. For the helpers, I've added two functions. One provides access to the physics short (this could in principle be a part of some central evgen code if one wished), and the other provides access to the beam energy and random seed from the runArgs, including some error handling (these are needed a lot in MGC).
The major changes are to MadGraphUtils itself. Most of these are not going to be backwards compatible -- job options are going to break. The changes required are almost all simplifications, and I'm in the process of updating the examples to follow the new interfaces. As some examples of simplification: the build_run_card
function and modify_run_card
functions now have similar interfaces, use one another, and have a clear difference in purpose; we reduce quite significantly the number of parameters of most functions by relying on people doing things in a sensible order (you must set up your run card before generation, and as always you pass in your run card; previously you could pass in the run card along with some last-minute parameters to update); the arrange_output
function has been dramatically simplified so that the users don't have to do anything fancy and the output is given a production-system-compatible name automatically; magic names are controlled from the top to avoid asking people to name things when we don't want them to think about that issue.
I hope that @mcfayden and @hmildner will get a chance to look some of this over. I've got the first five tests running now, so I'm making this MR and we can continue to bugfix for a bit.