1 #ifndef AliAnalysisTaskDptDptCorrelations_H_Included
2 #define AliAnalysisTaskDptDptCorrelations_H_Included
4 #include "AliAnalysisTaskSE.h"
10 class AliInputEventHandler;
12 //class AliMCEventHandler;
27 class AliAnalysisTaskDptDptCorrelations : public AliAnalysisTaskSE
30 AliAnalysisTaskDptDptCorrelations();
31 AliAnalysisTaskDptDptCorrelations(const TString & name);
34 AliAnalysisTaskDptDptCorrelations(const AliAnalysisTaskDptDptCorrelations&);
35 const AliAnalysisTaskDptDptCorrelations& operator=(const AliAnalysisTaskDptDptCorrelations&);
38 virtual ~AliAnalysisTaskDptDptCorrelations();
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();
49 virtual void addToList(TH1 *h);
51 TH1D * createHisto(const TString & name, const TString & title,int n, double xmin, double xmax,const TString & xTitle, const TString & yTitle);
52 TH1D * createHisto(const TString & name, const TString & title,int n, double * bins,const TString & xTitle, const TString & yTitle);
53 TH2D * createHisto(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 * createHisto(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 TH3F * createHisto(const TString & name, const TString & title,
58 int nx, double xmin, double xmax, int ny, double ymin, double ymax, int nz, double zmin, double zmax,
59 const TString & xTitle, const TString & yTitle, const TString & zTitle);
60 TProfile * createProfile(const TString & title,const TString & description, int n, double xMin,double xMax,
61 const TString & xTitle, const TString & yTitle);
62 TProfile * createProfile(const TString & name,const TString & description,
64 const TString & xTitle, const TString & yTitle);
66 //________________________________________________________________________
68 float * getFloatArray(int size, float v);
69 double * getDoubleArray(int size, double v);
70 void fillHistoWithArray(TH1 * h, double * array, int size);
71 void fillHistoWithArray(TH2 * h, double * array, int size1, int size2);
72 void fillHistoWithArray(TH3 * h, double * array, int size1, int size2, int size3);
73 void fillHistoWithArray(TH1 * h, float * array, int size);
74 void fillHistoWithArray(TH2 * h, float * array, int size1, int size2);
75 void fillHistoWithArray(TH3 * h, float * array, int size1, int size2, int size3);
77 virtual void SetDebugLevel( int v ) { _debugLevel = v; }
78 virtual void SetSinglesOnly(int v) { _singlesOnly = v; }
79 virtual void SetUseWeights(int v) { _useWeights = v; }
80 virtual void SetSameFilter(int v) { _sameFilter = v; }
82 virtual void SetRejectPileup(int v) { _rejectPileup = v; }
83 virtual void SetRejectPairConversion(int v) { _rejectPairConversion = v; }
84 virtual void SetVertexZMin(double v) { _vertexZMin = v; }
85 virtual void SetVertexZMax(double v) { _vertexZMax = v; }
86 virtual void SetVertexXYMin(double v) { _vertexXYMin = v; }
87 virtual void SetVertexXYMax(double v) { _vertexXYMax = v; }
88 virtual void SetCentralityMethod(int v) { _centralityMethod = v; }
89 virtual void SetCentrality(double centralityMin, double centralityMax)
91 _centralityMin = centralityMin;
92 _centralityMax = centralityMax;
94 virtual void SetRequestedCharge_1(int v) { _requestedCharge_1 = v; }
95 virtual void SetRequestedCharge_2(int v) { _requestedCharge_2 = v; }
96 virtual void SetPtMin1( double v) { _min_pt_1 = v; }
97 virtual void SetPtMax1( double v) { _max_pt_1 = v; }
98 virtual void SetEtaMin1(double v) { _min_eta_1 = v; }
99 virtual void SetEtaMax1(double v) { _max_eta_1 = v; }
100 virtual void SetPtMin2( double v) { _min_pt_2 = v; }
101 virtual void SetPtMax2( double v) { _max_pt_2 = v; }
102 virtual void SetEtaMin2(double v) { _min_eta_2 = v; }
103 virtual void SetEtaMax2(double v) { _max_eta_2 = v; }
104 virtual void SetDcaZMin(double v) { _dcaZMin = v; }
105 virtual void SetDcaZMax(double v) { _dcaZMax = v; }
106 virtual void SetDcaXYMin(double v) { _dcaXYMin = v; }
107 virtual void SetDcaXYMax(double v) { _dcaXYMax = v; }
108 virtual void SetDedxMin(double v) { _dedxMin = v; }
109 virtual void SetDedxMax(double v) { _dedxMax = v; }
110 virtual void SetNClusterMin(int v) { _nClusterMin = v; }
111 virtual void SetTrackFilterBit(int v) { _trackFilterBit = v; }
112 virtual void SetWeigth_1(TH3F * v) { _weight_1 = v; }
113 virtual void SetWeigth_2(TH3F * v) { _weight_2 = v; }
118 // Handlers and events
119 AliAODEvent* fAODEvent; //! AOD Event
120 AliESDEvent* fESDEvent; //! ESD Event
121 AliInputEventHandler* fInputHandler; //! Generic InputEventHandler
123 // Histogram settings
124 //TList* _inputHistoList;
125 TList* _outputHistoList;
132 //configuration variables and filters
138 int _rejectPairConversion;
143 int _centralityMethod;
144 double _centralityMin;
145 double _centralityMax;
146 int _requestedCharge_1;
147 int _requestedCharge_2;
158 // event and track wise variables
182 //float * _phi_1; //!
184 float *_correction_1; //!
200 float *_correction_2; //!
203 float * _correctionWeight_1; //!
204 float * _correctionWeight_2; //!
207 int _nBins_M0; double _min_M0; double _max_M0; double _width_M0;
208 int _nBins_M1; double _min_M1; double _max_M1; double _width_M1;
209 int _nBins_M2; double _min_M2; double _max_M2; double _width_M2;
210 int _nBins_M3; double _min_M3; double _max_M3; double _width_M3;
211 int _nBins_M4; double _min_M4; double _max_M4; double _width_M4;
212 int _nBins_M5; double _min_M5; double _max_M5; double _width_M5;
213 int _nBins_M6; double _min_M6; double _max_M6; double _width_M6;
215 int _nBins_vertexZ; double _min_vertexZ; double _max_vertexZ; double _width_vertexZ;
217 int _nBins_pt_1; double _min_pt_1; double _max_pt_1; double _width_pt_1;
218 int _nBins_phi_1; double _min_phi_1; double _max_phi_1; double _width_phi_1;
219 int _nBins_eta_1; double _min_eta_1; double _max_eta_1; double _width_eta_1;
221 int _nBins_etaPhiPt_1;
222 int _nBins_zEtaPhiPt_1;
224 int _nBins_pt_2; double _min_pt_2; double _max_pt_2; double _width_pt_2;
225 int _nBins_phi_2; double _min_phi_2; double _max_phi_2; double _width_phi_2;
226 int _nBins_eta_2; double _min_eta_2; double _max_eta_2; double _width_eta_2;
228 int _nBins_etaPhiPt_2;
229 int _nBins_zEtaPhiPt_2;
231 int _nBins_etaPhi_12;
247 double __s2ptptNw_12;
251 double * __n1_1_vsPt; //!
252 double * __n1_1_vsEtaPhi; //!
253 double * __s1pt_1_vsEtaPhi; //!
254 float * __n1_1_vsZEtaPhiPt; //!
256 double * __n1_2_vsPt; //!
257 double * __n1_2_vsEtaPhi; //!
258 double * __s1pt_2_vsEtaPhi; //!
259 float * __n1_2_vsZEtaPhiPt; //!
261 //double * __n2_12_vsPtPt;
262 //double * __n2_12_vsEtaPhi;
263 //double * __s2ptpt_12_vsEtaPhi;
264 //double * __s2PtN_12_vsEtaPhi;
265 //double * __s2NPt_12_vsEtaPhi;
267 double * __n2_12_vsPtPt; //!
268 float * __n2_12_vsEtaPhi; //!
269 float * __s2ptpt_12_vsEtaPhi; //!
270 float * __s2PtN_12_vsEtaPhi; //!
271 float * __s2NPt_12_vsEtaPhi; //!
275 TH1D * _eventAccounting;
285 // PARTICLE 1 (satisfies filter 1)
286 // Primary filled quantities
288 TH2D * _n1_1_vsEtaVsPhi;
289 TH2D * _s1pt_1_vsEtaVsPhi;
290 TH3F * _n1_1_vsZVsEtaVsPhiVsPt;
291 TProfile * _n1_1_vsM; // w/ weight
292 TProfile * _s1pt_1_vsM;
293 TProfile * _n1Nw_1_vsM; // w/o weight
294 TProfile * _s1ptNw_1_vsM;
296 TH2D * _corrDedxVsP_1;
299 // PARTICLE 2 (satisfies filter 2)
300 // Primary filled quantities
302 TH2D * _n1_2_vsEtaVsPhi;
303 TH2D * _s1pt_2_vsEtaVsPhi;
304 TH3F * _n1_2_vsZVsEtaVsPhiVsPt;
305 TProfile * _n1_2_vsM;
306 TProfile * _s1pt_2_vsM;
307 TProfile * _n1Nw_2_vsM; // w/o weight
308 TProfile * _s1ptNw_2_vsM;
310 TH2D * _corrDedxVsP_2;
314 TH1D * _n2_12_vsEtaPhi;
315 TH2D * _n2_12_vsPtVsPt;
316 TH1D * _s2PtPt_12_vsEtaPhi;
317 TH1D * _s2PtN_12_vsEtaPhi;
318 TH1D * _s2NPt_12_vsEtaPhi;
320 TProfile * _n2_12_vsM;
321 TProfile * _s2PtPt_12_vsM;
322 TProfile * _s2PtN_12_vsM;
323 TProfile * _s2NPt_12_vsM;
324 TProfile * _n2Nw_12_vsM;
325 TProfile * _s2PtPtNw_12_vsM;
326 TProfile * _s2PtNNw_12_vsM;
327 TProfile * _s2NPtNw_12_vsM;
352 TString intBinCorrName;
358 TString pair_12_Name;
359 TString pair_13_Name;
360 TString pair_23_Name;
373 TString s2DptDptName;
375 TString s2PtPtNwName;
389 TString _title_counts;
399 TString _title_eta_1;
400 TString _title_phi_1;
402 TString _title_etaPhi_1;
404 TString _title_SumPt_1;
405 TString _title_AvgPt_1;
406 TString _title_AvgN_1;
407 TString _title_AvgSumPt_1;
409 TString _title_eta_2;
410 TString _title_phi_2;
412 TString _title_etaPhi_2;
414 TString _title_SumPt_2;
415 TString _title_AvgPt_2;
416 TString _title_AvgN_2;
417 TString _title_AvgSumPt_2;
419 TString _title_etaPhi_12;
421 TString _title_AvgN2_12;
422 TString _title_AvgSumPtPt_12;
423 TString _title_AvgSumPtN_12;
424 TString _title_AvgNSumPt_12;
435 ClassDef(AliAnalysisTaskDptDptCorrelations,1)