Moving PbPb multiplicity in the new directory structure
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / ChargedHadrons / multPbPb / AliAnalysisMultPbCentralitySelector.h
CommitLineData
a23f7c97 1#ifndef ALIANALYSISMULTPBCENTRALITYSELECTOR_H
2#define ALIANALYSISMULTPBCENTRALITYSELECTOR_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//-------------------------------------------------------------------------
8// AliAnalysisMultPbCentralitySelector
9//
10// This class selects collision candidates from data runs, applying selection cuts on triggers
11// and background rejection based on the content of the ESD
12//
13// Author: Michele Floris, CERN
14//-------------------------------------------------------------------------
15
16#include <AliAnalysisCuts.h>
17#include <AliLog.h>
18
19#define VERBOSE_STAT
20
21class AliESDEvent;
22class TH2F;
23class TH1F;
24class TCollection;
25class AliTriggerAnalysis;
26class AliAnalysisTaskSE;
e0376287 27class AliESDtrackCuts;
a23f7c97 28
29class AliAnalysisMultPbCentralitySelector : public AliAnalysisCuts
30{
31public:
32
bcf2601a 33 AliAnalysisMultPbCentralitySelector() : fIsMC (0), fCentrEstimator(""), fCentrBin(-1), fMultMin(0), fMultMax(1000000), fFile1(""), fFile2(""), fUseMultRange(kFALSE), fUseV0CutRange(kFALSE), fUseCorrV0(kTRUE), fUseSPDOuterRange(kFALSE) {;}
a23f7c97 34 virtual ~AliAnalysisMultPbCentralitySelector(){}
35
36 // AliAnalysisCuts interface
e0376287 37 virtual UInt_t GetSelectionMask(const TObject* obj) { return (UInt_t) IsCentralityBinSelected((AliESDEvent*) obj, NULL); }
a23f7c97 38 virtual Bool_t IsSelected(TList*) { AliFatal("Not implemented"); return kFALSE; }
e0376287 39 virtual Bool_t IsSelected(TObject* obj) {return (UInt_t) IsCentralityBinSelected ( (AliESDEvent*) obj, NULL);}
a23f7c97 40
e0376287 41 Bool_t IsCentralityBinSelected(AliESDEvent* aEsd, AliESDtrackCuts * trackCuts);
a23f7c97 42
5ec1c2f5 43 void SetIsMC(Bool_t flag = kTRUE, Int_t multMin = 0, Int_t multMax=10000) { fIsMC = flag; fMultMin = multMin; fMultMax = multMax; }
44 void SetMultRange(Int_t multMin = 0, Int_t multMax=10000) { fMultMin = multMin; fMultMax = multMax; }
2bbfd8c6 45 void SetUseMultRange(Bool_t flag = kTRUE) {fUseMultRange = flag;}
3b8cbf2d 46 void SetUseV0Range(Bool_t flag = kTRUE) {fUseV0CutRange = flag;}
bcf2601a 47 void SetUseCorrV0(Bool_t flag) { fUseCorrV0 = flag;}
72491d7c 48 void SetUseSPDOuterRange(Bool_t flag = kTRUE) {fUseSPDOuterRange = flag;}
e0376287 49 void SetCentralityEstimator(const char * estimator) { fCentrEstimator = estimator; }
2bbfd8c6 50 void SetCentralityBin(Int_t bin) { fCentrBin = bin; }
51 void SetCentrTaskFiles(const char * file1, const char * file2) { fFile1 = file1; fFile2 = file2; }
bcf2601a 52
53
54 Float_t GetCorrV0(const AliESDEvent* esd, float &v0CorrResc) const ;
e0376287 55 virtual void Print(Option_t* option = "") const ;
a23f7c97 56 virtual Long64_t Merge(TCollection* list){list->GetEntries();return 0;}
57
58protected:
59 Bool_t fIsMC; // flag if MC is analyzed
e0376287 60 TString fCentrEstimator; // Centrality estimator for AliESDCentrality
2bbfd8c6 61 Int_t fCentrBin; // centrality bin to be selected
3b8cbf2d 62 Float_t fMultMin ; // Minimum multiplicity, because on MC we cut on tracks rather than on the estimator . Also used for other estimators
63 Float_t fMultMax ; // Maximum multiplicity, because on MC we cut on tracks rather than on the estimator . Also used for other estimators
2bbfd8c6 64 TString fFile1; // file used by centrality task. Set here for bookkeeping
65 TString fFile2; // file used by centrality task. Set here for bookkeeping
66 Bool_t fUseMultRange; // if true, use track bins rather than multiplicity estimator
3b8cbf2d 67 Bool_t fUseV0CutRange; // if true, use v0 range rather than multiplicity estimator
bcf2601a 68 Bool_t fUseCorrV0; // linearized V0
72491d7c 69 Bool_t fUseSPDOuterRange; // if true, use SPD outer cluster range rather than multiplicity estimator
2bbfd8c6 70
72491d7c 71 ClassDef(AliAnalysisMultPbCentralitySelector, 3)
a23f7c97 72
73 private:
74 AliAnalysisMultPbCentralitySelector(const AliAnalysisMultPbCentralitySelector&); // not implemented
75 AliAnalysisMultPbCentralitySelector& operator=(const AliAnalysisMultPbCentralitySelector&); // not implemented
76};
77
78#endif