]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Cascades/AliAnalysisTaskExtractPerformanceCascade.h
Merge branch 'TPCdev' into master
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Cascades / AliAnalysisTaskExtractPerformanceCascade.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17 //
18 // Modified version of AliAnalysisTaskCheckCascade.h
19 // Used bits of code from AliAnalysisTaskCheckPerformanceStrange
20 //
21 // --- David Dobrigkeit Chinellato
22 //
23 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
24
25 #ifndef ALIANALYSISTASKEXTRACTPERFORMANCECASCADE_H
26 #define ALIANALYSISTASKEXTRACTPERFORMANCECASCADE_H
27
28 class TList;
29 class TH1F;
30 class TH2F;
31 class TH3F;
32 class TVector3;
33 class THnSparse;
34
35 class AliESDpid;
36 class AliESDtrackCuts;
37 class AliESDEvent;
38 class AliPhysicsSelection;
39 class AliCFContainer;
40 class AliAnalysisUtils;
41
42 //#include "TString.h"
43 //#include "AliESDtrackCuts.h"
44 #include "AliAnalysisTaskSE.h"
45
46 class AliAnalysisTaskExtractPerformanceCascade : public AliAnalysisTaskSE {
47  public:
48   AliAnalysisTaskExtractPerformanceCascade();
49   AliAnalysisTaskExtractPerformanceCascade(const char *name);
50   virtual ~AliAnalysisTaskExtractPerformanceCascade();
51   
52   virtual void   UserCreateOutputObjects();
53   virtual void   UserExec(Option_t *option);
54   virtual void   Terminate(Option_t *);
55   Double_t MyRapidity(Double_t rE, Double_t rPz) const;
56
57   void SetIsNuclear           (Bool_t lIsNuclear   = kTRUE ) { fkIsNuclear   = lIsNuclear;   }
58   void SetINT7Trigger         (Bool_t lSwitchINT7  = kTRUE ) { fkSwitchINT7   = lSwitchINT7; }
59   void SetpARapidityShift     (Double_t lRapShift = 0.465 ) { fpArapidityShift = lRapShift; }
60   void SetCentralityEstimator (TString lCentralityEstimator = "V0M" ) { fCentralityEstimator = lCentralityEstimator; }
61   void SetpAVertexSelection   (Bool_t lpAVertexSelection = kTRUE) {fkpAVertexSelection = lpAVertexSelection;  }
62   void SetEtaRefMult ( Double_t lEtaRefMult = 0.5 ) { fEtaRefMult = lEtaRefMult; }
63   
64 //---------------------------------------------------------------------------------------
65   //Task Configuration: Meant to enable quick re-execution of vertexer if needed
66   void SetRunVertexers ( Bool_t lRunVertexers = kTRUE) { fkRunVertexers = lRunVertexers; }
67 //---------------------------------------------------------------------------------------
68 //Setters for the V0 Vertexer Parameters
69   void SetV0VertexerMaxChisquare   ( Double_t lParameter ){ fV0VertexerSels[0] = lParameter; }
70   void SetV0VertexerDCAFirstToPV   ( Double_t lParameter ){ fV0VertexerSels[1] = lParameter; }
71   void SetV0VertexerDCASecondtoPV  ( Double_t lParameter ){ fV0VertexerSels[2] = lParameter; }
72   void SetV0VertexerDCAV0Daughters ( Double_t lParameter ){ fV0VertexerSels[3] = lParameter; }
73   void SetV0VertexerCosinePA       ( Double_t lParameter ){ fV0VertexerSels[4] = lParameter; }
74   void SetV0VertexerMinRadius      ( Double_t lParameter ){ fV0VertexerSels[5] = lParameter; }
75   void SetV0VertexerMaxRadius      ( Double_t lParameter ){ fV0VertexerSels[6] = lParameter; }
76 //---------------------------------------------------------------------------------------
77 //Setters for the Cascade Vertexer Parameters
78   void SetCascVertexerMaxChisquare         ( Double_t lParameter ){ fCascadeVertexerSels[0] = lParameter; } 
79   void SetCascVertexerMinV0ImpactParameter ( Double_t lParameter ){ fCascadeVertexerSels[1] = lParameter; } 
80   void SetCascVertexerV0MassWindow         ( Double_t lParameter ){ fCascadeVertexerSels[2] = lParameter; } 
81   void SetCascVertexerDCABachToPV          ( Double_t lParameter ){ fCascadeVertexerSels[3] = lParameter; } 
82   void SetCascVertexerDCACascadeDaughters  ( Double_t lParameter ){ fCascadeVertexerSels[4] = lParameter; }
83   void SetCascVertexerCascadeCosinePA      ( Double_t lParameter ){ fCascadeVertexerSels[5] = lParameter; }  
84   void SetCascVertexerCascadeMinRadius     ( Double_t lParameter ){ fCascadeVertexerSels[6] = lParameter; }  
85   void SetCascVertexerCascadeMaxRadius     ( Double_t lParameter ){ fCascadeVertexerSels[7] = lParameter; }  
86 //---------------------------------------------------------------------------------------
87
88 //---------------------------------------------------------------------------------------
89   //Bachelor and Pion Swapping Check
90   void SetCheckSwapping ( Bool_t lCheckSwapping = kTRUE) { fkCheckSwapping = lCheckSwapping; }
91 //---------------------------------------------------------------------------------------
92     //Set Peripheral event debugging mode (Pb-Pb X-check)
93     void SetSelectCentrality ( Bool_t lSelectCentrality = kTRUE, Double_t lCentSelLow = 0.0, Double_t lCentSelHigh = 10.0) {
94         fkSelectCentrality = lSelectCentrality;
95         fCentSel_Low = lCentSelLow;
96         fCentSel_High = lCentSelHigh;
97     }
98     //---------------------------------------------------------------------------------------
99     void SetLowPtCutoff ( Double_t lLowPtCutoff = 1.0) {
100         fLowPtCutoff = lLowPtCutoff;
101     }
102     //---------------------------------------------------------------------------------------
103     
104  private:
105         // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
106         // your data member object is created on the worker nodes and streaming is not needed.
107         // http://root.cern.ch/download/doc/11InputOutput.pdf, page 14
108   TList  *fListHist;  //! List of Cascade histograms
109   TTree  *fTreeCascade;              //! Output Tree, Cascades
110
111   //Objects that have to be streamed:
112   AliPIDResponse *fPIDResponse;     // PID response object
113   AliESDtrackCuts *fESDtrackCuts;   // ESD track cuts used for primary track definition
114   AliAnalysisUtils *fUtils;         // analysis utils (for pA vertex selection)
115
116   //Objects Controlling Task Behaviour 
117   // (have to be streamed too or configuration is lost)
118   
119   Bool_t fkIsNuclear;   //if true, replace multiplicity est. by centrality (default FALSE) 
120   Bool_t fkSwitchINT7 ; //if true, skip FASTOnly (default FALSE)
121   Double_t fpArapidityShift; //pA rapidity shift (should be 0.465, usually)
122   TString fCentralityEstimator; //Centrality Estimator String value (default V0M)
123   Bool_t fkpAVertexSelection; //if true, select vertex with pPb Methods
124   Double_t fEtaRefMult; //Reference multiplicity eta
125   //Objects Controlling Task Behaviour: has to be streamed! 
126   Bool_t    fkRunVertexers;           // if true, re-run vertexer with loose cuts. CARE MUST BE TAKEN in PbPb!
127   Double_t  fV0VertexerSels[7];        // Array to store the 7 values for the different selections V0 related
128   Double_t  fCascadeVertexerSels[8];   // Array to store the 8 values for the different selections Casc. related
129   //Meson Swapping Check Switch
130   Bool_t fkCheckSwapping; // if true, will perform association with mesons switched (in ADDITION to reg. association)
131     Bool_t    fkSelectCentrality; //Switch to skip anything other than 60-80% V0M
132     Double_t fCentSel_Low;
133     Double_t fCentSel_High;
134     Double_t fLowPtCutoff; //Reduction of data volume
135     
136         //Double_t        fV0Sels[7];                     // Array to store the 7 values for the different selections V0 related
137         //Double_t        fCascSels[8];                   // Array to store the 8 values for the different selections Casc. related
138
139
140 //===========================================================================================
141 //   Variables for tree, cascades
142 //===========================================================================================
143
144   Int_t fTreeCascVarCharge;         //! 
145   Float_t fTreeCascVarMassAsXi;     //! 
146   Float_t fTreeCascVarMassAsOmega;  //! 
147   Float_t fTreeCascVarPt;           //!
148   Float_t fTreeCascVarPtMC;         //!
149   Float_t fTreeCascVarRapMC;        //!
150   Float_t fTreeCascVarRapXi;        //!
151   Float_t fTreeCascVarRapOmega;     //!
152   Float_t fTreeCascVarNegEta;       //!
153   Float_t fTreeCascVarPosEta;       //!
154   Float_t fTreeCascVarBachEta;      //!
155   Float_t fTreeCascVarDCACascDaughters; //!
156   Float_t fTreeCascVarDCABachToPrimVtx; //!
157   Float_t fTreeCascVarDCAV0Daughters;   //!
158   Float_t fTreeCascVarDCAV0ToPrimVtx;   //!
159   Float_t fTreeCascVarDCAPosToPrimVtx;  //!
160   Float_t fTreeCascVarDCANegToPrimVtx;  //!
161   Float_t fTreeCascVarCascCosPointingAngle; //!
162   Float_t fTreeCascVarCascRadius;           //!
163   Float_t fTreeCascVarV0Mass;               //!
164   Float_t fTreeCascVarV0CosPointingAngle;   //!
165   Float_t fTreeCascVarV0CosPointingAngleSpecial;   //!
166   Float_t fTreeCascVarV0Radius;             //!
167   Int_t   fTreeCascVarLeastNbrClusters;     //!
168   
169   Int_t   fTreeCascVarMultiplicity;         //!
170   Int_t   fTreeCascVarMultiplicityV0A;         //!
171   Int_t   fTreeCascVarMultiplicityZNA;         //!
172   Int_t   fTreeCascVarMultiplicityTRK;         //!
173   Int_t   fTreeCascVarMultiplicitySPD;         //!
174   
175   Int_t   fTreeCascVarMultiplicityMC;         //!
176   Float_t fTreeCascVarDistOverTotMom;       //!
177   Int_t   fTreeCascVarIsPhysicalPrimary; //!
178   Int_t   fTreeCascVarPID;         //!
179   Int_t   fTreeCascVarPIDSwapped;  //!
180   Int_t   fTreeCascVarPIDBachelor; //!  
181   Int_t   fTreeCascVarPIDNegative; //!
182   Int_t   fTreeCascVarPIDPositive; //!
183   Float_t fTreeCascVarBachTransMom;   //!
184   Float_t fTreeCascVarPosTransMom;   //!
185   Float_t fTreeCascVarNegTransMom;   //!
186   Float_t fTreeCascVarPosTransMomMC; //!
187   Float_t fTreeCascVarNegTransMomMC; //!
188   Float_t fTreeCascVarNegNSigmaPion;   //!
189   Float_t fTreeCascVarNegNSigmaProton; //!
190   Float_t fTreeCascVarPosNSigmaPion;   //! 
191   Float_t fTreeCascVarPosNSigmaProton; //! 
192   Float_t fTreeCascVarBachNSigmaPion;  //! 
193   Float_t fTreeCascVarBachNSigmaKaon;  //! 
194
195   Bool_t fTreeCascVarkITSRefitBachelor; //! 
196   Bool_t fTreeCascVarkITSRefitNegative; //! 
197   Bool_t fTreeCascVarkITSRefitPositive; //! 
198   
199     //Part B: Shared Clusters
200     Int_t fTreeCascVarNegClusters; //!
201     Int_t fTreeCascVarPosClusters; //!
202     Int_t fTreeCascVarBachClusters; //!
203     Int_t fTreeCascVarNegSharedClusters; //!
204     Int_t fTreeCascVarPosSharedClusters; //!
205     Int_t fTreeCascVarBachSharedClusters; //!
206
207   Bool_t fTreeCascVarEvHasXiMinus;    //!
208   Bool_t fTreeCascVarEvHasXiPlus;     //!
209   Bool_t fTreeCascVarEvHasOmegaMinus; //!
210   Bool_t fTreeCascVarEvHasOmegaPlus;  //!
211   Bool_t fTreeCascVarEvHasLambda;     //!
212   Bool_t fTreeCascVarEvHasAntiLambda; //!
213
214   Bool_t fTreeCascVarEvHasLowPtXiMinus;    //!
215   Bool_t fTreeCascVarEvHasLowPtXiPlus;     //!
216   Bool_t fTreeCascVarEvHasLowPtOmegaMinus; //!
217   Bool_t fTreeCascVarEvHasLowPtOmegaPlus;  //!
218   Bool_t fTreeCascVarEvHasLowPtLambda;     //!
219   Bool_t fTreeCascVarEvHasLowPtAntiLambda; //!
220
221   Bool_t fTreeCascVarEvHasVeryLowPtXiMinus;    //!
222   Bool_t fTreeCascVarEvHasVeryLowPtXiPlus;     //!
223   Bool_t fTreeCascVarEvHasVeryLowPtOmegaMinus; //!
224   Bool_t fTreeCascVarEvHasVeryLowPtOmegaPlus;  //!
225   Bool_t fTreeCascVarEvHasVeryLowPtLambda;     //!
226   Bool_t fTreeCascVarEvHasVeryLowPtAntiLambda; //!
227   
228   Bool_t fTreeCascVarBadCascadeJai; //! 
229   Float_t fTreeCascVarDeltaDCA; //!
230
231 //===========================================================================================
232 //   Histograms
233 //===========================================================================================
234
235    TH1F      *fHistV0MultiplicityBeforeTrigSel;              //! V0 multiplicity distribution
236    TH1F      *fHistV0MultiplicityForTrigEvt;                 //! V0 multiplicity distribution
237    TH1F      *fHistV0MultiplicityForSelEvt;                  //! V0 multiplicity distribution
238    TH1F      *fHistV0MultiplicityForSelEvtNoTPCOnly;         //! V0 multiplicity distribution
239    TH1F      *fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup; //! V0 multiplicity distribution
240
241    TH1F      *fHistMultiplicityBeforeTrigSel;     //! multiplicity distribution      
242    TH1F      *fHistMultiplicityForTrigEvt;        //! multiplicity distribution
243    TH1F      *fHistMultiplicity;                  //! multiplicity distribution
244    TH1F      *fHistMultiplicityNoTPCOnly;         //! multiplicity distribution
245    TH1F      *fHistMultiplicityNoTPCOnlyNoPileup; //! multiplicity distribution
246   
247   //V0A Centrality
248   TH1F    *fHistMultiplicityV0ABeforeTrigSel;           //! multiplicity distribution
249         TH1F    *fHistMultiplicityV0AForTrigEvt;                        //! multiplicity distribution
250         TH1F    *fHistMultiplicityV0A;                                                  //! multiplicity distribution
251         TH1F    *fHistMultiplicityV0ANoTPCOnly;                         //! multiplicity distribution
252         TH1F    *fHistMultiplicityV0ANoTPCOnlyNoPileup;                 //! multiplicity distribution
253   
254   //ZNA Centrality
255   TH1F    *fHistMultiplicityZNABeforeTrigSel;           //! multiplicity distribution
256         TH1F    *fHistMultiplicityZNAForTrigEvt;                        //! multiplicity distribution
257         TH1F    *fHistMultiplicityZNA;                                                  //! multiplicity distribution
258         TH1F    *fHistMultiplicityZNANoTPCOnly;                         //! multiplicity distribution
259         TH1F    *fHistMultiplicityZNANoTPCOnlyNoPileup;                 //! multiplicity distribution
260   
261   //TRK Centrality
262   TH1F    *fHistMultiplicityTRKBeforeTrigSel;           //! multiplicity distribution
263         TH1F    *fHistMultiplicityTRKForTrigEvt;                        //! multiplicity distribution
264         TH1F    *fHistMultiplicityTRK;                                                  //! multiplicity distribution
265         TH1F    *fHistMultiplicityTRKNoTPCOnly;                         //! multiplicity distribution
266         TH1F    *fHistMultiplicityTRKNoTPCOnlyNoPileup;                 //! multiplicity distribution
267   
268   //SPD Centrality
269   TH1F    *fHistMultiplicitySPDBeforeTrigSel;           //! multiplicity distribution
270         TH1F    *fHistMultiplicitySPDForTrigEvt;                        //! multiplicity distribution
271         TH1F    *fHistMultiplicitySPD;                                                  //! multiplicity distribution
272         TH1F    *fHistMultiplicitySPDNoTPCOnly;                         //! multiplicity distribution
273         TH1F    *fHistMultiplicitySPDNoTPCOnlyNoPileup;                 //! multiplicity distribution
274
275 //---> Generated Histograms
276
277    TH3F      *f3dHistGenPtVsYVsMultXiMinus;      //! Generated Xi- Distrib
278    TH3F      *f3dHistGenPtVsYVsMultXiPlus;       //! Generated Xi+ Distrib
279    TH3F      *f3dHistGenPtVsYVsMultOmegaMinus;      //! Generated Omega- Distrib
280    TH3F      *f3dHistGenPtVsYVsMultOmegaPlus;       //! Generated Omega+ Distrib
281
282    TH3F      *f3dHistGenSelectedPtVsYVsMultXiMinus;      //! Generated Xi- Distrib, at event selection level
283    TH3F      *f3dHistGenSelectedPtVsYVsMultXiPlus;       //! Generated Xi+ Distrib, at event selection level
284    TH3F      *f3dHistGenSelectedPtVsYVsMultOmegaMinus;      //! Generated Omega- Distrib, at event selection level
285    TH3F      *f3dHistGenSelectedPtVsYVsMultOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
286
287    TH3F      *f3dHistGenPtVsYCMSVsMultXiMinus;      //! Generated Xi- Distrib
288    TH3F      *f3dHistGenPtVsYCMSVsMultXiPlus;       //! Generated Xi+ Distrib
289    TH3F      *f3dHistGenPtVsYCMSVsMultOmegaMinus;      //! Generated Omega- Distrib
290    TH3F      *f3dHistGenPtVsYCMSVsMultOmegaPlus;       //! Generated Omega+ Distrib
291
292    TH3F      *f3dHistGenSelectedPtVsYCMSVsMultXiMinus;      //! Generated Xi- Distrib, at event selection level
293    TH3F      *f3dHistGenSelectedPtVsYCMSVsMultXiPlus;       //! Generated Xi+ Distrib, at event selection level
294    TH3F      *f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus;      //! Generated Omega- Distrib, at event selection level
295    TH3F      *f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
296
297 //---> Multiplicity -> MC multiplicity
298   
299   TH3F      *f3dHistGenPtVsYVsMultMCXiMinus;      //! Generated Xi- Distrib
300   TH3F      *f3dHistGenPtVsYVsMultMCXiPlus;       //! Generated Xi+ Distrib
301   TH3F      *f3dHistGenPtVsYVsMultMCOmegaMinus;      //! Generated Omega- Distrib
302   TH3F      *f3dHistGenPtVsYVsMultMCOmegaPlus;       //! Generated Omega+ Distrib
303   
304   TH3F      *f3dHistGenSelectedPtVsYVsMultMCXiMinus;      //! Generated Xi- Distrib, at event selection level
305   TH3F      *f3dHistGenSelectedPtVsYVsMultMCXiPlus;       //! Generated Xi+ Distrib, at event selection level
306   TH3F      *f3dHistGenSelectedPtVsYVsMultMCOmegaMinus;      //! Generated Omega- Distrib, at event selection level
307   TH3F      *f3dHistGenSelectedPtVsYVsMultMCOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
308   
309   TH3F      *f3dHistGenPtVsYCMSVsMultMCXiMinus;      //! Generated Xi- Distrib
310   TH3F      *f3dHistGenPtVsYCMSVsMultMCXiPlus;       //! Generated Xi+ Distrib
311   TH3F      *f3dHistGenPtVsYCMSVsMultMCOmegaMinus;      //! Generated Omega- Distrib
312   TH3F      *f3dHistGenPtVsYCMSVsMultMCOmegaPlus;       //! Generated Omega+ Distrib
313   
314   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultMCXiMinus;      //! Generated Xi- Distrib, at event selection level
315   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultMCXiPlus;       //! Generated Xi+ Distrib, at event selection level
316   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultMCOmegaMinus;      //! Generated Omega- Distrib, at event selection level
317   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultMCOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
318   
319 //---> Multiplicity -> V0A centrality
320   
321   TH3F      *f3dHistGenPtVsYVsMultV0AXiMinus;      //! Generated Xi- Distrib
322   TH3F      *f3dHistGenPtVsYVsMultV0AXiPlus;       //! Generated Xi+ Distrib
323   TH3F      *f3dHistGenPtVsYVsMultV0AOmegaMinus;      //! Generated Omega- Distrib
324   TH3F      *f3dHistGenPtVsYVsMultV0AOmegaPlus;       //! Generated Omega+ Distrib
325   
326   TH3F      *f3dHistGenSelectedPtVsYVsMultV0AXiMinus;      //! Generated Xi- Distrib, at event selection level
327   TH3F      *f3dHistGenSelectedPtVsYVsMultV0AXiPlus;       //! Generated Xi+ Distrib, at event selection level
328   TH3F      *f3dHistGenSelectedPtVsYVsMultV0AOmegaMinus;      //! Generated Omega- Distrib, at event selection level
329   TH3F      *f3dHistGenSelectedPtVsYVsMultV0AOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
330   
331   TH3F      *f3dHistGenPtVsYCMSVsMultV0AXiMinus;      //! Generated Xi- Distrib
332   TH3F      *f3dHistGenPtVsYCMSVsMultV0AXiPlus;       //! Generated Xi+ Distrib
333   TH3F      *f3dHistGenPtVsYCMSVsMultV0AOmegaMinus;      //! Generated Omega- Distrib
334   TH3F      *f3dHistGenPtVsYCMSVsMultV0AOmegaPlus;       //! Generated Omega+ Distrib
335   
336   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus;      //! Generated Xi- Distrib, at event selection level
337   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus;       //! Generated Xi+ Distrib, at event selection level
338   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultV0AOmegaMinus;      //! Generated Omega- Distrib, at event selection level
339   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultV0AOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
340
341     TH3F      *f3dHistGenSelectedPrimPtVsYCMSVsMultV0AXiMinus;      //! Generated Xi- Distrib, at event selection level
342     TH3F      *f3dHistGenSelectedPrimPtVsYCMSVsMultV0AXiPlus;       //! Generated Xi+ Distrib, at event selection level
343     TH3F      *f3dHistGenSelectedPrimPtVsYCMSVsMultV0AOmegaMinus;      //! Generated Omega- Distrib, at event selection level
344     TH3F      *f3dHistGenSelectedPrimPtVsYCMSVsMultV0AOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
345     
346 //---> Multiplicity -> ZNA centrality
347   
348   TH3F      *f3dHistGenPtVsYVsMultZNAXiMinus;      //! Generated Xi- Distrib
349   TH3F      *f3dHistGenPtVsYVsMultZNAXiPlus;       //! Generated Xi+ Distrib
350   TH3F      *f3dHistGenPtVsYVsMultZNAOmegaMinus;      //! Generated Omega- Distrib
351   TH3F      *f3dHistGenPtVsYVsMultZNAOmegaPlus;       //! Generated Omega+ Distrib
352   
353   TH3F      *f3dHistGenSelectedPtVsYVsMultZNAXiMinus;      //! Generated Xi- Distrib, at event selection level
354   TH3F      *f3dHistGenSelectedPtVsYVsMultZNAXiPlus;       //! Generated Xi+ Distrib, at event selection level
355   TH3F      *f3dHistGenSelectedPtVsYVsMultZNAOmegaMinus;      //! Generated Omega- Distrib, at event selection level
356   TH3F      *f3dHistGenSelectedPtVsYVsMultZNAOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
357   
358   TH3F      *f3dHistGenPtVsYCMSVsMultZNAXiMinus;      //! Generated Xi- Distrib
359   TH3F      *f3dHistGenPtVsYCMSVsMultZNAXiPlus;       //! Generated Xi+ Distrib
360   TH3F      *f3dHistGenPtVsYCMSVsMultZNAOmegaMinus;      //! Generated Omega- Distrib
361   TH3F      *f3dHistGenPtVsYCMSVsMultZNAOmegaPlus;       //! Generated Omega+ Distrib
362   
363   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus;      //! Generated Xi- Distrib, at event selection level
364   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus;       //! Generated Xi+ Distrib, at event selection level
365   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultZNAOmegaMinus;      //! Generated Omega- Distrib, at event selection level
366   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultZNAOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
367   
368 //---> Multiplicity -> TRK centrality
369   
370   TH3F      *f3dHistGenPtVsYVsMultTRKXiMinus;      //! Generated Xi- Distrib
371   TH3F      *f3dHistGenPtVsYVsMultTRKXiPlus;       //! Generated Xi+ Distrib
372   TH3F      *f3dHistGenPtVsYVsMultTRKOmegaMinus;      //! Generated Omega- Distrib
373   TH3F      *f3dHistGenPtVsYVsMultTRKOmegaPlus;       //! Generated Omega+ Distrib
374   
375   TH3F      *f3dHistGenSelectedPtVsYVsMultTRKXiMinus;      //! Generated Xi- Distrib, at event selection level
376   TH3F      *f3dHistGenSelectedPtVsYVsMultTRKXiPlus;       //! Generated Xi+ Distrib, at event selection level
377   TH3F      *f3dHistGenSelectedPtVsYVsMultTRKOmegaMinus;      //! Generated Omega- Distrib, at event selection level
378   TH3F      *f3dHistGenSelectedPtVsYVsMultTRKOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
379   
380   TH3F      *f3dHistGenPtVsYCMSVsMultTRKXiMinus;      //! Generated Xi- Distrib
381   TH3F      *f3dHistGenPtVsYCMSVsMultTRKXiPlus;       //! Generated Xi+ Distrib
382   TH3F      *f3dHistGenPtVsYCMSVsMultTRKOmegaMinus;      //! Generated Omega- Distrib
383   TH3F      *f3dHistGenPtVsYCMSVsMultTRKOmegaPlus;       //! Generated Omega+ Distrib
384   
385   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus;      //! Generated Xi- Distrib, at event selection level
386   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus;       //! Generated Xi+ Distrib, at event selection level
387   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultTRKOmegaMinus;      //! Generated Omega- Distrib, at event selection level
388   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultTRKOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
389   
390   //---> Multiplicity -> SPD centrality
391   
392   TH3F      *f3dHistGenPtVsYVsMultSPDXiMinus;      //! Generated Xi- Distrib
393   TH3F      *f3dHistGenPtVsYVsMultSPDXiPlus;       //! Generated Xi+ Distrib
394   TH3F      *f3dHistGenPtVsYVsMultSPDOmegaMinus;      //! Generated Omega- Distrib
395   TH3F      *f3dHistGenPtVsYVsMultSPDOmegaPlus;       //! Generated Omega+ Distrib
396   
397   TH3F      *f3dHistGenSelectedPtVsYVsMultSPDXiMinus;      //! Generated Xi- Distrib, at event selection level
398   TH3F      *f3dHistGenSelectedPtVsYVsMultSPDXiPlus;       //! Generated Xi+ Distrib, at event selection level
399   TH3F      *f3dHistGenSelectedPtVsYVsMultSPDOmegaMinus;      //! Generated Omega- Distrib, at event selection level
400   TH3F      *f3dHistGenSelectedPtVsYVsMultSPDOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
401   
402   TH3F      *f3dHistGenPtVsYCMSVsMultSPDXiMinus;      //! Generated Xi- Distrib
403   TH3F      *f3dHistGenPtVsYCMSVsMultSPDXiPlus;       //! Generated Xi+ Distrib
404   TH3F      *f3dHistGenPtVsYCMSVsMultSPDOmegaMinus;      //! Generated Omega- Distrib
405   TH3F      *f3dHistGenPtVsYCMSVsMultSPDOmegaPlus;       //! Generated Omega+ Distrib
406   
407   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus;      //! Generated Xi- Distrib, at event selection level
408   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus;       //! Generated Xi+ Distrib, at event selection level
409   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultSPDOmegaMinus;      //! Generated Omega- Distrib, at event selection level
410   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultSPDOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
411   
412   //---------------------
413   
414    TH1F      *fHistPVx;                      //! PVx distrib
415    TH1F      *fHistPVy;                      //! PVy distrib
416    TH1F      *fHistPVz;                      //! PVz distrib
417    TH1F      *fHistPVxAnalysis;                      //! PVx distrib
418    TH1F      *fHistPVyAnalysis;                      //! PVy distrib
419    TH1F      *fHistPVzAnalysis;                      //! PVz distrib
420
421    AliAnalysisTaskExtractPerformanceCascade(const AliAnalysisTaskExtractPerformanceCascade&);            // not implemented
422    AliAnalysisTaskExtractPerformanceCascade& operator=(const AliAnalysisTaskExtractPerformanceCascade&); // not implemented
423    
424    ClassDef(AliAnalysisTaskExtractPerformanceCascade, 11);
425 };
426
427 #endif