]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/AliKMeansClustering.h
kmeans++ iniyialisation added.
[u/mrichter/AliRoot.git] / JETAN / AliKMeansClustering.h
CommitLineData
70f2ce9d 1#ifndef ALIKMEANSCLUSTERING_H
2#define ALIKMEANSCLUSTERING_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7// Implemenatation of the K-Means Clustering Algorithm
8// http://en.wikipedia.org/wiki/K-means_clustering
9// This particular implementation is the so called Soft K-means algorithm.
10// It has been modified to work on the cylindrical topology in eta-phi space.
11//
12// Author: Andreas Morsch (CERN)
13// andreas.morsch@cern.ch
14
15#include <TObject.h>
16
17class AliKMeansClustering : public TObject
18{
19 public:
20 AliKMeansClustering() {}
21 virtual ~AliKMeansClustering() {}
22
b7aa0494 23 static Int_t SoftKMeans (Int_t k, Int_t n, Double_t* x, Double_t* y, Double_t* mx, Double_t* my , Double_t* rk );
24 static Int_t SoftKMeans2(Int_t k, Int_t n, Double_t* x, Double_t* y, Double_t* mx, Double_t* my , Double_t* sigma2,
77f42a25 25 Double_t* rk );
5145d1b5 26 static void OptimalInit(Int_t k, Int_t n, Double_t* x, Double_t* y, Double_t* mx, Double_t* my);
27 static void SetBeta(Double_t beta) {fBeta = beta;}
70f2ce9d 28 static Double_t d(Double_t mx, Double_t my, Double_t x, Double_t y);
29protected:
30 static Double_t fBeta;
31
32 ClassDef(AliKMeansClustering, 1)
33};
34
35#endif