2 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * See cxx source for full Copyright notice */
6 AliAnalysisTaskLambdaOverK0sJets class
8 This program obtains the production of K0s and Lambdas and calculates
9 the correlation (in the variables phi and eta) with respect to a
10 high-pt charged particle.
11 It works with MC info and AOD tree.
12 WARNING: The Mixed Event part is under construction.
13 Origin: X. Sanchez Castro August2012, xsanchez@cern.ch
17 #ifndef ALIANALYSISTASKLAMBDAOVERK0SJETS_H
18 #define ALIANALYSISTASKLAMBDAOVERK0SJETS_H
20 #include "AliAnalysisTaskSE.h"
35 const double kPtBinV0[kN1+1] = {2.,2.5,3.,4.,5.};
37 class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
41 enum V0LoopStep_t { kTriggerCheck=1, kCorrelation=2, kMixedEvent=3 };
43 AliAnalysisTaskLambdaOverK0sJets(const char *name = "AliAnalysisTaskLambdaOverK0sJets");
44 virtual ~AliAnalysisTaskLambdaOverK0sJets() {}
46 // Setter for global variables in the event
47 void SetMC(Bool_t isMC=kTRUE) {fIsMC=isMC;}
48 void SetPID(Bool_t usePID=kTRUE) {fUsePID=usePID;}
49 void SetCentrality(Float_t min=0., Float_t max=90.) {fCentMin=min;fCentMax=max;}
50 void SetQA(Bool_t doQA=kFALSE){fDoQA=doQA;}
51 void SetTriggerPt(Float_t ptMinTrig=8., Float_t ptMaxTrig=50.) {fTrigPtMin=ptMinTrig;fTrigPtMax=ptMaxTrig;}
52 void SetTriggerEta(Float_t etaMaxTrig=0.8){fTrigEtaMax=etaMaxTrig;}
53 void SetCheckIDTrig(Bool_t checkIDTrig=kFALSE){fCheckIDTrig=checkIDTrig;}
54 void SetSeparateInjectedPart(Bool_t doSep=kTRUE) {fSeparateInjPart=doSep;}
56 // Setters for V0 candidate selection
58 void SetV0Cuts(Float_t *cutsV0){
60 fMinPtDaughter=cutsV0[0];
61 fMaxEtaDaughter=cutsV0[1];
62 fMaxDCADaughter=cutsV0[2];
65 fDCAToPrimVtx=cutsV0[4];
73 void SetMinPtDaughter(Float_t minPtDaughter=0.160) {fMinPtDaughter=minPtDaughter;}
74 void SetMaxEtaDaughter(Float_t maxEta=0.8) {fMaxEtaDaughter=maxEta;}
75 void SetMaxDCADaughter(Float_t maxDCA=1.0) {fMaxDCADaughter=maxDCA;}
77 void SetMaxY(Float_t yMax=0.5) {fYMax=yMax;}
78 void SetDCAToPrimVtx(Float_t dcaToPrimVtx=0.1) {fDCAToPrimVtx=dcaToPrimVtx;}
79 void SetMinCPA(Float_t minCPA=0.998) {fMinCPA=minCPA;}
80 void SetNSigmaPID(Float_t nSigma=3) {fNSigma=nSigma;}
81 void SetCtau(Float_t minCtau = 0., Float_t maxCtau = 3.) {fMinCtau=minCtau;fMaxCtau=maxCtau;}
84 Float_t GetMinCentr() { return fCentMin; }
85 Float_t GetMaxCentr() { return fCentMax; }
88 virtual void UserCreateOutputObjects();
89 virtual Bool_t AcceptV0(AliAODVertex *vtx, const AliAODv0 *v0);
90 virtual void RecCascade(AliAODTrack *trk1,const AliAODTrack *trk2,const AliAODTrack *trkBch,TString histo);
91 virtual TArrayD* V0Loop(AliAODTrack *trkLP, V0LoopStep_t step, Bool_t isTriggered);
92 virtual TArrayD* TriggerParticle();
94 virtual void UserExec(Option_t *option);
95 virtual void Terminate(Option_t *);
99 AliAnalysisTaskLambdaOverK0sJets(const AliAnalysisTaskLambdaOverK0sJets&); //not implemented
100 AliAnalysisTaskLambdaOverK0sJets& operator=(const AliAnalysisTaskLambdaOverK0sJets&);//not implemented
103 Bool_t fIsMC; // Use MC data
104 Bool_t fUsePID; // Use PID for tracks
105 Float_t fCentMin; // Minimum centrality
106 Float_t fCentMax; // Maximum centrality
107 Bool_t fDoQA; // Do Auality Assurance?
108 Float_t fTrigPtMin; // Minimum pt for trigger particle
109 Float_t fTrigPtMax; // Maximum pt for trigger particle
110 Float_t fTrigEtaMax; // Maximum eta for trigger particle
112 Bool_t fSeparateInjPart; // Separate MC injected particles in case of correlation
113 Int_t fEndOfHijingEvent; // Limit natural-injected MC particles
114 AliPIDResponse *fPIDResponse; // PID Response
117 Float_t fMinPtDaughter; // Minimum transverse momentum for V0's daughters
118 Float_t fMaxEtaDaughter; // Maximum pseudo-rapidity for V0's daughters
119 Float_t fMaxDCADaughter; // Maximum Distance of Closest Approach between daughters (given in sigmas)
120 Float_t fYMax; // Maximum rapidity for V0
121 Float_t fDCAToPrimVtx; // Mimimum distance of closest approach of daughters to the vertex
122 Float_t fMinCPA; // Minimum Cosine of the Pointing Angle to the vertex for V0
123 Float_t fNSigma; // Number of sigmas for PID wi dE/dx
124 Float_t fMinCtau; // Minimum ctau
125 Float_t fMaxCtau; // Maximum ctau
127 TList* fOutput; //! List of histograms
128 TList* fOutputQA; //! List of histograms
130 TH1F* fEvents; //! Counter for the number of events in each step
132 TH1F* fCentrality; //! Event centrality per centil
133 TH1F* fPrimaryVertexX; //! Primary vertex position in X
134 TH1F* fPrimaryVertexY; //! Primary vertex position in Y
135 TH1F* fPrimaryVertexZ; //! Primary vertex position in Z
136 TH2F* fNumberPileUp; //! Number of pile up: SPD vs Tracks
137 TH2F* fCentMult; //! Event centrality vs Track multiplicity
138 TH2F* fdEdx; //! dEdx
139 TH2F* fdEdxPid; //! dEdx with PID
141 TH3F* fTriggerMCPtCent; //! Trigger particle MC: pt vs centrality
142 TH2F* fTriggerPtCent; //! Trigger particle: pt vs centrality
143 TH2F* fTriggerEtaPhi; //! Trigger particle: eta vs phi
144 TH1F* fCheckTriggerFromV0Daug; //! Trigger particle: it is a daughter from a V0-candidate
145 TH1F* fTriggerComingFromDaug; //! Trigger particle: pt when LP is a daughter from a V0-candidate
146 TH1F* fTriggerIsV0; //! Trigger particle: the V0 is the highest-pt particle
147 TH3F* fCheckIDTrigPtK0s;
148 TH3F* fCheckIDTrigPhiK0s;
149 TH3F* fCheckIDTrigPtLambda;
150 TH3F* fCheckIDTrigPhiLambda;
152 TH1F* fInjectedParticles; //! Number of injected particles
154 TH1F* fK0sMCPt; //! K0s MC: pt
155 TH3F* fK0sMCPtRap; //! K0s MC: pt vs rapidity
156 TH3F* fK0sMCPtPhiEta; //! K0s MC: pt vs pseudo-rapidity
157 TH1F* fK0sAssocPt; //! K0s Assoc: pt
158 TH3F* fK0sAssocPtArm; //! K0s Assoc: pt vs decay lenght vs centrality
159 TH3F* fK0sAssocPtRap; //! K0s Assoc: pt vs rapidity
160 TH3F* fK0sAssocPtPhiEta; //! K0s Assoc: pt vs pseudo-rapidity
163 TH1F* fLambdaMCPt; //! Lambda MC: pt
164 TH3F* fLambdaMCPtRap; //! Lambda MC: pt vs rapidity
165 TH3F* fLambdaMCPtPhiEta; //! Lambda MC: pt vs pseudo-rapidity
166 TH1F* fLambdaAssocPt; //! Lambda Assoc: pt
167 TH3F* fLambdaAssocPtArm; //! Lambda Assoc: pt vs decay lenght vs centrality
168 TH3F* fLambdaAssocPtRap; //! Lambda Assoc: pt vs rapidity
169 TH3F* fLambdaAssocPtPhiEta; //! Lambda Assoc: pt vs pseudo-rapidity
170 TH3F* fLambdaMCResPhi;
172 TH3F* fHistArmenterosPodolanski; //! Armenteros-Podolanski plot inside 3 sigma of the signal
173 TH3F* fHistArmPodBckg; //! Armenteros-Podolanski plot outside 3 sigma of the signal
175 TH3F* fK0sMass; //! Mass for K0s
176 TH2F* fK0sPtLtSB; //! K0s: Side-band subtracted lt vs pt
177 TH3F* fK0sPtvsEta; //! K0s: pt vs eta
178 TH3F* fK0sPtvsRap; //! K0s: pt vs rap
179 TH2F* fK0sEtaPhi; //! K0s: eta vs phi
180 TH3F* fK0sMassPtPhi; //! K0s: mass vs phi
182 TH3F* fK0sMassPtvsPtL; //! K0s: mass, pt vs pt of leading particle
183 TH3F* fK0sSiPtL; //! K0s: mass, vs leading particle
184 TH2F* fK0sDaughtersPt; //! K0s: pt of daughters
185 TH3F* fK0sdPhiPtAssocPtL; //! K0s: Delta phi,pt vs pt of the leading particle
186 TH3F* fK0sDCADaugToPrimVtx; //! K0s: DCA to primary vertex of daughters vs leading particle's pt inside a radio wrt the near-side peak
188 TH3F* fK0sdPhidEtaMC[kN1]; //! K0s MC: Delta phi,Delta eta vs pt of the leading particle
189 TH3F* fK0sdPhidEtaMCCent[kN1]; //! K0s MC in central events: Delta phi,Delta eta vs pt of the leading particle
191 TH3F* fK0sdPhidEtaPtL[kN1]; //! K0s: Delta phi,Delta eta vs pt of the leading particle
192 TH3F* fK0sdPhidEtaPtLCent[kN1]; //! K0s in central events: Delta phi,Delta eta vs pt of the leading particle
193 TH3F* fK0sdPhidEtaPtLBckg[kN1]; //! K0s background: Delta phi,Delta eta vs pt of the leading particle
194 TH3F* fK0sdPhidEtaPtLCentBckg[kN1]; //! K0s background in central events: Delta phi,Delta eta vs pt of the leading particle
196 TH3F* fK0sdPhidEtaPtL2[kN1]; //! K0s: Delta phi,Delta eta vs pt of the leading particle
197 TH3F* fK0sdPhidEtaPtLCent2[kN1]; //! K0s in central events: Delta phi,Delta eta vs pt of the leading particle
198 TH3F* fK0sdPhidEtaPtLBckg2[kN1]; //! K0s background: Delta phi,Delta eta vs pt of the leading particle
199 TH3F* fK0sdPhidEtaPtLCentBckg2[kN1]; //! K0s background in central events: Delta phi,Delta eta vs pt of the leading particle
201 TH2F* fK0sBckgDecLength; //! K0s background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
202 TH3F* fK0sBckgDCADaugToPrimVtx; //! K0s background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
203 TH2F* fK0sdEdxPosDaug; //! K0s background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak
204 TH2F* fK0sdEdxNegDaug; //! K0s background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak
205 TH2F* fK0sBckgEtaPhi; //! K0s background: Phi vs Eta inside a radio wrt the near-side peak
206 TH2F* fK0sBckgPhiRadio; //! K0s background: Phi vs radio inside a radio wrt the near-side peak
207 TH2F* fK0sBckgDCANegDaugToPrimVtx; //! K0s background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
208 TH2F* fK0sBckgDCAPosDaugToPrimVtx; //! K0s background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
209 TH2F* fK0sMassCascade; //! K0s background: Poddible mismatching of tracks due to cascades decays
211 TH3F* fLambdaMass; //! Mass for Lambda
212 TH2F* fLambdaPtLtSB; //! Lambda: l vs p with side-band subtraction
213 TH3F* fLambdaPtvsEta; //! Lambda: pt vs eta
214 TH3F* fLambdaPtvsRap; //! Lambda: pt vs rap
215 TH2F* fLambdaEtaPhi; //! Lambda: eta vs phi
216 TH3F* fLambdaMassPtPhi; //! Lambda: mass vs phi
218 TH2F* fLambdadEdx; //! Lambda: dE/dx for proton
219 TH1F* fCPA; //! Lambda: Cosine of the pointing angle
220 TH1F* fDCA; //! Lambda: DCA between daughters
222 TH3F* fLambdaMassPtvsPtL; //! Lambda: mass, pt vs pt of leading particle
223 TH3F* fLambdaSiPtL; //! Lambda: mass, vs leading particle
224 TH2F* fLambdaDaughtersPt; //! Lambda: pt of daughters
225 TH3F* fLambdadPhiPtAssocPtL; //! Lambda: Delta phi,pt vs pt of the leading particle
226 TH3F* fLambdaDCADaugToPrimVtx; //! Lambda: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
228 TH3F* fLambdadPhidEtaMC[kN1]; //! Lambda MC: Delta phi,Delta eta vs pt of the leading particle
229 TH3F* fLambdadPhidEtaMCCent[kN1]; //! Lambda MC in central events: Delta phi,Delta eta vs pt of the leading particle
231 TH3F* fLambdadPhidEtaPtL[kN1]; //! Lambda: Delta phi,Delta eta vs pt of the leading particle
232 TH3F* fLambdadPhidEtaPtLCent[kN1]; //! Lambda in central events: Delta phi,Delta eta vs pt of the leading particle
233 TH3F* fLambdadPhidEtaPtLBckg[kN1]; //! Lambda background: Delta phi,Delta eta vs pt of the leading particle
234 TH3F* fLambdadPhidEtaPtLCentBckg[kN1]; //! Lambda background in central events: Delta phi,Delta eta vs pt of the leading particle
236 TH3F* fLambdadPhidEtaPtL2[kN1]; //! Lambda: Delta phi,Delta eta vs pt of the leading particle
237 TH3F* fLambdadPhidEtaPtLCent2[kN1]; //! Lambda in central events: Delta phi,Delta eta vs pt of the leading particle
238 TH3F* fLambdadPhidEtaPtLBckg2[kN1]; //! Lambda background: Delta phi,Delta eta vs pt of the leading particle
239 TH3F* fLambdadPhidEtaPtLCentBckg2[kN1];//! Lambda background in central events: Delta phi,Delta eta vs pt of the leading particle
241 TH2F* fLambdaBckgDecLength; //! Lambda background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
242 TH3F* fLambdaBckgDCADaugToPrimVtx; //! Lambda background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
243 TH2F* fLambdadEdxPosDaug; //! Lambda background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak
244 TH2F* fLambdadEdxNegDaug; //! Lambda background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak
245 TH2F* fLambdaBckgEtaPhi; //! Lambda background: Phi vs Eta inside a radio wrt the near-side peak
246 TH2F* fLambdaBckgPhiRadio ; //! Lambda background: Phi vs radio inside a radio wrt the near-side peak
247 TH2F* fLambdaBckgDCANegDaugToPrimVtx; //! Lambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
248 TH2F* fLambdaBckgDCAPosDaugToPrimVtx; //! Lambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
249 TH2F* fLambdaMassCascade; //! Lambda background: Poddible mismatching of tracks due to cascades decays
252 TH3F* fK0sPIDPosDaug;
253 TH3F* fK0sPIDNegDaug;
254 TH3F* fK0sBckgPIDPosDaug;
255 TH3F* fK0sBckgPIDNegDaug;
257 TH3F* fK0sPhiEtaPosDaug;
258 TH3F* fK0sPhiEtaNegDaug;
259 TH3F* fK0sBckgPhiEtaPosDaug;
260 TH3F* fK0sBckgPhiEtaNegDaug;
262 TH2F* fK0sDCAPosDaug;
263 TH2F* fK0sDCANegDaug;
264 TH2F* fK0sBckgDCAPosDaug;
265 TH2F* fK0sBckgDCANegDaug;
267 TH2F* fK0sDifPtPosDaug;
268 TH2F* fK0sDifPtNegDaug;
269 TH2F* fK0sBckgDifPtPosDaug;
270 TH2F* fK0sBckgDifPtNegDaug;
273 TH3F* fK0sBckgDecayPos;
274 TH2F* fK0sDecayVertex;
275 TH2F* fK0sBckgDecayVertex;
276 TH2F* fK0sDecayVertexZoom;
277 TH2F* fK0sBckgDecayVertexZoom;
282 TH2F* fK0sBckgDCAV0Daug;
284 TH3F* fLambdaPIDPosDaug;
285 TH3F* fLambdaPIDNegDaug;
286 TH3F* fLambdaBckgPIDPosDaug;
287 TH3F* fLambdaBckgPIDNegDaug;
289 TH3F* fLambdaPhiEtaPosDaug;
290 TH3F* fLambdaPhiEtaNegDaug;
291 TH3F* fLambdaBckgPhiEtaPosDaug;
292 TH3F* fLambdaBckgPhiEtaNegDaug;
294 TH2F* fLambdaDCAPosDaug;
295 TH2F* fLambdaDCANegDaug;
296 TH2F* fLambdaBckgDCAPosDaug;
297 TH2F* fLambdaBckgDCANegDaug;
299 TH2F* fLambdaDifPtPosDaug;
300 TH2F* fLambdaDifPtNegDaug;
301 TH2F* fLambdaBckgDifPtPosDaug;
302 TH2F* fLambdaBckgDifPtNegDaug;
304 TH3F* fLambdaDecayPos;
305 TH3F* fLambdaBckgDecayPos;
306 TH2F* fLambdaDecayVertex;
307 TH2F* fLambdaBckgDecayVertex;
308 TH2F* fLambdaDecayVertexZoom;
309 TH2F* fLambdaBckgDecayVertexZoom;
312 TH2F* fLambdaBckgCPA;
313 TH2F* fLambdaDCAV0Daug;
314 TH2F* fLambdaBckgDCAV0Daug;
316 ClassDef(AliAnalysisTaskLambdaOverK0sJets,1);