]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h
Adding correlation of the shared tpc clusters between the trigger particle and the...
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Correlations / AliAnalysisTaskLambdaOverK0sJets.h
1
2 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * 
3  * See cxx source for full Copyright notice */ 
4
5 /*
6                 AliAnalysisTaskLambdaOverK0sJets class
7
8                 This program obtains the production of K0s and Lambdas and calculates 
9                 the correlation (in the variables phi and eta) with respect to the
10                 triggers particles (high-pt charged particles).
11                 It works with MC information and AOD tree.
12                 Origin: X. Sanchez Castro August2012, xsanchez@cern.ch
13 */
14
15
16 #ifndef ALIANALYSISTASKLAMBDAOVERK0SJETS_H
17 #define ALIANALYSISTASKLAMBDAOVERK0SJETS_H
18  
19 #include "AliAnalysisTaskSE.h"
20
21 class AliAODEvent;
22 class AliPIDResponse;
23 class AliAODTrack;
24 class AliAODVertex;
25 class AliAODv0;
26
27 class TH1F;
28 class TH2F;
29 class TH3F;
30 class THnSparse;
31 class TList;
32 class TString;
33
34 class TObjArray;
35
36 // pt for V0
37 const int    kN1 = 8; 
38 const float  kPtBinV0[kN1+1] = {2.0,2.25,2.5,2.75,3.0,3.5,4.0,5.0,7.0};
39
40 const int    kNVtxZ = 10; 
41 const double kBinVtxZ[kNVtxZ+1] = {-10.,-8.,-6.,-4.,-2.,0.,2.,4.,6.,8.,10.};
42
43 const int    kNCent  = 4;
44 const double kBinCent[kNCent+1] = {0.0,5.0,10.0,20.0,40.0};
45
46 //  ------------------------------------
47 //  Inv. Mass width as function of the centrality
48 //  Linear polimomial dependence: sigma(pt) = a0 * a1*pt
49
50 const double kCteK0s2010[kNCent] = {0.00348, 0.00351, 0.00346, 0.00318};
51 const double kLinearK0s2010[kNCent] = {8.024E-4, 7.403E-4, 7.250E-4, 7.665E-4};
52
53 const double kCteK0s2011[kNCent] = {0.00338, 0.00328, 0.00333, 0.00326};
54 const double kLinearK0s2011[kNCent] = {8.336E-4, 8.385E-4, 7.891E-4, 7.851E-4};
55
56 const double kCteLambda2010[kNCent] = {0.00145, 0.00122, 0.00140, 0.00135};
57 const double kLinearLambda2010[kNCent] = {2.233E-4, 2.836-4, 2.105-4, 2.076E-4};
58
59 const double kCteLambda2011[kNCent] = {0.00130, 0.00123, 0.00114, 0.00121};
60 const double kLinearLambda2011[kNCent] = {3.002E-4, 3.067E-4, 3.207E-4, 2.813E-4};
61
62 const double kCteAntiLambda2010[kNCent] = {0.00109, 0.00134, 0.00117, 0.00116};
63 const double kLinearAntiLambda2010[kNCent] = {3.245E-4, 2.308E-4, 2.707E-4, 2.562E-4};
64
65 const double kCteAntiLambda2011[kNCent] = {9.859E-4, 0.00111, 0.00104, 0.00110};
66 const double kLinearAntiLambda2011[kNCent] = {3.881E-4, 3.379E-4, 3.490E-4, 3.166E-4};
67
68 // -------------------------------------
69
70 class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
71
72  public:
73   
74   enum V0LoopStep_t { kTriggerCheck=1, kReconstruction=2 };
75
76   AliAnalysisTaskLambdaOverK0sJets(const char *name = "AliAnalysisTaskLambdaOverK0sJets");
77   virtual ~AliAnalysisTaskLambdaOverK0sJets();
78
79   // Setter for global variables in the event
80   void SetCollisionType(TString data="PbPb2010") {fCollision=data;}
81   void SetMC(Bool_t isMC=kTRUE) {fIsMC=isMC;} 
82   void SetPID(Bool_t usePID=kTRUE) {fUsePID=usePID;} 
83   void SetCentrality(Float_t min=0., Float_t max=90.) {fCentMin=min;fCentMax=max;} 
84   void SetQA(Bool_t doQA=kFALSE){fDoQA=doQA;}
85   void SetDoMix(Bool_t doMixEvt=kTRUE) {fDoMixEvt=doMixEvt;} 
86   void SetTriggerPt(Float_t ptMinTrig=8., Float_t ptMaxTrig=50.) {fTrigPtMin=ptMinTrig;fTrigPtMax=ptMaxTrig;} 
87   void SetTriggerEta(Float_t etaMaxTrig=0.8){fTrigEtaMax=etaMaxTrig;} 
88   void SetCheckIDTrig(Bool_t checkIDTrig=kFALSE){fCheckIDTrig=checkIDTrig;}
89   void SetSeparateInjectedPart(Bool_t doSep=kTRUE) {fSeparateInjPart=doSep;} 
90
91   //   1.  Daughter cuts
92   void SetMinPtDaughter(Float_t minPtDaughter=0.160) {fMinPtDaughter=minPtDaughter;} 
93   void SetMaxEtaDaughter(Float_t maxEta=0.8) {fMaxEtaDaughter=maxEta;} 
94   void SetMaxDCADaughter(Float_t maxDCA=1.0) {fMaxDCADaughter=maxDCA;} 
95   void SetDCAToPrimVtx(Float_t dcaToPrimVtx=0.1) {fDCAToPrimVtx=dcaToPrimVtx;}
96   void SetNSigmaPID(Float_t nSigma=3) {fNSigma=nSigma;} 
97   void SetNClsTPC(Float_t nClsTPC=70.) {fDaugNClsTPC=nClsTPC;}
98   //   2.  V0 candidate
99   void SetEtaCut(Bool_t etaCut=kFALSE) {fUseEtaCut=etaCut;} 
100   void SetMaxY(Float_t yMax=0.5) {fYMax=yMax;} 
101   void SetMinCPA(Float_t minCPA=0.998) {fMinCPA=minCPA;} 
102   void SetCtau(Float_t minCtau = 0., Float_t maxCtau = 3.) {fMinCtau=minCtau;fMaxCtau=maxCtau;} 
103
104   // Getters
105   Float_t GetMinCentr() { return fCentMin; }
106   Float_t GetMaxCentr() { return fCentMax; }
107
108   // Main functions
109   virtual void     UserCreateOutputObjects();
110   virtual Bool_t   AcceptTrack(const AliAODTrack *t); 
111   virtual Bool_t   AcceptTrackV0(const AliAODTrack *t);
112   virtual Bool_t   AcceptV0(AliAODVertex *vtx, const AliAODv0 *v0);
113   virtual Double_t ThetaS(TString part);
114   virtual Double_t EtaS(TString part);
115   virtual Float_t  dEtaS();
116   virtual Float_t  dPhiSAtR12();
117   virtual void     SetSftPosR125(const AliAODTrack *track,const Float_t bfield,const Float_t priVtx[3], TString part);
118   virtual void     RecCascade(const AliAODTrack *trk1,const AliAODTrack *trk2,const AliAODTrack *trkBch,TString histo);
119   virtual void     V0Loop(V0LoopStep_t step, Bool_t isTriggered, Int_t iArray, Int_t idTrig);
120   virtual void     TriggerParticle();
121     
122   virtual void     UserExec(Option_t *option);
123   virtual void     Terminate(Option_t *);  
124
125  private: 
126
127   AliAnalysisTaskLambdaOverK0sJets(const AliAnalysisTaskLambdaOverK0sJets&);           //not implemented
128   AliAnalysisTaskLambdaOverK0sJets& operator=(const AliAnalysisTaskLambdaOverK0sJets&);//not implemented 
129
130   AliAODEvent *fAOD;
131   TString  fCollision;                   //  Data: PbPb2010 / PbPb2011
132   Bool_t   fIsMC;                        //  Use MC data 
133   Bool_t   fUsePID;                      //  Use PID for tracks
134   Float_t  fCentMin;                     //  Minimum centrality
135   Float_t  fCentMax;                     //  Maximum centrality
136   Bool_t   fDoQA;                        //  Do Auality Assurance?
137   Bool_t   fDoMixEvt;                    //  Do Mixed Events
138   Float_t  fTrigPtMin;                   //  Minimum pt for trigger particle
139   Float_t  fTrigPtMax;                   //  Maximum pt for trigger particle
140   Float_t  fTrigPtMCMin;                 //  Minimum pt for trigger particle in MC
141   Float_t  fTrigPtMCMax;                 //  Maximum pt for trigger particle in MC
142   Float_t  fTrigEtaMax;                  //  Maximum eta for trigger particle
143   Bool_t   fCheckIDTrig;                 //  Do comparison with V0's daughter tracks?
144   Bool_t   fSeparateInjPart;             //  Separate MC injected particles in case of correlation 
145   Int_t    fEndOfHijingEvent;            //  Limit natural-injected MC  particles 
146   AliPIDResponse *fPIDResponse;          //  PID Response
147
148   Float_t fMinPtDaughter;                //  Minimum transverse momentum for V0's daughters
149   Float_t fMaxEtaDaughter;               //  Maximum pseudo-rapidity for V0's daughters  
150   Float_t fMaxDCADaughter;               //  Maximum Distance of Closest Approach between daughters (given in sigmas)
151   Bool_t  fUseEtaCut;                    //  Swicth between rapidity or pseudo-rapidity cut
152   Float_t fYMax;                         //  Maximum rapidity for V0
153   Float_t fDCAToPrimVtx;                 //  Mimimum distance of closest approach of daughters to the vertex            
154   Float_t fMinCPA;                       //  Minimum Cosine of the Pointing Angle to the vertex for V0  
155   Float_t fNSigma;                       //  Number of sigmas for PID wi dE/dx
156   Float_t fDaugNClsTPC;                  //  Number of TPC clusters for daughters
157   Float_t fMinCtau;                      //  Minimum ctau
158   Float_t fMaxCtau;                      //  Maximum ctau
159
160   Int_t   fIdTrigger;                    //  ID track of the trigger particle
161   Int_t   fIsV0LP;                       //  Flag: V0 has the highest pt in the event
162   Float_t fPtV0LP;                       //  Pt of the leading V0
163   Int_t   fIsSndCheck;                   //  Flag: trigger particle is the second leaidng particle
164
165   Float_t fTrigSftR125[3];               // Shifted position of the daughter track to the Primary verterx
166   Float_t fDaugSftR125[3];               // Shifted position of the trigger track to the Primary verterx
167
168   TList*  fOutput;                       //! List of histograms for main analysis
169   TList*  fOutputQA;                     //! List of histograms for Quality Assurance
170   TList*  fOutputME;                     //! List of histograms for Mixed Events
171   TList** fMEList;                       //![] List of Mixed Events
172
173   TObjArray* fTriggerParticles;          // Trigger particle array
174   TObjArray* fTriggerPartMC;             // MC Trigger particle array
175   TObjArray* fAssocParticles;            // Associated particle array
176   TObjArray* fAssocPartMC;               // MC Associated particle array
177   
178   TH1F*   fEvents;                       //! Counter for the number of events in each step
179   TH1F*   fCentrality;                   //! Event centrality per centil
180   TH1F*   fCentrality2;                  //! Event centrality per centil with |VtxZ|<10cm
181   TH2F*   fCentralityTrig;               //! Event centrality per trigger
182   TH2F*   fPrimayVtxGlobalvsSPD;         //! Zvtx tracking vs Zvtx SPD
183   TH1F*   fPrimaryVertexX;               //! Primary vertex position in X
184   TH1F*   fPrimaryVertexY;               //! Primary vertex position in Y
185   TH1F*   fPrimaryVertexZ;               //! Primary vertex position in Z
186
187   TH1F*   fTriggerEventPlane;            //! Distance between the trigger particle direction and the event plane angle
188
189   TH2F*   fTriggerMCPtCent;              //! Trigger particle MC: pt vs centrality
190   TH3F*   fTriggerMCResPt;               //! Trigger particle MC: pt resolution
191   TH3F*   fTriggerMCResEta;              //! Trigger particle MC: eta resolution
192   TH3F*   fTriggerMCResPhi;              //! Trigger particle MC: phi resolution
193   TH3F*   fTriggerPtCent;                //! Trigger particle: pt vs centrality vs Z vertex
194   TH3F*   fTriggerPtCentCh;              //! Trigger particle: pt vs centrality vs Z vertex for hh correlations
195   TH2F*   fNTrigPerEvt;                  //! Trigger particle: Number of particle triggers per event
196   TH1F*   fTriggerWiSPDHit;              //! Trigger particle: Has Hits in the SPD?
197   TH2F*   fTriggerEtaPhi;                //! Trigger particle: eta vs phi
198   TH1F*   fCheckTriggerFromV0Daug;       //! Trigger particle: it is a daughter from a V0-candidate
199   TH1F*   fTriggerComingFromDaug;        //! Trigger particle: pt when LP is a daughter from a V0-candidate
200   TH1F*   fTriggerIsV0;                  //! Trigger particle: the V0 is the highest-pt particle
201   TH3F*   fCheckIDTrigPtK0s;             //! Trigger particle: pt comparison between trigger track and K0s daughter track
202   TH3F*   fCheckIDTrigPhiK0s;            //! Trigger particle: phi comparison between trigger track and K0s daughter track
203   TH3F*   fCheckIDTrigEtaK0s;            //! Trigger particle: eta comparison between trigger track and K0s daughter track
204   TH3F*   fCheckIDTrigNclsK0s;           //! Trigger particle: number of cluster of the daughter particle 
205   TH3F*   fCheckIDTrigPtLambda;          //! Trigger particle: pt comparison between trigger track and Lambda daughter track
206   TH3F*   fCheckIDTrigPhiLambda;         //! Trigger particle: phi comparison between trigger track and Lambda daughter track
207   TH3F*   fCheckIDTrigEtaLambda;         //! Trigger particle: eta comparison between trigger track and Lambda daughter track
208   TH3F*   fCheckIDTrigNclsLambda;        //! Trigger particle: number of cluster of the daughter particle  
209   TH3F*   fCheckIDTrigPtAntiLambda;      //! Trigger particle: pt comparison between trigger track and AntiLambda daughter track
210   TH3F*   fCheckIDTrigPhiAntiLambda;     //! Trigger particle: phi comparison between trigger track and AntiLambda daughter track
211   TH3F*   fCheckIDTrigEtaAntiLambda;     //! Trigger particle: eta comparison between trigger track and AntiLambda daughter track
212   TH3F*   fCheckIDTrigNclsAntiLambda;    //! Trigger particle: number of cluster of the daughter particle 
213
214   // ==============  Monte Carlo  ================= //
215   TH1F*   fInjectedParticles;            //! Number of injected particles
216
217   //           K0s            //
218   TH1F*   fK0sMCPt;                      //! K0s MC: pt
219   TH3F*   fK0sMCPtRap;                   //! K0s MC: pt vs rapidity
220   TH3F*   fK0sMCPtRap2;                  //! K0s MC: pt vs rapidity (is Natural)
221   TH3F*   fK0sMCPtRapVtx[kNCent];        //! K0s MC: pt vs Z vtx position  vs centrality
222   TH3F*   fK0sMCPtRapEmbeded;            //! K0s MC: pt vs rapidity  (embeded particles)
223   TH3F*   fK0sMCPtRapVtxEmbeded[kNCent]; //! K0s MC: pt vs Z vtx position rapidity  vs centrality (embeded particles)
224   TH3F*   fK0sMCPtPhiEta[kNCent];        //! K0s MC: pt vs pseudo-rapidity
225
226   TH1F*   fK0sAssocPt;                         //! K0s Assoc: pt
227   TH3F*   fK0sAssocPtArm;                      //! K0s Assoc: pt vs rapidity vs centrality (arm. pod. cut)
228   TH3F*   fK0sAssocPtRap;                      //! K0s Assoc: pt vs rapidity vs centrality
229   TH3F*   fK0sAssocPtRapEmbeded;               //! K0s Assoc: pt vs rapidity vs centrality  (embeded particles)
230   TH3F*   fK0sAssocPtPhiEta[kNCent];           //! K0s Assoc: pt vs pseudo-rapidity
231
232   THnSparse*  fK0sAssocPtMassArm[kNCent];          //! K0s Assoc: mass vs pt vs centrality
233   THnSparse*  fK0sAssocMassPtVtx[kNCent];          //! K0s Assoc: mass vs pt vs Z vertex position
234   THnSparse*  fK0sAssocMassPtDCADaug[kNCent];      //! K0s Assoc: mass vs pt vs dca between daughters
235   THnSparse*  fK0sAssocMassPtCPA[kNCent];          //! K0s Assoc: mass vs pt vs cpa
236   THnSparse*  fK0sAssocMassPtDCAPV[kNCent];        //! K0s Assoc: mass vs pt vs dca to prim. vtx
237   THnSparse*  fK0sAssocMassPtDaugNClsTPC[kNCent];  //! K0s Assoc: mass vs pt vs num. of tpc clusters
238
239   THnSparse*  fK0sAssocPtMassArmEmbeded[kNCent];          //! K0s Assoc: mass vs pt vs rapidity  (embeded particles)
240   THnSparse*  fK0sAssocMassPtVtxEmbeded[kNCent];          //! K0s Assoc: mass vs pt vs Z vertex position  (embeded particles)
241   THnSparse*  fK0sAssocMassPtDCADaugEmbeded[kNCent];      //! K0s Assoc: mass vs pt vs dca between daughters  (embeded particles)
242   THnSparse*  fK0sAssocMassPtCPAEmbeded[kNCent];          //! K0s Assoc: mass vs pt vs cpa  (embeded particles)
243   THnSparse*  fK0sAssocMassPtDCAPVEmbeded[kNCent];        //! K0s Assoc: mass vs pt vs dca to prim. vtx  (embeded particles)
244   THnSparse*  fK0sAssocMassPtDaugNClsTPCEmbeded[kNCent];  //! K0s Assoc: mass vs pt vs num. o ftpc clusters (embeded particles)
245
246   TH3F*   fK0sMCResEta;                  //! K0s Assoc: eta resolution
247   TH3F*   fK0sMCResPhi;                  //! K0s Assoc: phi resolution
248
249
250   //           Lambda            //
251   TH1F*   fLambdaMCPt;                        //! Lambda MC: pt
252   TH3F*   fLambdaMCPtRap;                     //! Lambda MC: pt vs rapidity
253   TH3F*   fLambdaMCPtRap2;                    //! Lambda MC: pt vs rapidity  (is Natural)
254   TH3F*   fLambdaMCPtRapVtx[kNCent];          //! Lambda MC: pt vs Z vtx position rapidity vs centrality
255   TH3F*   fLambdaMCPtRapEmbeded;              //! Lambda MC: pt vs rapidity (embeded particles)
256   TH3F*   fLambdaMCPtRapVtxEmbeded[kNCent];   //! Lambda MC: pt vs Z vtx position vs centrality  (embeded particles)
257   TH2F*   fLambdaMCFromXi;                    //! Lambda MC: coming from Xi
258   TH3F*   fLambdaMCPtPhiEta[kNCent];          //! Lambda MC: pt vs pseudo-rapidity
259
260   TH1F*   fLambdaAssocPt;                //! Lambda Assoc: pt
261   TH3F*   fLambdaAssocPtRap;             //! Lambda Assoc: pt vs rapidity
262   TH2F*   fLambdaAssocFromXi;            //! Lambda Assoc: coming from Xi
263   TH3F*   fLambdaAssocPtPhiEta[kNCent];  //! Lambda Assoc: pt vs pseudo-rapidity
264
265   THnSparse*  fLambdaAssocMassPtRap[kNCent];          //! Lambda Assoc: pt vs rapidity vs mass
266   THnSparse*  fLambdaAssocMassPtRap2[kNCent];         //! Lambda Assoc: pt vs rapidity vs mass (wo Cross contamination)
267   THnSparse*  fLambdaAssocMassPtVtx[kNCent];          //! Lambda Assoc: mass vs pt vs Z vertex position
268   THnSparse*  fLambdaAssocMassPtDCADaug[kNCent];      //! Lambda Assoc: mass vs pt vs dca btween daughters
269   THnSparse*  fLambdaAssocMassPtCPA[kNCent];          //! Lambda Assoc: mass vs pt vs cpa
270   THnSparse*  fLambdaAssocMassPtDCAPV[kNCent];        //! Lambda Assoc: mass vs pt vs dca to prim vtx
271   THnSparse*  fLambdaAssocMassPtDaugNClsTPC[kNCent];  //! Lambda Assoc: mass vs pt vs num.of tpc clusters
272
273   THnSparse*  fLambdaAssocMassPtRapEmbeded[kNCent];          //! Lambda Assoc: pt vs rapidity vs mass (embeded)
274   THnSparse*  fLambdaAssocMassPtRapEmbeded2[kNCent];         //! Lambda Assoc: pt vs rapidity vs mass  (wo Cross contamination) (embeded)
275   THnSparse*  fLambdaAssocMassPtVtxEmbeded[kNCent];          //! Lambda Assoc: mass vs pt vs Z vertex position  (embeded particles)
276   THnSparse*  fLambdaAssocMassPtDCADaugEmbeded[kNCent];      //! Lambda Assoc: mass vs pt vs dca between daughters  (embeded particles)
277   THnSparse*  fLambdaAssocMassPtCPAEmbeded[kNCent];          //! Lambda Assoc: mass vs pt vs cpa  (embeded particles)
278   THnSparse*  fLambdaAssocMassPtDCAPVEmbeded[kNCent];        //! Lambda Assoc: mass vs pt vs dca to prim vtx  (embeded particles)
279   THnSparse*  fLambdaAssocMassPtDaugNClsTPCEmbeded[kNCent];  //! Lambda Assoc: mass vs pt vs num. of tpc clusters  (embeded particles)
280
281   TH3F*   fLambdaMCResEta;               //! Lambda Assoc: eta resolution
282   TH3F*   fLambdaMCResPhi;               //! Lambda Assoc: phi resolution
283
284   //           AntiLambda            //
285   TH1F*   fAntiLambdaMCPt;                  //! AntiLambda MC: pt
286   TH3F*   fAntiLambdaMCPtRap;               //! AntiLambda MC: pt vs rapidity
287   TH3F*   fAntiLambdaMCPtRap2;              //! AntiLambda MC: pt vs rapidity  (is Natural)
288   TH3F*   fAntiLambdaMCPtRapVtx[kNCent];          //! AntiLambda MC: pt vs rapidity vs Z vtx position
289   TH3F*   fAntiLambdaMCPtRapEmbeded;              //! AntiLambda MC: pt vs rapidity (embeded particles)
290   TH3F*   fAntiLambdaMCPtRapVtxEmbeded[kNCent];   //! AntiLambda MC: pt vs rapidity  vs Z vtx position 
291   TH2F*   fAntiLambdaMCFromXi;                    //! AntiLambda MC: coming from Xi
292   TH3F*   fAntiLambdaMCPtPhiEta[kNCent];          //! AntiLambda MC: pt vs pseudo-rapidity
293
294   TH1F*   fAntiLambdaAssocPt;                 //! AntiLambda Assoc: pt
295   TH3F*   fAntiLambdaAssocPtRap;              //! AntiLambda Assoc: pt vs rapidity vscentrality
296   TH2F*   fAntiLambdaAssocFromXi;             //! AntiLambda Assoc: coming from Xi
297   TH3F*   fAntiLambdaAssocPtPhiEta[kNCent];   //! AntiLambda Assoc: pt vs pseudo-rapidity
298
299   THnSparse*  fAntiLambdaAssocMassPtRap[kNCent];          //! AntiLambda Assoc: mass vs pt vs rapidity
300   THnSparse*  fAntiLambdaAssocMassPtRap2[kNCent];         //! AntiLambda Assoc: mass vs pt vs rapidity  (wo Cross contamination)
301   THnSparse*  fAntiLambdaAssocMassPtVtx[kNCent];          //! AntiLambda Assoc: mass vs pt vs Z vtx position
302   THnSparse*  fAntiLambdaAssocMassPtDCADaug[kNCent];      //! AntiLambda Assoc: mass vs pt vs Dca between daughters
303   THnSparse*  fAntiLambdaAssocMassPtCPA[kNCent];          //! AntiLambda Assoc: mass vs pt vs cpa
304   THnSparse*  fAntiLambdaAssocMassPtDCAPV[kNCent];        //! AntiLambda Assoc: mass vs pt vs dca to prim. vtx
305   THnSparse*  fAntiLambdaAssocMassPtDaugNClsTPC[kNCent];  //! AntiLambda Assoc: mass vs pt vs num. of tpc clusters
306
307   THnSparse*  fAntiLambdaAssocMassPtRapEmbeded[kNCent];          //! AntiLambda Assoc: mass vs pt vs rapidity  (embeded)
308   THnSparse*  fAntiLambdaAssocMassPtRapEmbeded2[kNCent];         //! AntiLambda Assoc: mass vs pt vs rapidity  (wo Cross contamination) (embeded)
309   THnSparse*  fAntiLambdaAssocMassPtVtxEmbeded[kNCent];          //! AntiLambda Assoc: mass vs pt vs Z vtx. position  (embeded particles)
310   THnSparse*  fAntiLambdaAssocMassPtDCADaugEmbeded[kNCent];      //! AntiLambda Assoc: mass vs pt vs dca between daughters  (embeded particles)
311   THnSparse*  fAntiLambdaAssocMassPtCPAEmbeded[kNCent];          //! AntiLambda Assoc: mass vs pt vs cpa  (embeded particles)
312   THnSparse*  fAntiLambdaAssocMassPtDCAPVEmbeded[kNCent];        //! AntiLambda Assoc: mass vs pt vs dca to prim. vtx  (embeded particles)
313   THnSparse*  fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[kNCent];  //! AntiLambda Assoc: mass vs pt vs num. of tpc clusters  (embeded particles)
314
315   TH3F*   fAntiLambdaMCResEta;             //! AntiLambda Assoc: eta resolution
316   TH3F*   fAntiLambdaMCResPhi;             //! AntiLambda Assoc: phi resolution
317
318
319   /// ====== Histograms for Correlations ====== ///
320
321   TH3F*   fHistArmenterosPodolanski;     //! Armenteros-Podolanski plot inside 3 sigma of the signal
322   TH3F*   fHistArmPodBckg;               //! Armenteros-Podolanski plot outside 3 sigma of the signal      
323
324
325
326   //           K0s            //
327   TH3F*   fK0sMass;                      //! Mass for K0s
328   TH3F*   fK0sMassEmbeded;               //! Mass for K0s embeded
329   TH3F*   fK0sMassPtEta;                 //! K0s: mass vs pt vs eta
330   TH3F*   fK0sMassPtRap[kNCent];         //! K0s: mass vs pt vs rap vs centrality
331   TH3F*   fK0sMassPtPhi;                 //! K0s: mass vs pt vs phi
332
333   TH2F*   fK0sDaughtersPt;                       //! K0s: pt of daughters
334   THnSparse* fK0sPosDaugdPhiSdEtaS[kNCent];      //! Positive daughter: delta(phi)* delta(eta)*    
335   THnSparse* fK0sNegDaugdPhiSdEtaS[kNCent];      //! Negative daughter: delta(phi)* delta(eta)* 
336   THnSparse* fK0sPosDaugSplCheckCovMat[kNCent];  //! Check Covariance Matrix elemenets between trigger trcak and daughter track
337   THnSparse* fK0sNegDaugSplCheckCovMat[kNCent];  //! Check Covariance Matrix elemenets between trigger trcak and daughter track
338   TH3F*   fK0sDCADaugToPrimVtx;                  //! K0s: DCA to primary vertex of daughters vs leading particle's pt inside a radio wrt the near-side peak
339   TH3F*   fK0sSpatialRes;                        //! K0s: Spatial resolution  
340    
341   TH3F*   fK0sdPhidEtaMC[kNCent*kN1];             //! K0s MC: Delta phi,Delta eta vs Z vertex position
342   TH3F*   fK0sdPhidEtaPtL[kNVtxZ*kNCent*kN1];     //! K0s: Delta phi,Delta eta vs Z vertex position
343   //TH3F*   fK0sdPhidEtaPtLBckg[kNCent*kN1];      //! K0s background: Delta phi,Delta eta vs Z vertex position
344  
345   TH2F*   fK0sBckgDecLength;             //! K0s background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
346   TH3F*   fK0sBckgDCADaugToPrimVtx;      //! K0s background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
347   TH2F*   fK0sBckgEtaPhi;                //! K0s background: Phi vs Eta inside a radio wrt the near-side peak
348   TH2F*   fK0sBckgPhiRadio;              //! K0s background: Phi vs radio inside a radio wrt the near-side peak
349   TH2F*   fK0sBckgDCANegDaugToPrimVtx;   //! K0s background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
350   TH2F*   fK0sBckgDCAPosDaugToPrimVtx;   //! K0s background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
351   TH2F*   fV0MassCascade;                //! V0s candiates: Possible mismatching of tracks due to cascades decays
352
353
354   //           Lambda            //
355   TH3F*   fLambdaMass;                   //! Mass for Lambda
356   TH3F*   fLambdaMassEmbeded;            //! Mass for Lambda embeded
357   TH3F*   fLambdaMass2;                  //! Mass for Lambda (rejecting crosscontamination)
358   TH3F*   fLambdaMass2Embeded;           //! Mass for Lambda embded (rejecting crosscontamination)
359   TH3F*   fLambdaMassPtEta;              //! Lambda: mass vs pt vs eta
360   TH3F*   fLambdaMassPtRap[kNCent];      //! Lambda: mass vs pt vs rap
361   TH3F*   fLambdaMassPtPhi;              //! Lambda: mass vs pt vs phi 
362
363   TH2F*   fLambdaDaughtersPt;                       //! Lambda: pt of daughters
364   THnSparse* fLambdaPosDaugdPhiSdEtaS[kNCent];      //! Positive daughter: delta(phi)* delta(eta)*    
365   THnSparse* fLambdaNegDaugdPhiSdEtaS[kNCent];      //! Negative daughter: delta(phi)* delta(eta)* 
366   THnSparse* fLambdaPosDaugSplCheckCovMat[kNCent];  //! Check Covariance Matrix elemenets between trigger trcak and daughter track
367   THnSparse* fLambdaNegDaugSplCheckCovMat[kNCent];  //! Check Covariance Matrix elemenets between trigger trcak and daughter track
368   TH3F*   fLambdaDCADaugToPrimVtx;                  //! Lambda: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
369   TH3F*   fLambdaSpatialRes;                        //! Lambda: Spatial resolution  
370
371   TH3F*   fLambdadPhidEtaMC[kNCent*kN1];            //! Lambda MC: Delta phi,Delta eta vs Z vertex position
372   TH3F*   fLambdadPhidEtaPtL[kNVtxZ*kNCent*kN1];    //! Lambda: Delta phi,Delta eta vs Z vertex position
373   //TH3F*   fLambdadPhidEtaPtLBckg[kNCent*kN1];     //! Lambda background: Delta phi,Delta eta vs Z vertex position
374  
375
376   TH2F*   fLambdaBckgDecLength;            //! Lambda background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
377   TH3F*   fLambdaBckgDCADaugToPrimVtx;     //! Lambda background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
378   TH2F*   fLambdaBckgEtaPhi;               //! Lambda background: Phi vs Eta inside a radio wrt the near-side peak
379   TH2F*   fLambdaBckgPhiRadio ;            //! Lambda background: Phi vs radio inside a radio wrt the near-side peak
380   TH2F*   fLambdaBckgDCANegDaugToPrimVtx;  //! Lambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
381   TH2F*   fLambdaBckgDCAPosDaugToPrimVtx;  //! Lambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
382
383
384   //           AntiLambda            //
385   TH3F*   fAntiLambdaMass;                     //! Mass for AntiLambda
386   TH3F*   fAntiLambdaMassEmbeded;              //! Mass for AntiLambda embeded
387   TH3F*   fAntiLambdaMass2;                    //! Mass for AntiLambda (rejecting crosscontamination)
388   TH3F*   fAntiLambdaMass2Embeded;             //! Mass for AntiLambda embded (rejecting crosscontamination)
389
390   TH3F*   fAntiLambdaMassPtEta;                //! AntiLambda: pt vs eta
391   TH3F*   fAntiLambdaMassPtRap[kNCent];        //! AntiLambda: pt vs rap
392   TH3F*   fAntiLambdaMassPtPhi;                //! Lambda: mass vs phi 
393
394   TH2F*   fAntiLambdaDaughtersPt;                       //! AntiLambda: pt of daughters
395   THnSparse* fAntiLambdaPosDaugdPhiSdEtaS[kNCent];      //! Positive daughter: delta(phi)* delta(eta)*    
396   THnSparse* fAntiLambdaNegDaugdPhiSdEtaS[kNCent];      //! Negative daughter: delta(phi)* delta(eta)* 
397   THnSparse* fAntiLambdaPosDaugSplCheckCovMat[kNCent];  //! Check Covariance Matrix elemenets between trigger trcak and daughter track
398   THnSparse* fAntiLambdaNegDaugSplCheckCovMat[kNCent];  //! Check Covariance Matrix elemenets between trigger trcak and daughter track
399   TH3F*   fAntiLambdaDCADaugToPrimVtx;                  //! AntiLambda: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
400   TH3F*   fAntiLambdaSpatialRes;                        //! AntiLambda: Spatial resolution  
401
402   TH3F*   fAntiLambdadPhidEtaMC[kNCent*kN1];            //! AntiLambda MC: Delta phi,Delta eta vs Z vertex position
403   TH3F*   fAntiLambdadPhidEtaPtL[kNVtxZ*kNCent*kN1];    //! AntiLambda: Delta phi,Delta eta vs pt of the leading particle
404   //TH3F*   fAntiLambdadPhidEtaPtLBckg[kNCent*kN1];     //! AntiLambda background: Delta phi,Delta eta vs Z vertex position
405
406   TH2F*   fAntiLambdaBckgDecLength;            //! AntiLambda background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
407   TH3F*   fAntiLambdaBckgDCADaugToPrimVtx;     //! AntiLambda background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
408   TH2F*   fAntiLambdaBckgEtaPhi;               //! AntiLambda background: Phi vs Eta inside a radio wrt the near-side peak
409   TH2F*   fAntiLambdaBckgPhiRadio ;            //! AntiLambda background: Phi vs radio inside a radio wrt the near-side peak
410   TH2F*   fAntiLambdaBckgDCANegDaugToPrimVtx;  //! AntiLambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
411   TH2F*   fAntiLambdaBckgDCAPosDaugToPrimVtx;  //! AntiLambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
412   
413     
414   ///  ==== Quality Assurance plots === ///
415
416   //           K0s            //
417   TH2F*   fK0sPtPosDaug;                     //! K0s: Pos. pt
418   TH2F*   fK0sPtNegDaug;                     //! K0s: Neg. pt
419   TH2F*   fK0sBckgPtPosDaug;                 //! K0s Bckg: Pos. pt
420   TH2F*   fK0sBckgPtNegDaug;                 //! K0s Bckg: Neg. pt
421
422   TH3F*   fK0sPhiEtaPosDaug;                 //! K0s: Pos. track phi vs eta 
423   TH3F*   fK0sPhiEtaNegDaug;                 //! K0s: Neg. track phi vs eta
424   TH3F*   fK0sBckgPhiEtaPosDaug;             //! K0s Bckg: Pos. track phi vs eta  
425   TH3F*   fK0sBckgPhiEtaNegDaug;             //! K0s Bckg: Neg. track phi vs eta
426
427   TH2F*   fK0sDCAPosDaug;                    //! K0s: Pos. track DCA to primary vertex
428   TH2F*   fK0sDCANegDaug;                    //! K0s: Neg. track DCA to primary vertex
429   TH2F*   fK0sBckgDCAPosDaug;                //! K0s Bckg: Pos. track DCA to primary vertex
430   TH2F*   fK0sBckgDCANegDaug;                //! K0s Bckg: Neg. track DCA to primary vertex
431
432   TH3F*   fK0sDecayPos;                      //! K0s: 2D decay position  
433   TH3F*   fK0sBckgDecayPos;                  //! K0s Bckg: 2D decay position   
434   TH2F*   fK0sDecayVertex;                   //! K0s: decay lenght
435   TH2F*   fK0sBckgDecayVertex;               //! K0s Bckg: decay lenght 
436
437   TH2F*   fK0sCPA;                           //! K0s: cosine of the pointing angle
438   TH2F*   fK0sBckgCPA;                       //! K0s Bckg: cosine of the pointing angle
439   TH2F*   fK0sDCAV0Daug;                     //! K0s: distance of the closest approach to the primary vertex
440   TH2F*   fK0sBckgDCAV0Daug;                 //! K0s Bckg: distance of the closest approach to the primary vertex 
441
442   TH3F*   fK0sNClustersTPC;                  //! K0s: Numbers of TPC clusters of the daughter tracks 
443   TH3F*   fK0sBckgNClustersTPC;              //! K0s Bckg: Numbers of TPC clusters of the daughter tracks 
444   TH3F*   fK0sNClustersITSPos;               //! K0s: Pos. Daug. Numbers of ITS clusters of the daughter tracks 
445   TH3F*   fK0sNClustersITSNeg;               //! K0s: Neg. Daug. Numbers of ITS clusters of the daughter tracks 
446   TH3F*   fK0sBckgNClustersITSPos;           //! K0s Bckg: Pos. Daug. Numbers of ITS clusters of the daughter tracks 
447   TH3F*   fK0sBckgNClustersITSNeg;           //! K0s Bckg: Neg. Daug. Numbers of ITS clusters of the daughter tracks 
448
449
450   //          Lambda          //
451   TH2F*   fLambdaPtPosDaug;                     //! Lambda: Pos. pt
452   TH2F*   fLambdaPtNegDaug;                     //! Lambda: Neg. pt
453   TH2F*   fLambdaBckgPtPosDaug;                 //! Lambda Bckg: Pos. pt
454   TH2F*   fLambdaBckgPtNegDaug;                 //! Lambda Bckg: Neg. pt
455
456   TH3F*   fLambdaPhiEtaPosDaug;                 //! Lambda: Pos. track phi vs eta 
457   TH3F*   fLambdaPhiEtaNegDaug;                 //! Lambda: Neg. track phi vs eta
458   TH3F*   fLambdaBckgPhiEtaPosDaug;             //! Lambda Bckg: Pos. track phi vs eta  
459   TH3F*   fLambdaBckgPhiEtaNegDaug;             //! Lambda Bckg: Neg. track phi vs eta
460
461   TH2F*   fLambdaDCAPosDaug;                    //! Lambda: Pos. track DCA to primary vertex
462   TH2F*   fLambdaDCANegDaug;                    //! Lambda: Neg. track DCA to primary vertex
463   TH2F*   fLambdaBckgDCAPosDaug;                //! Lambda Bckg: Pos. track DCA to primary vertex
464   TH2F*   fLambdaBckgDCANegDaug;                //! Lambda Bckg: Neg. track DCA to primary vertex
465
466   TH3F*   fLambdaDecayPos;                      //! Lambda: 2D decay position  
467   TH3F*   fLambdaBckgDecayPos;                  //! Lambda Bckg: 2D decay position   
468   TH2F*   fLambdaDecayVertex;                   //! Lambda: decay lenght
469   TH2F*   fLambdaBckgDecayVertex;               //! Lambda Bckg: decay lenght 
470
471   TH2F*   fLambdaCPA;                           //! Lambda: cosine of the pointing angle
472   TH2F*   fLambdaBckgCPA;                       //! Lambda Bckg: cosine of the pointing angle
473   TH2F*   fLambdaDCAV0Daug;                     //! Lambda: distance of the closest approach to the primary vertex
474   TH2F*   fLambdaBckgDCAV0Daug;                 //! Lambda Bckg: distance of the closest approach to the primary vertex 
475
476   TH3F*   fLambdaNClustersTPC;                  //! Lambda: Numbers of TPC clusters of the daughter tracks 
477   TH3F*   fLambdaBckgNClustersTPC;              //! Lambda Bckg: Numbers of TPC clusters of the daughter tracks 
478   TH3F*   fLambdaNClustersITSPos;               //! Lambda: Pos. Daug. Numbers of ITS clusters of the daughter tracks 
479   TH3F*   fLambdaNClustersITSNeg;               //! Lambda: Neg. Daug. Numbers of ITS clusters of the daughter tracks 
480   TH3F*   fLambdaBckgNClustersITSPos;           //! Lambda Bckg: Pos. Daug. Numbers of ITS clusters of the daughter tracks 
481   TH3F*   fLambdaBckgNClustersITSNeg;           //! Lambda Bckg: Neg. Daug. Numbers of ITS clusters of the daughter tracks 
482
483
484   //        AntiLambda        //
485   TH2F*   fAntiLambdaPtPosDaug;                     //! AntiLambda: Pos. pt
486   TH2F*   fAntiLambdaPtNegDaug;                     //! AntiLambda: Neg. pt
487   TH2F*   fAntiLambdaBckgPtPosDaug;                 //! AntiLambda Bckg: Pos. pt
488   TH2F*   fAntiLambdaBckgPtNegDaug;                 //! AntiLambda Bckg: Neg. pt
489
490   TH3F*   fAntiLambdaPhiEtaPosDaug;                 //! AntiLambda: Pos. track phi vs eta 
491   TH3F*   fAntiLambdaPhiEtaNegDaug;                 //! AntiLambda: Neg. track phi vs eta
492   TH3F*   fAntiLambdaBckgPhiEtaPosDaug;             //! AntiLambda Bckg: Pos. track phi vs eta  
493   TH3F*   fAntiLambdaBckgPhiEtaNegDaug;             //! AntiLambda Bckg: Neg. track phi vs eta
494
495   TH2F*   fAntiLambdaDCAPosDaug;                    //! AntiLambda: Pos. track DCA to primary vertex
496   TH2F*   fAntiLambdaDCANegDaug;                    //! AntiLambda: Neg. track DCA to primary vertex
497   TH2F*   fAntiLambdaBckgDCAPosDaug;                //! AntiLambda Bckg: Pos. track DCA to primary vertex
498   TH2F*   fAntiLambdaBckgDCANegDaug;                //! AntiLambda Bckg: Neg. track DCA to primary vertex
499
500   TH3F*   fAntiLambdaDecayPos;                      //! AntiLambda: 2D decay position  
501   TH3F*   fAntiLambdaBckgDecayPos;                  //! AntiLambda Bckg: 2D decay position   
502   TH2F*   fAntiLambdaDecayVertex;                   //! AntiLambda: decay lenght
503   TH2F*   fAntiLambdaBckgDecayVertex;               //! AntiLambda Bckg: decay lenght
504
505   TH2F*   fAntiLambdaCPA;                           //! AntiLambda: cosine of the pointing angle
506   TH2F*   fAntiLambdaBckgCPA;                       //! AntiLambda Bckg: cosine of the pointing angle
507   TH2F*   fAntiLambdaDCAV0Daug;                     //! AntiLambda: distance of the closest approach to the primary vertex
508   TH2F*   fAntiLambdaBckgDCAV0Daug;                 //! AntiLambda Bckg: distance of the closest approach to the primary vertex 
509
510   TH3F*   fAntiLambdaNClustersTPC;                  //! AntiLambda: Numbers of TPC clusters of the daughter tracks 
511   TH3F*   fAntiLambdaBckgNClustersTPC;              //! AntiLambda Bckg: Numbers of TPC clusters of the daughter tracks 
512   TH3F*   fAntiLambdaNClustersITSPos;               //! AntiLambda: Pos. Daug. Numbers of ITS clusters of the daughter tracks 
513   TH3F*   fAntiLambdaNClustersITSNeg;               //! AntiLambda: Neg. Daug. Numbers of ITS clusters of the daughter tracks 
514   TH3F*   fAntiLambdaBckgNClustersITSPos;           //! AntiLambda Bckg: Pos. Daug. Numbers of ITS clusters of the daughter tracks 
515   TH3F*   fAntiLambdaBckgNClustersITSNeg;           //! AntiLambda Bckg: Neg. Daug. Numbers of ITS clusters of the daughter tracks 
516
517
518   ///  ==== Mixed Events plots === ///
519   TH2F*  fK0sdPhidEtaME[kNVtxZ*kNCent*kN1+1];             //! K0s Mixed Events
520   TH2F*  fLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1];          //! Lambda Mixed Events
521   TH2F*  fAntiLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1];      //! AntiLambda Mixed Events
522
523   ClassDef(AliAnalysisTaskLambdaOverK0sJets,1);
524
525 };
526
527
528 /*  
529     Based on AliV0ChBasicParticle class of AliAnalysisTaskV0ChCorrelations.
530     Keeps basic information to reduce memory consumption for event mixing.
531 */
532 class AliMiniParticle : public AliVParticle
533 {
534  public:
535  AliMiniParticle(Float_t centrality, Float_t vtxZ, Int_t id,Double_t pt, Double_t phi, 
536                  Double_t eta, Int_t negDaugMC, Int_t posDaugMC, Short_t candidate)
537    :fCentrality(centrality), fVtxZ(vtxZ),  fId(id), fPt(pt),
538     fPhi(phi), fEta(eta), fNegDaugMC(negDaugMC), fPosDaugMC(posDaugMC), fCandidate(candidate)
539   {
540   }
541   
542   virtual ~AliMiniParticle() {}
543   
544   // event
545   virtual Float_t Centrality() const { return fCentrality; }
546   virtual Float_t VtxZ() const { return fVtxZ; }
547
548   virtual Int_t   ID()  const { return fId; }  
549   // kinematics
550   virtual Double_t Px() const { AliFatal("Not implemented"); return 0; }
551   virtual Double_t Py() const { AliFatal("Not implemented"); return 0; }
552   virtual Double_t Pz() const { AliFatal("Not implemented"); return 0; }
553
554   virtual Double_t Pt() const { return fPt; }
555   virtual Double_t P()  const { AliFatal("Not implemented"); return 0; }
556   virtual Bool_t   PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
557
558   virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; }
559   virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; }
560   virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; }
561   virtual Bool_t   XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
562
563   virtual Double_t OneOverPt()  const { AliFatal("Not implemented"); return 0; }
564     
565   virtual Double_t Phi()        const { return fPhi; }
566   virtual Double_t Theta()      const { AliFatal("Not implemented"); return 0; }
567   virtual Double_t E()          const { AliFatal("Not implemented"); return 0; }
568   virtual Double_t M()          const { AliFatal("Not implemented"); return 0; }
569     
570   virtual Double_t Eta()        const { return fEta; }
571   virtual Double_t Y()          const { AliFatal("Not implemented"); return 0; }
572
573   virtual Short_t Charge()      const { AliFatal("Not implemented"); return 0; }
574   virtual Int_t   GetLabel()    const { AliFatal("Not implemented"); return 0; }
575   // PID
576   virtual Int_t   PdgCode()     const { AliFatal("Not implemented"); return 0; }
577   virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }
578   virtual Int_t   NegDaugMCLabel() const { return fNegDaugMC; } 
579   virtual Int_t   PosDaugMCLabel() const { return fPosDaugMC; }
580   virtual Short_t WhichCandidate() const { return fCandidate; }
581   
582  private:
583   Float_t fCentrality; // centrality of the event
584   Float_t fVtxZ;       // vertex postition in the event
585   Int_t   fId;         // ID related either to AliAODtrack or AliAODv0
586   Float_t fPt;         // pt 
587   Float_t fPhi;        // phi
588   Float_t fEta;        // eta 
589   Int_t   fNegDaugMC;  // MC origin of negative daughter
590   Int_t   fPosDaugMC;  // MC origin of positive daughter
591   Short_t fCandidate;  // Candidate: 0-Not trigger, 1-Trigger, 2-Gamma Conversion, 3-K0s candidates, 4-Lambda candidates, 5-AntiLambda candidates
592   
593   ClassDef( AliMiniParticle, 1); // class required for event mixing
594 };
595
596 #endif