]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskFullpAJets.h
up from chris
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskFullpAJets.h
CommitLineData
ac6a3f1e 1#ifndef AliAnalysisTaskFullpAJets_H
2#define AliAnalysisTaskFullpAJets_H
3
4class TH1D;
5class TH2D;
6class TH3D;
7class TList;
8class TProfile;
9class TProfile2D;
10class TProfile3D;
11class TClonesArray;
12class AliESDtrackCuts;
13
14#ifndef ALIANALYSISTASKSE_H
15#include "AliAnalysisTaskSE.h"
16#endif
17
18class AliAnalysisTaskFullpAJets : public AliAnalysisTaskSE
19{
20 public:
21 AliAnalysisTaskFullpAJets();
22 AliAnalysisTaskFullpAJets(const char *name);
23 virtual ~AliAnalysisTaskFullpAJets();
24
25 virtual void UserCreateOutputObjects();
26 virtual void UserExecOnce();
27 virtual void UserExec(Option_t *option);
28 virtual void Terminate(Option_t *);
29
30 // User Defined Sub-Routines
31 void TrackHisto();
32 void ClusterHisto();
33 void EventHistos();
34 void InitChargedJets();
35 void InitFullJets();
36 void EstimateTotalBackground();
37 void EstimateBackgoundMinusLJet();
38 void Method1A();
39 void Method1B();
40 void Method1C();
41 void Method2A();
42 void Method2B();
43 void Method3(Bool_t EMCalOn);
78246241 44 void Method3DiJet();
45 void Method3Perp();
ac6a3f1e 46 void JetPtFullProfile();
47 void JetPtChargedProfile();
48 void JetPtEtaProfile();
49 void FillFullCorrJetPt(TH1D *myHisto,Double_t rho,Bool_t signal_cut);
c54b626a 50 void FillFullCorrJetPt(TH2D *myHisto,Double_t rho, Bool_t signal_cut);
ac6a3f1e 51 void FillFullDeltaRho(TH1D *myHisto,Double_t delta_rho,Bool_t signal_cut);
52 void FillBckgFlucDeltaPt(TH1D *myHisto, Double_t rho);
53 void DeleteArrays(Bool_t EMCalOn);
54
55 // User Defined Functions
56 Bool_t IsDiJetEvent();
57 Bool_t InsideRect(Double_t phi,Double_t phi_min,Double_t phi_max,Double_t eta,Double_t eta_min,Double_t eta_max);
58 Bool_t IsInEMCal(Double_t phi,Double_t eta);
59 Bool_t IsInEMCalFull(Double_t r,Double_t phi,Double_t eta);
60 Bool_t IsInEMCalPart(Double_t r,Double_t phi,Double_t eta);
61 Bool_t IsInTPCFull(Double_t r,Double_t phi,Double_t eta);
62 Bool_t IsInTPC(Double_t r,Double_t phi,Double_t eta,Bool_t Complete);
63
64 Double_t AreaWithinTPC(Double_t r,Double_t eta);
65 Double_t AreaWithinEMCal(Double_t r,Double_t phi,Double_t eta);
66 Double_t AreaEdge(Double_t r,Double_t z);
67 Double_t AreaOverlap(Double_t r,Double_t x,Double_t y);
68 Double_t TransverseArea(Double_t r,Double_t psi0,Double_t phi,Double_t eta);
69
c54b626a 70 // Used to set the R for the jet finders
71 inline void SetRjet(Int_t r)
ac6a3f1e 72 {
73 fRJET = r;
74 };
75
76 private:
77 TList *fOutput; // Output list
78 AliESDtrackCuts *fTrackCuts; // Track cuts
79
80 TH1D *fhTrackPt; //!
81 TH1D *fhTrackEta; //!
82 TH1D *fhTrackPhi; //!
83 TH1D *fhClusterPt; //!
84 TH1D *fhClusterEta; //!
85 TH1D *fhClusterPhi; //!
c54b626a 86 TH1D *fhCentrality; //!
ac6a3f1e 87 TH1D *fhBckgMult; //!
88 TH1D *fhBckgFluc; //!
89 TH1D *fhChargedJetPt; //! Charged Jet Pt distribution
90 TH1D *fhChargedJetPtAreaCut; //! Charged Jet Pt distribution with standard Area cut applied
91 TH1D *fhJetPtEMCal; //! Jet Pt distribution of Jets inside the EMCal
92 TH1D *fhJetPtEMCalAreaCut; //! Jet Pt distribution of Jets inside the EMCal with standard Area cut applied
93 TH1D *fhJetPtEMCalAreaCutSignal; //! Jet Pt distribution of Jets inside the EMCal with standard Area and Signal Threshold cut applied
94 TH1D *fhJetPtTPC; //! Jet Pt distribution of Jet outside EMCal
95 TH1D *fhJetPtTPCAreaCut; //! Jet Pt distribution of Jet outside EMCal with standard Area cut applied
96 TH1D *fhJetTPtRhoTotal; //! Jet Pt distribution corrected for full background
97 TH1D *fhJetTPtRhoTotalSignal; //! Jet Pt distribution corrected for full background with signal cut
98 TH1D *fhJetTPtRhoNoLeading; //! Jet Pt distribution corrected for full background minus leading jet
99 TH1D *fhJetTPtRhoNoLeadingSignal; //! Jet Pt distribution corrected for full background minus leading jet with signal cut
100 TH1D *fhJetTPt1B; //! Jet Pt distribution corrected for background using Method 1B
101 TH1D *fhJetTPt1BSignal; //! Jet Pt distribution corrected for background using Method 1B with signal cut
102 TH1D *fhEMCalBckg1B; //! Cluster Pt distribution of Tracks+CaloCluster with R=0.4 Method 1B
103 TH1D *fhJetTPt1C; //! Jet Pt distribution corrected for background using Method 1C
104 TH1D *fhEMCalBckg1C; //! Cluster Pt distribution of Tracks+CaloCluster with R=0.4 Method 1C
105 TH1D *fhEMCalJet2A; //! Clusters within the EMCal from di-jets within the TPC Satisfying certian criteria
106 TH1D *fhJetTPt2B; //! Jet Pt distribution corrected for background using Method 2B
107 TH1D *fhEMCalBckg2B; //! Cluster Pt distribution of Tracks+CaloCluster with R=0.4 Method 2B
108 TH1D *fhJetTPt3; //! Charged jet Pt distribution corrected for background using Method 3
109 TH1D *fhDeltaPtTotal; //! Delta pT spectrum with total rho used
110 TH1D *fhDeltaPtNoLeading; //! Delta pT spectrum with total - leading jet rho used
111 TH1D *fhDeltaPt1B; //! Delta pT spectrum with all signal jets subtracted rho used
112 TH1D *fhDeltaRho01; //! Differential between rho_0 to rho_1 event by event
113 TH1D *fhEMCalCellCounts; //! Plots the distribution of cluster counts in the EMCal. Used to determine which cells are hot (if any...)
c54b626a 114 TH1D *fh020RhoTotal; //! 0-20% Centrality rho plot for rho_0
115 TH1D *fh020RhoNoLeading; //! 0-20% Centrality rho plot for rho_1
116 TH1D *fh020Rho1B; //! 0-20% Centrality rho plot for rho_n
117 TH1D *fh020Rho2B; //! 0-20% Centrality rho plot for di-jet rho
118 TH1D *fh020Rho3; //! 0-20% Centrality rho plot for charged rho
119 TH1D *fh020JetPtEMCal; //!
120 TH1D *fh020JetPtEMCalAreaCut; //!
121 TH1D *fh020JetPtEMCalAreaCutSignal; //!
122 TH1D *fh020JetTPtRhoTotal; //!
123 TH1D *fh020JetTPtRhoTotalSignal; //!
124 TH1D *fh020JetTPtRhoNoLeading; //!
125 TH1D *fh020JetTPtRhoNoLeadingSignal; //!
126 TH1D *fh020JetTPt1B; //!
127 TH1D *fh020JetTPt1BSignal; //!
128 TH1D *fh020JetTPt1C; //!
129 TH1D *fh020JetTPt2B; //!
130 TH1D *fh020JetTPt3; //!
131 TH1D *fhDeltaPt2B; //! Delta pT spectrum with Method 2B used for rho
132 TH1D *fhDeltaPtkT; //! Delta pT spectrum with kT jets used to calculate rho
78246241 133 TH1D *fh020DiJetAsy; //! di-jet asymmetry. Should be scaled by the histogram's integral
134 TH1D *fh020RhokT; //! 0-20% Centrality rho plot for kT Background estimate
135 TH1D *fh020EMCalkTClusters; //! Number of kT clusters in EMCal event by event
136 TH1D *fh020EMCalAkTJets; //! Number of AkT jets in EMCal event by event
137 TH1D *fh020DiJetDeltaPhi; //! Angular dependance between events that contain two or more signal jets. Always angle between leading jet in the event and other sugnal jets.
138 TH1D *fhDiJetEMCalLeadingPt; //! Minimum biased plot of leading EMCal jet pT in a dijet event. Used to explore 3-jet events...
139 TH1D *fhDiJetEMCalLeadingDeltaPhi; //! Minimum biased plot of the angular difference between the leading dijet and the leading EMCal jet in a dijet event. Used to explore 3-jet events...
140 TH1D *fh020EMCalJet2A; //! 0-20% Clusters within the EMCal from di-jets within the TPC satisfying certian criteria
141
142 TH1D *fhDeltaRho0DiJet; //! QA Plot to investigate the event by event differential between rho_0 and rho_dijet. In principal should be a delta function centered at 0
143 TH1D *fh020Rho2BCore; //! 0-20% dijet rho from tracks and cluster nearest to the center of the EMCal
144 TH1D *fh020Rho3NoJets; //! 0-20% Charged background density in events with no signal jets.
145 TH1D *fh020Rho3DiJets; //! 0-20% Charged background density in events with a dijet.
146 TH1D *fh020Rho3Perp; //! 0-20% Charged background density in events with a dijet.
147
ac6a3f1e 148 TH2D *fhTrackEtaPhi; //!
149 TH2D *fhClusterEtaPhi; //!
150 TH2D *fhJetPtArea; //! Jet Area distribution vs Pt
c54b626a 151 TH2D *fhRhoTotal; //! Energy density of the EMCal (No jet exclusion)
152 TH2D *fhRhoNoLeading; //! Energy density of EMCal - leading fiducial jet
ac6a3f1e 153 TH2D *fhRho1B; //! Background estimate vs Centrality
154 TH2D *fhRho1C; //! Background estimate vs Centrality
155 TH2D *fhRho2B; //! Background estimate vs Centrality
156 TH2D *fhRho3; //! Background estimate vs Centrality
157 TH2D *fhJetConstituentPt; //! Pt distribution of jet constituents
c54b626a 158 TH2D *fhJetPtCenEMCal; //!
159 TH2D *fhJetPtCenEMCalAreaCut; //!
160 TH2D *fhJetPtCenEMCalAreaCutSignal; //!
161 TH2D *fhJetTPtCenRhoTotal; //!
162 TH2D *fhJetTPtCenRhoTotalSignal; //!
163 TH2D *fhJetTPtCenRhoNoLeading; //!
164 TH2D *fhJetTPtCenRhoNoLeadingSignal; //!
165 TH2D *fhJetTPtCen1B; //!
166 TH2D *fhJetTPtCen1BSignal; //!
167 TH2D *fhJetTPtCen1C; //!
168 TH2D *fhJetTPtCen2B; //!
169 TH2D *fhJetTPtCen3; //!
78246241 170 TH2D *fhDiJetCenAsy; //!
171 TH2D *fhDiJetCenDeltaPhi; //!
172 TH2D *fhEMCalCenJet2A; //!
173 TH2D *fhRho2BCore; //!
174 TH2D *fhRho3NoJets; //!
175 TH2D *fhRho3DiJets; //!
176 TH2D *fhRho3Perp; //!
c54b626a 177
ac6a3f1e 178 TH3D *fhJetTrigR1A; //! Clusters from events with high Pt trigger as a funtion of trigger Pt and delta_R
179
180 TProfile *fpEventMult; //!
181 TProfile *fpRhoTotal; //!
182 TProfile *fpRhoNoLeading; //!
183 TProfile *fpRho1B; //!
c54b626a 184 TProfile *fpRho2B; //!
ac6a3f1e 185 TProfile *fpRho3; //!
186 TProfile *fpRhoScale; //! Scale of rho_total/rho_charged event/event vs centrality
187 TProfile *fpRhokT; //! Rho profile using rho from median kT jet
188 TProfile *fpJetPtRhoTotal; //!
189 TProfile *fpJetPtRhoNoLeading; //!
78246241 190 TProfile *fpJetPtRhokT; //!
191 TProfile *fpRhoChargedkT; //!
192 TProfile *fpRhoScalekT; //!
193 TProfile *fpRho2BCore; //!
194 TProfile *fpRho3NoJets; //!
195 TProfile *fpRho3DiJets; //!
196 TProfile *fpRho3Perp; //!
ac6a3f1e 197
198 TProfile **fpJetEtaProfile; //!
199 TProfile **fpJetAbsEtaProfile; //!
200 TProfile **fpChargedJetRProfile; //!
201 TProfile **fpJetRProfile; //!
202
203 TProfile2D *fpTrackPtProfile; //!
204 TProfile2D *fpClusterPtProfile; //!
205
206 TProfile3D **fpChargedJetEDProfile; //! Profile of Charged Jet Energy Density as a function of Jet pT, jet Eta, and distance from jet center in bins of 10% centrality cuts. Jet profile must be fully contained within TPC
207 TProfile3D **fpJetEDProfile; //! Profile of Jet Energy Density as a function of Jet pT, jet Eta, and distance from jet center in bins of 10% centrality cuts. Jet profile must be fully contained within EMCal
208
209 Bool_t fIsInitialized;
210 Int_t fRJET; // Used to set Anti_kt R. Called from AddTask Macro
211 Long_t fnEvents; // Counter for the number of events that made the physics selection with TPC+EMCal
212 Long_t fnEventsCharged; // Counter for the number of events that made the physics selection with TPC only
213 Long_t fnDiJetEvents; // Counter for the number of dijet events
214
215 // Protected Global Variables
216 Double_t fEMCalPhiMin;
217 Double_t fEMCalPhiMax;
218 Double_t fEMCalPhiTotal;
219 Double_t fEMCalEtaMin;
220 Double_t fEMCalEtaMax;
221 Double_t fEMCalEtaTotal;
222 Double_t fEMCalArea;
223
224 Double_t fTPCPhiMin;
225 Double_t fTPCPhiMax;
226 Double_t fTPCPhiTotal;
227 Double_t fTPCEtaMin;
228 Double_t fTPCEtaMax;
229 Double_t fTPCEtaTotal;
230 Double_t fTPCArea;
231
232 Double_t fJetR;
233 Double_t fJetAreaCutFrac; // Fudge factor for selecting on jets with threshold Pt or higher
234 Double_t fJetAreaThreshold;
235 Double_t fDeltaRho01;
236 Int_t fnEMCalCells; // Total number of cells in the EMCal
237
238 Int_t fCentralityBins;
239 Double_t fCentralityLow;
240 Double_t fCentralityUp;
241 Double_t fEventCentrality;
242
78246241 243 Double_t fRhoTotal; // From Method 1B
244 Double_t fRhoCharged; // From Method 3
245 Double_t fRhokTTotal;
246 Double_t fRhokTCharged;
247 Double_t fRhoAkTTotal; // From Total Background
ac6a3f1e 248
249 // Jet profile variables
250 Int_t fEtaProfileBins;
251 Double_t fEtaProfileLow;
252 Double_t fEtaProfileUp;
253
254 Int_t fEDProfileRBins;
255 Double_t fEDProfileRLow;
256 Double_t fEDProfileRUp;
257
258 Int_t fEDProfilePtBins;
259 Double_t fEDProfilePtLow;
260 Double_t fEDProfilePtUp;
261
262 Int_t fEDProfileEtaBins;
263 Double_t fEDProfileEtaLow;
264 Double_t fEDProfileEtaUp;
265
266 // General Global variables
267 Int_t fnTracks;
268 Int_t fnClusters;
269 Int_t fnAKTFullJets;
270 Int_t fnAKTChargedJets;
271 Int_t fnKTFullJets;
78246241 272 Int_t fnKTChargedJets;
ac6a3f1e 273 Int_t fnBckgClusters;
274
275 Double_t fTPCJetThreshold;
276 Double_t fEMCalJetThreshold;
277
278 Double_t fvertex[3];
279 Double_t fVertexWindow;
280 Double_t fVertexMaxR;
281
282 Int_t fnJetsPtCut;
283 Int_t fnJetsPtTPCCut;
284 Int_t fnJetsPtTotalCut;
285 Int_t fnJetsChargedPtCut;
286 Int_t fnJetskTEMCalFull;
78246241 287 Int_t fnJetskTTPCFull;
ac6a3f1e 288
289 Int_t fPtMaxID;
290 Int_t fPtFullMaxID;
291 Int_t fPtTPCMaxID;
292 Int_t fPtFullTPCMaxID;
293 Int_t fPtTotalMaxID;
294 Int_t fPtChargedMaxID;
295
296 Double_t fPtMax;
297 Double_t fPtFullMax;
298 Double_t fPtTPCMax;
299 Double_t fPtFullTPCMax;
300 Double_t fPtTotalMax;
301 Double_t fPtChargedMax;
302
303 Int_t fChargedBackJetID;
ac6a3f1e 304
305 // Dynamic Array variables
306 TClonesArray *fmyTracks; //!
307 TClonesArray *fmyClusters; //!
308 TClonesArray *fmyAKTFullJets; //!
309 TClonesArray *fmyAKTChargedJets; //!
310 TClonesArray *fmyKTFullJets; //!
78246241 311 TClonesArray *fmyKTChargedJets; //!
ac6a3f1e 312
313 Int_t *fJetPtCutID; //! Stores the jets(ID) above a Threshold Pt for EMCal
314 Int_t *fJetPtTPCCutID; //! Stores the jets above a Threshold Pt for TPC
315 Int_t *fJetPtTotalCutID; //! Stores the jets(ID) above a Threshold Pt
316 Int_t *fJetPtChargedCutID; //! Stores the jets(ID) above a Threshold Pt for TPC in events without the EMCal on
317 Int_t *fJetkTEMCalFullID; //!
78246241 318 Int_t *fJetkTTPCFullID; //!
ac6a3f1e 319
320 Bool_t *fInEMCal; //!
321 Bool_t *fInEMCalFull; //!
322 Bool_t *fInTPCFull; //!
323 Bool_t *fInTPCChargedFull; //!
324
325 Double_t *fRCBckgFluc; //! Stores the pT of RC Background clusters in EMCal
326
327 AliAnalysisTaskFullpAJets(const AliAnalysisTaskFullpAJets&); // not implemented
328 AliAnalysisTaskFullpAJets& operator=(const AliAnalysisTaskFullpAJets&); // not implemented
329
330 ClassDef(AliAnalysisTaskFullpAJets, 1); // example of analysis
331};
332#endif