]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/LambdaK0/AliAnalysisTaskExtractPerformanceV0pPb.h
Commit for Simone - Changed bin size and phi calculation
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0 / AliAnalysisTaskExtractPerformanceV0pPb.h
CommitLineData
b2e7de7f 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 AliAnalysisTaskExtractPerformanceV0pPb_H
26#define AliAnalysisTaskExtractPerformanceV0pPb_H
27
28class TList;
29class TH1F;
30class TH2F;
31class TH3F;
32class TVector3;
33class THnSparse;
34
35class AliESDpid;
36class AliESDtrackCuts;
37class AliAnalysisUtils;
38class AliESDEvent;
39class AliPhysicsSelection;
40class AliCFContainer;
41
42//#include "TString.h"
43//#include "AliESDtrackCuts.h"
44//#include "AliAnalysisTaskSE.h"
45
46class AliAnalysisTaskExtractPerformanceV0pPb : public AliAnalysisTaskSE {
47 public:
48 AliAnalysisTaskExtractPerformanceV0pPb();
49 AliAnalysisTaskExtractPerformanceV0pPb(const char *name);
50 virtual ~AliAnalysisTaskExtractPerformanceV0pPb();
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;
56
4a20b95e 57 void SetDiffractiveOnly ( Bool_t lDiffractiveOnly = kTRUE ) { fDiffractiveOnly = lDiffractiveOnly; }
58
b2e7de7f 59 private:
60 // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
61 // your data member object is created on the worker nodes and streaming is not needed.
62 // http://root.cern.ch/download/doc/11InputOutput.pdf, page 14
63 TList *fListHistV0; //! List of Cascade histograms
64 TTree *fTree; //! Output Tree, V0
65 TTree *fTreeEvents; //! Output Tree for events
66
67 AliPIDResponse *fPIDResponse; // PID response object
68
69 //Objects Controlling Task Behaviour
4a20b95e 70 Bool_t fDiffractiveOnly; //Only look at diffractive generated events
b2e7de7f 71
72//===========================================================================================
73// Variables for Tree, V0s
74//===========================================================================================
75 Int_t fTreeVariablePrimaryStatus; //!
76 Int_t fTreeVariablePrimaryStatusMother; //!
77 Float_t fTreeVariableChi2V0; //!
78 Float_t fTreeVariableDcaV0Daughters; //!
79 Float_t fTreeVariableDcaV0ToPrimVertex; //!
80 Float_t fTreeVariableDcaPosToPrimVertex; //!
81 Float_t fTreeVariableDcaNegToPrimVertex; //!
82 Float_t fTreeVariableV0CosineOfPointingAngle; //!
83 Float_t fTreeVariableV0Radius; //!
84 Float_t fTreeVariablePt; //!
85 Float_t fTreeVariablePtMC; //!
86 Float_t fTreeVariableRapK0Short; //!
87 Float_t fTreeVariableRapLambda; //!
88 Float_t fTreeVariableRapMC; //!
89 Float_t fTreeVariableInvMassK0s; //!
90 Float_t fTreeVariableInvMassLambda; //!
91 Float_t fTreeVariableInvMassAntiLambda; //!
92 Float_t fTreeVariableAlphaV0; //!
93 Float_t fTreeVariablePtArmV0;//!
94 Float_t fTreeVariableNegTotMomentum; //!
95 Float_t fTreeVariablePosTotMomentum; //!
96 Float_t fTreeVariableNegTransvMomentum; //!
97 Float_t fTreeVariablePosTransvMomentum; //!
98 Float_t fTreeVariableNegTransvMomentumMC; //!
99 Float_t fTreeVariablePosTransvMomentumMC; //!
100
101 Float_t fTreeVariableNSigmasPosProton; //!
102 Float_t fTreeVariableNSigmasPosPion; //!
103 Float_t fTreeVariableNSigmasNegProton; //!
104 Float_t fTreeVariableNSigmasNegPion; //!
105
106 Float_t fTreeVariablePtMother; //!
107 Float_t fTreeVariableV0CreationRadius; //!
108 Int_t fTreeVariablePID; //!
109 Int_t fTreeVariablePIDPositive; //!
110 Int_t fTreeVariablePIDNegative; //!
111 Int_t fTreeVariablePIDMother; //!
112
113 //Note: TDistOverTotMom needs a mass hypothesis to be converted to proper decaylength.
114 Float_t fTreeVariableDistOverTotMom;//!
115
116 Float_t fTreeVariablePosEta; //!
117 Float_t fTreeVariableNegEta; //!
118
119 Float_t fTreeVariableVertexZ; //!
120
121 Int_t fTreeVariableLeastNbrCrossedRows;//!
122 Float_t fTreeVariableLeastRatioCrossedRowsOverFindable;//!
123
124 Float_t fTreeVariableCentrality; //!
125
126 //Variables for Event Tree
127 Float_t fTreeEventsCentrality; //!
128
129//===========================================================================================
130// Histograms
131//===========================================================================================
132
133 //Default V0A Centrality only
134 TH1F *fHistCentralityProcessed; //! All processed
135 TH1F *fHistCentralityTrigEvt; //! Those selected by PS / Trigger
136 TH1F *fHistCentralityHasVtx; //! Those that have a well-established vertex
137 TH1F *fHistCentralityVtxZ; //! Those whose vertex falls within |z|<10cm
138
139//---> Filled At Analysis Scope
140
141//---> Strategy for yCMS shift: do binning in "400,-1,1" combination in rapidity.
142// This will allow for post-processing shifts with a granularity of 0.005 to
143// be applied as needed, and note the shift we need is 0.465 so it fits this
144// binning.
145
146//---> At final Analysis Event selection
147 TH3F *f3dHist_Analysis_PtVsYVsV0A_Lambda; //! Lambda
148 TH3F *f3dHist_Analysis_PtVsYVsV0A_AntiLambda; //! AntiLambda
149 TH3F *f3dHist_Analysis_PtVsYVsV0A_K0Short; //! K0Short
150
151//---> At generator level (before any event selection except centrality binning)
152// ...though note that centrality is already a selection.
153 TH3F *f3dHist_Generated_PtVsYVsV0A_Lambda; //! Lambda
154 TH3F *f3dHist_Generated_PtVsYVsV0A_AntiLambda; //! AntiLambda
155 TH3F *f3dHist_Generated_PtVsYVsV0A_K0Short; //! K0Short
156
157//Cross-checking histograms: Charged Kaons (to compare with neutral ones at generator level)
158 TH3F *f3dHist_Analysis_PtVsYVsV0A_KPlus; //! Added for cross-check of any bias
159 TH3F *f3dHist_Analysis_PtVsYVsV0A_KMinus; //! Added for cross-check of any bias
160 TH3F *f3dHist_Generated_PtVsYVsV0A_KPlus; //! Added for cross-check of any bias
161 TH3F *f3dHist_Generated_PtVsYVsV0A_KMinus; //! Added for cross-check of any bias
162
163//---> Needed for FeedDown Corrections
164
165//V0A Containers
166
167 TH3F *f3dHist_Analysis_PtVsYVsV0A_XiMinus; //! Generated Xi- Distrib
168 TH3F *f3dHist_Analysis_PtVsYVsV0A_XiPlus; //! Generated Xi+ Distrib
169
170 TH3F *f3dHist_Generated_PtVsYVsV0A_XiMinus; //! Generated Xi- Distrib
171 TH3F *f3dHist_Generated_PtVsYVsV0A_XiPlus; //! Generated Xi+ Distrib
89b8cfdf 172
173//With YCMS shift...
174
175//---> At final Analysis Event selection
176 TH3F *f3dHist_Analysis_PtVsYCMSVsV0A_Lambda; //! Lambda
177 TH3F *f3dHist_Analysis_PtVsYCMSVsV0A_AntiLambda; //! AntiLambda
178 TH3F *f3dHist_Analysis_PtVsYCMSVsV0A_K0Short; //! K0Short
179
180//---> At generator level (before any event selection except centrality binning)
181// ...though note that centrality is already a selection.
182 TH3F *f3dHist_Generated_PtVsYCMSVsV0A_Lambda; //! Lambda
183 TH3F *f3dHist_Generated_PtVsYCMSVsV0A_AntiLambda; //! AntiLambda
184 TH3F *f3dHist_Generated_PtVsYCMSVsV0A_K0Short; //! K0Short
185
186//Cross-checking histograms: Charged Kaons (to compare with neutral ones at generator level)
187 TH3F *f3dHist_Analysis_PtVsYCMSVsV0A_KPlus; //! Added for cross-check of any bias
188 TH3F *f3dHist_Analysis_PtVsYCMSVsV0A_KMinus; //! Added for cross-check of any bias
189 TH3F *f3dHist_Generated_PtVsYCMSVsV0A_KPlus; //! Added for cross-check of any bias
190 TH3F *f3dHist_Generated_PtVsYCMSVsV0A_KMinus; //! Added for cross-check of any bias
191
192//---> Needed for FeedDown Corrections
193
194//V0A Containers
195
196 TH3F *f3dHist_Analysis_PtVsYCMSVsV0A_XiMinus; //! Generated Xi- Distrib
197 TH3F *f3dHist_Analysis_PtVsYCMSVsV0A_XiPlus; //! Generated Xi+ Distrib
198
199 TH3F *f3dHist_Generated_PtVsYCMSVsV0A_XiMinus; //! Generated Xi- Distrib
200 TH3F *f3dHist_Generated_PtVsYCMSVsV0A_XiPlus; //! Generated Xi+ Distrib
201
b2e7de7f 202
203 AliAnalysisTaskExtractPerformanceV0pPb(const AliAnalysisTaskExtractPerformanceV0pPb&); // not implemented
204 AliAnalysisTaskExtractPerformanceV0pPb& operator=(const AliAnalysisTaskExtractPerformanceV0pPb&); // not implemented
205
206 ClassDef(AliAnalysisTaskExtractPerformanceV0pPb, 11);
207};
208
209#endif