1 #ifndef AliAnalysisTaskEmcalJetHF_h
2 #define AliAnalysisTaskEmcalJetHF_h
16 class AliEMCALGeometry;
17 class AliEMCALRecoUtils;
19 class AliESDtrackCuts;
20 class AliAnalysisEtCuts;
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>
32 #include "AliAnalysisTaskEmcalJet.h"
33 #include "AliEMCALPIDResponse.h"
36 #include "AliPIDResponse.h"
37 #include "AliTPCPIDResponse.h"
38 #include "AliESDpid.h"
39 #include "AliAnalysisFilter.h"
41 class AliAnalysisTaskEmcalJetHF : public AliAnalysisTaskEmcalJet {
43 AliAnalysisTaskEmcalJetHF();
44 AliAnalysisTaskEmcalJetHF(const char *name);
45 virtual ~AliAnalysisTaskEmcalJetHF();
47 virtual void UserCreateOutputObjects();
50 AliAnalysisEtCuts * GetCuts() const { return fCuts; }
51 virtual void SetCuts(const AliAnalysisEtCuts *cuts)
52 { fCuts = (AliAnalysisEtCuts *) cuts; }
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;}
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);
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);
69 virtual void SetdoGlobalPID(Bool_t PID) { doGlobalPID = PID; } //Global PID fpr all tracks and clusters in event
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
73 virtual void SetTrackQACut(Double_t trkQAcut) { fTrkQAcut = trkQAcut;}
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; }
80 Int_t event; // event number (processed)
85 virtual void Terminate(Option_t *);
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
93 AliAnalysisEtCuts *fCuts; // keeper of basic cuts
100 Double_t fAreacut; //area cut
101 Double_t fJetHIpt; // high jet pt
102 Double_t fTrackPtCut; // track pt cut to do PID on
104 Double_t fTrkQAcut; //trkQA cut
107 AliPIDResponse *fPIDResponse; // PID response object
108 AliTPCPIDResponse *fTPCResponse; // TPC pid response object
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
116 AliESDEvent *fESD;//! // ESD object
117 AliAODEvent *fAOD;//! // AOD Object
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)
125 TH2F *fHistdEdxvPt;//!
127 TH1F *fHistEovPTracks;//!
128 TH2F *fHistEovPvsPtTracks;//!
130 TH2F *fHistJetPtvsTrackPt[6];//!
131 TH1F *fHistTrackPt[6];//!
132 TH1F *fHistEP0[6];//!
133 TH1F *fHistEP0A[6];//!
134 TH1F *fHistEP0C[6];//!
135 TH2F *fHistEPAvsC[6];//!
137 // PID status histo's
142 TH1F *fHistnsigelectron;//!
143 TH2F *fHistnSigElecPt;//!
144 TH2F *fHistTrackPhivEta;//!
145 TH2F *fHistClusterPhivEta;//!
146 TH2F *fHistnJetTrackvnJetClusters;//!
149 THnSparse *fhnPIDHF;//! // PID sparse
152 THnSparse *fhnQA; // QA sparse
153 THnSparse *fhnJetQA; //Jet QA Sparse
154 THnSparse *fhnClusQA; // cluster QA sparse
155 THnSparse *fhnTrackQA; // track QA sparse
156 THnSparse *fhnGlobalPID; //Global Track PID
157 //Declare it private to avoid compilation warning
159 AliAnalysisTaskEmcalJetHF(const AliAnalysisTaskEmcalJetHF & g) ; // cpy ctor
160 AliAnalysisTaskEmcalJetHF& operator=(const AliAnalysisTaskEmcalJetHF&); // not implemented
164 ClassDef(AliAnalysisTaskEmcalJetHF, 4); // Emcal jet Heavy Flavor