]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/AntiprotonToProton/AliProtonFeedDownAnalysis.h
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / AntiprotonToProton / AliProtonFeedDownAnalysis.h
CommitLineData
a65a7e70 1#ifndef ALIPROTONFEEDDOWNANALYSIS_H
2#define ALIPROTONFEEDDOWNANALYSIS_H
3
4#include "TObject.h"
5#include "TH1I.h"
6#include "AliCFContainer.h"
7class TF1;
8class TH2D;
9class TH1F;
10class TList;
11
12//#include "AliPID.h"
13class AliPID;
14
15class AliCFDataGrid;
16class AliAODEvent;
17class AliAODtrack;
18class AliESDEvent;
19class AliESDtrack;
20class AliExternalTrackParam;
21class AliStack;
22class AliESDVertex;
23class AliProtonAnalysisBase;
24
25class 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