]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/AntiprotonToProton/AliProtonFeedDownAnalysis.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / AntiprotonToProton / AliProtonFeedDownAnalysis.h
1 #ifndef ALIPROTONFEEDDOWNANALYSIS_H
2 #define ALIPROTONFEEDDOWNANALYSIS_H
3
4 #include "TObject.h"
5 #include "TH1I.h"
6 #include "AliCFContainer.h"
7 class TF1;
8 class TH2D;
9 class TH1F;
10 class TList;
11
12 //#include "AliPID.h"
13 class AliPID;
14
15 class AliCFDataGrid;
16 class AliAODEvent;
17 class AliAODtrack;
18 class AliESDEvent;
19 class AliESDtrack;
20 class AliExternalTrackParam;
21 class AliStack;
22 class AliESDVertex;
23 class AliProtonAnalysisBase;
24
25 class AliProtonFeedDownAnalysis : public TObject 
26 {
27         public:
28         enum 
29                 {
30                         kAll      = 0, //without protons reject the secondaries from hadronic inter. 
31                         kPrimary = 1,
32                         kFromLambda        = 2,
33                         kSelected = 3 ,
34                         kSelectedfromLambda = 4,
35                         kNSteps=5
36                 };
37                 AliProtonFeedDownAnalysis();
38                 //AliProtonFeedDownAnalysis(Int_t nbinsY, Float_t fLowY, Float_t fHighY,Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
39                 virtual ~AliProtonFeedDownAnalysis();
40                 
41                 void SetBaseAnalysis(AliProtonAnalysisBase * const baseAnalysis) {fProtonAnalysisBase = baseAnalysis;}
42                 AliProtonAnalysisBase *GetProtonAnalysisBaseObject() const {return fProtonAnalysisBase;}
43                 
44                 void InitAnalysisHistograms(Int_t nbinsY, Float_t fLowY, Float_t fHighY, Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
45                 void Analyze(AliESDEvent *fESD, const AliESDVertex *vertex,AliStack *stack);
46                 void Analyze(AliAODEvent *fAOD);
47                 void Analyze(AliStack *stack);
48                 
49                 AliCFContainer *GetProtonContainer() const {return fProtonContainer;}
50                 AliCFContainer *GetAntiProtonContainer() const {return fAntiProtonContainer;}
51                 
52                 void SetWeightFunction(TF1* weightfunction){fweightfunction=weightfunction;}
53                 TF1* GetWeightFunction() const{return fweightfunction;} 
54                 TH2F* GetLambdaHist() const{return fLambda;}
55                 TH2F* GetLambdaweightedHist() const{return fLambdaweighted;}
56                 TH2F* GetAntiLambdaHist() const{return fAntiLambda;}
57                 TH2F* GetAntiLambdaweightedHist() const{return fAntiLambdaweighted;}
58         private:
59                 AliProtonFeedDownAnalysis(const AliProtonFeedDownAnalysis&); // Not implemented
60                 AliProtonFeedDownAnalysis& operator=(const AliProtonFeedDownAnalysis&); // Not implemented
61                 
62                 AliProtonAnalysisBase *fProtonAnalysisBase;//base analysis object
63                 Int_t LambdaIsMother(Int_t numbe, AliStack *stack); 
64                 Float_t GetWeightforProton(Int_t number, AliStack *stack);
65                 Float_t GetWeightforLambda(Float_t pt);
66                 
67                 Int_t fNBinsY; //number of bins in y or eta
68                 Double_t fMinY, fMaxY; //min & max value of y or eta
69                 Int_t fNBinsPt;  //number of bins in pT
70                 Double_t fMinPt, fMaxPt; //min & max value of pT
71                 
72                 //Analysis containers
73                 AliCFContainer *fProtonContainer; //container for protons
74                 AliCFContainer *fAntiProtonContainer; //container for antiprotons
75                 
76                 TF1*fweightfunction; 
77                 TH2F *fLambda;
78                 TH2F *fLambdaweighted;
79                 TH2F *fAntiLambda;
80                 TH2F *fAntiLambdaweighted;
81                 
82   ClassDef(AliProtonFeedDownAnalysis,2);
83 };
84
85 #endif
86