1 #ifndef ALIPROTONFEEDDOWNANALYSIS_H
\r
2 #define ALIPROTONFEEDDOWNANALYSIS_H
\r
6 #include "AliCFContainer.h"
\r
12 //#include "AliPID.h"
\r
15 class AliCFDataGrid;
\r
20 class AliExternalTrackParam;
\r
23 class AliProtonAnalysisBase;
\r
25 class AliProtonFeedDownAnalysis : public TObject
\r
30 kAll = 0, //without protons reject the secondaries from hadronic inter.
\r
34 kSelectedfromLambda = 4,
\r
37 AliProtonFeedDownAnalysis();
\r
38 //AliProtonFeedDownAnalysis(Int_t nbinsY, Float_t fLowY, Float_t fHighY,Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
\r
39 virtual ~AliProtonFeedDownAnalysis();
\r
41 void SetBaseAnalysis(AliProtonAnalysisBase * const baseAnalysis) {fProtonAnalysisBase = baseAnalysis;}
\r
42 AliProtonAnalysisBase *GetProtonAnalysisBaseObject() const {return fProtonAnalysisBase;}
\r
44 void InitAnalysisHistograms(Int_t nbinsY, Float_t fLowY, Float_t fHighY, Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
\r
45 void Analyze(AliESDEvent *fESD, const AliESDVertex *vertex,AliStack *stack);
\r
46 void Analyze(AliAODEvent *fAOD);
\r
47 void Analyze(AliStack *stack);
\r
49 AliCFContainer *GetProtonContainer() const {return fProtonContainer;}
\r
50 AliCFContainer *GetAntiProtonContainer() const {return fAntiProtonContainer;}
\r
52 void SetWeightFunction(TF1* weightfunction){fweightfunction=weightfunction;}
\r
53 TF1* GetWeightFunction() const{return fweightfunction;}
\r
54 TH2F* GetLambdaHist() const{return fLambda;}
\r
55 TH2F* GetLambdaweightedHist() const{return fLambdaweighted;}
\r
56 TH2F* GetAntiLambdaHist() const{return fAntiLambda;}
\r
57 TH2F* GetAntiLambdaweightedHist() const{return fAntiLambdaweighted;}
\r
59 AliProtonFeedDownAnalysis(const AliProtonFeedDownAnalysis&); // Not implemented
\r
60 AliProtonFeedDownAnalysis& operator=(const AliProtonFeedDownAnalysis&); // Not implemented
\r
62 AliProtonAnalysisBase *fProtonAnalysisBase;//base analysis object
\r
63 Int_t LambdaIsMother(Int_t numbe, AliStack *stack);
\r
64 Float_t GetWeightforProton(Int_t number, AliStack *stack);
\r
65 Float_t GetWeightforLambda(Float_t pt);
\r
67 Int_t fNBinsY; //number of bins in y or eta
\r
68 Double_t fMinY, fMaxY; //min & max value of y or eta
\r
69 Int_t fNBinsPt; //number of bins in pT
\r
70 Double_t fMinPt, fMaxPt; //min & max value of pT
\r
72 //Analysis containers
\r
73 AliCFContainer *fProtonContainer; //container for protons
\r
74 AliCFContainer *fAntiProtonContainer; //container for antiprotons
\r
76 TF1*fweightfunction;
\r
78 TH2F *fLambdaweighted;
\r
80 TH2F *fAntiLambdaweighted;
\r
82 ClassDef(AliProtonFeedDownAnalysis,2);
\r