]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetHadEPpid.h
temporary patch to catch undermined runnumbers
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetHadEPpid.h
CommitLineData
fc392675 1#ifndef AliAnalysisTaskEmcalJetHadEPpid_h
2#define AliAnalysisTaskEmcalJetHadEPpid_h
3
4// root classes
5class TClonesArray;
6class TH1F;
7class TH2F;
8class TH3F;
9class THnSparse;
10class TList;
11class TLorentzVector;
12class TGraph;
13
14// AliROOT classes
15class AliEventPoolManager;
16class AliLocalRhoParameter;
17// added 12/9
18class AliEMCALTrack;
19class AliMagF;
20class AliESDEvent;
21class AliAODEvent;
22class AliEMCALGeometry;
23class AliEMCALRecoUtils;
24class AliESDtrack;
25
26// this whole section of includes added
27#include <AliAnalysisTaskEmcalJet.h>
28#include <AliEmcalJet.h>
29#include <AliVEvent.h>
30#include <AliVTrack.h>
31#include <AliVCluster.h>
32#include <TClonesArray.h>
33#include <TMath.h>
34#include <TRandom3.h>
35#include <AliLog.h>
36
37#include "AliAnalysisTaskLocalRho.h"
38#include "AliLocalRhoParameter.h"
39
40// PID stuff
41#include "AliPIDResponse.h"
42
43#include "AliAnalysisFilter.h"
44
45class AliAnalysisTaskEmcalJetHadEPpid : public AliAnalysisTaskEmcalJet {
46 public:
47 AliAnalysisTaskEmcalJetHadEPpid();
48 AliAnalysisTaskEmcalJetHadEPpid(const char *name);
49 //virtual ~AliAnalysisTaskEmcalJetHadEPpid() {}
50 virtual ~AliAnalysisTaskEmcalJetHadEPpid();
51
52 virtual void UserCreateOutputObjects();
53 virtual THnSparse* NewTHnSparseF(const char* name, UInt_t entries);
54 virtual void GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
55 virtual THnSparse* NewTHnSparseFPID(const char* name, UInt_t entries);
56 virtual void GetDimParamsPID(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
57 void SetPlotGlobalRho(Bool_t g) { doPlotGlobalRho = g; } // plot global rho switch
58 void SetVariableBinning(Bool_t v) { doVariableBinning = v; } // do variable binning switch
59 void SetdoPID(Bool_t p) { doPID = p; } // do PID switch
60 void SetvarbinTHnSparse(Bool_t vb) { dovarbinTHnSparse = vb; }
61 void SetDataType(Bool_t data) { useAOD = data; }
62
63 // getters
64 TString GetLocalRhoName() const {return fLocalRhoName; }
65
66 // set names of some objects
67 virtual void SetLocalRhoName(const char *ln) {fLocalRhoName = ln; }
68 virtual void SetTracksName(const char *tn) {fTracksName = tn; }
69 virtual void SetJetsName(const char *jn) {fJetsName = jn; }
70
71 // bias and cuts
72 virtual void SetAreaCut(Double_t a) { fAreacut = a; }
73 virtual void SetTrkBias(Double_t b) { fTrkBias = b; } //require a track with pt > b in jet
74 virtual void SetClusBias(Double_t b) { fClusBias = b; } //require a cluster with pt > b in jet
75 virtual void SetTrkEta(Double_t e) { fTrkEta = e; } //eta range of the associated tracks
76 virtual void SetJetPtcut(Double_t jpt) { fJetPtcut = jpt; } // jet pt cut
77
78 // eta and phi limits of jets
79 virtual void SetJetEta(Double_t emin, Double_t emax) { fEtamin = emin; fEtamax = emax; }
80 virtual void SetJetPhi(Double_t pmin, Double_t pmax) { fPhimin = pmin; fPhimax = pmax; }
81
82 // event mixing setters
83 virtual void SetEventMixing(Int_t yesno) { fDoEventMixing=yesno; }
84 virtual void SetMixingTracks(Int_t tracks) { fMixingTracks = tracks; }
85
86protected:
87 // functions
88 void ExecOnce();
89 Bool_t Run();
90 virtual void Terminate(Option_t *);
91 virtual Int_t GetCentBin(Double_t cent) const; // centrality bin of event
92 Float_t RelativePhi(Double_t mphi,Double_t vphi) const; // relative jet track angle
93 Float_t RelativeEPJET(Double_t jetAng, Double_t EPAng) const; // relative jet event plane angle
94 virtual Int_t GetEtaBin(Double_t eta) const; // eta bins
95 virtual Int_t GetpTjetBin(Double_t pt) const; // jet pt bins
96 virtual Int_t GetpTtrackBin(Double_t pt) const; // track pt bins
97 virtual Int_t GetzVertexBin(Double_t zVtx) const; // zVertex bin
98 void SetfHistPIDcounterLabels(TH1* fHistPID) const; // PID counter
99
100 // parameters of detector to cut on for event
101 Double_t fPhimin; // phi min
102 Double_t fPhimax; // phi max
103 Double_t fEtamin; // eta min
104 Double_t fEtamax; // eta max
105 Double_t fAreacut; // area cut
106 Double_t fTrkBias; // track bias
107 Double_t fClusBias; // cluster bias
108 Double_t fTrkEta; // eta min/max of tracks
109 Double_t fJetPtcut; // jet pt to cut on for correlations
110
111 // event mixing
112 Int_t fDoEventMixing;
113 Int_t fMixingTracks;
114
115 // switches for plots
116 Bool_t doPlotGlobalRho;
117 Bool_t doVariableBinning;
118 Bool_t dovarbinTHnSparse;
119
120 // data type switch
121 Bool_t useAOD;
122
123 // switches for PID
124 Bool_t doPID;
125
126 // local rho value
127 Double_t fLocalRhoVal;
128
129 // object names
130 TString fTracksName;
131 TString fJetsName;
132
133 // event counter
134 Int_t event;
135
136 // boolean functions for PID
137 Bool_t isPItpc, isKtpc, isPtpc;
138 Double_t nPIDtpc;
139
140 Bool_t isPIits, isKits, isPits;
141 Double_t nPIDits;
142
143 Bool_t isPItof, isKtof, isPtof;
144 Double_t nPIDtof;
145
146 // event pool
147 TObjArray* CloneAndReduceTrackList(TObjArray* tracks);
148 AliEventPoolManager *fPoolMgr; // event pool Manager object
149
150 // PID
151 AliPIDResponse *fPIDResponse; // PID response object
152 AliTPCPIDResponse *fTPCResponse; // TPC pid response object
153
154 private:
155 // needed for PID
156 AliESDEvent *fESD; //ESD object
157 AliAODEvent *fAOD; //AOD object
158
159 TH2F *fHistTPCdEdX;
160 TH2F *fHistITSsignal;
161// TH2F *fHistTOFsignal;
162
163 TH2F *fHistRhovsCent; //!
164 TH2F *fHistNjetvsCent;//! number of jets versus Centrality
165 TH2F *fHistJetPtvsTrackPt[6];//!
166 TH2F *fHistRawJetPtvsTrackPt[6];//!
167 TH1F *fHistTrackPt[6];//!
168 TH1F *fHistEP0[6];//!
169 TH1F *fHistEP0A[6];//!
170 TH1F *fHistEP0C[6];//!
171 TH2F *fHistEPAvsC[6];//!
172 TH2F *fHistJetPtvsdEP[6];//!
173 TH2F *fHistJetPtvsdEPBias[6];//!
174 TH2F *fHistRhovsdEP[6]; //!
175 TH3F *fHistJetEtaPhiPt[6];//!
176 TH3F *fHistJetEtaPhiPtBias[6];//!
177 TH2F *fHistJetPtArea[6];//!
178 TH2F *fHistJetPtAreaBias[6];//!
179 TH2F *fHistJetPtNcon[6]; //!
180 TH2F *fHistJetPtNconBias[6]; //!
181 TH2F *fHistJetPtNconCh[6]; //!
182 TH2F *fHistJetPtNconBiasCh[6]; //!
183 TH2F *fHistJetPtNconEm[6]; //!
184 TH2F *fHistJetPtNconBiasEm[6]; //!
185 TH1F *fHistJetHaddPhiINcent[6];
186 TH1F *fHistJetHaddPhiOUTcent[6];
187 TH1F *fHistJetHaddPhiMIDcent[6];
188// ***********************
189 TH1 *fHistCentrality;
190 TH1 *fHistZvtx;
191 TH1 *fHistMult;
192 TH1 *fHistJetPhi;
193 TH1 *fHistTrackPhi;
194 TH1 *fHistJetHaddPhiIN;
195 TH1 *fHistJetHaddPhiOUT;
196 TH1 *fHistJetHaddPhiMID;
197 TH1 *fHistJetHaddPhiBias;
198 TH1 *fHistJetHaddPhiINBias;
199 TH1 *fHistJetHaddPhiOUTBias;
200 TH1 *fHistJetHaddPhiMIDBias;
201
202 TH1 *fHistMEdPHI; // phi distrubtion of mixed events
203 TH1 *fHistTrackPtallcent;
204
205 TH2 *fHistJetEtaPhi;
206 TH2 *fHistTrackEtaPhi[4][7];
207 TH1 *fHistJetHadbindPhi[9];
208 TH1 *fHistJetHadbindPhiIN[9];
209 TH1 *fHistJetHadbindPhiMID[9];
210 TH1 *fHistJetHadbindPhiOUT[9];
211 TH2 *fHistJetHEtaPhi;
212
213 TH1 *fHistJetPt[2];
214 TH1 *fHistJetPtBias[2];
215 TH1 *fHistJetPtTT[2];
216 TH2 *fHistAreavsRawPt[2];
217 TH2 *fHistJetH[2][5][3];
218 TH2 *fHistJetHBias[2][5][3];
219 TH2 *fHistJetHTT[2][5][3];
220 TH1F *fHistJetHdPHI[11];
221 TH2F *fHistJetHdETAdPHI[11];
222 TH2F *fHistSEphieta; // single events phi-eta distributions
223 TH2F *fHistMEphieta; // mixed events phi-eta distributions
224 TH1F *fHistJetHaddPHI;
225
226 // PID status histo's
227 TH1 *fHistPID;
228
229 // THn Sparse's
230 THnSparse *fhnPID; // PID sparse
231 THnSparse *fhnMixedEvents; // mixed events matrix
232 THnSparse *fhnJH; // jet hadron events matrix
233
234// ***********************************************************
235
236 //Declare it private to avoid compilation warning
237 AliAnalysisTaskEmcalJetHadEPpid(const AliAnalysisTaskEmcalJetHadEPpid & g) ; // cpy ctor
238
239 AliAnalysisTaskEmcalJetHadEPpid& operator=(const AliAnalysisTaskEmcalJetHadEPpid&); // not implemented
240 ClassDef(AliAnalysisTaskEmcalJetHadEPpid, 4); // Emcal jet hadron PID - Event plane dependence
241};
242#endif