]>
Commit | Line | Data |
---|---|---|
414d35d7 | 1 | #ifndef AliAnalysisPionKinksESD_h |
2 | #define AliAnalysisPionKinksESD_h | |
3 | ||
4 | ||
5 | class AliESDEvent; | |
6 | class TF1; | |
7 | class TH1; | |
8 | class TH2; | |
9 | class TH3; | |
10 | class TParticle; | |
11 | class TParticle; | |
12 | class AliESDtrackCuts; | |
13 | class AliPhysicsSelection; | |
14 | class AliPIDResponse; | |
15 | ||
16 | #include "AliAnalysisTaskSE.h" | |
17 | ||
18 | class 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 |