]>
Commit | Line | Data |
---|---|---|
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 | ||
21 | class AliAODEvent; | |
22 | class AliPIDResponse; | |
23 | class AliAODTrack; | |
2d5747b9 | 24 | class AliAODVertex; |
25 | class AliAODv0; | |
667b678a | 26 | |
27 | class TH1F; | |
28 | class TH2F; | |
29 | class TH3F; | |
30 | class TList; | |
31 | class TString; | |
32 | ||
6fac7c0d | 33 | const int kN1 = 8; |
34 | const 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 | 36 | const int kNVtxZ = 10; |
37 | const double kBinVtxZ[kNVtxZ+1] = {-10.,-8.,-6.,-4.,-2.,0.,2.,4.,6.,8.,10.}; | |
38 | ||
6fac7c0d | 39 | const int kNCent = 6; |
40 | const double kBinCent[kNCent+1] = {0.0,5.0,10.0,20.0,40.0,60.0,90.0}; | |
348080d3 | 41 | |
667b678a | 42 | class 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 | */ | |
438 | class 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 |