]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h
cleanup
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Correlations / AliAnalysisTaskLambdaOverK0sJets.h
CommitLineData
667b678a 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
fbaec09e 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.
667b678a 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
21class AliAODEvent;
22class AliPIDResponse;
23class AliAODTrack;
2d5747b9 24class AliAODVertex;
25class AliAODv0;
667b678a 26
27class TH1F;
28class TH2F;
29class TH3F;
30class TList;
31class TString;
32
6fac7c0d 33const int kN1 = 8;
34const float kPtBinV0[kN1+1] = {2.0,2.25,2.5,2.75,3.0,3.5,4.0,5.0,7.0};
667b678a 35
348080d3 36const int kNVtxZ = 10;
37const double kBinVtxZ[kNVtxZ+1] = {-10.,-8.,-6.,-4.,-2.,0.,2.,4.,6.,8.,10.};
38
6fac7c0d 39const int kNCent = 6;
40const double kBinCent[kNCent+1] = {0.0,5.0,10.0,20.0,40.0,60.0,90.0};
348080d3 41
667b678a 42class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
43
44 public:
348080d3 45
46 enum V0LoopStep_t { kTriggerCheck=1, kReconstruction=2 };
667b678a 47
48 AliAnalysisTaskLambdaOverK0sJets(const char *name = "AliAnalysisTaskLambdaOverK0sJets");
348080d3 49 virtual ~AliAnalysisTaskLambdaOverK0sJets();
667b678a 50
51 // Setter for global variables in the event
b6f9da99 52 void SetCollisionType(TString data="PbPb2010") {fCollision=data;}
667b678a 53 void SetMC(Bool_t isMC=kTRUE) {fIsMC=isMC;}
54 void SetPID(Bool_t usePID=kTRUE) {fUsePID=usePID;}
b6a9eae2 55 void SetCentrality(Float_t min=0., Float_t max=90.) {fCentMin=min;fCentMax=max;}
6668159e 56 void SetQA(Bool_t doQA=kFALSE){fDoQA=doQA;}
348080d3 57 void SetDoMix(Bool_t doMixEvt=kTRUE) {fDoMixEvt=doMixEvt;}
b6a9eae2 58 void SetTriggerPt(Float_t ptMinTrig=8., Float_t ptMaxTrig=50.) {fTrigPtMin=ptMinTrig;fTrigPtMax=ptMaxTrig;}
59 void SetTriggerEta(Float_t etaMaxTrig=0.8){fTrigEtaMax=etaMaxTrig;}
6668159e 60 void SetCheckIDTrig(Bool_t checkIDTrig=kFALSE){fCheckIDTrig=checkIDTrig;}
667b678a 61 void SetSeparateInjectedPart(Bool_t doSep=kTRUE) {fSeparateInjPart=doSep;}
62
667b678a 63 // 1. Daughter cuts
b6a9eae2 64 void SetMinPtDaughter(Float_t minPtDaughter=0.160) {fMinPtDaughter=minPtDaughter;}
65 void SetMaxEtaDaughter(Float_t maxEta=0.8) {fMaxEtaDaughter=maxEta;}
66 void SetMaxDCADaughter(Float_t maxDCA=1.0) {fMaxDCADaughter=maxDCA;}
667b678a 67 // 2. V0 candidate
b6a9eae2 68 void SetMaxY(Float_t yMax=0.5) {fYMax=yMax;}
69 void SetDCAToPrimVtx(Float_t dcaToPrimVtx=0.1) {fDCAToPrimVtx=dcaToPrimVtx;}
70 void SetMinCPA(Float_t minCPA=0.998) {fMinCPA=minCPA;}
71 void SetNSigmaPID(Float_t nSigma=3) {fNSigma=nSigma;}
72 void SetCtau(Float_t minCtau = 0., Float_t maxCtau = 3.) {fMinCtau=minCtau;fMaxCtau=maxCtau;}
667b678a 73
74 // Getters
b6a9eae2 75 Float_t GetMinCentr() { return fCentMin; }
76 Float_t GetMaxCentr() { return fCentMax; }
667b678a 77
78 // Main functions
79 virtual void UserCreateOutputObjects();
348080d3 80 virtual Bool_t AcceptTrack(AliAODTrack *t);
667b678a 81 virtual Bool_t AcceptV0(AliAODVertex *vtx, const AliAODv0 *v0);
82 virtual void RecCascade(AliAODTrack *trk1,const AliAODTrack *trk2,const AliAODTrack *trkBch,TString histo);
348080d3 83 virtual void V0Loop(V0LoopStep_t step, Bool_t isTriggered, Int_t iArray, Int_t idTrig);
f25a6d07 84 virtual void TriggerParticle();
667b678a 85
86 virtual void UserExec(Option_t *option);
87 virtual void Terminate(Option_t *);
88
89 private:
90
91 AliAnalysisTaskLambdaOverK0sJets(const AliAnalysisTaskLambdaOverK0sJets&); //not implemented
92 AliAnalysisTaskLambdaOverK0sJets& operator=(const AliAnalysisTaskLambdaOverK0sJets&);//not implemented
93
94 AliAODEvent *fAOD;
b6f9da99 95 TString fCollision; // Data: PbPb2010 / PbPb2011
667b678a 96 Bool_t fIsMC; // Use MC data
97 Bool_t fUsePID; // Use PID for tracks
b6a9eae2 98 Float_t fCentMin; // Minimum centrality
99 Float_t fCentMax; // Maximum centrality
6668159e 100 Bool_t fDoQA; // Do Auality Assurance?
348080d3 101 Bool_t fDoMixEvt; // Do Mixed Events
b6a9eae2 102 Float_t fTrigPtMin; // Minimum pt for trigger particle
103 Float_t fTrigPtMax; // Maximum pt for trigger particle
104 Float_t fTrigEtaMax; // Maximum eta for trigger particle
59e0735e 105 Bool_t fCheckIDTrig; // Do comparison with V0's daughter tracks?
667b678a 106 Bool_t fSeparateInjPart; // Separate MC injected particles in case of correlation
107 Int_t fEndOfHijingEvent; // Limit natural-injected MC particles
f25a6d07 108 AliPIDResponse *fPIDResponse; // PID Response
667b678a 109
110
b6a9eae2 111 Float_t fMinPtDaughter; // Minimum transverse momentum for V0's daughters
112 Float_t fMaxEtaDaughter; // Maximum pseudo-rapidity for V0's daughters
113 Float_t fMaxDCADaughter; // Maximum Distance of Closest Approach between daughters (given in sigmas)
114 Float_t fYMax; // Maximum rapidity for V0
115 Float_t fDCAToPrimVtx; // Mimimum distance of closest approach of daughters to the vertex
116 Float_t fMinCPA; // Minimum Cosine of the Pointing Angle to the vertex for V0
117 Float_t fNSigma; // Number of sigmas for PID wi dE/dx
118 Float_t fMinCtau; // Minimum ctau
119 Float_t fMaxCtau; // Maximum ctau
667b678a 120
59e0735e 121 Int_t fIdTrigger; // ID track of the trigger particle
59e0735e 122 Int_t fIsV0LP; // Flag: V0 has the highest pt in the event
123 Float_t fPtV0LP; // Pt of the leading V0
124 Int_t fIsSndCheck; // Flag: trigger particle is the second leaidng particle
f25a6d07 125
126
59e0735e 127 TList* fOutput; //! List of histograms for main analysis
128 TList* fOutputQA; //! List of histograms for Quality Assurance
348080d3 129 TList* fOutputME; //! List of histograms for Mixed Events
130 TList** fMEList; //![] List of Mixed Events
131
b6f9da99 132 TObjArray* fTriggerParticles; // Trigger particle array
133 TObjArray* fTriggerPartMC; // MC Trigger particle array
134 TObjArray* fAssocParticles; // Associated particle array
135 TObjArray* fAssocPartMC; // MC Associated particle array
667b678a 136
137 TH1F* fEvents; //! Counter for the number of events in each step
667b678a 138 TH1F* fCentrality; //! Event centrality per centil
53e7de27 139 TH1F* fCentrality2; //! Event centrality per centil with |VtxZ|<10cm
667b678a 140 TH1F* fPrimaryVertexX; //! Primary vertex position in X
141 TH1F* fPrimaryVertexY; //! Primary vertex position in Y
142 TH1F* fPrimaryVertexZ; //! Primary vertex position in Z
667b678a 143 TH2F* fCentMult; //! Event centrality vs Track multiplicity
144 TH2F* fdEdx; //! dEdx
145 TH2F* fdEdxPid; //! dEdx with PID
146
b6f9da99 147 TH2F* fTriggerMCPtCent; //! Trigger particle MC: pt vs centrality
148 TH3F* fTriggerMCResPt; //! Trigger particle MC: pt resolution
149 TH3F* fTriggerMCResEta; //! Trigger particle MC: eta resolution
150 TH3F* fTriggerMCResPhi; //! Trigger particle MC: phi resolution
59e0735e 151 TH3F* fTriggerPtCent; //! Trigger particle: pt vs centrality vs Z vertex
b6f9da99 152 TH2F* fNTrigPerEvt; //! Trigger particle: Number of particle triggers per event
348080d3 153 TH1F* fTriggerWiSPDHit; //! Trigger particle: Has Hits in the SPD?
667b678a 154 TH2F* fTriggerEtaPhi; //! Trigger particle: eta vs phi
155 TH1F* fCheckTriggerFromV0Daug; //! Trigger particle: it is a daughter from a V0-candidate
156 TH1F* fTriggerComingFromDaug; //! Trigger particle: pt when LP is a daughter from a V0-candidate
157 TH1F* fTriggerIsV0; //! Trigger particle: the V0 is the highest-pt particle
59e0735e 158 TH3F* fCheckIDTrigPtK0s; //! Trigger particle: pt comparison between trigger track and K0s daughter track
159 TH3F* fCheckIDTrigPhiK0s; //! Trigger particle: phi comparison between trigger track and K0s daughter track
348080d3 160 TH3F* fCheckIDTrigEtaK0s; //! Trigger particle: eta comparison between trigger track and K0s daughter track
59e0735e 161 TH3F* fCheckIDTrigPtLambda; //! Trigger particle: pt comparison between trigger track and Lambda daughter track
162 TH3F* fCheckIDTrigPhiLambda; //! Trigger particle: phi comparison between trigger track and Lambda daughter track
348080d3 163 TH3F* fCheckIDTrigEtaLambda; //! Trigger particle: eta comparison between trigger track and Lambda daughter track
164 TH3F* fCheckIDTrigPtAntiLambda; //! Trigger particle: pt comparison between trigger track and Lambda daughter track
165 TH3F* fCheckIDTrigPhiAntiLambda; //! Trigger particle: phi comparison between trigger track and Lambda daughter track
166 TH3F* fCheckIDTrigEtaAntiLambda; //! Trigger particle: eta comparison between trigger track and Lambda daughter track
167
667b678a 168
169 TH1F* fInjectedParticles; //! Number of injected particles
170
171 TH1F* fK0sMCPt; //! K0s MC: pt
b6a9eae2 172 TH3F* fK0sMCPtRap; //! K0s MC: pt vs rapidity
b6f9da99 173 TH3F* fK0sMCPtRap2; //! K0s MC: pt vs rapidity
53e7de27 174 TH3F* fK0sMCPtRapEmbeded; //! K0s MC: pt vs rapidity (embeded particles)
b6f9da99 175 TH3F* fK0sMCPtPhiEta[kNCent]; //! K0s MC: pt vs pseudo-rapidity
667b678a 176 TH1F* fK0sAssocPt; //! K0s Assoc: pt
53e7de27 177 TH3F* fK0sAssocPtArm; //! K0s Assoc: pt vs rapidity vs centrality
31f87a49 178 TH3F* fK0sAssocPtMassArm; //! K0s Assoc: mass vs pt vs centrality
53e7de27 179 TH3F* fK0sAssocPtArmEmbeded; //! K0s Assoc: pt vs rapidity vs centrality (embeded particles)
b6a9eae2 180 TH3F* fK0sAssocPtRap; //! K0s Assoc: pt vs rapidity
53e7de27 181 TH3F* fK0sAssocPtRapEmbeded; //! K0s Assoc: pt vs rapidity (embeded particles)
b6f9da99 182 TH3F* fK0sAssocPtPhiEta[kNCent]; //! K0s Assoc: pt vs pseudo-rapidity
183 TH3F* fK0sMCResEta; //! K0s Assoc: eta resolution
59e0735e 184 TH3F* fK0sMCResPhi; //! K0s Assoc: phi resolution
667b678a 185
186 TH1F* fLambdaMCPt; //! Lambda MC: pt
b6a9eae2 187 TH3F* fLambdaMCPtRap; //! Lambda MC: pt vs rapidity
b6f9da99 188 TH3F* fLambdaMCPtRap2; //! Lambda MC: pt vs rapidity
53e7de27 189 TH3F* fLambdaMCPtRapEmbeded; //! Lambda MC: pt vs rapidity (embeded particles)
31f87a49 190 TH2F* fLambdaMCFromXi; //! Lambda MC: coming from Xi
b6f9da99 191 TH3F* fLambdaMCPtPhiEta[kNCent]; //! Lambda MC: pt vs pseudo-rapidity
667b678a 192 TH1F* fLambdaAssocPt; //! Lambda Assoc: pt
b6a9eae2 193 TH3F* fLambdaAssocPtRap; //! Lambda Assoc: pt vs rapidity
31f87a49 194 TH3F* fLambdaAssocPtMass; //! Lambda Assoc: mass vs pt vs rapidity
53e7de27 195 TH3F* fLambdaAssocPtRapEmbeded; //! Lambda Assoc: pt vs rapidity (embeded particles)
31f87a49 196 TH2F* fLambdaAssocFromXi; //! Lambda Assoc: coming from Xi
b6f9da99 197 TH3F* fLambdaAssocPtPhiEta[kNCent]; //! Lambda Assoc: pt vs pseudo-rapidity
198 TH3F* fLambdaMCResEta; //! Lambda Assoc: eta resolution
59e0735e 199 TH3F* fLambdaMCResPhi; //! Lambda Assoc: phi resolution
200
201 TH1F* fAntiLambdaMCPt; //! AntiLambda MC: pt
202 TH3F* fAntiLambdaMCPtRap; //! AntiLambda MC: pt vs rapidity
b6f9da99 203 TH3F* fAntiLambdaMCPtRap2; //! AntiLambda MC: pt vs rapidity
31f87a49 204 TH3F* fAntiLambdaMCPtRapEmbeded; //! AntiLambda MC: pt vs rapidity (embeded particles)
205 TH2F* fAntiLambdaMCFromXi; //! AntiLambda MC: coming from Xi
b6f9da99 206 TH3F* fAntiLambdaMCPtPhiEta[kNCent]; //! AntiLambda MC: pt vs pseudo-rapidity
59e0735e 207 TH1F* fAntiLambdaAssocPt; //! AntiLambda Assoc: pt
59e0735e 208 TH3F* fAntiLambdaAssocPtRap; //! AntiLambda Assoc: pt vs rapidity
31f87a49 209 TH3F* fAntiLambdaAssocPtMass; //! AntiLambda Assoc: mass vs pt vs rapidity
53e7de27 210 TH3F* fAntiLambdaAssocPtRapEmbeded; //! AntiLambda Assoc: pt vs rapidity (embeded particles)
31f87a49 211 TH2F* fAntiLambdaAssocFromXi; //! AntiLambda Assoc: coming from Xi
b6f9da99 212 TH3F* fAntiLambdaAssocPtPhiEta[kNCent]; //! AntiLambda Assoc: pt vs pseudo-rapidity
213 TH3F* fAntiLambdaMCResEta; //! AntiLambda Assoc: eta resolution
59e0735e 214 TH3F* fAntiLambdaMCResPhi; //! AntiLambda Assoc: phi resolution
215
216 /// ====== Histohgrmas for Correlations ====== ///
667b678a 217
218 TH3F* fHistArmenterosPodolanski; //! Armenteros-Podolanski plot inside 3 sigma of the signal
219 TH3F* fHistArmPodBckg; //! Armenteros-Podolanski plot outside 3 sigma of the signal
220
221 TH3F* fK0sMass; //! Mass for K0s
667b678a 222 TH3F* fK0sPtvsEta; //! K0s: pt vs eta
223 TH3F* fK0sPtvsRap; //! K0s: pt vs rap
224 TH2F* fK0sEtaPhi; //! K0s: eta vs phi
225 TH3F* fK0sMassPtPhi; //! K0s: mass vs phi
226
667b678a 227 TH3F* fK0sSiPtL; //! K0s: mass, vs leading particle
228 TH2F* fK0sDaughtersPt; //! K0s: pt of daughters
667b678a 229 TH3F* fK0sDCADaugToPrimVtx; //! K0s: DCA to primary vertex of daughters vs leading particle's pt inside a radio wrt the near-side peak
348080d3 230 TH3F* fK0sSpatialRes; //! K0s: Spatial resolution
667b678a 231
b6f9da99 232 TH3F* fK0sdPhidEtaMC[kNCent*kN1]; //! K0s MC: Delta phi,Delta eta vs Z vertex position
233 TH3F* fK0sdPhidEtaPtL[kNCent*kN1]; //! K0s: Delta phi,Delta eta vs Z vertex position
234 TH3F* fK0sdPhidEtaPtLBckg[kNCent*kN1]; //! K0s background: Delta phi,Delta eta vs Z vertex position
348080d3 235
667b678a 236 TH2F* fK0sBckgDecLength; //! K0s background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
237 TH3F* fK0sBckgDCADaugToPrimVtx; //! K0s background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
238 TH2F* fK0sdEdxPosDaug; //! K0s background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak
239 TH2F* fK0sdEdxNegDaug; //! K0s background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak
240 TH2F* fK0sBckgEtaPhi; //! K0s background: Phi vs Eta inside a radio wrt the near-side peak
241 TH2F* fK0sBckgPhiRadio; //! K0s background: Phi vs radio inside a radio wrt the near-side peak
242 TH2F* fK0sBckgDCANegDaugToPrimVtx; //! K0s background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
243 TH2F* fK0sBckgDCAPosDaugToPrimVtx; //! K0s background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
348080d3 244 TH2F* fV0MassCascade; //! V0s candiates: Possible mismatching of tracks due to cascades decays
667b678a 245
246 TH3F* fLambdaMass; //! Mass for Lambda
667b678a 247 TH3F* fLambdaPtvsEta; //! Lambda: pt vs eta
248 TH3F* fLambdaPtvsRap; //! Lambda: pt vs rap
249 TH2F* fLambdaEtaPhi; //! Lambda: eta vs phi
250 TH3F* fLambdaMassPtPhi; //! Lambda: mass vs phi
251
667b678a 252 TH3F* fLambdaSiPtL; //! Lambda: mass, vs leading particle
253 TH2F* fLambdaDaughtersPt; //! Lambda: pt of daughters
667b678a 254 TH3F* fLambdaDCADaugToPrimVtx; //! Lambda: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
348080d3 255 TH3F* fLambdaSpatialRes; //! Lambda: Spatial resolution
667b678a 256
b6f9da99 257 TH3F* fLambdadPhidEtaMC[kNCent*kN1]; //! Lambda MC: Delta phi,Delta eta vs Z vertex position
258 TH3F* fLambdadPhidEtaPtL[kNCent*kN1]; //! Lambda: Delta phi,Delta eta vs Z vertex position
259 TH3F* fLambdadPhidEtaPtLBckg[kNCent*kN1]; //! Lambda background: Delta phi,Delta eta vs Z vertex position
348080d3 260
667b678a 261
262 TH2F* fLambdaBckgDecLength; //! Lambda background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
263 TH3F* fLambdaBckgDCADaugToPrimVtx; //! Lambda background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
264 TH2F* fLambdadEdxPosDaug; //! Lambda background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak
265 TH2F* fLambdadEdxNegDaug; //! Lambda background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak
266 TH2F* fLambdaBckgEtaPhi; //! Lambda background: Phi vs Eta inside a radio wrt the near-side peak
267 TH2F* fLambdaBckgPhiRadio ; //! Lambda background: Phi vs radio inside a radio wrt the near-side peak
268 TH2F* fLambdaBckgDCANegDaugToPrimVtx; //! Lambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
269 TH2F* fLambdaBckgDCAPosDaugToPrimVtx; //! Lambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
59e0735e 270
271 TH3F* fAntiLambdaMass; //! Mass for AntiLambda
59e0735e 272 TH3F* fAntiLambdaPtvsEta; //! AntiLambda: pt vs eta
273 TH3F* fAntiLambdaPtvsRap; //! AntiLambda: pt vs rap
274 TH2F* fAntiLambdaEtaPhi; //! AntiLambda: eta vs phi
275 TH3F* fAntiLambdaMassPtPhi; //! Lambda: mass vs phi
276
59e0735e 277 TH3F* fAntiLambdaSiPtL; //! AntiLambda: mass, vs leading particle
278 TH2F* fAntiLambdaDaughtersPt; //! AntiLambda: pt of daughters
59e0735e 279 TH3F* fAntiLambdaDCADaugToPrimVtx; //! AntiLambda: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
348080d3 280 TH3F* fAntiLambdaSpatialRes; //! AntiLambda: Spatial resolution
59e0735e 281
b6f9da99 282 TH3F* fAntiLambdadPhidEtaMC[kNCent*kN1]; //! AntiLambda MC: Delta phi,Delta eta vs Z vertex position
348080d3 283 TH3F* fAntiLambdadPhidEtaPtL[kNCent*kN1]; //! AntiLambda: Delta phi,Delta eta vs pt of the leading particle
b6f9da99 284 TH3F* fAntiLambdadPhidEtaPtLBckg[kNCent*kN1]; //! AntiLambda background: Delta phi,Delta eta vs Z vertex position
59e0735e 285
286 TH2F* fAntiLambdaBckgDecLength; //! AntiLambda background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
287 TH3F* fAntiLambdaBckgDCADaugToPrimVtx; //! AntiLambda background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
288 TH2F* fAntiLambdadEdxPosDaug; //! AntiLambda background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak
289 TH2F* fAntiLambdadEdxNegDaug; //! AntiLambda background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak
290 TH2F* fAntiLambdaBckgEtaPhi; //! AntiLambda background: Phi vs Eta inside a radio wrt the near-side peak
291 TH2F* fAntiLambdaBckgPhiRadio ; //! AntiLambda background: Phi vs radio inside a radio wrt the near-side peak
292 TH2F* fAntiLambdaBckgDCANegDaugToPrimVtx; //! AntiLambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
293 TH2F* fAntiLambdaBckgDCAPosDaugToPrimVtx; //! AntiLambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
59e0735e 294
b6f9da99 295 TH3F* fGammaConversiondPhidEta[kNCent]; //! Gamma conversion: Delta phi,Delta eta vs Z vertex position
348080d3 296
59e0735e 297
298 /// ==== Quality Assurance plots === ///
299
300 // K0s //
301
302 TH3F* fK0sPIDPosDaug; //! K0s: Pos. track PID
303 TH3F* fK0sPIDNegDaug; //! K0s: Neg. track PID
304 TH3F* fK0sBckgPIDPosDaug; //! K0s Bckg: Pos. track PID
305 TH3F* fK0sBckgPIDNegDaug; //! K0s Bckg: Neg. track PID
306
307 TH3F* fK0sPhiEtaPosDaug; //! K0s: Pos. track phi vs eta
308 TH3F* fK0sPhiEtaNegDaug; //! K0s: Neg. track phi vs eta
309 TH3F* fK0sBckgPhiEtaPosDaug; //! K0s Bckg: Pos. track phi vs eta
310 TH3F* fK0sBckgPhiEtaNegDaug; //! K0s Bckg: Neg. track phi vs eta
311
312 TH2F* fK0sDCAPosDaug; //! K0s: Pos. track DCA to primary vertex
313 TH2F* fK0sDCANegDaug; //! K0s: Neg. track DCA to primary vertex
314 TH2F* fK0sBckgDCAPosDaug; //! K0s Bckg: Pos. track DCA to primary vertex
315 TH2F* fK0sBckgDCANegDaug; //! K0s Bckg: Neg. track DCA to primary vertex
316
317 TH2F* fK0sDifPtPosDaug; //! K0s: Pos. track diference berween pt of the daughter and the V0
318 TH2F* fK0sDifPtNegDaug; //! K0s: Neg. track diference berween pt of the daughter and the V0
319 TH2F* fK0sBckgDifPtPosDaug; //! K0s Bckg: Pos. track diference berween pt of the daughter and the V0
320 TH2F* fK0sBckgDifPtNegDaug; //! K0s Bckg: Neg. track diference berween pt of the daughter and the V0
321
322 TH3F* fK0sDecayPos; //! K0s: 2D decay position
323 TH3F* fK0sBckgDecayPos; //! K0s Bckg: 2D decay position
324 TH2F* fK0sDecayVertex; //! K0s: decay lenght
325 TH2F* fK0sBckgDecayVertex; //! K0s Bckg: decay lenght
326 TH2F* fK0sDecayVertexZoom; //! K0s: decay lenght Zoom
327 TH2F* fK0sBckgDecayVertexZoom; //! K0s Bckg: decay lenght Zoom
328
329 TH2F* fK0sCPA; //! K0s: cosine of the pointing angle
330 TH2F* fK0sBckgCPA; //! K0s Bckg: cosine of the pointing angle
331 TH2F* fK0sDCAV0Daug; //! K0s: distance of the closest approach to the primary vertex
332 TH2F* fK0sBckgDCAV0Daug; //! K0s Bckg: distance of the closest approach to the primary vertex
333
334 TH3F* fK0sNClustersTPC; //! K0s: Numbers of TPC clusters of the daughter tracks
335 TH3F* fK0sBckgNClustersTPC; //! K0s Bckg: Numbers of TPC clusters of the daughter tracks
336 TH3F* fK0sNClustersITSPos; //! K0s: Pos. Daug. Numbers of ITS clusters of the daughter tracks
337 TH3F* fK0sNClustersITSNeg; //! K0s: Neg. Daug. Numbers of ITS clusters of the daughter tracks
338 TH3F* fK0sBckgNClustersITSPos; //! K0s Bckg: Pos. Daug. Numbers of ITS clusters of the daughter tracks
339 TH3F* fK0sBckgNClustersITSNeg; //! K0s Bckg: Neg. Daug. Numbers of ITS clusters of the daughter tracks
340
341 // Lambda //
342
343 TH3F* fLambdaPIDPosDaug; //! Lambda: Pos. track PID
344 TH3F* fLambdaPIDNegDaug; //! Lambda: Neg. track PID
345 TH3F* fLambdaBckgPIDPosDaug; //! Lambda Bckg: Pos. track PID
346 TH3F* fLambdaBckgPIDNegDaug; //! Lambda Bckg: Neg. track PID
347
348 TH3F* fLambdaPhiEtaPosDaug; //! Lambda: Pos. track phi vs eta
349 TH3F* fLambdaPhiEtaNegDaug; //! Lambda: Neg. track phi vs eta
350 TH3F* fLambdaBckgPhiEtaPosDaug; //! Lambda Bckg: Pos. track phi vs eta
351 TH3F* fLambdaBckgPhiEtaNegDaug; //! Lambda Bckg: Neg. track phi vs eta
352
353 TH2F* fLambdaDCAPosDaug; //! Lambda: Pos. track DCA to primary vertex
354 TH2F* fLambdaDCANegDaug; //! Lambda: Neg. track DCA to primary vertex
355 TH2F* fLambdaBckgDCAPosDaug; //! Lambda Bckg: Pos. track DCA to primary vertex
356 TH2F* fLambdaBckgDCANegDaug; //! Lambda Bckg: Neg. track DCA to primary vertex
357
358 TH2F* fLambdaDifPtPosDaug; //! Lambda: Pos. track diference berween pt of the daughter and the V0
359 TH2F* fLambdaDifPtNegDaug; //! Lambda: Neg. track diference berween pt of the daughter and the V0
360 TH2F* fLambdaBckgDifPtPosDaug; //! Lambda Bckg: Pos. track diference berween pt of the daughter and the V0
361 TH2F* fLambdaBckgDifPtNegDaug; //! Lambda Bckg: Neg. track diference berween pt of the daughter and the V0
362
363 TH3F* fLambdaDecayPos; //! Lambda: 2D decay position
364 TH3F* fLambdaBckgDecayPos; //! Lambda Bckg: 2D decay position
365 TH2F* fLambdaDecayVertex; //! Lambda: decay lenght
366 TH2F* fLambdaBckgDecayVertex; //! Lambda Bckg: decay lenght
367 TH2F* fLambdaDecayVertexZoom; //! Lambda: decay lenght Zoom
368 TH2F* fLambdaBckgDecayVertexZoom; //! Lambda Bckg: decay lenght Zoom
369
370 TH2F* fLambdaCPA; //! Lambda: cosine of the pointing angle
371 TH2F* fLambdaBckgCPA; //! Lambda Bckg: cosine of the pointing angle
372 TH2F* fLambdaDCAV0Daug; //! Lambda: distance of the closest approach to the primary vertex
373 TH2F* fLambdaBckgDCAV0Daug; //! Lambda Bckg: distance of the closest approach to the primary vertex
374
375 TH3F* fLambdaNClustersTPC; //! Lambda: Numbers of TPC clusters of the daughter tracks
376 TH3F* fLambdaBckgNClustersTPC; //! Lambda Bckg: Numbers of TPC clusters of the daughter tracks
377 TH3F* fLambdaNClustersITSPos; //! Lambda: Pos. Daug. Numbers of ITS clusters of the daughter tracks
378 TH3F* fLambdaNClustersITSNeg; //! Lambda: Neg. Daug. Numbers of ITS clusters of the daughter tracks
379 TH3F* fLambdaBckgNClustersITSPos; //! Lambda Bckg: Pos. Daug. Numbers of ITS clusters of the daughter tracks
380 TH3F* fLambdaBckgNClustersITSNeg; //! Lambda Bckg: Neg. Daug. Numbers of ITS clusters of the daughter tracks
381
382 // AntiLambda //
383
384 TH3F* fAntiLambdaPIDPosDaug; //! AntiLambda: Pos. track PID
385 TH3F* fAntiLambdaPIDNegDaug; //! AntiLambda: Neg. track PID
386 TH3F* fAntiLambdaBckgPIDPosDaug; //! AntiLambda Bckg: Pos. track PID
387 TH3F* fAntiLambdaBckgPIDNegDaug; //! AntiLambda Bckg: Neg. track PID
388
389 TH3F* fAntiLambdaPhiEtaPosDaug; //! AntiLambda: Pos. track phi vs eta
390 TH3F* fAntiLambdaPhiEtaNegDaug; //! AntiLambda: Neg. track phi vs eta
391 TH3F* fAntiLambdaBckgPhiEtaPosDaug; //! AntiLambda Bckg: Pos. track phi vs eta
392 TH3F* fAntiLambdaBckgPhiEtaNegDaug; //! AntiLambda Bckg: Neg. track phi vs eta
393
394 TH2F* fAntiLambdaDCAPosDaug; //! AntiLambda: Pos. track DCA to primary vertex
395 TH2F* fAntiLambdaDCANegDaug; //! AntiLambda: Neg. track DCA to primary vertex
396 TH2F* fAntiLambdaBckgDCAPosDaug; //! AntiLambda Bckg: Pos. track DCA to primary vertex
397 TH2F* fAntiLambdaBckgDCANegDaug; //! AntiLambda Bckg: Neg. track DCA to primary vertex
398
399 TH2F* fAntiLambdaDifPtPosDaug; //! AntiLambda: Pos. track diference berween pt of the daughter and the V0
400 TH2F* fAntiLambdaDifPtNegDaug; //! AntiLambda: Neg. track diference berween pt of the daughter and the V0
401 TH2F* fAntiLambdaBckgDifPtPosDaug; //! AntiLambda Bckg: Pos. track diference berween pt of the daughter and the V0
402 TH2F* fAntiLambdaBckgDifPtNegDaug; //! AntiLambda Bckg: Neg. track diference berween pt of the daughter and the V0
403
404 TH3F* fAntiLambdaDecayPos; //! AntiLambda: 2D decay position
405 TH3F* fAntiLambdaBckgDecayPos; //! AntiLambda Bckg: 2D decay position
406 TH2F* fAntiLambdaDecayVertex; //! AntiLambda: decay lenght
407 TH2F* fAntiLambdaBckgDecayVertex; //! AntiLambda Bckg: decay lenght
408 TH2F* fAntiLambdaDecayVertexZoom; //! AntiLambda: decay lenght Zoom
409 TH2F* fAntiLambdaBckgDecayVertexZoom; //! AntiLambda Bckg: decay lenght Zoom
410
411 TH2F* fAntiLambdaCPA; //! AntiLambda: cosine of the pointing angle
412 TH2F* fAntiLambdaBckgCPA; //! AntiLambda Bckg: cosine of the pointing angle
413 TH2F* fAntiLambdaDCAV0Daug; //! AntiLambda: distance of the closest approach to the primary vertex
414 TH2F* fAntiLambdaBckgDCAV0Daug; //! AntiLambda Bckg: distance of the closest approach to the primary vertex
415
416 TH3F* fAntiLambdaNClustersTPC; //! AntiLambda: Numbers of TPC clusters of the daughter tracks
417 TH3F* fAntiLambdaBckgNClustersTPC; //! AntiLambda Bckg: Numbers of TPC clusters of the daughter tracks
418 TH3F* fAntiLambdaNClustersITSPos; //! AntiLambda: Pos. Daug. Numbers of ITS clusters of the daughter tracks
419 TH3F* fAntiLambdaNClustersITSNeg; //! AntiLambda: Neg. Daug. Numbers of ITS clusters of the daughter tracks
420 TH3F* fAntiLambdaBckgNClustersITSPos; //! AntiLambda Bckg: Pos. Daug. Numbers of ITS clusters of the daughter tracks
421 TH3F* fAntiLambdaBckgNClustersITSNeg; //! AntiLambda Bckg: Neg. Daug. Numbers of ITS clusters of the daughter tracks
422
6668159e 423
348080d3 424 /// ==== Mixed Events plots === ///
425 TH2F* fK0sdPhidEtaME[kNVtxZ*kNCent*kN1+1]; //! K0s Mixed Events
426 TH2F* fLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1]; //! Lambda Mixed Events
427 TH2F* fAntiLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1]; //! AntiLambda Mixed Events
428
667b678a 429 ClassDef(AliAnalysisTaskLambdaOverK0sJets,1);
430
431};
432
348080d3 433
434/*
435 Based on AliV0ChBasicParticle class of AliAnalysisTaskV0ChCorrelations.
436 Keeps basic information to reduce memory consumption for event mixing.
437*/
438class AliMiniParticle : public AliVParticle
439{
440 public:
b6f9da99 441 AliMiniParticle(Float_t centrality, Float_t vtxZ, Int_t id,Double_t pt, Double_t phi,
442 Double_t eta, Int_t negDaugMC, Int_t posDaugMC, Short_t candidate)
348080d3 443 :fCentrality(centrality), fVtxZ(vtxZ), fId(id), fPt(pt),
b6f9da99 444 fPhi(phi), fEta(eta), fNegDaugMC(negDaugMC), fPosDaugMC(posDaugMC), fCandidate(candidate)
348080d3 445 {
446 }
447
448 virtual ~AliMiniParticle() {}
449
450 // event
451 virtual Float_t Centrality() const { return fCentrality; }
452 virtual Float_t VtxZ() const { return fVtxZ; }
453
454 virtual Int_t ID() const { return fId; }
455 // kinematics
456 virtual Double_t Px() const { AliFatal("Not implemented"); return 0; }
457 virtual Double_t Py() const { AliFatal("Not implemented"); return 0; }
458 virtual Double_t Pz() const { AliFatal("Not implemented"); return 0; }
459
460 virtual Double_t Pt() const { return fPt; }
461 virtual Double_t P() const { AliFatal("Not implemented"); return 0; }
462 virtual Bool_t PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
463
464 virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; }
465 virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; }
466 virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; }
467 virtual Bool_t XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
468
469 virtual Double_t OneOverPt() const { AliFatal("Not implemented"); return 0; }
470
471 virtual Double_t Phi() const { return fPhi; }
472 virtual Double_t Theta() const { AliFatal("Not implemented"); return 0; }
473 virtual Double_t E() const { AliFatal("Not implemented"); return 0; }
474 virtual Double_t M() const { AliFatal("Not implemented"); return 0; }
475
476 virtual Double_t Eta() const { return fEta; }
477 virtual Double_t Y() const { AliFatal("Not implemented"); return 0; }
478
479 virtual Short_t Charge() const { AliFatal("Not implemented"); return 0; }
480 virtual Int_t GetLabel() const { AliFatal("Not implemented"); return 0; }
481 // PID
482 virtual Int_t PdgCode() const { AliFatal("Not implemented"); return 0; }
483 virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }
b6f9da99 484 virtual Int_t NegDaugMCLabel() const { return fNegDaugMC; }
485 virtual Int_t PosDaugMCLabel() const { return fPosDaugMC; }
348080d3 486 virtual Short_t WhichCandidate() const { return fCandidate; }
487
488 private:
489 Float_t fCentrality; // centrality of the event
490 Float_t fVtxZ; // vertex postition in the event
491 Int_t fId; // ID related either to AliAODtrack or AliAODv0
492 Float_t fPt; // pt
493 Float_t fPhi; // phi
494 Float_t fEta; // eta
b6f9da99 495 Int_t fNegDaugMC; // MC origin of negative daughter
496 Int_t fPosDaugMC; // MC origin of positive daughter
348080d3 497 Short_t fCandidate; // Candidate: 0-Not trigger, 1-Trigger, 2-Gamma Conversion, 3-K0s candidates, 4-Lambda candidates, 5-AntiLambda candidates
498
499 ClassDef( AliMiniParticle, 1); // class required for event mixing
500};
501
667b678a 502#endif