#ifndef ALIANALYSISCENTRALITYSELECTOR_H
#define ALIANALYSISCENTRALITYSELECTOR_H
#include <AliAnalysisCuts.h>
#include <AliLog.h>
#define VERBOSE_STAT
class AliESDEvent;
class TH2F;
class TH1F;
class TCollection;
class AliTriggerAnalysis;
class AliAnalysisTaskSE;
class AliESDtrackCuts;
class AliAnalysisCentralitySelector : public AliAnalysisCuts
{
public:
AliAnalysisCentralitySelector() : AliAnalysisCuts("CentralityCuts", "Centrality Cuts"), fIsMC (0), fCentrEstimator(""), fCentrBin(-1), fMultMin(0), fMultMax(1000000), fUseMultRange(kFALSE), fUseV0CutRange(kFALSE), fUseSPDOuterRange(kFALSE), fUsePercentile(kFALSE) {;}
virtual ~AliAnalysisCentralitySelector(){}
virtual UInt_t GetSelectionMask(const TObject* obj) { return (UInt_t) IsCentralityBinSelected((AliESDEvent*) obj, NULL); }
virtual Bool_t IsSelected(TList*) { AliFatal("Not implemented"); return kFALSE; }
virtual Bool_t IsSelected(TObject* obj) {return (UInt_t) IsCentralityBinSelected ( (AliESDEvent*) obj, NULL);}
Bool_t IsCentralityBinSelected(AliESDEvent* aEsd, AliESDtrackCuts * trackCuts);
void SetIsMC(Bool_t flag = kTRUE, Int_t multMin = 0, Int_t multMax=10000) { fIsMC = flag; fMultMin = multMin; fMultMax = multMax; }
void SetMultRange(Int_t multMin = 0, Int_t multMax=10000) { fMultMin = multMin; fMultMax = multMax; }
void SetUseMultRange(Bool_t flag = kTRUE) {fUseMultRange = flag;}
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(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;}
protected:
Bool_t fIsMC;
TString fCentrEstimator;
Int_t fCentrBin;
Float_t fMultMin ;
Float_t fMultMax ;
Bool_t fUseMultRange;
Bool_t fUseV0CutRange;
Bool_t fUseSPDOuterRange;
Bool_t fUsePercentile;
ClassDef(AliAnalysisCentralitySelector, 2)
private:
AliAnalysisCentralitySelector(const AliAnalysisCentralitySelector&);
AliAnalysisCentralitySelector& operator=(const AliAnalysisCentralitySelector&);
};
#endif
AliAnalysisCentralitySelector.h:1 AliAnalysisCentralitySelector.h:2 AliAnalysisCentralitySelector.h:3 AliAnalysisCentralitySelector.h:4 AliAnalysisCentralitySelector.h:5 AliAnalysisCentralitySelector.h:6 AliAnalysisCentralitySelector.h:7 AliAnalysisCentralitySelector.h:8 AliAnalysisCentralitySelector.h:9 AliAnalysisCentralitySelector.h:10 AliAnalysisCentralitySelector.h:11 AliAnalysisCentralitySelector.h:12 AliAnalysisCentralitySelector.h:13 AliAnalysisCentralitySelector.h:14 AliAnalysisCentralitySelector.h:15 AliAnalysisCentralitySelector.h:16 AliAnalysisCentralitySelector.h:17 AliAnalysisCentralitySelector.h:18 AliAnalysisCentralitySelector.h:19 AliAnalysisCentralitySelector.h:20 AliAnalysisCentralitySelector.h:21 AliAnalysisCentralitySelector.h:22 AliAnalysisCentralitySelector.h:23 AliAnalysisCentralitySelector.h:24 AliAnalysisCentralitySelector.h:25 AliAnalysisCentralitySelector.h:26 AliAnalysisCentralitySelector.h:27 AliAnalysisCentralitySelector.h:28 AliAnalysisCentralitySelector.h:29 AliAnalysisCentralitySelector.h:30 AliAnalysisCentralitySelector.h:31 AliAnalysisCentralitySelector.h:32 AliAnalysisCentralitySelector.h:33 AliAnalysisCentralitySelector.h:34 AliAnalysisCentralitySelector.h:35 AliAnalysisCentralitySelector.h:36 AliAnalysisCentralitySelector.h:37 AliAnalysisCentralitySelector.h:38 AliAnalysisCentralitySelector.h:39 AliAnalysisCentralitySelector.h:40 AliAnalysisCentralitySelector.h:41 AliAnalysisCentralitySelector.h:42 AliAnalysisCentralitySelector.h:43 AliAnalysisCentralitySelector.h:44 AliAnalysisCentralitySelector.h:45 AliAnalysisCentralitySelector.h:46 AliAnalysisCentralitySelector.h:47 AliAnalysisCentralitySelector.h:48 AliAnalysisCentralitySelector.h:49 AliAnalysisCentralitySelector.h:50 AliAnalysisCentralitySelector.h:51 AliAnalysisCentralitySelector.h:52 AliAnalysisCentralitySelector.h:53 AliAnalysisCentralitySelector.h:54 AliAnalysisCentralitySelector.h:55 AliAnalysisCentralitySelector.h:56 AliAnalysisCentralitySelector.h:57 AliAnalysisCentralitySelector.h:58 AliAnalysisCentralitySelector.h:59 AliAnalysisCentralitySelector.h:60 AliAnalysisCentralitySelector.h:61 AliAnalysisCentralitySelector.h:62 AliAnalysisCentralitySelector.h:63 AliAnalysisCentralitySelector.h:64 AliAnalysisCentralitySelector.h:65 AliAnalysisCentralitySelector.h:66 AliAnalysisCentralitySelector.h:67 AliAnalysisCentralitySelector.h:68 AliAnalysisCentralitySelector.h:69 AliAnalysisCentralitySelector.h:70 AliAnalysisCentralitySelector.h:71 AliAnalysisCentralitySelector.h:72 AliAnalysisCentralitySelector.h:73