JetSubstructureMomentTools simplifying string operations and adding M3
This MR implements a change suggested by @krumnack in !29837 (merged). It makes use of structs to significantly reduce the number of string operations in the ECF and N-Subjettiness tools. Some other code cleanup (such as making the comments doxygen compatible) and optimization is also implemented, including no longer calculating ECFG_3_3_2
that is not used in any ECFG ratios. Additionally, the possibility of calculating M3 is included, but turned off by default.
Local tests have validated that the moment calculations are not impacted by these changes. The CPU time gains are small but consistent. It is difficult to quantify the exact gains since they depend significantly on the number of moments and other that are scheduled.
Tagging @sschramm, @delitez, @wbalunas, and @sawyer for comments.