]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JetTasks/AliAnalysisTaskJetChem.h
Updated QA task for constraint global tracks (M. Verweij)
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / 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"
9b2de807 20
96c271c1 21class 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 &copy);
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