]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/Kinks/AliAnalysisPionKinksESD.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Kinks / AliAnalysisPionKinksESD.h
CommitLineData
414d35d7 1#ifndef AliAnalysisPionKinksESD_h
2#define AliAnalysisPionKinksESD_h
3
4
5class AliESDEvent;
6class TF1;
7class TH1;
8class TH2;
9class TH3;
10class TParticle;
11class TParticle;
12class AliESDtrackCuts;
13class AliPhysicsSelection;
14class AliPIDResponse;
15
16#include "AliAnalysisTaskSE.h"
17
18class AliAnalysisPionKinksESD : public AliAnalysisTaskSE {
19 public:
20 AliAnalysisPionKinksESD(const char *name = "AliAnalysisPionKinksESD");
21 virtual ~AliAnalysisPionKinksESD() {}
22
23 virtual void UserCreateOutputObjects();
24 virtual void UserExec(Option_t *option);
25 virtual void Terminate(Option_t *);
26
27 const AliESDVertex *GetEventVertex(AliESDEvent* esd);
28 Double_t Energy(AliESDtrack* track) const;
29 Double_t fuRapidity(AliESDtrack* track) const;
30 Bool_t IsGoodTrack(AliESDtrack* ESDTrack) const;
31 Bool_t IsPrimaryTrack(AliESDtrack* ESDTrack) const;
32
33 // Set limits & cuts
34 void SetMulCut(Int_t low, Int_t up){fLowMulcut=low; fUpMulcut=up;}
35 void SetPtCut(Double_t PtCut){cLowPt=PtCut;}
36 void SetRapidityLimits(Double_t RapidityLim){cRapidityLim=RapidityLim;}
37 void SetRadiusRange(Double_t LowR, Double_t UpR){cLowR=LowR; cUpR=UpR;}
38 void SetZRange(Double_t LowZ, Double_t UpZ){cLowZ=LowZ; cUpZ=UpZ;}
39 void SetKinkAngleCut(Double_t LowAngle){cLowKinkAngle=LowAngle;}
40 void SetQtRange(Double_t LowQt, Double_t UpQt){cLowQt=LowQt; cUpQt=UpQt;}
41 void SetInvMassRange(Double_t LowInvMass, Double_t UpInvMass){cLowInvMass=LowInvMass; cUpInvMass=UpInvMass;}
42 void SetSigmaCut(Double_t SigmaCut){cSigmaCut=SigmaCut;}
43 void SetPdgCodes(Int_t kaon, Int_t pion, Int_t muon, Int_t electron){cPdgKaon=kaon; cPdgPion=pion; cPdgMuon=muon; cPdgElectron=electron;}
44 void SetMasses(Double_t KaonMass, Double_t PionMass, Double_t MuonMass, Double_t ElectronMass){cKaonMass=KaonMass; cPionMass=PionMass; cMuonMass=MuonMass; cElectronMass=ElectronMass;}
45
46 // Set histos limits
47 void SetMultHistos(Int_t BinsMult, Int_t LowMult, Int_t UpMult){nBinsMult=BinsMult; hLowPt=LowMult; hUpMult=UpMult;}
48 void SetPtHistos(Int_t BinsPt, Double_t LowPt, Double_t UpPt){nBinsPt=BinsPt; hLowPt=LowPt; hUpPt=UpPt;}
49 void SetEtaHistos(Int_t BinsEta, Double_t LowEta, Double_t UpEta){nBinsEta=BinsEta; hLowEta=LowEta; hUpEta=UpEta;}
50 void SetQtHistos(Int_t BinsQt, Double_t LowQt, Double_t UpQt){nBinsQt=BinsQt; hLowQt=LowQt; hUpQt=UpQt;}
51 void SetRHistos(Int_t BinsR, Double_t LowR, Double_t UpR){nBinsR=BinsR; hLowR=LowR; hUpR=UpR;}
52 void SetZHistos(Int_t BinsZ, Double_t LowZ, Double_t UpZ){nBinsZ=BinsZ; hLowZ=LowZ; hUpZ=UpZ;}
53 void SetXYHistos(Int_t BinsXY, Double_t LowXY, Double_t UpXY){nBinsXY=BinsXY; hLowXY=LowXY; hUpXY=UpXY;}
54 void SetAngleHistos(Int_t BinsAngle, Double_t LowAngle, Double_t UpAngle){nBinsAngle=BinsAngle; hLowAngle=LowAngle; hUpAngle=UpAngle;}
55 void SetZVHistos(Int_t BinsZV, Double_t LowZV, Double_t UpZV){nBinsZV=BinsZV; hLowZV=LowZV; hUpZV=UpZV;}
56 void SetXYVHistos(Int_t BinsXYV, Double_t LowXYV, Double_t UpXYV){nBinsXYV=BinsXYV; hLowXYV=LowXYV; hUpXYV=UpXYV;}
57 void SetInvMassHistos(Int_t BinsInvMass, Double_t LowInvMass, Double_t UpInvMass){nBinsInvMass=BinsInvMass; hLowInvMass=LowInvMass; hUpInvMass=UpInvMass;}
58 void SetdEdxHistos(Int_t BinsdEdx, Double_t LowdEdx, Double_t UpdEdx){nBinsdEdx=BinsdEdx; hLowdEdx=LowdEdx; hUpdEdx=UpdEdx;}
59 private:
60 TF1* fMaxKinkAngKmu;
61 TF1* fMaxKinkAngPimu;
62
63
64 TH1F* hMult;
65 TH1F* hAcceptedMult;
66 TH1F* hMultPS;
67 TH3F* hvtx;
68 TH2F* hvtxy;
69 TH2F* hvtyz;
70 TH2F* hvtxz;
71 TH1F* hMultPSV;
72 TH1F* hPtAll;
73 TH1F* hEtaAll;
74 TH3F* hTrackPos;
75 TH2F* hTrackPosxy;
76 TH2F* hTrackPosyz;
77 TH2F* hTrackPosxz;
78 //TH1F* hTPCchi2clusters;
79 //TH1F* hdcaToVertexXY;
80 //TH1F* hdcaToVertexZ;
81 TH1F* hMultPrim;
82 TH1F* hPtPrim;
83 TH1F* hEtaPrim;
84 TH3F* hPrimTrackPos;
85 TH2F* hPrimTrackPosxy;
86 TH2F* hPrimTrackPosyz;
87 TH2F* hPrimTrackPosxz;
88 TH1F* hPt;
89 TH1F* hEta;
90 //TH1F* hRapidity;
91 TH1F* hPtKink;
92 TH1F* hEtaKink;
93 TH1F* hRapidityKink;
94 TH2F* hPmP;
95 TH1F* hKinkPosRTPCclusters1;
96 TH2F* hKinkPosRTPCclusters2;
97 TH1F* hQt;
98 TH1F* hKinkAngle;
99 TH1F* hDCAkink;
100 TH2F* hPmKinkAng;
101 TH2F* hKinkPosXY;
102 TH2F* hKinkPosZY;
103 TH2F* hKinkPosZR;
104 TH1F* hKinkPosR;
105 TH1F* hKinkPosZ;
106 TH2F* hPmd;
107 TH1F* hMinvPimu;
108 TH2F* hdEdx;
109 TH1F* hPtPosRSelected;
110 TH1F* hPtZSelected;
111 TH1F* hPtAngSelected;
112 TH1F* hPtPmSelected;
113 TH1F* hPtGoodKink;
114 TH1F* hEtaGoodKink;
115 TH1F* hRapidityGoodKink;
116 TH1F* hQtGoodKink;
117 TH2F* hPmGoodKinkAng;
118 TH2F* hPmdGoodKink;
119 TH2F* hdEdxGoodKink;
120 TH1F* hPtQtSelected;
121 TH1F* hPtMaxAngSelected;
122 TH1F* hPtRTPCclustersSelected;
123 TH2F* hRTPCclustersRTPCclustersSelected;
124 TH1F* hPtSelected;
125 TH1F* hEtaSelected;
126 TH1F* hRapiditySelected;
127 TH1F* hQtSelected;
128 TH1F* hKinkAngleSelected;
129 TH1F* hDCAkinkSelected;
130 TH2F* hPmKinkAngSelected;
131 TH2F* hKinkPosXYSelected;
132 TH2F* hKinkPosZRSelected;
133 TH1F* hKinkPosRSelected;
134 TH2F* hPmdSelected;
135 TH1F* hMinvPimuSelected;
136 TH2F* hdEdxSelected;
137 TH1F* hPtPiSelected;
138 TH1F* hEtaPiSelected;
139 TH1F* hRapidityPiSelected;
140 TH1F* hQtPiSelected;
141 TH1F* hKinkAnglePiSelected;
142 TH1F* hDCAkinkPiSelected;
143 TH2F* hPmKinkAngPiSelected;
144 TH1F* hKinkPosRTPCclusters1PiSelected;
145 TH2F* hKinkPosRTPCclusters2PiSelected;
146 TH2F* hKinkPosXYPiSelected;
147 TH2F* hKinkPosZRPiSelected;
148 TH1F* hKinkPosRPiSelected;
149 TH1F* hKinkPosZPiSelected;
150 TH2F* hPmPPiSelected;
151 TH2F* hPmdPiSelected;
152 TH1F* hMinvPimuPiSelected;
153 TH2F* hdEdxPiSelected;
154
155 TH1F* hPtPiSelectedPlus; //plus
156 TH1F* hEtaPiSelectedPlus;
157 TH1F* hRapidityPiSelectedPlus;
158 TH1F* hQtPiSelectedPlus;
159 TH1F* hKinkAnglePiSelectedPlus;
160 TH1F* hDCAkinkPiSelectedPlus;
161 TH2F* hPmKinkAngPiSelectedPlus;
162 TH2F* hKinkPosXYPiSelectedPlus;
163 TH2F* hKinkPosZRPiSelectedPlus;
164 TH2F* hPmdPiSelectedPlus;
165 TH1F* hMinvPimuPiSelectedPlus;
166 TH2F* hdEdxPiSelectedPlus;
167 TH1F* hPtPiSelectedMinus;//minus
168 TH1F* hEtaPiSelectedMinus;
169 TH1F* hRapidityPiSelectedMinus;
170 TH1F* hQtPiSelectedMinus;
171 TH1F* hKinkAnglePiSelectedMinus;
172 TH1F* hDCAkinkPiSelectedMinus;
173 TH2F* hPmKinkAngPiSelectedMinus;
174 TH2F* hKinkPosXYPiSelectedMinus;
175 TH2F* hKinkPosZRPiSelectedMinus;
176 TH2F* hPmdPiSelectedMinus;
177 TH1F* hMinvPimuPiSelectedMinus;
178 TH2F* hdEdxPiSelectedMinus; // reconstruction histograms
179
180 TList* fListOfHistos;
181
182 // Limits and cuts
183 Int_t fLowMulcut;
184 Int_t fUpMulcut;
185
186 Double_t cLowPt;
187 Double_t cRapidityLim;
188 Double_t cLowR, cUpR;
189 Double_t cLowZ, cUpZ;
190 Double_t cLowKinkAngle;
191 Double_t cLowQt, cUpQt;
192 Double_t cLowInvMass, cUpInvMass;
193 Double_t cSigmaCut;
194 Int_t cPdgKaon, cPdgPion, cPdgMuon, cPdgElectron;
195 Double_t cKaonMass, cPionMass, cMuonMass, cElectronMass;
196
197 // Histos limits
198 Int_t nBinsMult, hLowMult, hUpMult;
199 Int_t nBinsPt;
200 Double_t hLowPt, hUpPt;
201 Int_t nBinsEta;
202 Double_t hLowEta, hUpEta;
203 Int_t nBinsQt;
204 Double_t hLowQt, hUpQt;
205 Int_t nBinsR;
206 Double_t hLowR, hUpR;
207 Int_t nBinsZ;
208 Double_t hLowZ, hUpZ;
209 Int_t nBinsXY;
210 Double_t hLowXY, hUpXY;
211 Int_t nBinsAngle;
212 Double_t hLowAngle, hUpAngle;
213 Int_t nBinsZV;
214 Double_t hLowZV, hUpZV;
215 Int_t nBinsXYV;
216 Double_t hLowXYV, hUpXYV;
217 Int_t nBinsInvMass;
218 Double_t hLowInvMass, hUpInvMass;
219 Int_t nBinsdEdx;
220 Double_t hLowdEdx, hUpdEdx;
221
222 AliPIDResponse *fPIDResponse; //! PID response object
223 AliESDtrackCuts* fMaxDCAtoVtxCut;
224 AliESDtrackCuts* fTrackCuts;
225
226
227 AliAnalysisPionKinksESD(const AliAnalysisPionKinksESD&);
228 AliAnalysisPionKinksESD& operator=(const AliAnalysisPionKinksESD&);
229
230 ClassDef(AliAnalysisPionKinksESD, 1);
231};
232#endif
233
234