]>
Commit | Line | Data |
---|---|---|
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 | 22 | class 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 ©); | |
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 |