Prepared FuzzyTools and FuzzyAnalysis for the introduction of more kernels by introducing modes in FuzzyTools and requiring the client to set the modes on the tool before clustering.
Changed method names in Fuzzy Tools to prepare for the addition of further kernels. This is an impermanent solution to a deeper problem (see NOTES and the comments at ComputeWeightGaussian). However, this code will likely be rewritten as a fastjet plugin anyway, in which case architecture changes can be orchestrated more easily at that time.
Added uniform kernels, extending the interface defined by ClusterFuzzyGaussian.
FuzzyAnalysis.cc correctly sets the kernel type now.
Uniformized how cuts in ClustersForRemoval-- are handled slightly by introducing per tool instance vars that define the cuts.
Added a few miscellaneous things including an option to enable or disable learning cluster weights for kernels that support this feature. Also tried investigating a source of a memory error, but haven't tracked it down yet because it disappeared and valgrind is useless when investigating a program linked against ROOT.
Updated cluster flag for deletion code to use std::set, preventing the deletion of all candidate clusters when more than two clusters merged in an iteration. Should also improve running time.
Finished up much of the code for the truncated Gaussian kernel. Before finishing I will add weight support for the standard Gaussian kernel as this will streamline the code significantly.
Finished updating for kernels. Made substantial changes to the cluster flagging code which should make the algorithm more stable in the sense that it will return zero clusters with less likelihood. This remains a problem even with the current setup when learning cluster shapes
Added make clear command to remove files with the root extension. Use carefully.