]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/FlavourJetTasks/AliAnalysisTaskEmcalJetHF.h
Moved EMCALJetTask to FlavourTask
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / AliAnalysisTaskEmcalJetHF.h
CommitLineData
5e5a2b89 1#ifndef AliAnalysisTaskEmcalJetHF_h
2#define AliAnalysisTaskEmcalJetHF_h
3
4class TClonesArray;
5class TH1F;
6class TH2F;
7class TH3F;
8class THnSparse;
9class TLorentzVector;
10class TGraph;
11
12class AliEMCALTrack;
13class AliMagF;
14class AliESDEvent;
15class AliAODEvent;
16class AliEMCALGeometry;
17class AliEMCALRecoUtils;
18class AliESDtrack;
19class AliESDtrackCuts;
20class AliAnalysisEtCuts;
21
22
23// this whole section of includes added
24#include <AliEmcalJet.h>
25#include <AliVEvent.h>
26#include <AliVTrack.h>
27#include <AliVCluster.h>
28#include <TClonesArray.h>
29#include <TMath.h>
30#include <TRandom3.h>
31#include <AliLog.h>
32#include "AliAnalysisTaskEmcalJet.h"
33#include "AliEMCALPIDResponse.h"
34
35// PID stuff
36#include "AliPIDResponse.h"
37#include "AliTPCPIDResponse.h"
38#include "AliESDpid.h"
39#include "AliAnalysisFilter.h"
40
41class AliAnalysisTaskEmcalJetHF : public AliAnalysisTaskEmcalJet {
42 public:
43 AliAnalysisTaskEmcalJetHF();
44 AliAnalysisTaskEmcalJetHF(const char *name);
45 virtual ~AliAnalysisTaskEmcalJetHF();
46
47 virtual void UserCreateOutputObjects();
48
49 /** Cuts info */
50 AliAnalysisEtCuts * GetCuts() const { return fCuts; }
51 virtual void SetCuts(const AliAnalysisEtCuts *cuts)
52 { fCuts = (AliAnalysisEtCuts *) cuts; }
53
54
55 void SetTPCITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITSTPC = (AliESDtrackCuts *) cuts;}
56 void SetTPCOnlyTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsTPC = (AliESDtrackCuts *) cuts;}
57 void SetITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITS = (AliESDtrackCuts *) cuts;}
58
59 //PID Sparse
60 virtual THnSparse* NewTHnSparseDHF(const char* name, UInt_t entries);
61 virtual void GetDimParamsHF(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
08f52641 62
63 //JetQA Sparse
64 virtual THnSparse* NewTHnSparseDJetQA(const char* name, UInt_t entries);
65 virtual void GetDimParamsJetQA(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
66
5e5a2b89 67
68 // setters
47d82e4b 69 virtual void SetdoGlobalPID(Bool_t PID) { doGlobalPID = PID; } //Global PID fpr all tracks and clusters in event
5e5a2b89 70 void SetJetPt(Double_t jpt) { fJetHIpt = jpt; } // jet threshold pt cut
71 void SetTrackPtCut(Double_t trpt) { fTrackPtCut = trpt; } // track pt threshold to do PID on
72 virtual void SetTrackEta(Double_t e) { fTrackEta = e; } //eta range of the associated tracks
08f52641 73 virtual void SetTrackQACut(Double_t trkQAcut) { fTrkQAcut = trkQAcut;}
74
47d82e4b 75 // eta and phi limits of jets - setters
76 virtual void SetJetEta(Double_t emin, Double_t emax) { fEtamin = emin; fEtamax = emax; }
77 virtual void SetJetPhi(Double_t pmin, Double_t pmax) { fPhimin = pmin; fPhimax = pmax; }
78
79 // event no.
5e5a2b89 80 Int_t event; // event number (processed)
81 Int_t fillHist;
82
83 protected:
84 Bool_t Run();
85 virtual void Terminate(Option_t *);
47d82e4b 86 virtual Int_t AcceptMyJet(AliEmcalJet *jet); // applies basic jet tests/cuts before accepting
87 virtual Int_t GetCentBin(Double_t cent) const; // Get Centrality bin
5e5a2b89 88 void ExecOnce();
89
90 // data type switch
47d82e4b 91 Bool_t doGlobalPID;
5e5a2b89 92
47d82e4b 93 AliAnalysisEtCuts *fCuts; // keeper of basic cuts
5e5a2b89 94
95 // cuts
47d82e4b 96 Double_t fPhimin;
97 Double_t fPhimax;
98 Double_t fEtamin;
99 Double_t fEtamax;
100 Double_t fAreacut; //area cut
5e5a2b89 101 Double_t fJetHIpt; // high jet pt
102 Double_t fTrackPtCut; // track pt cut to do PID on
103 Double_t fTrackEta;
08f52641 104 Double_t fTrkQAcut; //trkQA cut
105
5e5a2b89 106 // PID
107 AliPIDResponse *fPIDResponse; // PID response object
108 AliTPCPIDResponse *fTPCResponse; // TPC pid response object
109
110 AliESDtrackCuts* fEsdtrackCutsITSTPC;//esd track cuts for ITS+TPC tracks
111 AliESDtrackCuts* fEsdtrackCutsTPC;//esd track cuts for TPC tracks (which may also contain ITS hits)
112 AliESDtrackCuts* fEsdtrackCutsITS;//esd track cuts for ITS stand alone tracks
113
114
115 private:
116 AliESDEvent *fESD;//! // ESD object
117 AliAODEvent *fAOD;//! // AOD Object
118
119
120 TH2F *fHistRhovsCent; //!
121 TH1F *fHistJetPhi;//! // Njets vs Phi
122 TH1F *fHistCorJetPt;//! // (Njets) vs Corrected Jet Pt (local rho)
123 TH1F *fHistJetPt;//! // raw jet pt (uncorrected)
124 TH1F *fHistdEdx;//!
125 TH2F *fHistdEdxvPt;//!
126 TH1F *fHistClusE;//!
127 TH1F *fHistEovPTracks;//!
128 TH2F *fHistEovPvsPtTracks;//!
129
130 TH2F *fHistJetPtvsTrackPt[6];//!
131 TH1F *fHistTrackPt[6];//!
132 TH1F *fHistEP0[6];//!
133 TH1F *fHistEP0A[6];//!
134 TH1F *fHistEP0C[6];//!
135 TH2F *fHistEPAvsC[6];//!
136
137 // PID status histo's
138 TH1 *fHistPID;//!
139 TH1 *fHistPIDtpc;//!
140 TH1 *fHistPIDits;//!
141 TH1 *fHistPIDtof;//!
142 TH1F *fHistnsigelectron;//!
143 TH2F *fHistnSigElecPt;//!
144 TH2F *fHistTrackPhivEta;//!
145 TH2F *fHistClusterPhivEta;//!
146 TH2F *fHistnJetTrackvnJetClusters;//!
147
148 //HF_PID Sparse
149 THnSparse *fhnPIDHF;//! // PID sparse
150 //QA Sparse
08f52641 151 //QA Sparse
152 THnSparse *fhnQA; // QA sparse
153 THnSparse *fhnJetQA; //Jet QA Sparse
154 THnSparse *fhnClusQA; // cluster QA sparse
155 THnSparse *fhnTrackQA; // track QA sparse
47d82e4b 156 THnSparse *fhnGlobalPID; //Global Track PID
5e5a2b89 157 //Declare it private to avoid compilation warning
08f52641 158
5e5a2b89 159 AliAnalysisTaskEmcalJetHF(const AliAnalysisTaskEmcalJetHF & g) ; // cpy ctor
160 AliAnalysisTaskEmcalJetHF& operator=(const AliAnalysisTaskEmcalJetHF&); // not implemented
161
162
163
164 ClassDef(AliAnalysisTaskEmcalJetHF, 4); // Emcal jet Heavy Flavor
165};
166#endif