]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/LambdaK0/AliAnalysisTaskExtractPerformanceV0.h
Exploratory commit to compare DCA of V0 to PV versus CosPA.
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0 / AliAnalysisTaskExtractPerformanceV0.h
CommitLineData
bcb6ffdb 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17//
18// Modified version of AliAnalysisTaskCheckCascade.h
19// Used bits of code from AliAnalysisTaskCheckPerformanceStrange
20//
21// --- David Dobrigkeit Chinellato
22//
23// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
24
25#ifndef ALIANALYSISTASKEXTRACTPERFORMANCEV0_H
26#define ALIANALYSISTASKEXTRACTPERFORMANCEV0_H
27
28class TList;
29class TH1F;
30class TH2F;
31class TH3F;
32class TVector3;
33class THnSparse;
34
35class AliESDpid;
36class AliESDtrackCuts;
14ba3f35 37class AliAnalysisUtils;
bcb6ffdb 38class AliESDEvent;
39class AliPhysicsSelection;
40class AliCFContainer;
41
42//#include "TString.h"
43//#include "AliESDtrackCuts.h"
246807eb 44//#include "AliAnalysisTaskSE.h"
bcb6ffdb 45
46class AliAnalysisTaskExtractPerformanceV0 : public AliAnalysisTaskSE {
47 public:
48 AliAnalysisTaskExtractPerformanceV0();
49 AliAnalysisTaskExtractPerformanceV0(const char *name);
50 virtual ~AliAnalysisTaskExtractPerformanceV0();
51
52 virtual void UserCreateOutputObjects();
53 virtual void UserExec(Option_t *option);
54 virtual void Terminate(Option_t *);
55 Double_t MyRapidity(Double_t rE, Double_t rPz) const;
4f8ed367 56 void CheckChargeV0(AliESDv0 *thisv0);
548bd092 57
58 void SetIsNuclear (Bool_t lIsNuclear = kTRUE ) { fkIsNuclear = lIsNuclear; }
048f4f8f 59 void SetINT7Trigger (Bool_t lSwitchINT7 = kTRUE ) { fkSwitchINT7 = lSwitchINT7; }
548bd092 60 void SetUseOnTheFly (Bool_t lUseOnTheFly = kTRUE ) { fkUseOnTheFly = lUseOnTheFly; }
7f4db1cd 61 void SetTakeAllTracks (Bool_t lTakeAllTracks = kTRUE ) { fkTakeAllTracks = lTakeAllTracks; }
388b34d3 62 void SetpARapidityShift (Double_t lRapShift = 0.465 ) { fpArapidityShift = lRapShift; }
e039e6b3 63 void SetCentralityEstimator (TString lCentralityEstimator = "V0M" ) { fCentralityEstimator = lCentralityEstimator; }
c92e2e56 64 void SetLightWeightAnalysis (Bool_t lLightWeight = kTRUE) {fkLightWeight = lLightWeight; }
87e78684 65 void SetFastOnly (TString lFastOnly = "kFastOnly") {fkFastOnly = lFastOnly; }
14ba3f35 66 void SetpAVertexSelection (Bool_t lpAVertexSelection = kTRUE) {fkpAVertexSelection = lpAVertexSelection; }
246807eb 67 void SetRunV0Vertexer ( Bool_t lRunV0Vertexer = kTRUE) { fkRunV0Vertexer = lRunV0Vertexer; }
68 void SetRejectPileup ( Bool_t lRejectPileup = kTRUE) { fkRejectPileup = lRejectPileup; }
69 void SetSpecialExecution ( Bool_t lSpecialExecution = kTRUE) { fkSpecialExecution = lSpecialExecution; }
70 void SetSaveAssociatedOnly ( Bool_t lSaveAssocOnly = kTRUE) { fkSaveAssociatedOnly = lSaveAssocOnly; }
71 void SetSkipTrigger ( Bool_t lSkipTrigger = kTRUE ){ fkSkipTrigger = lSkipTrigger; }
72 void SetDoNotCallTPCdEdx ( Bool_t lDoNotCallTPCdEdx = kTRUE) { fkDoNotCallTPCdEdx = lDoNotCallTPCdEdx; }
af819bba 73
74 //---------------------------------------------------------------------------------------
75 //Setters for the V0 Vertexer Parameters
76 void SetV0VertexerMaxChisquare ( Double_t lParameter ){ fV0Sels[0] = lParameter; }
77 void SetV0VertexerDCAFirstToPV ( Double_t lParameter ){ fV0Sels[1] = lParameter; }
78 void SetV0VertexerDCASecondtoPV ( Double_t lParameter ){ fV0Sels[2] = lParameter; }
79 void SetV0VertexerDCAV0Daughters ( Double_t lParameter ){ fV0Sels[3] = lParameter; }
80 void SetV0VertexerCosinePA ( Double_t lParameter ){ fV0Sels[4] = lParameter; }
81 void SetV0VertexerMinRadius ( Double_t lParameter ){ fV0Sels[5] = lParameter; }
82 void SetV0VertexerMaxRadius ( Double_t lParameter ){ fV0Sels[6] = lParameter; }
83 //---------------------------------------------------------------------------------------
e5c8e548 84 void SetDiffractiveOnly ( Bool_t lDiffractiveOnly = kTRUE ) { fDiffractiveOnly = lDiffractiveOnly; }
61d295ec 85 void SetEtaRefMult ( Double_t lEtaRefMult = 0.5 ) { fEtaRefMult = lEtaRefMult; }
e5c8e548 86
bcb6ffdb 87
88 private:
89 // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
90 // your data member object is created on the worker nodes and streaming is not needed.
91 // http://root.cern.ch/download/doc/11InputOutput.pdf, page 14
92 TList *fListHistV0; //! List of Cascade histograms
c228a5af 93 TTree *fTree; //! Output Tree, V0
bcb6ffdb 94
548bd092 95 AliPIDResponse *fPIDResponse; // PID response object
76029adc 96 AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
14ba3f35 97 AliAnalysisUtils *fUtils; // analysis utils (for pA vertex selection)
9083ce79 98
548bd092 99
100 //Objects Controlling Task Behaviour
101
102 Bool_t fkIsNuclear; //if true, replace multiplicity est. by centrality (default FALSE)
048f4f8f 103 Bool_t fkSwitchINT7 ; //if true, skip FASTOnly (default FALSE)
548bd092 104 Bool_t fkUseOnTheFly; //if true, will use On-the-fly V0s instead of Offline V0s (default FALSE)
7f4db1cd 105 Bool_t fkTakeAllTracks; // if true, no TPC crossed rows and ratio cut
9083ce79 106 Double_t fpArapidityShift; //pA rapidity shift (should be 0.465, usually)
87e78684 107 TString fCentralityEstimator; //Centrality Estimator String value (default V0M, DEPRECATED)
c92e2e56 108 Bool_t fkLightWeight; //if true, skip a number of debugging information branches in TTree
109 //(to make resulting tree output significantly smaller!
87e78684 110 TString fkFastOnly; //"" if no extra selection, "kFastOnly" -> without SDD, "NotkFastOnly" -> With SDD
14ba3f35 111 Bool_t fkpAVertexSelection; //if true, select vertex with pPb Methods
af819bba 112 Bool_t fkRunV0Vertexer; //if true, re-run vertexer with loose cuts. CARE MUST BE TAKEN in PbPb!
fb0d435a 113 Bool_t fkRejectPileup; //Reject pileup switch
246807eb 114 Bool_t fkSpecialExecution; //Special Exploratory Execution
115 Bool_t fkSkipTrigger; //Skip trigger selection (use SetCollisionCandidates)
116 Bool_t fkSaveAssociatedOnly; //Save Only associated V0s for smaller output
117 Bool_t fkDoNotCallTPCdEdx; //For running on datasets that don't have BB curves...
af819bba 118
119 Double_t fV0Sels[7]; // Array to store the 7 values for the different selections V0 related
bcb6ffdb 120
e5c8e548 121 Bool_t fDiffractiveOnly; //Only look at diffractive generated events
61d295ec 122 Bool_t fEtaRefMult; // Ref Mult eta range
e5c8e548 123
c228a5af 124//===========================================================================================
125// Variables for Tree, V0s
126//===========================================================================================
bcb6ffdb 127 Int_t fTreeVariablePrimaryStatus; //!
128 Int_t fTreeVariablePrimaryStatusMother; //!
129 Float_t fTreeVariableChi2V0; //!
130 Float_t fTreeVariableDcaV0Daughters; //!
131 Float_t fTreeVariableDcaV0ToPrimVertex; //!
132 Float_t fTreeVariableDcaPosToPrimVertex; //!
133 Float_t fTreeVariableDcaNegToPrimVertex; //!
0fea673c 134 Float_t fTreeVariableDCAV0ToPrimVertex; //!
bcb6ffdb 135 Float_t fTreeVariableV0CosineOfPointingAngle; //!
136 Float_t fTreeVariableV0Radius; //!
137 Float_t fTreeVariablePt; //!
138 Float_t fTreeVariablePtMC; //!
139 Float_t fTreeVariableRapK0Short; //!
140 Float_t fTreeVariableRapLambda; //!
141 Float_t fTreeVariableRapMC; //!
142 Float_t fTreeVariableInvMassK0s; //!
143 Float_t fTreeVariableInvMassLambda; //!
144 Float_t fTreeVariableInvMassAntiLambda; //!
145 Float_t fTreeVariableAlphaV0; //!
146 Float_t fTreeVariablePtArmV0;//!
147 Float_t fTreeVariableNegTotMomentum; //!
148 Float_t fTreeVariablePosTotMomentum; //!
149 Float_t fTreeVariableNegTransvMomentum; //!
150 Float_t fTreeVariablePosTransvMomentum; //!
151 Float_t fTreeVariableNegTransvMomentumMC; //!
152 Float_t fTreeVariablePosTransvMomentumMC; //!
153
154 Float_t fTreeVariableNSigmasPosProton; //!
155 Float_t fTreeVariableNSigmasPosPion; //!
156 Float_t fTreeVariableNSigmasNegProton; //!
157 Float_t fTreeVariableNSigmasNegPion; //!
158
159 Float_t fTreeVariablePtMother; //!
160 Float_t fTreeVariableV0CreationRadius; //!
161 Int_t fTreeVariablePID; //!
162 Int_t fTreeVariablePIDPositive; //!
163 Int_t fTreeVariablePIDNegative; //!
164 Int_t fTreeVariablePIDMother; //!
165 Int_t fTreeVariableIndexStatus; //!
166 Int_t fTreeVariableIndexStatusMother; //!
167
0eebce93 168 Int_t fTreeVariableRunNumber; //!
169 ULong64_t fTreeVariableEventNumber; //!
170
bcb6ffdb 171 //Note: TDistOverTotMom needs a mass hypothesis to be converted to proper decaylength.
172 Float_t fTreeVariableDistOverTotMom;//!
173
174 Float_t fTreeVariablePosEta; //!
175 Float_t fTreeVariableNegEta; //!
176
a18e0a39 177 Float_t fTreeVariableVertexZ; //!
178
bcb6ffdb 179 Int_t fTreeVariableLeastNbrCrossedRows;//!
180 Float_t fTreeVariableLeastRatioCrossedRowsOverFindable;//!
5d43de53 181
182 Int_t fTreeVariableMultiplicity;//!
183 Int_t fTreeVariableMultiplicityV0A;//!
184 Int_t fTreeVariableMultiplicityZNA;//!
185 Int_t fTreeVariableMultiplicityTRK;//!
186 Int_t fTreeVariableMultiplicitySPD;//!
187
a18e0a39 188 Int_t fTreeVariableMultiplicityMC;//!
bcb6ffdb 189
11960ef4 190 Float_t fTreeVariableV0x; //!
191 Float_t fTreeVariableV0y; //!
192 Float_t fTreeVariableV0z; //!
193
194 Float_t fTreeVariableV0Px; //!
195 Float_t fTreeVariableV0Py; //!
196 Float_t fTreeVariableV0Pz; //!
197
198 Float_t fTreeVariableMCV0x; //!
199 Float_t fTreeVariableMCV0y; //!
200 Float_t fTreeVariableMCV0z; //!
201
202 Float_t fTreeVariableMCV0Px; //!
203 Float_t fTreeVariableMCV0Py; //!
204 Float_t fTreeVariableMCV0Pz; //!
205
653265df 206 Float_t fTreeVariablePVx; //!
207 Float_t fTreeVariablePVy; //!
208 Float_t fTreeVariablePVz; //!
209
210 Float_t fTreeVariableMCPVx; //!
211 Float_t fTreeVariableMCPVy; //!
212 Float_t fTreeVariableMCPVz; //!
213
df661cb7 214 Bool_t fTreeVariableIsNonInjected; //!
f068724a 215 //Decay Length issue debugging: ULong_t with track status
216 ULong64_t fTreeVariableNegTrackStatus;
217 ULong64_t fTreeVariablePosTrackStatus;
a5ff2395 218
219 //Physical Primary, Sec-Weak, Sec-Material -- debug only
220 Int_t fTreeVariableNegPhysicalStatus;
221 Int_t fTreeVariablePosPhysicalStatus;
222
060d8ca6 223 Float_t fTreeVariableNegPx; //!
224 Float_t fTreeVariableNegPy; //!
225 Float_t fTreeVariableNegPz; //!
226 Float_t fTreeVariablePosPx; //!
227 Float_t fTreeVariablePosPy; //!
228 Float_t fTreeVariablePosPz; //!
229
c228a5af 230//===========================================================================================
231// Histograms
232//===========================================================================================
233
bcb6ffdb 234 TH1F *fHistV0MultiplicityBeforeTrigSel; //! V0 multiplicity distribution
235 TH1F *fHistV0MultiplicityForTrigEvt; //! V0 multiplicity distribution
236 TH1F *fHistV0MultiplicityForSelEvt; //! V0 multiplicity distribution
237 TH1F *fHistV0MultiplicityForSelEvtNoTPCOnly; //! V0 multiplicity distribution
238 TH1F *fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup; //! V0 multiplicity distribution
239
5d43de53 240 //Default V0M Centrality
bcb6ffdb 241 TH1F *fHistMultiplicityBeforeTrigSel; //! multiplicity distribution
242 TH1F *fHistMultiplicityForTrigEvt; //! multiplicity distribution
243 TH1F *fHistMultiplicity; //! multiplicity distribution
244 TH1F *fHistMultiplicityNoTPCOnly; //! multiplicity distribution
245 TH1F *fHistMultiplicityNoTPCOnlyNoPileup; //! multiplicity distribution
246
5d43de53 247 //V0A Centrality
248 TH1F *fHistMultiplicityV0ABeforeTrigSel; //! multiplicity distribution
249 TH1F *fHistMultiplicityV0AForTrigEvt; //! multiplicity distribution
250 TH1F *fHistMultiplicityV0A; //! multiplicity distribution
251 TH1F *fHistMultiplicityV0ANoTPCOnly; //! multiplicity distribution
252 TH1F *fHistMultiplicityV0ANoTPCOnlyNoPileup; //! multiplicity distribution
253
254 //ZNA Centrality
255 TH1F *fHistMultiplicityZNABeforeTrigSel; //! multiplicity distribution
256 TH1F *fHistMultiplicityZNAForTrigEvt; //! multiplicity distribution
257 TH1F *fHistMultiplicityZNA; //! multiplicity distribution
258 TH1F *fHistMultiplicityZNANoTPCOnly; //! multiplicity distribution
259 TH1F *fHistMultiplicityZNANoTPCOnlyNoPileup; //! multiplicity distribution
260
261 //TRK Centrality
262 TH1F *fHistMultiplicityTRKBeforeTrigSel; //! multiplicity distribution
263 TH1F *fHistMultiplicityTRKForTrigEvt; //! multiplicity distribution
264 TH1F *fHistMultiplicityTRK; //! multiplicity distribution
265 TH1F *fHistMultiplicityTRKNoTPCOnly; //! multiplicity distribution
266 TH1F *fHistMultiplicityTRKNoTPCOnlyNoPileup; //! multiplicity distribution
267
268 //SPD Centrality
269 TH1F *fHistMultiplicitySPDBeforeTrigSel; //! multiplicity distribution
270 TH1F *fHistMultiplicitySPDForTrigEvt; //! multiplicity distribution
271 TH1F *fHistMultiplicitySPD; //! multiplicity distribution
272 TH1F *fHistMultiplicitySPDNoTPCOnly; //! multiplicity distribution
273 TH1F *fHistMultiplicitySPDNoTPCOnlyNoPileup; //! multiplicity distribution
274
1d94e33b 275 //Raw Data for J/Psi paper Technique
276 TH2F *f2dHistMultiplicityVsTrueBeforeTrigSel; //! multiplicity distribution
277 TH2F *f2dHistMultiplicityVsTrueForTrigEvt; //! multiplicity distribution
278 TH2F *f2dHistMultiplicityVsTrue; //! multiplicity distribution
279 TH2F *f2dHistMultiplicityVsTrueNoTPCOnly; //! multiplicity distribution
280 TH2F *f2dHistMultiplicityVsTrueNoTPCOnlyNoPileup; //! multiplicity distribution
281
282 //Raw Data for Vertex Z position estimator change
283 TH2F *f2dHistMultiplicityVsVertexZBeforeTrigSel; //! multiplicity distribution
284 TH2F *f2dHistMultiplicityVsVertexZForTrigEvt; //! multiplicity distribution
285 TH2F *f2dHistMultiplicityVsVertexZ; //! multiplicity distribution
286 TH2F *f2dHistMultiplicityVsVertexZNoTPCOnly; //! multiplicity distribution
287 TH2F *f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup; //! multiplicity distribution
288
289 TH1F *fHistGenVertexZBeforeTrigSel; //! multiplicity distribution
290 TH1F *fHistGenVertexZForTrigEvt; //! multiplicity distribution
291 TH1F *fHistGenVertexZ; //! multiplicity distribution
292 TH1F *fHistGenVertexZNoTPCOnly; //! multiplicity distribution
293 TH1F *fHistGenVertexZNoTPCOnlyNoPileup; //! multiplicity distribution
294
bcb6ffdb 295//---> Filled At Analysis Scope
296
297 TH3F *f3dHistPrimAnalysisPtVsYVsMultLambda; //! Lambda
298 TH3F *f3dHistPrimAnalysisPtVsYVsMultAntiLambda; //! AntiLambda
299 TH3F *f3dHistPrimAnalysisPtVsYVsMultK0Short; //! K0Short
300
388b34d3 301 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultLambda; //! Lambda
302 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda; //! AntiLambda
303 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultK0Short; //! K0Short
b2c306f0 304
305//---> TRUE Multiplicity Containers
306
307 TH3F *f3dHistPrimAnalysisPtVsYVsMultMCLambda; //! Lambda
308 TH3F *f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda; //! AntiLambda
309 TH3F *f3dHistPrimAnalysisPtVsYVsMultMCK0Short; //! K0Short
310
311 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda; //! Lambda
312 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda; //! AntiLambda
313 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short; //! K0Short
388b34d3 314
68e484c4 315//V0A containers
316
317 TH3F *f3dHistPrimAnalysisPtVsYVsMultV0ALambda; //! Lambda
318 TH3F *f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda; //! AntiLambda
319 TH3F *f3dHistPrimAnalysisPtVsYVsMultV0AK0Short; //! K0Short
320
321 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda; //! Lambda
322 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda; //! AntiLambda
323 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short; //! K0Short
324
3db0901a 325//Cross-checking histograms: Charged Kaons (to compare with neutral ones at generator level)
326 TH3F *f3dHistPrimRawPtVsYCMSVsMultV0AKPlus; //! Added for cross-check of any bias
327 TH3F *f3dHistPrimRawPtVsYCMSVsMultV0AKMinus; //! Added for cross-check of any bias
328 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultV0AKPlus; //! Added for cross-check of any bias
329 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultV0AKMinus; //! Added for cross-check of any bias
330
68e484c4 331//ZNA containers
332
333 TH3F *f3dHistPrimAnalysisPtVsYVsMultZNALambda; //! Lambda
334 TH3F *f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda; //! AntiLambda
335 TH3F *f3dHistPrimAnalysisPtVsYVsMultZNAK0Short; //! K0Short
336
337 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda; //! Lambda
338 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda; //! AntiLambda
339 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short; //! K0Short
340
341//TRK containers
342
343 TH3F *f3dHistPrimAnalysisPtVsYVsMultTRKLambda; //! Lambda
344 TH3F *f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda; //! AntiLambda
345 TH3F *f3dHistPrimAnalysisPtVsYVsMultTRKK0Short; //! K0Short
346
347 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda; //! Lambda
348 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda; //! AntiLambda
349 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short; //! K0Short
350
351//SPD containers
352
353 TH3F *f3dHistPrimAnalysisPtVsYVsMultSPDLambda; //! Lambda
354 TH3F *f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda; //! AntiLambda
355 TH3F *f3dHistPrimAnalysisPtVsYVsMultSPDK0Short; //! K0Short
356
357 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda; //! Lambda
358 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda; //! AntiLambda
359 TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short; //! K0Short
360
361//---> Containers for monte carlo information for calculating efficiency!
bcb6ffdb 362
363 TH3F *f3dHistPrimRawPtVsYVsMultLambda; //! Lambda
364 TH3F *f3dHistPrimRawPtVsYVsMultAntiLambda; //! AntiLambda
365 TH3F *f3dHistPrimRawPtVsYVsMultK0Short; //! K0Short
366
388b34d3 367 TH3F *f3dHistPrimRawPtVsYCMSVsMultLambda; //! Lambda
368 TH3F *f3dHistPrimRawPtVsYCMSVsMultAntiLambda; //! AntiLambda
369 TH3F *f3dHistPrimRawPtVsYCMSVsMultK0Short; //! K0Short
370
68e484c4 371//V0A Containers
372
373 TH3F *f3dHistPrimRawPtVsYVsMultV0ALambda; //! Lambda
374 TH3F *f3dHistPrimRawPtVsYVsMultV0AAntiLambda; //! AntiLambda
375 TH3F *f3dHistPrimRawPtVsYVsMultV0AK0Short; //! K0Short
376
377 TH3F *f3dHistPrimRawPtVsYCMSVsMultV0ALambda; //! Lambda
378 TH3F *f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda; //! AntiLambda
379 TH3F *f3dHistPrimRawPtVsYCMSVsMultV0AK0Short; //! K0Short
380
381//ZNA Containers
382
383 TH3F *f3dHistPrimRawPtVsYVsMultZNALambda; //! Lambda
384 TH3F *f3dHistPrimRawPtVsYVsMultZNAAntiLambda; //! AntiLambda
385 TH3F *f3dHistPrimRawPtVsYVsMultZNAK0Short; //! K0Short
386
387 TH3F *f3dHistPrimRawPtVsYCMSVsMultZNALambda; //! Lambda
388 TH3F *f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda; //! AntiLambda
389 TH3F *f3dHistPrimRawPtVsYCMSVsMultZNAK0Short; //! K0Short
390
391//TRK Containers
392
393 TH3F *f3dHistPrimRawPtVsYVsMultTRKLambda; //! Lambda
394 TH3F *f3dHistPrimRawPtVsYVsMultTRKAntiLambda; //! AntiLambda
395 TH3F *f3dHistPrimRawPtVsYVsMultTRKK0Short; //! K0Short
396
397 TH3F *f3dHistPrimRawPtVsYCMSVsMultTRKLambda; //! Lambda
398 TH3F *f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda; //! AntiLambda
399 TH3F *f3dHistPrimRawPtVsYCMSVsMultTRKK0Short; //! K0Short
400
401//SPD Containers
402
403 TH3F *f3dHistPrimRawPtVsYVsMultSPDLambda; //! Lambda
404 TH3F *f3dHistPrimRawPtVsYVsMultSPDAntiLambda; //! AntiLambda
405 TH3F *f3dHistPrimRawPtVsYVsMultSPDK0Short; //! K0Short
406
407 TH3F *f3dHistPrimRawPtVsYCMSVsMultSPDLambda; //! Lambda
408 TH3F *f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda; //! AntiLambda
409 TH3F *f3dHistPrimRawPtVsYCMSVsMultSPDK0Short; //! K0Short
410
411//Miscellaneous checking containers
412
df661cb7 413 TH3F *f3dHistPrimRawPtVsYVsMultNonInjLambda; //! Non-injected Lambda
414 TH3F *f3dHistPrimRawPtVsYVsMultNonInjAntiLambda; //! Non-injected AntiLambda
415 TH3F *f3dHistPrimRawPtVsYVsMultNonInjK0Short; //! Non-injected K0Short
416
a18e0a39 417 TH3F *f3dHistPrimRawPtVsYVsMultMCLambda; //! Lambda
418 TH3F *f3dHistPrimRawPtVsYVsMultMCAntiLambda; //! AntiLambda
419 TH3F *f3dHistPrimRawPtVsYVsMultMCK0Short; //! K0Short
420
421 TH3F *f3dHistPrimRawPtVsYVsVertexZLambda; //! Lambda
422 TH3F *f3dHistPrimRawPtVsYVsVertexZAntiLambda; //! AntiLambda
423 TH3F *f3dHistPrimRawPtVsYVsVertexZK0Short; //! K0Short
424
7e81bb32 425 TH3F *f3dHistPrimCloseToPVPtVsYVsMultLambda; //! Lambda
426 TH3F *f3dHistPrimCloseToPVPtVsYVsMultAntiLambda; //! AntiLambda
427 TH3F *f3dHistPrimCloseToPVPtVsYVsMultK0Short; //! K0Short
428
bcb6ffdb 429//---> Filled vs Decay Length
430
431 TH3F *f3dHistPrimRawPtVsYVsDecayLengthLambda; //! Lambda
432 TH3F *f3dHistPrimRawPtVsYVsDecayLengthAntiLambda; //! AntiLambda
433 TH3F *f3dHistPrimRawPtVsYVsDecayLengthK0Short; //! K0Short
434
435//---> Needed for FeedDown Corrections
436
437 TH3F *f3dHistGenPtVsYVsMultXiMinus; //! Generated Xi- Distrib
438 TH3F *f3dHistGenPtVsYVsMultXiPlus; //! Generated Xi+ Distrib
c228a5af 439
440 TH3F *f3dHistGenSelectedPtVsYVsMultXiMinus; //! Generated Xi- Distrib, at event selection level
441 TH3F *f3dHistGenSelectedPtVsYVsMultXiPlus; //! Generated Xi+ Distrib, at event selection level
e039e6b3 442
443 TH3F *f3dHistGenPtVsYCMSVsMultXiMinus; //! Generated Xi- Distrib
444 TH3F *f3dHistGenPtVsYCMSVsMultXiPlus; //! Generated Xi+ Distrib
e039e6b3 445
446 TH3F *f3dHistGenSelectedPtVsYCMSVsMultXiMinus; //! Generated Xi- Distrib, at event selection level
447 TH3F *f3dHistGenSelectedPtVsYCMSVsMultXiPlus; //! Generated Xi+ Distrib, at event selection level
68e484c4 448
449//V0A Containers
450
451 TH3F *f3dHistGenPtVsYVsMultV0AXiMinus; //! Generated Xi- Distrib
452 TH3F *f3dHistGenPtVsYVsMultV0AXiPlus; //! Generated Xi+ Distrib
453
454 TH3F *f3dHistGenSelectedPtVsYVsMultV0AXiMinus; //! Generated Xi- Distrib, at event selection level
455 TH3F *f3dHistGenSelectedPtVsYVsMultV0AXiPlus; //! Generated Xi+ Distrib, at event selection level
456
457 TH3F *f3dHistGenPtVsYCMSVsMultV0AXiMinus; //! Generated Xi- Distrib
458 TH3F *f3dHistGenPtVsYCMSVsMultV0AXiPlus; //! Generated Xi+ Distrib
459
460 TH3F *f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus; //! Generated Xi- Distrib, at event selection level
461 TH3F *f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus; //! Generated Xi+ Distrib, at event selection level
462
463//ZNA Containers
464
465 TH3F *f3dHistGenPtVsYVsMultZNAXiMinus; //! Generated Xi- Distrib
466 TH3F *f3dHistGenPtVsYVsMultZNAXiPlus; //! Generated Xi+ Distrib
467
468 TH3F *f3dHistGenSelectedPtVsYVsMultZNAXiMinus; //! Generated Xi- Distrib, at event selection level
469 TH3F *f3dHistGenSelectedPtVsYVsMultZNAXiPlus; //! Generated Xi+ Distrib, at event selection level
470
471 TH3F *f3dHistGenPtVsYCMSVsMultZNAXiMinus; //! Generated Xi- Distrib
472 TH3F *f3dHistGenPtVsYCMSVsMultZNAXiPlus; //! Generated Xi+ Distrib
473
474 TH3F *f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus; //! Generated Xi- Distrib, at event selection level
475 TH3F *f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus; //! Generated Xi+ Distrib, at event selection level
bcb6ffdb 476
68e484c4 477//TRK Containers
478
479 TH3F *f3dHistGenPtVsYVsMultTRKXiMinus; //! Generated Xi- Distrib
480 TH3F *f3dHistGenPtVsYVsMultTRKXiPlus; //! Generated Xi+ Distrib
481
482 TH3F *f3dHistGenSelectedPtVsYVsMultTRKXiMinus; //! Generated Xi- Distrib, at event selection level
483 TH3F *f3dHistGenSelectedPtVsYVsMultTRKXiPlus; //! Generated Xi+ Distrib, at event selection level
484
485 TH3F *f3dHistGenPtVsYCMSVsMultTRKXiMinus; //! Generated Xi- Distrib
486 TH3F *f3dHistGenPtVsYCMSVsMultTRKXiPlus; //! Generated Xi+ Distrib
487
488 TH3F *f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus; //! Generated Xi- Distrib, at event selection level
489 TH3F *f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus; //! Generated Xi+ Distrib, at event selection level
490
491//SPD Containers
492
493 TH3F *f3dHistGenPtVsYVsMultSPDXiMinus; //! Generated Xi- Distrib
494 TH3F *f3dHistGenPtVsYVsMultSPDXiPlus; //! Generated Xi+ Distrib
495
496 TH3F *f3dHistGenSelectedPtVsYVsMultSPDXiMinus; //! Generated Xi- Distrib, at event selection level
497 TH3F *f3dHistGenSelectedPtVsYVsMultSPDXiPlus; //! Generated Xi+ Distrib, at event selection level
498
499 TH3F *f3dHistGenPtVsYCMSVsMultSPDXiMinus; //! Generated Xi- Distrib
500 TH3F *f3dHistGenPtVsYCMSVsMultSPDXiPlus; //! Generated Xi+ Distrib
501
502 TH3F *f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus; //! Generated Xi- Distrib, at event selection level
503 TH3F *f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus; //! Generated Xi+ Distrib, at event selection level
504
505
bcb6ffdb 506 TH1F *fHistPVx; //! PVx distrib
507 TH1F *fHistPVy; //! PVy distrib
508 TH1F *fHistPVz; //! PVz distrib
509 TH1F *fHistPVxAnalysis; //! PVx distrib
510 TH1F *fHistPVyAnalysis; //! PVy distrib
511 TH1F *fHistPVzAnalysis; //! PVz distrib
512 TH1F *fHistPVxAnalysisHasHighPtLambda; //! PVx distrib
513 TH1F *fHistPVyAnalysisHasHighPtLambda; //! PVy distrib
514 TH1F *fHistPVzAnalysisHasHighPtLambda; //! PVz distrib
515
4f8ed367 516 TH1F *fHistSwappedV0Counter; //! Swapped v0 counter
517
bcb6ffdb 518 AliAnalysisTaskExtractPerformanceV0(const AliAnalysisTaskExtractPerformanceV0&); // not implemented
519 AliAnalysisTaskExtractPerformanceV0& operator=(const AliAnalysisTaskExtractPerformanceV0&); // not implemented
520
521 ClassDef(AliAnalysisTaskExtractPerformanceV0, 11);
522};
523
524#endif