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