]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/DPhi/AliAnalysisTaskDptDptCorrelations.h
From Marta
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / AliAnalysisTaskDptDptCorrelations.h
CommitLineData
9cabc5db 1#ifndef AliAnalysisTaskDptDptCorrelations_H_Included
2#define AliAnalysisTaskDptDptCorrelations_H_Included
3
4#include "AliAnalysisTaskSE.h"
5#include "TString.h"
6#include "AliLog.h"
7
8class AliAODEvent;
9class AliESDEvent;
10class AliInputEventHandler;
11//class AliMCEvent;
12//class AliMCEventHandler;
13class TH1;
14class TH2;
15class TH2;
16class TH3;
17class TH1F;
18class TH2F;
19class TH2F;
20class TH3F;
21class TH1D;
22class TH2D;
23class TH2D;
24class TH3D;
25class TProfile;
26
27class AliAnalysisTaskDptDptCorrelations : public AliAnalysisTaskSE
28{
29public:
30 AliAnalysisTaskDptDptCorrelations();
31 AliAnalysisTaskDptDptCorrelations(const TString & name);
32
33private:
34 AliAnalysisTaskDptDptCorrelations(const AliAnalysisTaskDptDptCorrelations&);
35 const AliAnalysisTaskDptDptCorrelations& operator=(const AliAnalysisTaskDptDptCorrelations&);
36
37public:
38 virtual ~AliAnalysisTaskDptDptCorrelations();
39
40 // Implementation of interace methods
41 //virtual void ConnectInputData(Option_t *);
42 virtual void UserCreateOutputObjects();
43 virtual void UserExec(Option_t *option);
44 virtual void FinishTaskOutput();
45 virtual void Terminate(Option_t* );
46 virtual void createHistograms();
47 virtual void finalizeHistograms();
48
49 virtual void addToList(TH1 *h);
50
239bac74 51 TH1D * createHisto1D(const TString & name, const TString & title,int n, double xmin, double xmax,const TString & xTitle, const TString & yTitle);
52 TH1D * createHisto1D(const TString & name, const TString & title,int n, double * bins,const TString & xTitle, const TString & yTitle);
53 TH2D * createHisto2D(const TString & name, const TString & title,
54 int nx, double xmin, double xmax, int ny, double ymin, double ymax, const TString & xTitle, const TString & yTitle, const TString & zTitle);
55 TH2D * createHisto2D(const TString & name, const TString & title, int nx, double* xbins, int ny, double ymin, double ymax,
56 const TString & xTitle, const TString & yTitle, const TString & zTitle);
57
58 TH1F * createHisto1F(const TString & name, const TString & title,int n, double xmin, double xmax,const TString & xTitle, const TString & yTitle);
59 TH1F * createHisto1F(const TString & name, const TString & title,int n, double * bins,const TString & xTitle, const TString & yTitle);
60 TH2F * createHisto2F(const TString & name, const TString & title,
61 int nx, double xmin, double xmax, int ny, double ymin, double ymax, const TString & xTitle, const TString & yTitle, const TString & zTitle);
62 TH2F * createHisto2F(const TString & name, const TString & title, int nx, double* xbins, int ny, double ymin, double ymax,
63 const TString & xTitle, const TString & yTitle, const TString & zTitle);
64 TH3F * createHisto3F(const TString & name, const TString & title,
65 int nx, double xmin, double xmax, int ny, double ymin, double ymax, int nz, double zmin, double zmax,
66 const TString & xTitle, const TString & yTitle, const TString & zTitle);
9cabc5db 67 TProfile * createProfile(const TString & title,const TString & description, int n, double xMin,double xMax,
68 const TString & xTitle, const TString & yTitle);
69 TProfile * createProfile(const TString & name,const TString & description,
70 int nx, double* bins,
71 const TString & xTitle, const TString & yTitle);
72
73 //________________________________________________________________________
74
75 float * getFloatArray(int size, float v);
76 double * getDoubleArray(int size, double v);
77 void fillHistoWithArray(TH1 * h, double * array, int size);
78 void fillHistoWithArray(TH2 * h, double * array, int size1, int size2);
79 void fillHistoWithArray(TH3 * h, double * array, int size1, int size2, int size3);
80 void fillHistoWithArray(TH1 * h, float * array, int size);
81 void fillHistoWithArray(TH2 * h, float * array, int size1, int size2);
82 void fillHistoWithArray(TH3 * h, float * array, int size1, int size2, int size3);
83
84 virtual void SetDebugLevel( int v ) { _debugLevel = v; }
85 virtual void SetSinglesOnly(int v) { _singlesOnly = v; }
86 virtual void SetUseWeights(int v) { _useWeights = v; }
87 virtual void SetSameFilter(int v) { _sameFilter = v; }
88
89 virtual void SetRejectPileup(int v) { _rejectPileup = v; }
90 virtual void SetRejectPairConversion(int v) { _rejectPairConversion = v; }
91 virtual void SetVertexZMin(double v) { _vertexZMin = v; }
92 virtual void SetVertexZMax(double v) { _vertexZMax = v; }
93 virtual void SetVertexXYMin(double v) { _vertexXYMin = v; }
94 virtual void SetVertexXYMax(double v) { _vertexXYMax = v; }
95 virtual void SetCentralityMethod(int v) { _centralityMethod = v; }
96 virtual void SetCentrality(double centralityMin, double centralityMax)
97 {
98 _centralityMin = centralityMin;
99 _centralityMax = centralityMax;
100 }
101 virtual void SetRequestedCharge_1(int v) { _requestedCharge_1 = v; }
102 virtual void SetRequestedCharge_2(int v) { _requestedCharge_2 = v; }
103 virtual void SetPtMin1( double v) { _min_pt_1 = v; }
104 virtual void SetPtMax1( double v) { _max_pt_1 = v; }
105 virtual void SetEtaMin1(double v) { _min_eta_1 = v; }
106 virtual void SetEtaMax1(double v) { _max_eta_1 = v; }
107 virtual void SetPtMin2( double v) { _min_pt_2 = v; }
108 virtual void SetPtMax2( double v) { _max_pt_2 = v; }
109 virtual void SetEtaMin2(double v) { _min_eta_2 = v; }
110 virtual void SetEtaMax2(double v) { _max_eta_2 = v; }
111 virtual void SetDcaZMin(double v) { _dcaZMin = v; }
112 virtual void SetDcaZMax(double v) { _dcaZMax = v; }
113 virtual void SetDcaXYMin(double v) { _dcaXYMin = v; }
114 virtual void SetDcaXYMax(double v) { _dcaXYMax = v; }
115 virtual void SetDedxMin(double v) { _dedxMin = v; }
116 virtual void SetDedxMax(double v) { _dedxMax = v; }
117 virtual void SetNClusterMin(int v) { _nClusterMin = v; }
118 virtual void SetTrackFilterBit(int v) { _trackFilterBit = v; }
119 virtual void SetWeigth_1(TH3F * v) { _weight_1 = v; }
120 virtual void SetWeigth_2(TH3F * v) { _weight_2 = v; }
121
122
123protected:
124
125 // Handlers and events
126 AliAODEvent* fAODEvent; //! AOD Event
127 AliESDEvent* fESDEvent; //! ESD Event
128 AliInputEventHandler* fInputHandler; //! Generic InputEventHandler
129
130 // Histogram settings
131 //TList* _inputHistoList;
132 TList* _outputHistoList;
133 //int _outputSlot;
134
135
136 double _twoPi;
137 long _eventCount;
138
139 //configuration variables and filters
140 int _debugLevel;
141 int _singlesOnly;
142 int _useWeights;
143 int _sameFilter;
144 int _rejectPileup;
145 int _rejectPairConversion;
146 double _vertexZMin;
147 double _vertexZMax;
148 double _vertexXYMin;
149 double _vertexXYMax;
150 int _centralityMethod;
151 double _centralityMin;
152 double _centralityMax;
153 int _requestedCharge_1;
154 int _requestedCharge_2;
155 double _dcaZMin;
156 double _dcaZMax;
157 double _dcaXYMin;
158 double _dcaXYMax;
159 double _dedxMin;
160 double _dedxMax;
161 int _nClusterMin;
162 int _trackFilterBit;
163
4ebeb50b 164 //double _min_eta_1;
165 //double _max_eta_1;
166 //double _min_eta_2;
167 //double _max_eta_2;
168
9cabc5db 169
170 // event and track wise variables
171
172 double _field;
173 int _nTracks;
174 double _mult0;
175 double _mult1;
176 double _mult2;
177 double _mult3;
178 double _mult4;
179 double _mult5;
180 double _mult6;
181
182 //particle 1
183 int arraySize;
184 int *_id_1; //!
185 int *_charge_1; //!
186 //int * _iPhi_1; //!
187 //int * _iEta_1; //!
188 int *_iEtaPhi_1; //!
189 int *_iPt_1; //!
190 float *_pt_1; //!
191 float *_px_1; //!
192 float *_py_1; //!
193 float *_pz_1; //!
194 //float * _phi_1; //!
195 //float* _eta_1; //!
196 float *_correction_1; //!
197 float *_dedx_1; //!
198
199 //particle 2
200 int *_id_2; //!
201 int *_charge_2; //!
202 //int *_iPhi_2; //!
203 //int *_iEta_2; //!
204 int *_iEtaPhi_2; //!
205 int *_iPt_2; //!
206 float *_pt_2; //!
207 float *_px_2; //!
208 float *_py_2; //!
209 float *_pz_2; //!
210 //float *_phi_2; //!
211 //float *_eta_2; //!
212 float *_correction_2; //!
213 float *_dedx_2; //!
214
215 float * _correctionWeight_1; //!
216 float * _correctionWeight_2; //!
217
218 //histograming
219 int _nBins_M0; double _min_M0; double _max_M0; double _width_M0;
220 int _nBins_M1; double _min_M1; double _max_M1; double _width_M1;
221 int _nBins_M2; double _min_M2; double _max_M2; double _width_M2;
222 int _nBins_M3; double _min_M3; double _max_M3; double _width_M3;
223 int _nBins_M4; double _min_M4; double _max_M4; double _width_M4;
224 int _nBins_M5; double _min_M5; double _max_M5; double _width_M5;
225 int _nBins_M6; double _min_M6; double _max_M6; double _width_M6;
226
227 int _nBins_vertexZ; double _min_vertexZ; double _max_vertexZ; double _width_vertexZ;
228
229 int _nBins_pt_1; double _min_pt_1; double _max_pt_1; double _width_pt_1;
230 int _nBins_phi_1; double _min_phi_1; double _max_phi_1; double _width_phi_1;
231 int _nBins_eta_1; double _min_eta_1; double _max_eta_1; double _width_eta_1;
232 int _nBins_etaPhi_1;
233 int _nBins_etaPhiPt_1;
234 int _nBins_zEtaPhiPt_1;
235
236 int _nBins_pt_2; double _min_pt_2; double _max_pt_2; double _width_pt_2;
237 int _nBins_phi_2; double _min_phi_2; double _max_phi_2; double _width_phi_2;
238 int _nBins_eta_2; double _min_eta_2; double _max_eta_2; double _width_eta_2;
239 int _nBins_etaPhi_2;
240 int _nBins_etaPhiPt_2;
241 int _nBins_zEtaPhiPt_2;
242
243 int _nBins_etaPhi_12;
244
245 double __n1_1;
246 double __n1_2;
247 double __n2_12;
248 double __s1pt_1;
249 double __s1pt_2;
250 double __s2ptpt_12;
251 double __s2NPt_12;
252 double __s2PtN_12;
253
254 double __n1Nw_1;
255 double __n1Nw_2;
256 double __n2Nw_12;
257 double __s1ptNw_1;
258 double __s1ptNw_2;
259 double __s2ptptNw_12;
260 double __s2NPtNw_12;
261 double __s2PtNNw_12;
262
263 double * __n1_1_vsPt; //!
264 double * __n1_1_vsEtaPhi; //!
265 double * __s1pt_1_vsEtaPhi; //!
266 float * __n1_1_vsZEtaPhiPt; //!
267
268 double * __n1_2_vsPt; //!
269 double * __n1_2_vsEtaPhi; //!
270 double * __s1pt_2_vsEtaPhi; //!
271 float * __n1_2_vsZEtaPhiPt; //!
272
273 //double * __n2_12_vsPtPt;
274 //double * __n2_12_vsEtaPhi;
275 //double * __s2ptpt_12_vsEtaPhi;
276 //double * __s2PtN_12_vsEtaPhi;
277 //double * __s2NPt_12_vsEtaPhi;
278
279 double * __n2_12_vsPtPt; //!
280 float * __n2_12_vsEtaPhi; //!
281 float * __s2ptpt_12_vsEtaPhi; //!
282 float * __s2PtN_12_vsEtaPhi; //!
283 float * __s2NPt_12_vsEtaPhi; //!
284
285 TH3F * _weight_1;
286 TH3F * _weight_2;
287 TH1D * _eventAccounting;
288 TH1D * _m0;
289 TH1D * _m1;
290 TH1D * _m2;
291 TH1D * _m3;
292 TH1D * _m4;
293 TH1D * _m5;
294 TH1D * _m6;
295 TH1D * _vertexZ;
d9e7b37f 296
297 TH1F * _Ncluster1;
298 TH1F * _Ncluster2;
49f44fbe 299 TH1F * _etadis;
300 TH1F * _phidis;
301 TH1F * _dcaz;
302 TH1F * _dcaxy;
303
304
9cabc5db 305 // PARTICLE 1 (satisfies filter 1)
306 // Primary filled quantities
239bac74 307 TH1F * _n1_1_vsPt;
308 TH2F * _n1_1_vsEtaVsPhi;
309 TH2F * _s1pt_1_vsEtaVsPhi;
9cabc5db 310 TH3F * _n1_1_vsZVsEtaVsPhiVsPt;
311 TProfile * _n1_1_vsM; // w/ weight
312 TProfile * _s1pt_1_vsM;
313 TProfile * _n1Nw_1_vsM; // w/o weight
314 TProfile * _s1ptNw_1_vsM;
239bac74 315 TH2F * _dedxVsP_1;
316 TH2F * _corrDedxVsP_1;
317 TH2F * _betaVsP_1;
9cabc5db 318
319 // PARTICLE 2 (satisfies filter 2)
320 // Primary filled quantities
239bac74 321 TH1F * _n1_2_vsPt;
322 TH2F * _n1_2_vsEtaVsPhi;
323 TH2F * _s1pt_2_vsEtaVsPhi;
9cabc5db 324 TH3F * _n1_2_vsZVsEtaVsPhiVsPt;
325 TProfile * _n1_2_vsM;
326 TProfile * _s1pt_2_vsM;
327 TProfile * _n1Nw_2_vsM; // w/o weight
328 TProfile * _s1ptNw_2_vsM;
239bac74 329 TH2F * _dedxVsP_2;
330 TH2F * _corrDedxVsP_2;
331 TH2F * _betaVsP_2;
9cabc5db 332
333 // Pairs 1 & 2
239bac74 334 TH1F * _n2_12_vsEtaPhi;
335 TH2F * _n2_12_vsPtVsPt;
336 TH1F * _s2PtPt_12_vsEtaPhi;
337 TH1F * _s2PtN_12_vsEtaPhi;
338 TH1F * _s2NPt_12_vsEtaPhi;
9cabc5db 339
340 TProfile * _n2_12_vsM;
341 TProfile * _s2PtPt_12_vsM;
342 TProfile * _s2PtN_12_vsM;
343 TProfile * _s2NPt_12_vsM;
344 TProfile * _n2Nw_12_vsM;
345 TProfile * _s2PtPtNw_12_vsM;
346 TProfile * _s2PtNNw_12_vsM;
347 TProfile * _s2NPtNw_12_vsM;
348
239bac74 349 TH1F * _invMass;
350 TH1F * _invMassElec;
9cabc5db 351
352 TString n1Name;
353 TString n1NwName;
354 TString n2Name;
355 TString n2NwName;
356 TString n3Name;
357 TString n1n1Name;
358 TString n1n1n1Name;
359 TString n2n1Name;
360 TString r1Name;
361 TString r2Name;
362 TString r3Name;
363 TString r2r1Name;
364 TString c2Name;
365 TString c3Name;
366 TString d3Name;
367 TString p3Name;
368 TString cName;
369
370 TString intR2Name;
371 TString binCorrName;
372 TString intBinCorrName;
373
374 TString countsName;
375 TString part_1_Name;
376 TString part_2_Name;
377 TString part_3_Name;
378 TString pair_12_Name;
379 TString pair_13_Name;
380 TString pair_23_Name;
381 TString tripletName;
382
383 TString avg;
384 TString avgName;
385 TString sumName;
386 TString s1ptName;
387 TString s1ptNwName;
388 TString s1DptName;
389
390 TString s2PtPtName;
391 TString s2NPtName;
392 TString s2PtNName;
393 TString s2DptDptName;
394
395 TString s2PtPtNwName;
396 TString s2NPtNwName;
397 TString s2PtNNwName;
398
399 TString ptName;
400 TString ptptName;
401 TString pt1pt1Name;
402 TString DptName;
403 TString DptDptName;
404 TString RDptDptName;
405 TString nPtName;
406 TString ptNName;
407 TString seanName;
408
409 TString _title_counts;
410
411 TString _title_m0;
412 TString _title_m1;
413 TString _title_m2;
414 TString _title_m3;
415 TString _title_m4;
416 TString _title_m5;
417 TString _title_m6;
418
419 TString _title_eta_1;
420 TString _title_phi_1;
421 TString _title_pt_1;
422 TString _title_etaPhi_1;
423 TString _title_n_1;
424 TString _title_SumPt_1;
425 TString _title_AvgPt_1;
426 TString _title_AvgN_1;
427 TString _title_AvgSumPt_1;
428
429 TString _title_eta_2;
430 TString _title_phi_2;
431 TString _title_pt_2;
432 TString _title_etaPhi_2;
433 TString _title_n_2;
434 TString _title_SumPt_2;
435 TString _title_AvgPt_2;
436 TString _title_AvgN_2;
437 TString _title_AvgSumPt_2;
438
439 TString _title_etaPhi_12;
440
441 TString _title_AvgN2_12;
442 TString _title_AvgSumPtPt_12;
443 TString _title_AvgSumPtN_12;
444 TString _title_AvgNSumPt_12;
445
446 TString vsZ;
447 TString vsM;
448 TString vsPt;
449 TString vsPhi;
450 TString vsEta;
451 TString vsEtaPhi;
452 TString vsPtVsPt;
453
454
455 ClassDef(AliAnalysisTaskDptDptCorrelations,1)
456};
457
458
459#endif
460
461