7 #ifndef FUZZ_FUZZYKMEANALG_H 8 #define FUZZ_FUZZYKMEANALG_H 31 Atom<bool> WeightByQ{
Name(
"WeightByQ"),
Comment(
"Weight all hits equally (false), or weight by charge (true)")};
39 "The parameters were modeled based off of simulations of muons and electrons.")};
41 "The parameters were modeled based off of simulations of muons and electrons.")};
43 "The parameters were modeled based off of simulations of muons and electrons.")};
46 Atom<double> MergeAng{
Name(
"MergeAng"),
Comment(
"Maximum angular difference between cluster centers to consider a merge (radians)")};
49 Atom<double> Cutoff{
Name(
"CutOff"),
Comment(
"Distance (in cm) beyond which the angular uncertainty should remain constant")};
51 Atom<int> PrintLevel{
Name(
"PrintLevel"),
Comment(
"Level of debugging to control print statements (0=no debug, 1= major info, 2= minor info)")};
70 void DoClustering(
unsigned int minClust,
unsigned int maxClust,
75 void MakeClusters(
unsigned int n);
79 void SeedA(
unsigned int n);
82 bool FindUnclustered();
109 void MakeAngles(
double vXY,
double vZ,
geo::View_t view);
112 void MergeClusters();
122 std::vector<double>
fW;
125 std::vector<double>
fX;
131 std::vector< std::vector<double> >
fD;
134 std::vector< std::vector<double> >
fU;
137 std::vector<double>
fA;
143 std::vector<std::pair<double,double> >
fUnused;
146 std::vector<std::pair<double,double> >
fLMax;
std::vector< std::vector< double > > fD
Dist clust i to sub. j.
std::vector< double > fSeed
List of used seeds.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
std::vector< double > fDist
Distance from vertex.
std::vector< DAQHit > HitList
std::vector< double > fdX
Uncertainty in angle.
A collection of associated CellHits.
double Distance(double x1, double y1, double x2, double y2)
std::vector< double > fX
Angle to vertex.
std::vector< std::pair< double, double > > fLMax
List of max densities.
Just the essential information required for track fitting.
std::vector< double > fA
Cluster centers.
std::vector< std::vector< double > > fU
Assign cluster i to sub. j.
rb::HitList fHL
List of hits in slice.
Fuzzy k-Means prong-finding algorithm.
Perform a "2 point" Hough transform on a collection of hits.
std::vector< double > fW
Hit weight, currently PE.
std::vector< std::pair< double, double > > fUnused
Unused cell pos., uncert.