]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/AliAnalysisTaskPerformanceStrange.h
Last modifictaions for PWG2 -> PWGLF
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisTaskPerformanceStrange.h
1 #ifndef ALIANALYSISTASKPERFORMANCESTRANGE_H
2 #define ALIANALYSISTASKPERFORMANCESTRANGE_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //              AliAnalysisTaskPerformanceSrange class
8 //    This task is for a performance study of V0 identification.
9 //                It works with MC info and ESD tree.
10 //                 Author: H.Ricaud, H.Ricaud@gsi.de
11 //-----------------------------------------------------------------
12
13 class TString;
14 class TList;
15 class TH1F;
16 class TH2F;
17 class AliPhysicsSelection;
18
19 #include "AliAnalysisTaskSE.h"
20
21 class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
22  public:
23   AliAnalysisTaskPerformanceStrange();
24   AliAnalysisTaskPerformanceStrange(const char *name);
25   virtual ~AliAnalysisTaskPerformanceStrange() {}
26   
27   virtual void   UserCreateOutputObjects();
28   virtual void   UserExec(Option_t *option);
29   virtual void   Terminate(Option_t *);
30  
31   void   SetCollidingSystems(Int_t collidingSystems = 0) {fCollidingSystems = collidingSystems;}
32   void   SetAnalysisMC(Int_t analysisMC) {fAnalysisMC = analysisMC;}
33   void   SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
34   void   SetUsePID(const char* usePID) {fUsePID = usePID;}
35   void   SetAnalysisCut(const char* useCut) {fUseCut = useCut;}
36   Double_t MyRapidity(Double_t rE, Double_t rPz) const;
37  
38  private:
39   Int_t        fAnalysisMC;                     //  0->No MC or 1->MC analysis
40   TString      fAnalysisType;                   //  "ESD" or "AOD"
41   Int_t        fCollidingSystems;               //  Colliding systems 0/1 for pp/PbPb  
42   TString      fUsePID;                         //  "withPID" or "noPID"
43   TString      fUseCut;                         //  "yes" or "no"
44
45   AliPhysicsSelection *fPhysTrigSel;            //  Selection of events
46   TList               *fListHist;               //! Output List
47
48   // MC histograms
49   TH1F        *fHistMCPrimaryVertexX;      //! Histo
50   TH1F        *fHistMCPrimaryVertexY;      //! Histo
51   TH1F        *fHistMCPrimaryVertexZ;      //! Histo
52
53   TH1F        *fHistMCMultiplicityPrimary;       //! Histo
54   TH1F        *fHistMCMultiplicityTracks;       //! Histo
55   
56   TH2F        *fHistMCtracksProdRadiusK0s;       //! Histo
57   TH2F        *fHistMCtracksProdRadiusLambda;       //! Histo
58   TH2F        *fHistMCtracksProdRadiusAntiLambda;       //! Histo
59
60   TH1F        *fHistMCtracksDecayRadiusK0s;       //! Histo
61   TH1F        *fHistMCtracksDecayRadiusLambda;       //! Histo
62   TH1F        *fHistMCtracksDecayRadiusAntiLambda;       //! Histo
63
64   TH1F        *fHistMCPtAllK0s;       //! Histo
65   TH1F        *fHistMCPtAllLambda;       //! Histo
66   TH1F        *fHistMCPtAllAntiLambda;       //! Histo
67
68   TH1F        *fHistMCProdRadiusK0s;       //! Histo
69   TH1F        *fHistMCProdRadiusLambda;       //! Histo
70   TH1F        *fHistMCProdRadiusAntiLambda;       //! Histo
71
72   TH1F        *fHistMCPtK0s;       //! Histo
73   TH1F        *fHistMCPtLambda;       //! Histo
74   TH1F        *fHistMCPtAntiLambda;       //! Histo
75
76   TH1F        *fHistMCPtLambdaFromSigma;       //! Histo
77   TH1F        *fHistMCPtAntiLambdaFromSigma;       //! Histo
78
79   TH1F        *fHistNTimesRecK0s;       //! Histo
80   TH1F        *fHistNTimesRecK0sMI;       //! Histo
81   TH1F        *fHistNTimesRecLambda;       //! Histo
82   TH1F        *fHistNTimesRecLambdaMI;       //! Histo
83   TH1F        *fHistNTimesRecAntiLambda;       //! Histo
84   TH1F        *fHistNTimesRecAntiLambdaMI;       //! Histo
85
86   TH2F        *fHistNTimesRecK0sVsPt;       //! Histo
87   TH2F        *fHistNTimesRecK0sVsPtMI;       //! Histo
88   TH2F        *fHistNTimesRecLambdaVsPt;       //! Histo
89   TH2F        *fHistNTimesRecLambdaVsPtMI;       //! Histo
90   TH2F        *fHistNTimesRecAntiLambdaVsPt;       //! Histo
91   TH2F        *fHistNTimesRecAntiLambdaVsPtMI;       //! Histo
92
93   // ESD histograms
94   TH1F        *fHistTrackPerEvent;       //! Histo
95   TH1F        *fHistMCDaughterTrack;       //! Histo
96
97   TH1F        *fHistPrimaryVertexX;       //! Histo
98   TH1F        *fHistPrimaryVertexY;       //! Histo
99   TH1F        *fHistPrimaryVertexZ;       //! Histo
100
101   TH1F        *fHistPrimaryVertexPosXV0events;  //! Primary vertex position in X in events with V0 candidates
102   TH1F        *fHistPrimaryVertexPosYV0events;  //! Primary vertex position in Y in events with V0 candidates
103   TH1F        *fHistPrimaryVertexPosZV0events;  //! Primary vertex position in Z in events with V0 candidates
104
105   TH2F        *fHistDcaPosToPrimVertex;       //! Histo
106   TH2F        *fHistDcaNegToPrimVertex;       //! Histo
107   TH2F        *fHistDcaPosToPrimVertexZoom;       //! Histo
108   TH2F        *fHistDcaNegToPrimVertexZoom;       //! Histo
109   TH2F        *fHistRadiusV0;       //! Histo
110   TH2F        *fHistDecayLengthV0;       //! Histo
111   TH2F        *fHistDcaV0Daughters;       //! Histo
112   TH2F        *fHistChi2;       //! Histo
113   TH2F        *fHistCosPointAngle;       //! Histo
114   TH2F        *fHistCosPointAngleZoom;       //! Histo
115   TH2F        *fHistProdRadius;       //! Histo
116   TH2F        *fHistProdRadiusMI;       //! Histo
117
118   TH1F        *fHistV0Multiplicity;  //! Histo
119   TH1F        *fHistV0MultiplicityMI; //! Histo
120
121   TH2F        *fHistChi2KFBeforeCutK0s;   //! Histo 
122   TH2F        *fHistChi2KFBeforeCutLambda;   //! Histo 
123   TH2F        *fHistChi2KFBeforeCutAntiLambda;   //! Histo  
124   TH2F        *fHistChi2KFAfterCutK0s;   //! Histo 
125   TH2F        *fHistChi2KFAfterCutLambda;   //! Histo 
126   TH2F        *fHistChi2KFAfterCutAntiLambda;   //! Histo
127
128   TH1F        *fHistMassK0;       //! Histo
129   TH1F        *fHistMassK0MI;       //! Histo
130   TH1F        *fHistMassLambda;       //! Histo
131   TH1F        *fHistMassLambdaMI;       //! Histo
132   TH1F        *fHistMassAntiLambda;       //! Histo
133   TH1F        *fHistMassAntiLambdaMI;       //! Histo
134
135   TH2F        *fHistMassVsRadiusK0;       //! Histo
136   TH2F        *fHistMassVsRadiusK0MI;       //! Histo
137   TH2F        *fHistMassVsRadiusLambda;       //! Histo
138   TH2F        *fHistMassVsRadiusLambdaMI;       //! Histo
139   TH2F        *fHistMassVsRadiusAntiLambda;       //! Histo
140   TH2F        *fHistMassVsRadiusAntiLambdaMI;       //! Histo
141
142   TH2F        *fHistPtVsMassK0;       //! Histo
143   TH2F        *fHistPtVsMassK0MI;       //! Histo
144   TH2F        *fHistPtVsMassLambda;       //! Histo
145   TH2F        *fHistPtVsMassLambdaMI;       //! Histo
146   TH2F        *fHistPtVsMassAntiLambda;       //! Histo
147   TH2F        *fHistPtVsMassAntiLambdaMI;       //! Histo
148
149   TH2F        *fHistArmenterosPodolanski;       //! Histo
150   TH2F        *fHistArmenterosPodolanskiMI;       //! Histo
151
152   //PID
153   TH1F        *fHistNsigmaPosPionAntiLambda;    //! Histo
154   TH1F        *fHistNsigmaNegProtonAntiLambda;   //! Histo
155   TH1F        *fHistNsigmaPosProtonLambda;        //! Histo
156   TH1F        *fHistNsigmaNegPionLambda;           //! Histo
157   TH1F        *fHistNsigmaPosPionK0;                //! Histo
158   TH1F        *fHistNsigmaNegPionK0;                 //! Histo
159
160   // Associated particles histograms
161   TH1F        *fHistAsMcRapK0;       //! Histo
162   TH1F        *fHistAsMcRapK0MI;       //! Histo
163   TH1F        *fHistAsMcRapLambda;       //! Histo
164   TH1F        *fHistAsMcRapLambdaMI;       //! Histo
165   TH1F        *fHistAsMcRapAntiLambda;       //! Histo
166   TH1F        *fHistAsMcRapAntiLambdaMI;       //! Histo
167
168   TH1F        *fHistAsMcPtK0;       //! Histo
169   TH1F        *fHistAsMcPtK0MI;       //! Histo
170   TH1F        *fHistAsMcPtLambda;       //! Histo
171   TH1F        *fHistAsMcPtLambdaMI;       //! Histo
172   TH1F        *fHistAsMcPtAntiLambda;       //! Histo
173   TH1F        *fHistAsMcPtAntiLambdaMI;       //! Histo
174   TH1F        *fHistAsMcPtZoomK0;       //! Histo
175   TH1F        *fHistAsMcPtZoomK0MI;       //! Histo
176   TH1F        *fHistAsMcPtZoomLambda;       //! Histo
177   TH1F        *fHistAsMcPtZoomLambdaMI;       //! Histo
178
179   TH1F        *fHistAsMcProdRadiusK0;       //! Histo
180   TH1F        *fHistAsMcProdRadiusK0MI;       //! Histo
181   TH1F        *fHistAsMcProdRadiusLambda;       //! Histo
182   TH1F        *fHistAsMcProdRadiusLambdaMI;       //! Histo
183   TH1F        *fHistAsMcProdRadiusAntiLambda;       //! Histo
184   TH1F        *fHistAsMcProdRadiusAntiLambdaMI;       //! Histo
185
186   TH2F        *fHistAsMcProdRadiusXvsYK0s;       //! Histo
187   TH2F        *fHistAsMcProdRadiusXvsYK0sMI;       //! Histo
188   TH2F        *fHistAsMcProdRadiusXvsYLambda;       //! Histo
189   TH2F        *fHistAsMcProdRadiusXvsYLambdaMI;       //! Histo
190   TH2F        *fHistAsMcProdRadiusXvsYAntiLambda;       //! Histo
191   TH2F        *fHistAsMcProdRadiusXvsYAntiLambdaMI;       //! Histo
192
193   TH1F        *fHistPidMcMassK0;       //! Histo
194   TH1F        *fHistPidMcMassK0MI;       //! Histo
195   TH1F        *fHistPidMcMassLambda;       //! Histo
196   TH1F        *fHistPidMcMassLambdaMI;       //! Histo
197   TH1F        *fHistPidMcMassAntiLambda;       //! Histo
198   TH1F        *fHistPidMcMassAntiLambdaMI;       //! Histo
199   TH1F        *fHistAsMcMassK0;       //! Histo
200   TH1F        *fHistAsMcMassK0MI;       //! Histo
201   TH1F        *fHistAsMcMassLambda;       //! Histo
202   TH1F        *fHistAsMcMassLambdaMI;       //! Histo
203   TH1F        *fHistAsMcMassAntiLambda;       //! Histo
204   TH1F        *fHistAsMcMassAntiLambdaMI;       //! Histo
205
206   TH2F        *fHistAsMcPtVsMassK0;       //! Histo
207   TH2F        *fHistAsMcPtVsMassK0MI;       //! Histo
208   TH2F        *fHistAsMcPtVsMassLambda;       //! Histo
209   TH2F        *fHistAsMcPtVsMassLambdaMI;       //! Histo
210   TH2F        *fHistAsMcPtVsMassAntiLambda;       //! Histo
211   TH2F        *fHistAsMcPtVsMassAntiLambdaMI;       //! Histo
212
213   TH2F        *fHistAsMcMassVsRadiusK0;       //! Histo
214   TH2F        *fHistAsMcMassVsRadiusK0MI;       //! Histo
215   TH2F        *fHistAsMcMassVsRadiusLambda;       //! Histo
216   TH2F        *fHistAsMcMassVsRadiusLambdaMI;       //! Histo
217   TH2F        *fHistAsMcMassVsRadiusAntiLambda;       //! Histo
218   TH2F        *fHistAsMcMassVsRadiusAntiLambdaMI;       //! Histo
219
220   TH1F        *fHistAsMcResxK0;       //! Histo
221   TH1F        *fHistAsMcResyK0;       //! Histo
222   TH1F        *fHistAsMcReszK0;       //! Histo
223
224   TH2F        *fHistAsMcResrVsRadiusK0;       //! Histo
225   TH2F        *fHistAsMcReszVsRadiusK0;       //! Histo
226
227   TH1F        *fHistAsMcResxK0MI;       //! Histo
228   TH1F        *fHistAsMcResyK0MI;       //! Histo
229   TH1F        *fHistAsMcReszK0MI;       //! Histo
230
231   TH2F        *fHistAsMcResrVsRadiusK0MI;       //! Histo
232   TH2F        *fHistAsMcReszVsRadiusK0MI;       //! Histo
233
234   TH1F        *fHistAsMcResxLambda;       //! Histo
235   TH1F        *fHistAsMcResyLambda;       //! Histo
236   TH1F        *fHistAsMcReszLambda;       //! Histo
237
238   TH2F        *fHistAsMcResrVsRadiusLambda;       //! Histo
239   TH2F        *fHistAsMcReszVsRadiusLambda;       //! Histo
240     
241   TH1F        *fHistAsMcResxLambdaMI;       //! Histo
242   TH1F        *fHistAsMcResyLambdaMI;       //! Histo
243   TH1F        *fHistAsMcReszLambdaMI;       //! Histo
244
245   TH2F        *fHistAsMcResrVsRadiusLambdaMI;       //! Histo
246   TH2F        *fHistAsMcReszVsRadiusLambdaMI;       //! Histo
247
248   TH1F        *fHistAsMcResxAntiLambda;       //! Histo
249   TH1F        *fHistAsMcResyAntiLambda;       //! Histo
250   TH1F        *fHistAsMcReszAntiLambda;       //! Histo
251
252   TH2F        *fHistAsMcResrVsRadiusAntiLambda;       //! Histo
253   TH2F        *fHistAsMcReszVsRadiusAntiLambda;       //! Histo
254     
255   TH1F        *fHistAsMcResxAntiLambdaMI;       //! Histo
256   TH1F        *fHistAsMcResyAntiLambdaMI;       //! Histo
257   TH1F        *fHistAsMcReszAntiLambdaMI;       //! Histo
258
259   TH2F        *fHistAsMcResrVsRadiusAntiLambdaMI;       //! Histo
260   TH2F        *fHistAsMcReszVsRadiusAntiLambdaMI;       //! Histo
261
262   TH1F        *fHistAsMcResPtK0;       //! Histo
263   TH1F        *fHistAsMcResPtK0MI;       //! Histo
264   TH1F        *fHistAsMcResPtLambda;       //! Histo
265   TH1F        *fHistAsMcResPtLambdaMI;       //! Histo
266   TH1F        *fHistAsMcResPtAntiLambda;       //! Histo
267   TH1F        *fHistAsMcResPtAntiLambdaMI;       //! Histo
268
269   TH2F        *fHistAsMcResPtVsRapK0;       //! Histo
270   TH2F        *fHistAsMcResPtVsRapK0MI;       //! Histo
271   TH2F        *fHistAsMcResPtVsRapLambda;       //! Histo
272   TH2F        *fHistAsMcResPtVsRapLambdaMI;       //! Histo
273   TH2F        *fHistAsMcResPtVsRapAntiLambda;       //! Histo
274   TH2F        *fHistAsMcResPtVsRapAntiLambdaMI;       //! Histo
275   TH2F        *fHistAsMcResPtVsPtK0;       //! Histo
276   TH2F        *fHistAsMcResPtVsPtK0MI;       //! Histo
277   TH2F        *fHistAsMcResPtVsPtLambda;       //! Histo
278   TH2F        *fHistAsMcResPtVsPtLambdaMI;       //! Histo
279   TH2F        *fHistAsMcResPtVsPtAntiLambda;       //! Histo
280   TH2F        *fHistAsMcResPtVsPtAntiLambdaMI;       //! Histo
281   
282
283   TH1F        *fHistAsMcMotherPdgCodeK0s;       //! Histo
284   TH1F        *fHistAsMcMotherPdgCodeK0sMI;       //! Histo
285   TH1F        *fHistAsMcMotherPdgCodeLambda;       //! Histo
286   TH1F        *fHistAsMcMotherPdgCodeLambdaMI;       //! Histo
287   TH1F        *fHistAsMcMotherPdgCodeAntiLambda;       //! Histo
288   TH1F        *fHistAsMcMotherPdgCodeAntiLambdaMI;       //! Histo
289
290   TH1F        *fHistAsMcPtLambdaFromSigma;       //! Histo
291   TH1F        *fHistAsMcPtLambdaFromSigmaMI;       //! Histo
292   TH1F        *fHistAsMcPtAntiLambdaFromSigma;       //! Histo
293   TH1F        *fHistAsMcPtAntiLambdaFromSigmaMI;       //! Histo
294
295   // Associated secondary particles:
296   TH2F        *fHistAsMcSecondaryPtVsRapK0s;       //! Histo
297   TH2F        *fHistAsMcSecondaryPtVsRapK0sMI;       //! Histo
298   TH2F        *fHistAsMcSecondaryPtVsRapLambda;       //! Histo
299   TH2F        *fHistAsMcSecondaryPtVsRapLambdaMI;       //! Histo
300   TH2F        *fHistAsMcSecondaryPtVsRapAntiLambda;       //! Histo
301   TH2F        *fHistAsMcSecondaryPtVsRapAntiLambdaMI;       //! Histo
302
303   TH1F        *fHistAsMcSecondaryProdRadiusK0s;       //! Histo
304   TH1F        *fHistAsMcSecondaryProdRadiusK0sMI;       //! Histo
305   TH1F        *fHistAsMcSecondaryProdRadiusLambda;       //! Histo
306   TH1F        *fHistAsMcSecondaryProdRadiusLambdaMI;       //! Histo
307   TH1F        *fHistAsMcSecondaryProdRadiusAntiLambda;       //! Histo
308   TH1F        *fHistAsMcSecondaryProdRadiusAntiLambdaMI;       //! Histo
309
310   TH2F        *fHistAsMcSecondaryProdRadiusXvsYK0s;       //! Histo
311   TH2F        *fHistAsMcSecondaryProdRadiusXvsYK0sMI;       //! Histo
312   TH2F        *fHistAsMcSecondaryProdRadiusXvsYLambda;       //! Histo
313   TH2F        *fHistAsMcSecondaryProdRadiusXvsYLambdaMI;       //! Histo
314   TH2F        *fHistAsMcSecondaryProdRadiusXvsYAntiLambda;       //! Histo
315   TH2F        *fHistAsMcSecondaryProdRadiusXvsYAntiLambdaMI;       //! Histo
316
317   TH1F        *fHistAsMcSecondaryMotherPdgCodeK0s;       //! Histo
318   TH1F        *fHistAsMcSecondaryMotherPdgCodeK0sMI;       //! Histo
319   TH1F        *fHistAsMcSecondaryMotherPdgCodeLambda;       //! Histo
320   TH1F        *fHistAsMcSecondaryMotherPdgCodeLambdaMI;       //! Histo
321   TH1F        *fHistAsMcSecondaryMotherPdgCodeAntiLambda;       //! Histo
322   TH1F        *fHistAsMcSecondaryMotherPdgCodeAntiLambdaMI;       //! Histo
323
324   TH1F        *fHistAsMcSecondaryPtLambdaFromSigma;       //! Histo
325   TH1F        *fHistAsMcSecondaryPtLambdaFromSigmaMI;       //! Histo
326   TH1F        *fHistAsMcSecondaryPtAntiLambdaFromSigma;       //! Histo
327   TH1F        *fHistAsMcSecondaryPtAntiLambdaFromSigmaMI;       //! Histo
328
329   AliAnalysisTaskPerformanceStrange(const AliAnalysisTaskPerformanceStrange&); 
330   AliAnalysisTaskPerformanceStrange& operator=(const AliAnalysisTaskPerformanceStrange&); 
331
332   ClassDef(AliAnalysisTaskPerformanceStrange, 1); 
333 };
334
335 #endif