1 #ifndef AliAnalysisTaskKMeans_cxx
2 #define AliAnalysisTaskKMeans_cxx
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //-------------------------------------------------------------------------
9 // Analysis Task that uses the Soft K-Means Algorithm to find clusters in
10 // the eta-phi space of Minimum Bias. No pt information is used for the clustering.
13 // Author: Andreas Morsch (CERN)
14 // andreas.morsch@cern.ch
15 //-------------------------------------------------------------------------
24 class AliESDtrackCuts;
27 #include "AliAnalysisTaskSE.h"
29 class AliAnalysisTaskKMeans : public AliAnalysisTaskSE {
31 AliAnalysisTaskKMeans();
32 AliAnalysisTaskKMeans(const char *name);
33 virtual ~AliAnalysisTaskKMeans() {}
34 virtual void UserCreateOutputObjects();
35 virtual void UserExec(Option_t *option);
36 virtual void Terminate(Option_t *);
37 virtual void SetCuts(AliESDtrackCuts* cuts) {fCuts = cuts;}
38 virtual Double_t DeltaPhi(Double_t phi1, Double_t phi2);
39 virtual Double_t DeltaR(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2);
43 TList* fHists; // Histograms
44 TH1F* fH1CEta; // Eta distribution of clusters
45 TH1F* fH1CPhi; // Phi distribution of clusters
46 TH1F* fH1CEtaR; // Eta distribution of clusters for rndm evnt
47 TH2F* fH2N1N2; // Cluster sizes
48 TH1F* fH1Pt; // pt outside clusters
49 TH1F* fH1PtC; // pt outside clusters
50 TH1F* fH1PtC1; // pt dr > 0.4
51 TH1F* fH1PtC2; // pt dr > 0.2
52 TH1F* fH1DPhi; // Dphi wr to cluster
53 TH1F* fH1DR; // DR wr to cluster
54 TH1F* fH1DRR; // DR wr to cluster from rndm events
55 TH2F* fH2DPhiEta; // eta-phi wr to cluster
56 TH2F* fH2DPhiEtaR; // eta-phi wr to cluster for rndm events
57 TH2F* fH2DPhiEtaL; // eta-phi of leading particle
59 AliESDtrackCuts* fCuts; // List of cuts
60 ClassDef(AliAnalysisTaskKMeans, 1); // A k-means clustering analysis