]>
Commit | Line | Data |
---|---|---|
5e5a2b89 | 1 | #ifndef AliAnalysisTaskEmcalJetHF_h |
2 | #define AliAnalysisTaskEmcalJetHF_h | |
3 | ||
4 | class TClonesArray; | |
5 | class TH1F; | |
6 | class TH2F; | |
7 | class TH3F; | |
8 | class THnSparse; | |
9 | class TLorentzVector; | |
10 | class TGraph; | |
11 | ||
12 | class AliEMCALTrack; | |
13 | class AliMagF; | |
14 | class AliESDEvent; | |
15 | class AliAODEvent; | |
16 | class AliEMCALGeometry; | |
17 | class AliEMCALRecoUtils; | |
18 | class AliESDtrack; | |
19 | class AliESDtrackCuts; | |
20 | class 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 | ||
41 | class 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 |