Fix compilation problems on Fedora (Laurent)
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetChem.h
CommitLineData
96c271c1 1/*************************************************************************
2 * *
3 * Task for Jet Chemistry Analysis in PWG4 Jet Task Force Train *
4 * *
5 * *
6 * contact: Oliver Busch *
7 * o.busch@gsi.de *
8 * *
9 *************************************************************************/
9b2de807 10
11#ifndef ALIANALYSISTASKJETCHEM_H
12#define ALIANALYSISTASKJETCHEM_H
13
14/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
15 * See cxx source for full Copyright notice */
16
96c271c1 17/* $Id$ */
9b2de807 18
96c271c1 19#include "AliAnalysisTaskFragmentationFunction.h"
8c483a6b 20#include "AliPID.h"
9b2de807 21
96c271c1 22class AliAnalysisTaskJetChem : public AliAnalysisTaskFragmentationFunction {
9b2de807 23
96c271c1 24 public:
25
26 //----------------------------------------
27 class AliFragFuncHistosInvMass : public TObject
28 {
9b2de807 29
96c271c1 30 public:
9b2de807 31
96c271c1 32 AliFragFuncHistosInvMass(const char* name = "FFIMhistos",
33 Int_t nJetPt = 0, Float_t jetPtMin = 0, Float_t jetPtMax = 0,
34 Int_t nInvMass = 0, Float_t invMassMin=0, Float_t invMassMax=0,
35 Int_t nPt = 0, Float_t ptMin = 0, Float_t ptMax = 0,
36 Int_t nXi = 0, Float_t xiMin = 0, Float_t xiMax = 0,
37 Int_t nZ = 0, Float_t zMin = 0, Float_t zMax = 0);
38 AliFragFuncHistosInvMass(const AliFragFuncHistosInvMass& copy);
39 AliFragFuncHistosInvMass& operator=(const AliFragFuncHistosInvMass &o);
40 virtual ~AliFragFuncHistosInvMass();
9b2de807 41
96c271c1 42 virtual void DefineHistos();
43 virtual void FillFF(Float_t trackPt, Float_t invM, Float_t jetPt,Bool_t incrementJetPt);
44 virtual void AddToOutput(TList* list) const;
9b2de807 45
96c271c1 46 private:
9b2de807 47
96c271c1 48 Int_t fNBinsJetPt; // FF histos bins
49 Float_t fJetPtMin; // FF histos limits
50 Float_t fJetPtMax; // FF histos limits
51 Int_t fNBinsInvMass; // FF histos bins
52 Float_t fInvMassMin; // FF histos limits
53 Float_t fInvMassMax; // FF histos limits
54 Int_t fNBinsPt; // FF histos bins
55 Float_t fPtMin; // FF histos limits
56 Float_t fPtMax; // FF histos limits
57 Int_t fNBinsXi; // FF histos bins
58 Float_t fXiMin; // FF histos limits
59 Float_t fXiMax; // FF histos limits
60 Int_t fNBinsZ; // FF histos bins
61 Float_t fZMin; // FF histos limits
62 Float_t fZMax; // FF histos limits
63
64 TH3F* fh3TrackPt; //! FF: track transverse momentum
65 TH3F* fh3Xi; //! FF: xi
66 TH3F* fh3Z; //! FF: z
67 TH1F* fh1JetPt; //! jet pt
9b2de807 68
96c271c1 69 TString fNameFF; // histo names prefix
70
71 ClassDef(AliFragFuncHistosInvMass, 1);
72 };
73
74
75 //----------------------------------------
76 class AliFragFuncHistosPhiCorrInvMass : public TObject
77 {
78
79 public:
80
81 AliFragFuncHistosPhiCorrInvMass(const char* name = "FFPhiCorrIMhistos",
82 Int_t nPt = 0, Float_t ptMin = 0, Float_t ptMax = 0,
83 Int_t nPhi = 0, Float_t phiMin = 0, Float_t phiMax = 0,
84 Int_t nInvMass = 0, Float_t invMassMin=0, Float_t invMassMax=0);
9b2de807 85
96c271c1 86 AliFragFuncHistosPhiCorrInvMass(const AliFragFuncHistosPhiCorrInvMass& copy);
87 AliFragFuncHistosPhiCorrInvMass& operator=(const AliFragFuncHistosPhiCorrInvMass &o);
88 virtual ~AliFragFuncHistosPhiCorrInvMass();
89
90 virtual void DefineHistos();
91 virtual void FillPhiCorr(Float_t pt, Float_t phi, Float_t invM);
92 virtual void AddToOutput(TList* list) const;
9b2de807 93
96c271c1 94 private:
9b2de807 95
96c271c1 96 Int_t fNBinsPt; // FF histos bins
97 Float_t fPtMin; // FF histos limits
98 Float_t fPtMax; // FF histos limits
9b2de807 99
96c271c1 100 Int_t fNBinsPhi; // FF histos bins
101 Float_t fPhiMin; // FF histos limits
102 Float_t fPhiMax; // FF histos limits
103
104 Int_t fNBinsInvMass; // FF histos bins
105 Float_t fInvMassMin; // FF histos limits
106 Float_t fInvMassMax; // FF histos limits
107
108 TH3F* fh3PhiCorr; //! FF: phi correlation histo
9b2de807 109
96c271c1 110 TString fNamePhiCorr; // histo names prefix
9b2de807 111
96c271c1 112 ClassDef(AliFragFuncHistosPhiCorrInvMass, 1);
113 };
114
115 //----------------------------------------
9b2de807 116
96c271c1 117 AliAnalysisTaskJetChem();
118 AliAnalysisTaskJetChem(const char *name);
119 AliAnalysisTaskJetChem(const AliAnalysisTaskJetChem &copy);
120 AliAnalysisTaskJetChem& operator=(const AliAnalysisTaskJetChem &o);
121 virtual ~AliAnalysisTaskJetChem();
122
123 virtual void UserCreateOutputObjects();
124 virtual void UserExec(Option_t *option);
125
126 static void SetProperties(TH3F* h,const char* x, const char* y,const char* z);
127
128 Bool_t IsAccepteddEdx(const Double_t mom,const Double_t signal, AliPID::EParticleType n, const Double_t cutnSig) const;
129 Bool_t IsK0InvMass(const Double_t mass) const;
130 Int_t GetListOfK0s(TList *list, const Int_t type);
131 virtual void SetK0Type(Int_t i){ fK0Type = i; }
132 virtual void SetFilterMaskK0(UInt_t i) {fFilterMaskK0 = i;}
133
134
135 void SetFFInvMassHistoBins(Int_t nJetPt = 19, Float_t jetPtMin = 5, Float_t jetPtMax = 100,
136 Int_t nInvM = 50, Float_t invMMin = 0.450, Float_t invMMax = 0.550,
137 Int_t nPt = 20, Float_t ptMin = 0., Float_t ptMax = 20.,
138 Int_t nXi = 35, Float_t xiMin = 0., Float_t xiMax = 7.,
139 Int_t nZ = 11, Float_t zMin = 0., Float_t zMax = 1.1)
140 { fFFIMNBinsJetPt = nJetPt; fFFIMJetPtMin = jetPtMin; fFFIMJetPtMax = jetPtMax;
141 fFFIMNBinsInvM = nInvM; fFFIMInvMMin = invMMin; fFFIMInvMMax = invMMax; fFFIMNBinsPt = nPt; fFFIMPtMin = ptMin; fFFIMPtMax = ptMax;
142 fFFIMNBinsXi = nXi; fFFIMXiMin = xiMin; fFFIMXiMax = xiMax; fFFIMNBinsZ = nZ; fFFIMZMin = zMin; fFFIMZMax = zMax; }
143
144 void SetPhiCorrInvMassHistoBins(Int_t nPt = 40, Float_t ptMin = 0., Float_t ptMax = 20.,
145 Int_t nPhi = 20, Float_t phiMin = 0., Float_t phiMax = 2*TMath::Pi(),
146 Int_t nInvM = 50, Float_t invMMin = 0.450, Float_t invMMax = 0.550)
147
148 { fPhiCorrIMNBinsPt = nPt; fPhiCorrIMPtMin = ptMin; fPhiCorrIMPtMax = ptMax;
149 fPhiCorrIMNBinsPhi = nPhi; fPhiCorrIMPhiMin = phiMin; fPhiCorrIMPhiMax = phiMax;
150 fPhiCorrIMNBinsInvM = nInvM; fPhiCorrIMInvMMin = invMMin; fPhiCorrIMInvMMax = invMMax;
151 }
152
153
154 // consts
155 enum { kTrackUndef =0, kOnFly, kOnFlyPID, kOnFlydEdx, kOnFlyPrim, kOffl, kOfflPID, kOffldEdx, kOfflPrim };
156
157 private:
158
159 Int_t fK0Type; //! K0 cuts
160 UInt_t fFilterMaskK0; //! K0 legs cuts
161 TList* fListK0s; //! K0 list
162
163 AliFragFuncQATrackHistos* fV0QAK0; //! track QA: V0s in K0 inv mass range
164 AliFragFuncHistos* fFFHistosRecCutsK0Evt; //! inclusive FF for K0 evt
165 AliFragFuncHistosInvMass* fFFHistosIMK0AllEvt; //! K0 pt spec for all events
166 AliFragFuncHistosInvMass* fFFHistosIMK0Jet; //! K0 FF all dPhi
167 AliFragFuncHistosInvMass* fFFHistosIMK0Cone; //! K0 FF jet cone
168 AliFragFuncHistosPhiCorrInvMass* fFFHistosPhiCorrIMK0; //! K0 corelation to jet axis
169
170 // histogram bins
171
172 Int_t fFFIMNBinsJetPt; // FF histos bins
173 Float_t fFFIMJetPtMin; // FF histos limits
174 Float_t fFFIMJetPtMax; // FF histos limits
175
176 Int_t fFFIMNBinsInvM; // FF histos bins
177 Float_t fFFIMInvMMin; // FF histos bins
178 Float_t fFFIMInvMMax; // FF histos bins
179
180 Int_t fFFIMNBinsPt; // FF histos bins
181 Float_t fFFIMPtMin; // FF histos limits
182 Float_t fFFIMPtMax; // FF histos limits
183
184 Int_t fFFIMNBinsXi; // FF histos bins
185 Float_t fFFIMXiMin; // FF histos limits
186 Float_t fFFIMXiMax; // FF histos limits
187
188 Int_t fFFIMNBinsZ; // FF histos bins
189 Float_t fFFIMZMin; // FF histos limits
190 Float_t fFFIMZMax; // FF histos limits
191
192
193 Int_t fPhiCorrIMNBinsPt; // FF histos bins
194 Float_t fPhiCorrIMPtMin; // FF histos limits
195 Float_t fPhiCorrIMPtMax; // FF histos limits
196
197 Int_t fPhiCorrIMNBinsPhi; // FF histos bins
198 Float_t fPhiCorrIMPhiMin; // FF histos limits
199 Float_t fPhiCorrIMPhiMax; // FF histos limits
200
201 Int_t fPhiCorrIMNBinsInvM; // FF histos bins
202 Float_t fPhiCorrIMInvMMin; // FF histos limits
203 Float_t fPhiCorrIMInvMMax; // FF histos limits
9b2de807 204
9b2de807 205
9b2de807 206
96c271c1 207 // Histograms
9b2de807 208
96c271c1 209 TH1F* fh1K0Mult; //!
210 TH1F* fh1dPhiJetK0; //!
9b2de807 211
e2c14c6e 212
96c271c1 213 ClassDef(AliAnalysisTaskJetChem, 3);
214};
9b2de807 215
216#endif