ClassImp(AliAnalysisTaskKMeans)
AliAnalysisTaskKMeans::AliAnalysisTaskKMeans()
- : AliAnalysisTaskSE()
+ : AliAnalysisTaskSE()
+ ,fK(0)
,fHists(0)
,fH1CEta(0)
,fH1CPhi(0)
,fH2DPhiEtaLR(0)
,fH2DPhiEtaC(0)
,fH2DPhiEtaCR(0)
+ ,fH1Resp(0)
+ ,fH1RespR(0)
,fCuts(0)
{
//
//________________________________________________________________________
AliAnalysisTaskKMeans::AliAnalysisTaskKMeans(const char *name)
: AliAnalysisTaskSE(name)
+ ,fK(0)
,fHists(0)
,fH1CEta(0)
,fH1CPhi(0)
,fH2DPhiEtaLR(0)
,fH2DPhiEtaC(0)
,fH2DPhiEtaCR(0)
+ ,fH1Resp(0)
+ ,fH1RespR(0)
,fCuts(0)
{
//
fH2DPhiEtaC = new TH2F("fH2DPhiEtaC","eta phi distribution", 31, 0., TMath::Pi(), 20, 0., 2.);
fH2DPhiEtaCR = new TH2F("fH2DPhiEtaCR","eta phi distribution", 31, 0., TMath::Pi(), 20, 0., 2.);
fH1DRR = new TH1F("fH1DRR", "dR distribution", 50, 0., 5.);
-
+ fH1Resp = new TH1F("fH1Resp", "Responsibility", 50, 0., 1.);
+ fH1RespR = new TH1F("fH1RespR", "Responsibility", 50, 0., 1.);
fHists->SetOwner();
fHists->Add(fH1CEta);
fHists->Add(fH2DPhiEtaC);
fHists->Add(fH2DPhiEtaCR);
fHists->Add(fH1DRR);
-
+ fHists->Add(fH1RespR);
+ fHists->Add(fH1Resp);
//
- AliKMeansClustering::SetBeta(20.);
+ AliKMeansClustering::SetBeta(4.);
}
return;
}
//
- AliKMeansClustering::SoftKMeans(2, ic, phi, eta, mPhi, mEta, rk);
+ AliKMeansClustering::SoftKMeans(fK, ic, phi, eta, mPhi, mEta, rk);
//
// Sort
- TMath::Sort(2, rk, ind);
+ TMath::Sort(fK, rk, ind);
+ fH1Resp->Fill(rk[ind[0]]/(rk[0]+rk[1]));
//
// Analyse
//
// Randomized phi
//
- AliKMeansClustering::SoftKMeans(2, ic, phiR, etaR, mPhi, mEta, rk);
+ AliKMeansClustering::SoftKMeans(fK, ic, phiR, etaR, mPhi, mEta, rk);
//
// Sort
- TMath::Sort(2, rk, ind);
+ TMath::Sort(fK, rk, ind);
+ fH1RespR->Fill(rk[ind[0]]/(rk[0]+rk[1]));
//
// Analyse
//
virtual void SetCuts(AliESDtrackCuts* cuts) {fCuts = cuts;}
virtual Double_t DeltaPhi(Double_t phi1, Double_t phi2);
virtual Double_t DeltaR(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2);
-
+ virtual void SetK(Int_t k) {fK = k;}
private:
// Others
+ Int_t fK; // K
TList* fHists; // Histograms
TH1F* fH1CEta; // Eta distribution of clusters
TH1F* fH1CPhi; // Phi distribution of clusters
TH2F* fH2DPhiEtaLR; // eta-phi of leading particle
TH2F* fH2DPhiEtaC; // eta-phi of Clusters
TH2F* fH2DPhiEtaCR; // eta-phi of Clusters
-
+ TH1F* fH1Resp; // responsibility
+ TH1F* fH1RespR; // responsibility
AliESDtrackCuts* fCuts; // List of cuts
ClassDef(AliAnalysisTaskKMeans, 1); // A k-means clustering analysis
};