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 //-------------------------------------------------------------------------
23 class AliESDtrackCuts;
24 class AliKMeansResult;
26 #include "AliAnalysisTaskSE.h"
28 class AliAnalysisTaskKMeans : public AliAnalysisTaskSE {
30 AliAnalysisTaskKMeans();
31 AliAnalysisTaskKMeans(const char *name);
32 virtual ~AliAnalysisTaskKMeans() {}
33 virtual void UserCreateOutputObjects();
34 virtual void UserExec(Option_t *option);
35 virtual void Terminate(Option_t *);
36 virtual void SetCuts(AliESDtrackCuts* cuts) {fCuts = cuts;}
37 virtual Double_t DeltaPhi(Double_t phi1, Double_t phi2);
38 virtual Double_t DeltaR(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2);
39 virtual void SetK(Int_t k) {fK = k;}
40 virtual void SetMinimumMultiplicity(Int_t k) {fNMin = k;}
44 Int_t fNMin; // Minimum multipicity
45 TList* fHists; //! Histograms
46 TH1F* fH1CEta; //! Eta distribution of clusters
47 TH1F* fH1CPhi; //! Phi distribution of clusters
48 TH1F* fH1CEtaR; //! Eta distribution of clusters for rndm evnt
49 TH2F* fH2N1N2; //! Cluster sizes
50 TH1F* fH1Pt; //! pt outside clusters
51 TH1F* fH1PtC; //! pt outside clusters
52 TH1F* fH1PtC1; //! pt dr > 0.4
53 TH1F* fH1PtC2; //! pt dr > 0.2
54 TH1F* fH1PtAS; //! away-side peak
55 TH1F* fH1PtR; //! away-side peak
56 TH1F* fH1SPt; //! sum pt
57 TH1F* fH1SPtC; //! sum pt
58 TH1F* fH1DPhi; //! Dphi wr to cluster
59 TH1F* fH1DR; //! DR wr to cluster
60 TH1F* fH1DRR; //! DR wr to cluster from rndm events
61 TH2F* fH2DPhiEta; //! eta-phi wr to cluster
62 TH2F* fH2DPhiEtaR; //! eta-phi wr to cluster for rndm events
63 TH2F* fH2DPhiEtaL; //! eta-phi of leading particle
64 TH2F* fH2DPhiEtaLR; //! eta-phi of leading particle
65 TH2F* fH2DPhiEtaC; //! eta-phi of Clusters
66 TH2F* fH2DPhiEtaCR; //! eta-phi of Clusters
67 TH1F* fH1Resp; //! responsibility
68 TH1F* fH1RespR; //! responsibility
69 TH2F* fH2Sigma; //! sigma
70 TH2F* fH2SigmaR; //! sigma random
71 TH1F* fHDensity; //! Particle density
72 TH1F* fHCSize; //! Cluster Size
73 TH1F* fHNCluster; //! Number of clusters
74 TH2F* fHPtDensity; //! Pt vs density
75 AliKMeansResult* fA[10]; //!
76 AliKMeansResult* fB[10]; //!
77 AliESDtrackCuts* fCuts; // List of cuts
78 ClassDef(AliAnalysisTaskKMeans, 1); // A k-means clustering analysis