]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/AliProtonFeedDownAnalysis.h
changed the order of call of endofcycle so that images are produced
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliProtonFeedDownAnalysis.h
1 #ifndef ALIPROTONFEEDDOWNANALYSIS_H\r
2 #define ALIPROTONFEEDDOWNANALYSIS_H\r
3 \r
4 #include "TObject.h"\r
5 #include "TH1I.h"\r
6 #include "AliCFContainer.h"\r
7 class TF1;\r
8 class TH2D;\r
9 class TH1F;\r
10 class TList;\r
11 \r
12 //#include "AliPID.h"\r
13 class AliPID;\r
14 \r
15 class AliCFDataGrid;\r
16 class AliAODEvent;\r
17 class AliAODtrack;\r
18 class AliESDEvent;\r
19 class AliESDtrack;\r
20 class AliExternalTrackParam;\r
21 class AliStack;\r
22 class AliESDVertex;\r
23 class AliProtonAnalysisBase;\r
24 \r
25 class AliProtonFeedDownAnalysis : public TObject \r
26 {\r
27         public:\r
28         enum \r
29                 {\r
30                         kAll      = 0, //without protons reject the secondaries from hadronic inter. \r
31                         kPrimary = 1,\r
32                         kFromLambda        = 2,\r
33                         kSelected = 3 ,\r
34                         kSelectedfromLambda = 4,\r
35                         kNSteps=5\r
36                 };\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
40                 \r
41                 void SetBaseAnalysis(AliProtonAnalysisBase * const baseAnalysis) {fProtonAnalysisBase = baseAnalysis;}\r
42                 AliProtonAnalysisBase *GetProtonAnalysisBaseObject() const {return fProtonAnalysisBase;}\r
43                 \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
48                 \r
49                 AliCFContainer *GetProtonContainer() const {return fProtonContainer;}\r
50                 AliCFContainer *GetAntiProtonContainer() const {return fAntiProtonContainer;}\r
51                 \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
58         private:\r
59                 AliProtonFeedDownAnalysis(const AliProtonFeedDownAnalysis&); // Not implemented\r
60                 AliProtonFeedDownAnalysis& operator=(const AliProtonFeedDownAnalysis&); // Not implemented\r
61                 \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
66                 \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
71                 \r
72                 //Analysis containers\r
73                 AliCFContainer *fProtonContainer; //container for protons\r
74                 AliCFContainer *fAntiProtonContainer; //container for antiprotons\r
75                 \r
76                 TF1*fweightfunction; \r
77                 TH2F *fLambda;\r
78                 TH2F *fLambdaweighted;\r
79                 TH2F *fAntiLambda;\r
80                 TH2F *fAntiLambdaweighted;\r
81                 \r
82   ClassDef(AliProtonFeedDownAnalysis,2);\r
83 };\r
84 \r
85 #endif\r
86 \r