]>
Commit | Line | Data |
---|---|---|
b1e2cf83 | 1 | #ifndef ALIANALYSISTASKDIJETHADRON_H |
2 | #define ALIANALYSISTASKDIJETHADRON_H | |
3 | ||
4 | // $Id$ | |
5 | #include <vector> | |
6 | ||
7 | class TH1; | |
8 | class TH2; | |
9 | class TH3; | |
10 | class TH2F; | |
11 | class TH1F; | |
12 | class TF1; | |
13 | class TH3F; | |
14 | class THnSparse; | |
15 | class TClonesArray; | |
16 | class TObject; | |
17 | class TString; | |
18 | class AliNamedString; | |
19 | class AliAODEvent; | |
20 | class AliESDEvent; | |
21 | class AliMCEvent; | |
22 | class AliRhoParameter; | |
23 | class TRandom3; | |
24 | class AliEmcalJet; | |
25 | class AliVTrack; | |
26 | class AliNamedArrayI; | |
27 | class AliJetContainer; | |
28 | class AliParticleContainer; | |
29 | class AliClusterContainer; | |
30 | ||
31 | template<class T> class TParameter; | |
32 | ||
33 | #include "AliAnalysisTaskSE.h" | |
34 | #include "AliEmcalJet.h" | |
35 | #include "AliAnalysisTaskEmcalJet.h" | |
36 | ||
37 | class AliAnalysisTaskDijetHadron : public AliAnalysisTaskEmcalJet { | |
38 | public: | |
39 | ||
40 | AliAnalysisTaskDijetHadron(); | |
41 | AliAnalysisTaskDijetHadron(const char *name); | |
42 | virtual ~AliAnalysisTaskDijetHadron() {;} | |
43 | ||
44 | void UserCreateOutputObjects(); | |
45 | ||
b1e2cf83 | 46 | void SetMCJetPtThreshold(Double_t t) { fMCJetPtThreshold = t ; } |
6c7b9d7a | 47 | void SetLeadingHadronPtThreshold1(Double_t u1) { fleadingHadronPtcut1 = u1 ; } |
48 | void SetLeadingHadronPtThreshold2(Double_t u2) { fleadingHadronPtcut2 = u2 ; } | |
49 | void SetLeadingHadronPtThreshold3(Double_t u3) { fleadingHadronPtcut3 = u3 ; } | |
50 | void SetJet1PtThreshold1(Double_t v1) { fJet1Ptcut1 = v1 ; } | |
51 | void SetJet1PtThreshold2(Double_t v2) { fJet1Ptcut2 = v2 ; } | |
52 | void SetJet1PtThreshold3(Double_t v3) { fJet1Ptcut3 = v3 ; } | |
53 | void SetJet2PtThreshold1(Double_t w1) { fJet2Ptcut1 = w1 ; } | |
54 | void SetJet2PtThreshold2(Double_t w2) { fJet2Ptcut2 = w2 ; } | |
55 | void SetJet2PtThreshold3(Double_t w3) { fJet2Ptcut3 = w3 ; } | |
56 | void SetConeRadius(Double_t r) { fConeRadius = r ; } | |
b1e2cf83 | 57 | void SetConeEtaPhiEMCAL() ; |
58 | void SetConeEtaPhiTPC() ; | |
59 | void SetConeEtaLimits(Float_t min, Float_t max) { fConeMinEta = min, fConeMaxEta = max ; } | |
60 | void SetConePhiLimits(Float_t min, Float_t max) { fConeMinPhi = min, fConeMaxPhi = max ; } | |
61 | ||
62 | protected: | |
63 | void AllocateHistogramArrays() ; | |
64 | void ExecOnce() ; | |
65 | Bool_t FillHistograms() ; | |
66 | void GetLeadingJets(Int_t &maxJetIndex, Int_t &max2JetIndex) ; | |
67 | AliEmcalJet* NextEmbeddedJet(Bool_t reset=kFALSE) ; | |
68 | void DoEmbTrackLoop() ; | |
69 | void DoEmbClusterLoop() ; | |
b1e2cf83 | 70 | Double_t GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz); |
aba4548d | 71 | Double_t GetDPhi(Double_t mphi,Double_t vphi); |
b1e2cf83 | 72 | |
73 | Double_t fMCJetPtThreshold; // threshold for MC jets | |
6c7b9d7a | 74 | Double_t fleadingHadronPtcut1; // threshold for leading hadron pT NO1 |
75 | Double_t fleadingHadronPtcut2; // threshold for leading hadron pT NO2 | |
76 | Double_t fleadingHadronPtcut3; // threshold for leading hadron pT NO3 | |
77 | Double_t fJet1Ptcut1; // threshold for leading Jet pT NO1 | |
78 | Double_t fJet1Ptcut2; // threshold for leading Jet pT NO2 | |
79 | Double_t fJet1Ptcut3; // threshold for leading Jet pT NO3 | |
80 | Double_t fJet2Ptcut1; // threshold for subleading Jet pT NO1 | |
81 | Double_t fJet2Ptcut2; // threshold for subleading Jet pT NO2 | |
82 | Double_t fJet2Ptcut3; // threshold for subleading Jet pT NO3 | |
83 | Double_t fConeRadius; // Radius of the jet cones | |
84 | Float_t fConeMinEta; // Minimum eta of the jet cones | |
85 | Float_t fConeMaxEta; // Maximum eta of the jet cones | |
86 | Float_t fConeMinPhi; // Minimum phi of the jet cones | |
87 | Float_t fConeMaxPhi; // Maximum phi of the jet cones | |
b1e2cf83 | 88 | |
89 | AliJetContainer *fJetsCont; //!PbPb Jets | |
90 | AliParticleContainer *fTracksCont; //!PbPb Tracks | |
91 | AliClusterContainer *fCaloClustersCont; //!PbPb Clusters | |
92 | AliJetContainer *fMCJetsCont; //!MC jets | |
93 | AliParticleContainer *fMCTracksCont; //!MC tracks | |
94 | AliClusterContainer *fMCCaloClustersCont; //!MC clusters | |
95 | AliJetContainer *fEmbJetsCont; //!EMB jets | |
96 | AliParticleContainer *fEmbTracksCont; //!EMB tracks | |
97 | AliClusterContainer *fEmbCaloClustersCont; //!EMB clusters | |
b1e2cf83 | 98 | |
99 | //User Task | |
100 | TH1 *fCent_V0; //!Centrality | |
101 | TH1 *fVertex_z_cut; //!z_vertex_cut | |
aba4548d | 102 | TH1 *fEP2; //!z_vertex_cut |
b1e2cf83 | 103 | TH1 *fJetBG_rho; //!rhoValue |
104 | TH2 *fJetBG_rho_Cent; //!rho vs. Centrality | |
105 | TH1 **fTrackPt_PbPb; //!PbPb, trackPt | |
106 | TH1 **fTrackPhi_PbPb; //!PbPb, trackPhi | |
107 | TH1 **fTrackEta_PbPb; //!PbPb, trackEta | |
108 | TH2 **fTrack_Phi_Eta_PbPb; //!PbPb, trackPhi vs. trackEta | |
109 | TH1 **fTrackPt_MC; //!MC, trackPt | |
110 | TH1 **fTrackPhi_MC; //!MC, trackPhi | |
111 | TH1 **fTrackEta_MC; //!MC, trackEta | |
112 | TH2 **fTrack_Phi_Eta_MC; //!MC, trackPhi vs. trackEta | |
113 | TH1 **fTrackPt_EMB; //!EMB, trackPt | |
114 | TH1 **fTrackPhi_EMB; //!EMB, trackPhi | |
115 | TH1 **fTrackEta_EMB; //!EMB, trackEta | |
116 | TH2 **fTrack_Phi_Eta_EMB; //!EMB, trackPhi vs. trackEta | |
117 | TH1 *fJetPt_PbPb[4][3]; //!PbPb, jetPt | |
118 | TH1 *fJetPhi_PbPb[4][3]; //!PbPb, jetPhi | |
119 | TH1 *fJetEta_PbPb[4][3]; //!PbPb, jetEta | |
120 | TH2 *fJet_Phi_Eta_PbPb[4][3]; //!PbPb, jetPhi vs. jetEta | |
121 | TH1 *fJetPt_BG_PbPb[4][3]; //!PbPb, pT - rho * area | |
aba4548d | 122 | TH2 *fJetDeltaEP_PbPb[4][3]; //!PbPb, jetDeltaEP |
b1e2cf83 | 123 | TH1 *fJet1Pt_PbPb[4][3][4][4]; //!PbPb, leadingjetPt |
124 | TH1 *fJet2Pt_PbPb[4][3][4][4]; //!PbPb, subleadingjetPt | |
125 | TH1 *fJet1Pt_BG_PbPb[4][3][4][4]; //!PbPb, pT - rho * area, jet1 | |
126 | TH1 *fJet2Pt_BG_PbPb[4][3][4][4]; //!PbPb, pT - rho * area, jet2 | |
127 | TH1 *fJetDeltaPhi_PbPb[4][3][4][4]; //!PbPb, jetDeltaPhi | |
128 | TH1 *fJetDeltaEta_PbPb[4][3][4][4]; //!PbPb, jetDeltaEta | |
b1e2cf83 | 129 | TH1 *fJet1SelectPt_BG_PbPb[4][3][4][4]; //!PbPb, selectleadingjetPt |
130 | TH1 *fJet2SelectPt_BG_PbPb[4][3][4][4]; //!PbPb, selectsubleadingjetPt | |
aba4548d | 131 | TH2 *fJet1EP_PbPb[4][3][4][4]; //!PbPb, jet1DeltaEP |
b1e2cf83 | 132 | TH1 *fAj_PbPb[4][3][4][4]; //!PbPb, Aj(energy balance) -> Aj = (jet1-jet2)/(jet1+jet2) |
133 | ||
134 | TH1 *fJetPt_MC[4][3]; //!MC, jetPt | |
135 | TH1 *fJetPhi_MC[4][3]; //!MC, jetPhi | |
136 | TH1 *fJetEta_MC[4][3]; //!MC, jetEta | |
137 | TH2 *fJet_Phi_Eta_MC[4][3]; //!MC, jetPhi vs. jetEta | |
aba4548d | 138 | TH2 *fJetDeltaEP_MC[4][3]; //!MC, jetDeltaEP |
b1e2cf83 | 139 | TH1 *fJet1Pt_MC[4][3][4][4]; //!MC, leadingjetPt |
140 | TH1 *fJet2Pt_MC[4][3][4][4]; //!MC, subleadingjetPt | |
141 | TH1 *fJetDeltaPhi_MC[4][3][4][4]; //!MC, jetDeltaPhi | |
142 | TH1 *fJetDeltaEta_MC[4][3][4][4]; //!MC, jetDeltaEta | |
aba4548d | 143 | TH2 *fJet1EP_MC[4][3][4][4]; //!MC, jet1DeltaEP |
b1e2cf83 | 144 | TH1 *fAj_MC[4][3][4][4]; //!MC, Aj(energy balance) -> Aj = (jet1-jet2)/(jet1+jet2) |
145 | ||
146 | TH1 *fJetPt_EMB[4][3]; //!EMB, jetPt | |
147 | TH1 *fJetPhi_EMB[4][3]; //!EMB, jetPhi | |
148 | TH1 *fJetEta_EMB[4][3]; //!EMB, jetEta | |
149 | TH2 *fJet_Phi_Eta_EMB[4][3]; //!EMB, jetPhi vs. jetEta | |
150 | TH1 *fJetPt_BG_EMB[4][3]; //!EMB, pT - rho * area | |
151 | TH1 *fJetDeltaPt[4][3]; //!EMB, pT - rho * area - pT(embtrack) | |
aba4548d | 152 | TH2 *fJetDeltaEP_EMB[4][3]; //!EMB, jetDeltaEP |
b1e2cf83 | 153 | TH1 *fJet1Pt_EMB[4][3][4][4]; //!EMB, leadingjetPt |
154 | TH1 *fJet2Pt_EMB[4][3][4][4]; //!EMB, subleadingjetPt | |
155 | TH1 *fJet1Pt_BG_EMB[4][3][4][4]; //!EMB, pT - rho * area, jet1 | |
156 | TH1 *fJet2Pt_BG_EMB[4][3][4][4]; //!EMB, pT - rho * area, jet2 | |
157 | TH1 *fJet1DeltaPt[4][3][4][4]; //!EMB, pT - rho * area - pT(embtrack), jet1 | |
158 | TH1 *fJet2DeltaPt[4][3][4][4]; //!EMB, pT - rho * area - pT(embtrack), jet2 | |
159 | TH1 *fJetDeltaPhi_EMB[4][3][4][4]; //!EMB, jetDeltaPhi | |
160 | TH1 *fJetDeltaEta_EMB[4][3][4][4]; //!EMB, jetDeltaEta | |
b1e2cf83 | 161 | TH1 *fJet1SelectPt_BG_EMB[4][3][4][4]; //!EMB, selectleadingjetPt |
162 | TH1 *fJet2SelectPt_BG_EMB[4][3][4][4]; //!EMB, selectsubleadingjetPt | |
163 | TH1 *fJet1SelectDeltaPt[4][3][4][4]; //!EMB, selectleadingjetPt | |
164 | TH1 *fJet2SelectDeltaPt[4][3][4][4]; //!EMB, selectsubleadingjetPt | |
aba4548d | 165 | TH2 *fJet1EP_EMB[4][3][4][4]; //!EMB, jet1DeltaEP |
b1e2cf83 | 166 | TH1 *fAj_EMB[4][3][4][4]; //!EMB, Aj(energy balance) -> Aj = (jet1-jet2)/(jet1+jet2) |
167 | ||
168 | TH1 *fHJetDeltaPhi_Aj0_PbPb[4][3][4][4][4]; //!PbPb, HjetDeltaPhi, no Aj cut | |
169 | TH1 *fHJetDeltaPhi_Aj1_PbPb[4][3][4][4][4]; //!PbPb, HjetDeltaPhi, Aj1(0.0 to 0.2) | |
170 | TH1 *fHJetDeltaPhi_Aj2_PbPb[4][3][4][4][4]; //!PbPb, HjetDeltaPhi, Aj2(0.2 to 0.4) | |
171 | TH1 *fHJetDeltaPhi_Aj3_PbPb[4][3][4][4][4]; //!PbPb, HjetDeltaPhi, Aj3(0.4 to 0.6) | |
172 | TH1 *fHJetDeltaPhi_Aj4_PbPb[4][3][4][4][4]; //!PbPb, HjetDeltaPhi, Aj4(0.6 to 0.8) | |
aba4548d | 173 | TH1 *fHJet_EP_Aj0_PbPb[4][3][4][4][4]; //!PbPb, HjetEP, no Aj cut |
174 | TH1 *fHJet_EP_Aj1_PbPb[4][3][4][4][4]; //!PbPb, HjetEP, Aj1 | |
175 | TH1 *fHJet_EP_Aj2_PbPb[4][3][4][4][4]; //!PbPb, HjetEP, Aj2 | |
176 | TH1 *fHJet_EP_Aj3_PbPb[4][3][4][4][4]; //!PbPb, HjetEP, Aj3 | |
177 | TH1 *fHJet_EP_Aj4_PbPb[4][3][4][4][4]; //!PbPb, HjetEP, Aj4 | |
b1e2cf83 | 178 | TH1 *fHJetDeltaPhi_Aj0_MC[4][3][4][4][4]; //!MC, HjetDeltaPhi, no Aj cut |
179 | TH1 *fHJetDeltaPhi_Aj1_MC[4][3][4][4][4]; //!MC, HjetDeltaPhi, Aj1(0.0 to 0.2) | |
180 | TH1 *fHJetDeltaPhi_Aj2_MC[4][3][4][4][4]; //!MC, HjetDeltaPhi, Aj2(0.2 to 0.4) | |
181 | TH1 *fHJetDeltaPhi_Aj3_MC[4][3][4][4][4]; //!MC, HjetDeltaPhi, Aj3(0.4 to 0.6) | |
182 | TH1 *fHJetDeltaPhi_Aj4_MC[4][3][4][4][4]; //!MC, HjetDeltaPhi, Aj4(0.6 to 0.8) | |
aba4548d | 183 | TH1 *fHJet_EP_Aj0_MC[4][3][4][4][4]; //!MC, HjetEP, no Aj cut |
184 | TH1 *fHJet_EP_Aj1_MC[4][3][4][4][4]; //!MC, HjetEP, Aj1 | |
185 | TH1 *fHJet_EP_Aj2_MC[4][3][4][4][4]; //!MC, HjetEP, Aj2 | |
186 | TH1 *fHJet_EP_Aj3_MC[4][3][4][4][4]; //!MC, HjetEP, Aj3 | |
187 | TH1 *fHJet_EP_Aj4_MC[4][3][4][4][4]; //!MC, HjetEP, Aj4 | |
b1e2cf83 | 188 | TH1 *fHJetDeltaPhi_Aj0_EMB[4][3][4][4][4]; //!EMB, HjetDeltaPhi, no Aj cut |
189 | TH1 *fHJetDeltaPhi_Aj1_EMB[4][3][4][4][4]; //!EMB, HjetDeltaPhi, Aj1(0.0 to 0.2) | |
190 | TH1 *fHJetDeltaPhi_Aj2_EMB[4][3][4][4][4]; //!EMB, HjetDeltaPhi, Aj2(0.2 to 0.4) | |
191 | TH1 *fHJetDeltaPhi_Aj3_EMB[4][3][4][4][4]; //!EMB, HjetDeltaPhi, Aj3(0.4 to 0.6) | |
192 | TH1 *fHJetDeltaPhi_Aj4_EMB[4][3][4][4][4]; //!EMB, HjetDeltaPhi, Aj4(0.6 to 0.8) | |
aba4548d | 193 | TH1 *fHJet_EP_Aj0_EMB[4][3][4][4][4]; //!EMB, HjetEP, no Aj cut |
194 | TH1 *fHJet_EP_Aj1_EMB[4][3][4][4][4]; //!EMB, HjetEP, Aj1 | |
195 | TH1 *fHJet_EP_Aj2_EMB[4][3][4][4][4]; //!EMB, HjetEP, Aj2 | |
196 | TH1 *fHJet_EP_Aj3_EMB[4][3][4][4][4]; //!EMB, HjetEP, Aj3 | |
197 | TH1 *fHJet_EP_Aj4_EMB[4][3][4][4][4]; //!EMB, HjetEP, Aj4 | |
b1e2cf83 | 198 | |
b1e2cf83 | 199 | private: |
200 | AliVEvent *fEvent; | |
201 | Double_t fCentrality; //! V0M for current event | |
b1e2cf83 | 202 | |
203 | AliAnalysisTaskDijetHadron(const AliAnalysisTaskDijetHadron&); // not implemented | |
204 | AliAnalysisTaskDijetHadron &operator=(const AliAnalysisTaskDijetHadron&); // not implemented | |
205 | ||
206 | ClassDef(AliAnalysisTaskDijetHadron, 5) // Jet-Hadron analysis task | |
207 | }; | |
208 | #endif |