]>
Commit | Line | Data |
---|---|---|
a65a7e70 | 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 |