]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIANALYSISTASKKMEANS_H | |
2 | #define ALIANALYSISTASKKMEANS_H | |
3 | /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
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. | |
11 | // | |
12 | // | |
13 | // Author: Andreas Morsch (CERN) | |
14 | // andreas.morsch@cern.ch | |
15 | //------------------------------------------------------------------------- | |
16 | ||
17 | class TH1F; | |
18 | class TH2F; | |
19 | class TList; | |
20 | class TProfile; | |
21 | class AliESDEvent; | |
22 | class AliESDtrack; | |
23 | class AliESDtrackCuts; | |
24 | class AliKMeansResult; | |
25 | ||
26 | #include "AliAnalysisTaskSE.h" | |
27 | ||
28 | class AliAnalysisTaskKMeans : public AliAnalysisTaskSE { | |
29 | public: | |
30 | AliAnalysisTaskKMeans(); | |
31 | AliAnalysisTaskKMeans(const char *name); | |
32 | AliAnalysisTaskKMeans(const AliAnalysisTaskKMeans &res); | |
33 | AliAnalysisTaskKMeans& operator=(const AliAnalysisTaskKMeans& trclass); | |
34 | virtual ~AliAnalysisTaskKMeans() {} | |
35 | virtual void UserCreateOutputObjects(); | |
36 | virtual void UserExec(Option_t *option); | |
37 | virtual void Terminate(Option_t *); | |
38 | virtual void SetCuts(AliESDtrackCuts* cuts) {fCuts = cuts;} | |
39 | virtual Double_t DeltaPhi(Double_t phi1, Double_t phi2); | |
40 | virtual Double_t DeltaR(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2); | |
41 | virtual void SetK(Int_t k) {fK = k;} | |
42 | virtual void SetMinimumMultiplicity(Int_t k) {fNMin = k;} | |
43 | virtual void SetEtaPhi(TH2F* h2) {fH2REtaPhi = h2;} | |
44 | private: | |
45 | // Others | |
46 | Int_t fK; // K | |
47 | Int_t fNMin; // Minimum multipicity | |
48 | TList* fHists; //! Histograms | |
49 | TH1F* fH1CEta; //! Eta distribution of clusters | |
50 | TH1F* fH1CPhi; //! Phi distribution of clusters | |
51 | TH1F* fH1CEtaR; //! Eta distribution of clusters for rndm evnt | |
52 | TH2F* fH2N1N2; //! Cluster sizes | |
53 | TH1F* fH1Pt; //! pt outside clusters | |
54 | TH1F* fH1PtC; //! pt outside clusters | |
55 | TH1F* fH1PtC1; //! pt dr > 0.4 | |
56 | TH1F* fH1PtC2; //! pt dr > 0.2 | |
57 | TH1F* fH1PtAS; //! away-side peak | |
58 | TH1F* fH1PtR; //! away-side peak | |
59 | TH1F* fH1SPt; //! sum pt | |
60 | TH1F* fH1SPtC; //! sum pt | |
61 | TH1F* fH1DPhi; //! Dphi wr to cluster | |
62 | TH1F* fH1DR; //! DR wr to cluster | |
63 | TH1F* fH1DRR; //! DR wr to cluster from rndm events | |
64 | TH2F* fH2DPhiEta; //! eta-phi wr to cluster | |
65 | TH2F* fH2DPhiEtaR; //! eta-phi wr to cluster for rndm events | |
66 | TH2F* fH2DPhiEtaL; //! eta-phi of leading particle | |
67 | TH2F* fH2DPhiEtaLR; //! eta-phi of leading particle | |
68 | TH2F* fH2DPhiEtaC; //! eta-phi of Clusters | |
69 | TH2F* fH2DPhiEtaCR; //! eta-phi of Clusters | |
70 | TH1F* fH1Resp; //! responsibility | |
71 | TH1F* fH1RespR; //! responsibility | |
72 | TH2F* fH2Sigma; //! sigma | |
73 | TH2F* fH2SigmaR; //! sigma random | |
74 | TH1F* fHDensity; //! Particle density | |
75 | TH1F* fHCSize; //! Cluster Size | |
76 | TH1F* fHNCluster; //! Number of clusters | |
77 | TH2F* fHPtDensity; //! Pt vs density | |
78 | TH1F* fHDPhi; //! Phi Correlation | |
79 | TH2F* fH2EtaPhi; //! eta phi | |
80 | TH2F* fH2REtaPhi; // eta phi | |
81 | AliKMeansResult* fA[10]; //! Array of results | |
82 | AliKMeansResult* fB[10]; //! Array of results | |
83 | AliESDtrackCuts* fCuts; // List of cuts | |
84 | ClassDef(AliAnalysisTaskKMeans, 1); // A k-means clustering analysis | |
85 | }; | |
86 | ||
87 | #endif |