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