/// <summary> /// Build a nice plot of the training value /// </summary> /// <param name="source"></param> /// <returns></returns> internal static IFutureValue<ROOTNET.NTH1F> MakeNNPlot (this IQueryable<TrainingTree> source, Method<TrainingTree> m) { // Argument check if (!m.WeightFile.Exists) { throw new ArgumentException($"File {m.WeightFile.FullName} can't be located."); } // Generate a pretty detailed plot var mvaCalc = m.GetMVAValue(); return source .FuturePlot("mva_weights", "MVA Output Weights", 10000, -1.0, 1.0, t => mvaCalc.Invoke(t), weight: t => t.Weight); }