From: mfloris Date: Mon, 4 Apr 2011 10:25:02 +0000 (+0000) Subject: Added function for finer centrality binning X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=5c808fa6e1ed2ef945e3dab77de6e3d5f1749daf;p=u%2Fmrichter%2FAliRoot.git Added function for finer centrality binning --- diff --git a/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.cxx b/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.cxx index 2ad2bd77a2c..7a47e70d1ef 100644 --- a/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.cxx +++ b/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.cxx @@ -55,7 +55,7 @@ Bool_t AliAnalysisCentralitySelector::IsCentralityBinSelected(AliESDEvent* aEsd, // cout << "ok" << endl; } - else if(fUseMultRange) { + else if(fUseMultRange) { if(!trackCuts){ AliFatal("Track cuts object is invalid"); } @@ -65,9 +65,16 @@ Bool_t AliAnalysisCentralitySelector::IsCentralityBinSelected(AliESDEvent* aEsd, if (fCentrBin == -1 && !fUseMultRange) return kTRUE; if (ntracks < fMultMin) return kFALSE; if (ntracks > fMultMax) return kFALSE; - } else { + } + else if(fUsePercentile) { + AliCentrality *centrality = (AliCentrality*) aEsd->GetCentrality(); + return centrality->IsEventInCentralityClass(fMultMin, fMultMax, fCentrEstimator.Data()) ; + + } + + else { - AliCentrality *centrality = (AliCentrality*) aEsd->GetCentrality(); // FIXME: change to alicentrality? + AliCentrality *centrality = (AliCentrality*) aEsd->GetCentrality(); if(!centrality && !fUseMultRange) { AliFatal("Centrality object not available"); } diff --git a/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.h b/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.h index 2049a7ea42d..fcb5020ed7d 100644 --- a/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.h +++ b/PWG2/SPECTRA/LambdaK0PbPb/AliAnalysisCentralitySelector.h @@ -30,7 +30,7 @@ class AliAnalysisCentralitySelector : public AliAnalysisCuts { public: - AliAnalysisCentralitySelector() : fIsMC (0), fCentrEstimator(""), fCentrBin(-1), fMultMin(0), fMultMax(1000000), fUseMultRange(kFALSE), fUseV0CutRange(kFALSE), fUseSPDOuterRange(kFALSE) {;} + AliAnalysisCentralitySelector() : AliAnalysisCuts("CentralityCuts", "Centrality Cuts"), fIsMC (0), fCentrEstimator(""), fCentrBin(-1), fMultMin(0), fMultMax(1000000), fUseMultRange(kFALSE), fUseV0CutRange(kFALSE), fUseSPDOuterRange(kFALSE), fUsePercentile(kFALSE) {;} virtual ~AliAnalysisCentralitySelector(){} // AliAnalysisCuts interface @@ -46,7 +46,8 @@ public: void SetUseV0Range(Bool_t flag = kTRUE) {fUseV0CutRange = flag;} void SetUseSPDOuterRange(Bool_t flag = kTRUE) {fUseSPDOuterRange = flag;} void SetCentralityEstimator(const char * estimator) { fCentrEstimator = estimator; } - void SetCentralityBin(Int_t bin) { fCentrBin = bin; } + void SetCentralityBin(Int_t bin) { fCentrBin = bin; } // uses 10% percentiles + void SetCentralityBin(Float_t min, Float_t max) { fMultMin = min; fMultMax = max; fUsePercentile=kTRUE;} virtual void Print(Option_t* option = "") const ; virtual Long64_t Merge(TCollection* list){list->GetEntries();return 0;} @@ -59,6 +60,7 @@ protected: Bool_t fUseMultRange; // if true, use track bins rather than multiplicity estimator Bool_t fUseV0CutRange; // if true, use v0 range rather than multiplicity estimator Bool_t fUseSPDOuterRange; // if true, use SPD outer cluster range rather than multiplicity estimator + Bool_t fUsePercentile; // if true, use the specified centrality percentile ClassDef(AliAnalysisCentralitySelector, 2)