]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h
Minor modifications
[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
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
14*/
15
16
17#ifndef ALIANALYSISTASKLAMBDAOVERK0SJETS_H
18#define ALIANALYSISTASKLAMBDAOVERK0SJETS_H
19
20#include "AliAnalysisTaskSE.h"
21
22class AliAODEvent;
23class AliPIDResponse;
24class AliAODTrack;
25
26class TH1F;
27class TH2F;
28class TH3F;
29class TList;
30class TString;
31
32const int kN1 = 4;
33const double kPtBinV0[kN1+1] = {2.,2.5,3.,4.,5.};
34
35class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
36
37 public:
38
39 enum V0LoopStep_t { kTriggerCheck=1, kCorrelation=2, kMixedEvent=3 };
40
41 AliAnalysisTaskLambdaOverK0sJets(const char *name = "AliAnalysisTaskLambdaOverK0sJets");
42 virtual ~AliAnalysisTaskLambdaOverK0sJets() {}
43
44 // Setter for global variables in the event
45 void SetMC(Bool_t isMC=kTRUE) {fIsMC=isMC;}
46 void SetPID(Bool_t usePID=kTRUE) {fUsePID=usePID;}
47 void SetCentrality(Double_t min=0., Double_t max=90.) {fCentMin=min;fCentMax=max;}
48 void SetTriggerPt(Double_t ptMinTrig=8., Double_t ptMaxTrig=50.) {fTrigPtMin=ptMinTrig;fTrigPtMax=ptMaxTrig;}
49 void SetTriggerEta(Double_t etaMaxTrig=0.8){fTrigEtaMax=etaMaxTrig;}
50 void SetSeparateInjectedPart(Bool_t doSep=kTRUE) {fSeparateInjPart=doSep;}
51
52 // Setters for V0 candidate selection
53 // TO BE FIXED!!!
54 void SetV0Cuts(Double_t *cutsV0){
55 // 1. Daughter cuts
56 fMinPtDaughter=cutsV0[0];
57 fMaxEtaDaughter=cutsV0[1];
58 fMaxDCADaughter=cutsV0[2];
59 // 2. V0 candidate
60 fYMax=cutsV0[3];
61 fDCAToPrimVtx=cutsV0[4];
62 fMinCPA=cutsV0[5];
63 fNSigma=cutsV0[6];
64 fMinCtau=cutsV0[7];
65 fMaxCtau=cutsV0[8];
66 }
67
68 // 1. Daughter cuts
69 void SetMinPtDaughter(Double_t minPtDaughter=0.160) {fMinPtDaughter=minPtDaughter;}
70 void SetMaxEtaDaughter(Double_t maxEta=0.8) {fMaxEtaDaughter=maxEta;}
71 void SetMaxDCADaughter(Double_t maxDCA=1.0) {fMaxDCADaughter=maxDCA;}
72 // 2. V0 candidate
73 void SetMaxY(Double_t yMax=0.5) {fYMax=yMax;}
74 void SetDCAToPrimVtx(Double_t dcaToPrimVtx=0.1) {fDCAToPrimVtx=dcaToPrimVtx;}
75 void SetMinCPA(Double_t minCPA=0.998) {fMinCPA=minCPA;}
76 void SetNSigmaPID(Double_t nSigma=3) {fNSigma=nSigma;}
77 void SetCtau(Double_t minCtau = 0., Double_t maxCtau = 3.) {fMinCtau=minCtau;fMaxCtau=maxCtau;}
78
79 // Getters
80 Double_t GetMinCentr() { return fCentMin; }
81 Double_t GetMaxCentr() { return fCentMax; }
82
83 // Main functions
84 virtual void UserCreateOutputObjects();
85 virtual Bool_t AcceptV0(AliAODVertex *vtx, const AliAODv0 *v0);
86 virtual void RecCascade(AliAODTrack *trk1,const AliAODTrack *trk2,const AliAODTrack *trkBch,TString histo);
87 virtual TArrayD* V0Loop(AliAODTrack *trkLP, V0LoopStep_t step, Bool_t isTriggered);
88 virtual TArrayD* TriggerParticle();
89
90 virtual void UserExec(Option_t *option);
91 virtual void Terminate(Option_t *);
92
93 private:
94
95 AliAnalysisTaskLambdaOverK0sJets(const AliAnalysisTaskLambdaOverK0sJets&); //not implemented
96 AliAnalysisTaskLambdaOverK0sJets& operator=(const AliAnalysisTaskLambdaOverK0sJets&);//not implemented
97
98 AliAODEvent *fAOD;
99 Bool_t fIsMC; // Use MC data
100 Bool_t fUsePID; // Use PID for tracks
101 Double_t fCentMin; // Minimum centrality
102 Double_t fCentMax; // Maximum centrality
103 Double_t fTrigPtMin; // Minimum pt for trigger particle
104 Double_t fTrigPtMax; // Maximum pt for trigger particle
105 Double_t fTrigEtaMax; // Maximum eta for trigger particle
106 Bool_t fSeparateInjPart; // Separate MC injected particles in case of correlation
107 Int_t fEndOfHijingEvent; // Limit natural-injected MC particles
108 AliPIDResponse *fPIDResponse; // PID Response
109
110
111 Double_t fMinPtDaughter; // Minimum transverse momentum for V0's daughters
112 Double_t fMaxEtaDaughter; // Maximum pseudo-rapidity for V0's daughters
113 Double_t fMaxDCADaughter; // Maximum Distance of Closest Approach between daughters (given in sigmas)
114 Double_t fYMax; // Maximum rapidity for V0
115 Double_t fDCAToPrimVtx; // Mimimum distance of closest approach of daughters to the vertex
116 Double_t fMinCPA; // Minimum Cosine of the Pointing Angle to the vertex for V0
117 Double_t fNSigma; // Number of sigmas for PID wi dE/dx
118 Double_t fMinCtau; // Minimum ctau
119 Double_t fMaxCtau; // Maximum ctau
120
121 TList* fOutput; //! List of histograms
122
123 TH1F* fEvents; //! Counter for the number of events in each step
124
125 TH1F* fCentrality; //! Event centrality per centil
126 TH1F* fPrimaryVertexX; //! Primary vertex position in X
127 TH1F* fPrimaryVertexY; //! Primary vertex position in Y
128 TH1F* fPrimaryVertexZ; //! Primary vertex position in Z
129 TH2F* fNumberPileUp; //! Number of pile up: SPD vs Tracks
130 TH2F* fCentMult; //! Event centrality vs Track multiplicity
131 TH2F* fdEdx; //! dEdx
132 TH2F* fdEdxPid; //! dEdx with PID
133
134 TH3F* fTriggerMCPtCent; //! Trigger particle MC: pt vs centrality
135 TH2F* fTriggerPtCent; //! Trigger particle: pt vs centrality
136 TH2F* fTriggerEtaPhi; //! Trigger particle: eta vs phi
137 TH1F* fCheckTriggerFromV0Daug; //! Trigger particle: it is a daughter from a V0-candidate
138 TH1F* fTriggerComingFromDaug; //! Trigger particle: pt when LP is a daughter from a V0-candidate
139 TH1F* fTriggerIsV0; //! Trigger particle: the V0 is the highest-pt particle
140
141 TH1F* fInjectedParticles; //! Number of injected particles
142
143 TH1F* fK0sMCPt; //! K0s MC: pt
144 TH2F* fK0sMCPtRap; //! K0s MC: pt vs rapidity
145 TH2F* fK0sMCPtEta; //! K0s MC: pt vs pseudo-rapidity
146 TH3F* fK0sMCPtLt; //! K0s MC: pt vs decay lenght vs centrality
147 TH1F* fK0sAssocPt; //! K0s Assoc: pt
148 TH3F* fK0sAssocPtLt; //! K0s Assoc: pt vs decay lenght vs centrality
149 TH3F* fK0sAssocPtLtArm; //! K0s Assoc: pt vs decay lenght vs centrality
150 TH2F* fK0sAssocPtRap; //! K0s Assoc: pt vs rapidity
151 TH2F* fK0sAssocPtEta; //! K0s Assoc: pt vs pseudo-rapidity
152
153 TH1F* fLambdaMCPt; //! Lambda MC: pt
154 TH2F* fLambdaMCPtRap; //! Lambda MC: pt vs rapidity
155 TH2F* fLambdaMCPtEta; //! Lambda MC: pt vs pseudo-rapidity
156 TH3F* fLambdaMCPtLt; //! Lambda MC: pt vs decay lenght vs centrality
157 TH1F* fLambdaAssocPt; //! Lambda Assoc: pt
158 TH3F* fLambdaAssocPtLt; //! Lambda Assoc: pt vs decay lenght vs centrality
159 TH3F* fLambdaAssocPtLtArm; //! Lambda Assoc: pt vs decay lenght vs centrality
160 TH2F* fLambdaAssocPtRap; //! Lambda Assoc: pt vs rapidity
161 TH2F* fLambdaAssocPtEta; //! Lambda Assoc: pt vs pseudo-rapidity
162
163 TH3F* fHistArmenterosPodolanski; //! Armenteros-Podolanski plot inside 3 sigma of the signal
164 TH3F* fHistArmPodBckg; //! Armenteros-Podolanski plot outside 3 sigma of the signal
165
166 TH3F* fK0sMass; //! Mass for K0s
167 TH2F* fK0sPtLtSB; //! K0s: Side-band subtracted lt vs pt
168 TH3F* fK0sPtvsEta; //! K0s: pt vs eta
169 TH3F* fK0sPtvsRap; //! K0s: pt vs rap
170 TH2F* fK0sEtaPhi; //! K0s: eta vs phi
171 TH3F* fK0sMassPtPhi; //! K0s: mass vs phi
172
173 TH3F* fK0sMassPtvsPtL; //! K0s: mass, pt vs pt of leading particle
174 TH3F* fK0sSiPtL; //! K0s: mass, vs leading particle
175 TH2F* fK0sDaughtersPt; //! K0s: pt of daughters
176 TH3F* fK0sdPhiPtAssocPtL; //! K0s: Delta phi,pt vs pt of the leading particle
177 TH3F* fK0sDCADaugToPrimVtx; //! K0s: DCA to primary vertex of daughters vs leading particle's pt inside a radio wrt the near-side peak
178
179 TH3F* fK0sdPhidEtaMC[kN1]; //! K0s MC: Delta phi,Delta eta vs pt of the leading particle
180 TH3F* fK0sdPhidEtaMCCent[kN1]; //! K0s MC in central events: Delta phi,Delta eta vs pt of the leading particle
181
182 TH3F* fK0sdPhidEtaPtL[kN1]; //! K0s: Delta phi,Delta eta vs pt of the leading particle
183 TH3F* fK0sdPhidEtaPtLCent[kN1]; //! K0s in central events: Delta phi,Delta eta vs pt of the leading particle
184 TH3F* fK0sdPhidEtaPtLBckg[kN1]; //! K0s background: Delta phi,Delta eta vs pt of the leading particle
185 TH3F* fK0sdPhidEtaPtLCentBckg[kN1]; //! K0s background in central events: Delta phi,Delta eta vs pt of the leading particle
186
187 TH3F* fK0sdPhidEtaPtL2[kN1]; //! K0s: Delta phi,Delta eta vs pt of the leading particle
188 TH3F* fK0sdPhidEtaPtLCent2[kN1]; //! K0s in central events: Delta phi,Delta eta vs pt of the leading particle
189 TH3F* fK0sdPhidEtaPtLBckg2[kN1]; //! K0s background: Delta phi,Delta eta vs pt of the leading particle
190 TH3F* fK0sdPhidEtaPtLCentBckg2[kN1]; //! K0s background in central events: Delta phi,Delta eta vs pt of the leading particle
191
192 TH2F* fK0sBckgDecLength; //! K0s background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
193 TH3F* fK0sBckgDCADaugToPrimVtx; //! K0s background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
194 TH2F* fK0sdEdxPosDaug; //! K0s background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak
195 TH2F* fK0sdEdxNegDaug; //! K0s background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak
196 TH2F* fK0sBckgEtaPhi; //! K0s background: Phi vs Eta inside a radio wrt the near-side peak
197 TH2F* fK0sBckgPhiRadio; //! K0s background: Phi vs radio inside a radio wrt the near-side peak
198 TH2F* fK0sBckgDCANegDaugToPrimVtx; //! K0s background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
199 TH2F* fK0sBckgDCAPosDaugToPrimVtx; //! K0s background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
200 TH2F* fK0sMassCascade; //! K0s background: Poddible mismatching of tracks due to cascades decays
201
202 TH3F* fLambdaMass; //! Mass for Lambda
203 TH2F* fLambdaPtLtSB; //! Lambda: l vs p with side-band subtraction
204 TH3F* fLambdaPtvsEta; //! Lambda: pt vs eta
205 TH3F* fLambdaPtvsRap; //! Lambda: pt vs rap
206 TH2F* fLambdaEtaPhi; //! Lambda: eta vs phi
207 TH3F* fLambdaMassPtPhi; //! Lambda: mass vs phi
208
209 TH2F* fLambdadEdx; //! Lambda: dE/dx for proton
210 TH1F* fCPA; //! Lambda: Cosine of the pointing angle
211 TH1F* fDCA; //! Lambda: DCA between daughters
212
213 TH3F* fLambdaMassPtvsPtL; //! Lambda: mass, pt vs pt of leading particle
214 TH3F* fLambdaSiPtL; //! Lambda: mass, vs leading particle
215 TH2F* fLambdaDaughtersPt; //! Lambda: pt of daughters
216 TH3F* fLambdadPhiPtAssocPtL; //! Lambda: Delta phi,pt vs pt of the leading particle
217 TH3F* fLambdaDCADaugToPrimVtx; //! Lambda: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
218
219 TH3F* fLambdadPhidEtaMC[kN1]; //! Lambda MC: Delta phi,Delta eta vs pt of the leading particle
220 TH3F* fLambdadPhidEtaMCCent[kN1]; //! Lambda MC in central events: Delta phi,Delta eta vs pt of the leading particle
221
222 TH3F* fLambdadPhidEtaPtL[kN1]; //! Lambda: Delta phi,Delta eta vs pt of the leading particle
223 TH3F* fLambdadPhidEtaPtLCent[kN1]; //! Lambda in central events: Delta phi,Delta eta vs pt of the leading particle
224 TH3F* fLambdadPhidEtaPtLBckg[kN1]; //! Lambda background: Delta phi,Delta eta vs pt of the leading particle
225 TH3F* fLambdadPhidEtaPtLCentBckg[kN1]; //! Lambda background in central events: Delta phi,Delta eta vs pt of the leading particle
226
227 TH3F* fLambdadPhidEtaPtL2[kN1]; //! Lambda: Delta phi,Delta eta vs pt of the leading particle
228 TH3F* fLambdadPhidEtaPtLCent2[kN1]; //! Lambda in central events: Delta phi,Delta eta vs pt of the leading particle
229 TH3F* fLambdadPhidEtaPtLBckg2[kN1]; //! Lambda background: Delta phi,Delta eta vs pt of the leading particle
230 TH3F* fLambdadPhidEtaPtLCentBckg2[kN1];//! Lambda background in central events: Delta phi,Delta eta vs pt of the leading particle
231
232 TH2F* fLambdaBckgDecLength; //! Lambda background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak
233 TH3F* fLambdaBckgDCADaugToPrimVtx; //! Lambda background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak
234 TH2F* fLambdadEdxPosDaug; //! Lambda background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak
235 TH2F* fLambdadEdxNegDaug; //! Lambda background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak
236 TH2F* fLambdaBckgEtaPhi; //! Lambda background: Phi vs Eta inside a radio wrt the near-side peak
237 TH2F* fLambdaBckgPhiRadio ; //! Lambda background: Phi vs radio inside a radio wrt the near-side peak
238 TH2F* fLambdaBckgDCANegDaugToPrimVtx; //! Lambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
239 TH2F* fLambdaBckgDCAPosDaugToPrimVtx; //! Lambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
240 TH2F* fLambdaMassCascade; //! Lambda background: Poddible mismatching of tracks due to cascades decays
241
242 ClassDef(AliAnalysisTaskLambdaOverK0sJets,1);
243
244};
245
246#endif