]>
Commit | Line | Data |
---|---|---|
ac6a3f1e | 1 | #ifndef AliAnalysisTaskFullpAJets_H |
2 | #define AliAnalysisTaskFullpAJets_H | |
3 | ||
d812e269 | 4 | class TString; |
1cd88f63 ML |
5 | class TH1F; |
6 | class TH2F; | |
7 | class TH3F; | |
2d2100d5 | 8 | class THnSparse; |
ac6a3f1e | 9 | class TList; |
10 | class TProfile; | |
11 | class TProfile2D; | |
12 | class TProfile3D; | |
13 | class TClonesArray; | |
c6202663 | 14 | class TObjArray; |
15 | class TLorentzVector; | |
ac6a3f1e | 16 | class AliESDtrackCuts; |
c6202663 | 17 | class AliEmcalJet; |
08b981da | 18 | class AliVEvent; |
c6202663 | 19 | class AliEMCALGeometry; |
08b981da | 20 | class AliEMCALRecoUtils; |
21 | class AliVCaloCells; | |
24a61909 | 22 | class AliPicoTrack; |
ac6a3f1e | 23 | |
6bda5230 CY |
24 | #include "AliAnalysisTaskEmcalJet.h" |
25 | #include "AliAnalysisTaskEmcal.h" | |
ac6a3f1e | 26 | |
6bda5230 | 27 | class AliAnalysisTaskFullpAJets : public AliAnalysisTaskEmcalJet |
ac6a3f1e | 28 | { |
c6202663 | 29 | // AlipAJetData Helper Class |
30 | class AlipAJetData | |
31 | { | |
32 | public: | |
33 | AlipAJetData(); | |
34 | AlipAJetData(const char *name, Bool_t isFull, Int_t nEntries); | |
35 | virtual ~AlipAJetData(); | |
36 | ||
37 | // User Defined Sub-Routines | |
38 | void InitializeJetData(TClonesArray *jetList, Int_t nEntries); | |
39 | ||
40 | // Setters | |
41 | void SetName(const char *name); | |
42 | void SetIsJetsFull(Bool_t isFull); | |
43 | void SetTotalEntries(Int_t nEntries); | |
44 | void SetTotalJets(Int_t nJets); | |
45 | void SetTotalSignalJets(Int_t nSignalJets); | |
46 | void SetSignalCut(Double_t Pt); | |
47 | void SetLeading(Int_t index, Double_t Pt); | |
48 | void SetSubLeading(Int_t index, Double_t Pt); | |
49 | void SetJetIndex(Int_t index, Int_t At); | |
50 | void SetSignalJetIndex(Int_t index, Int_t At); | |
51 | void SetIsJetInArray(Bool_t isInArray, Int_t At); | |
52 | void SetAreaCutFraction(Double_t areaFraction); | |
53 | void SetJetR(Double_t jetR); | |
91d0893e | 54 | void SetNEF(Double_t nef); |
8daeee93 | 55 | void SetSignalTrackPtBias(Bool_t chargedBias); |
1cd88f63 | 56 | |
c6202663 | 57 | // Getters |
58 | Int_t GetTotalEntries(); | |
59 | Int_t GetTotalJets(); | |
60 | Int_t GetTotalSignalJets(); | |
61 | Double_t GetSignalCut(); | |
62 | Int_t GetLeadingIndex(); | |
63 | Double_t GetLeadingPt(); | |
64 | Int_t GetSubLeadingIndex(); | |
65 | Double_t GetSubLeadingPt(); | |
66 | Int_t GetJetIndex(Int_t At); | |
67 | Int_t GetSignalJetIndex(Int_t At); | |
68 | Bool_t GetIsJetInArray(Int_t At); | |
20f2d13a | 69 | Double_t GetJetMaxChargedPt(Int_t At); |
91d0893e | 70 | Double_t GetNEF(); |
c6202663 | 71 | |
53c56e05 | 72 | Int_t* GetJets() const {return fJetsIndex;} //! |
73 | Int_t* GetSignalJets() const {return fJetsSCIndex;} //! | |
c6202663 | 74 | |
75 | private: | |
76 | ||
77 | // Variables | |
53c56e05 | 78 | const char *fName; //! |
c6202663 | 79 | Bool_t fIsJetsFull; |
80 | Int_t fnTotal; | |
81 | Int_t fnJets; | |
82 | Int_t fnJetsSC; | |
83 | ||
84 | Double_t fJetR; | |
85 | Double_t fSignalPt; | |
86 | Double_t fAreaCutFrac; | |
91d0893e | 87 | Double_t fNEF; |
8daeee93 | 88 | Bool_t fSignalTrackBias; |
c6202663 | 89 | |
90 | Int_t fPtMaxIndex; | |
91 | Double_t fPtMax; | |
92 | Int_t fPtSubLeadingIndex; | |
93 | Double_t fPtSubLeading; | |
94 | ||
53c56e05 | 95 | Int_t *fJetsIndex; //! |
96 | Int_t *fJetsSCIndex; //! | |
97 | Bool_t *fIsJetInArray; //! | |
20f2d13a | 98 | Double_t *fJetMaxChargedPt; //! |
c6202663 | 99 | }; |
100 | ||
101 | // AlipAJetHistos Helper Class | |
102 | class AlipAJetHistos | |
103 | { | |
104 | public: | |
105 | AlipAJetHistos(); | |
106 | AlipAJetHistos(const char *name); | |
d6cc4b0c | 107 | AlipAJetHistos(const char *name, TString centag, Bool_t doNEF=kFALSE); |
7b17307f | 108 | AlipAJetHistos(const char *name, TString centag, Bool_t doNEF, Bool_t doNEFSignalOnly, Bool_t doTHnSparse); |
109 | ||
c6202663 | 110 | virtual ~AlipAJetHistos(); |
111 | ||
112 | // User Defined Sub-Routines | |
113 | void Init(); | |
114 | void FillRho(Double_t eventCentrality, Double_t rho); | |
115 | void FillBSJS(Double_t eventCentrality, Double_t rho, Double_t signalCut, TClonesArray *jetList, Int_t *indexJetList, Int_t nIndexJetList); | |
116 | void FillDeltaPt(Double_t eventCentrality, Double_t rho, Double_t jetRadius, Double_t *RCArray, Int_t nRC); | |
117 | void FillDeltaPtSignal(Double_t eventCentrality, Double_t rho, Double_t jetRadius, Double_t *RCArray, Int_t nRC); | |
7acc3e04 | 118 | void FillDeltaPtNColl(Double_t eventCentrality, Double_t rho, Double_t jetRadius, Double_t *RCArray, Int_t nRC); |
c6202663 | 119 | void FillBackgroundFluctuations(Double_t eventCentrality, Double_t rho, Double_t jetRadius); |
120 | void FillLeadingJetPtRho(Double_t jetPt, Double_t rho); | |
8daeee93 | 121 | void DoNEFQAPlots(Bool_t doNEFAna); |
d2af75be | 122 | void DoNEFSignalOnly(Bool_t doNEFSignalOnly); |
08b981da | 123 | void DoNEFAnalysis(Double_t nefCut, Double_t signalCut, TClonesArray *jetList, Int_t *indexJetList, Int_t nIndexJetList, TObjArray *clusterList, TClonesArray *orgClusterList, AliVEvent *event, AliEMCALGeometry *geometry, AliEMCALRecoUtils *recoUtils, AliVCaloCells *cells); |
825d120f | 124 | void FillMiscJetStats(TClonesArray *jetList, Int_t *indexJetList, Int_t nIndexJetList, TClonesArray *trackList, TClonesArray *clusterList, Double_t *vertex); |
c6202663 | 125 | |
126 | // Setters | |
127 | void SetName(const char *name); | |
d6cc4b0c | 128 | void SetCentralityTag(TString name); |
c6202663 | 129 | void SetCentralityRange(Int_t bins, Double_t low, Double_t up); |
130 | void SetPtRange(Int_t bins, Double_t low, Double_t up); | |
131 | void SetRhoPtRange(Int_t bins, Double_t low, Double_t up); | |
132 | void SetDeltaPtRange(Int_t bins, Double_t low, Double_t up); | |
133 | void SetBackgroundFluctuationsPtRange(Int_t bins, Double_t low, Double_t up); | |
134 | void SetLeadingJetPtRange(Int_t bins, Double_t low, Double_t up); | |
20f2d13a | 135 | void SetLeadingChargedTrackPtRange(Int_t bins, Double_t low, Double_t up); |
91d0893e | 136 | void SetNEFRange(Int_t bins, Double_t low, Double_t up); |
3e43a01f | 137 | void SetSignalTrackPtBias(Bool_t chargedBias); |
1cd88f63 ML |
138 | void SetNEFJetDimensions(Int_t n); |
139 | void SetNEFClusterDimensions(Int_t n); | |
d6cc4b0c | 140 | void SetRhoValue(Double_t value); |
7b17307f | 141 | void DoTHnSparse(Bool_t doTHnSparse); |
d6cc4b0c | 142 | |
c6202663 | 143 | // User Defined Functions |
53c56e05 | 144 | TList* GetOutputHistos(); //! |
7acc3e04 | 145 | Double_t GetRho(); |
c6202663 | 146 | |
147 | private: | |
53c56e05 | 148 | TList *fOutput; //! Output list |
c6202663 | 149 | |
150 | // Histograms | |
151 | // This set of Histograms is for filling the Rho Spectral distributions | |
1cd88f63 ML |
152 | TH1F *fh020Rho; //! |
153 | TH1F *fh80100Rho; //! | |
154 | TH1F *fhRho; //! | |
155 | TH2F *fhRhoCen; //! | |
c6202663 | 156 | |
157 | // This set of Histograms is for filling the Background Subtracted Jet Spectra | |
1cd88f63 ML |
158 | TH1F *fh020BSPt; //! |
159 | TH1F *fh80100BSPt; //! | |
160 | TH1F *fhBSPt; //! | |
161 | TH2F *fhBSPtCen; //! | |
c6202663 | 162 | |
163 | // This set of Histograms is for filling the Background Subtracted Signal Jet Spectra | |
1cd88f63 ML |
164 | TH1F *fh020BSPtSignal; //! |
165 | TH1F *fh80100BSPtSignal; //! | |
166 | TH1F *fhBSPtSignal; //! | |
167 | TH2F *fhBSPtCenSignal; //! | |
c6202663 | 168 | |
169 | // This set of Histograms is for filling Delta Pt where the RC are at least 2R away from the leading Signal | |
1cd88f63 ML |
170 | TH1F *fh020DeltaPt; //! |
171 | TH1F *fh80100DeltaPt; //! | |
172 | TH1F *fhDeltaPt; //! | |
173 | TH2F *fhDeltaPtCen; //! | |
c6202663 | 174 | |
175 | // This set of Histograms is for filling Delta Pt where the RC have to spatial restrictions | |
1cd88f63 ML |
176 | TH1F *fh020DeltaPtSignal; //! |
177 | TH1F *fh80100DeltaPtSignal; //! | |
178 | TH1F *fhDeltaPtSignal; //! | |
179 | TH2F *fhDeltaPtCenSignal; //! | |
7acc3e04 | 180 | |
181 | // This set of Histograms is for filling Delta Pt with NColl | |
1cd88f63 ML |
182 | TH1F *fh020DeltaPtNColl; //! |
183 | TH1F *fh80100DeltaPtNColl; //! | |
184 | TH1F *fhDeltaPtNColl; //! | |
185 | TH2F *fhDeltaPtCenNColl; //! | |
c6202663 | 186 | |
187 | // This set of Histograms is for filling Background Fluctuations Spectra | |
1cd88f63 ML |
188 | TH1F *fh020BckgFlucPt; //! |
189 | TH1F *fh80100BckgFlucPt; //! | |
190 | TH1F *fhBckgFlucPt; //! | |
191 | TH2F *fhBckgFlucPtCen; //! | |
c6202663 | 192 | |
193 | // Profiles | |
194 | TProfile *fpRho; //! | |
195 | TProfile *fpLJetRho; //! | |
1cd88f63 ML |
196 | |
197 | // Jet Profile | |
7b17307f | 198 | TH3F *fhJetPtEtaPhi; //! |
1cd88f63 | 199 | TH2F *fhJetPtArea; //! |
1cd88f63 ML |
200 | TH2F *fhJetConstituentPt; //! |
201 | TH2F *fhJetTracksPt; //! | |
202 | TH2F *fhJetClustersPt; //! | |
203 | TH2F *fhJetConstituentCounts; //! | |
204 | TH2F *fhJetTracksCounts; //! | |
205 | TH2F *fhJetClustersCounts; //! | |
7b17307f | 206 | TH2F *fhJetPtZConstituent; //! |
825d120f | 207 | TH2F *fhJetPtZTrack; //! |
208 | TH2F *fhJetPtZCluster; //! | |
7b17307f | 209 | TH2F *fhJetPtZLeadingConstituent; //! |
210 | TH2F *fhJetPtZLeadingTrack; //! | |
211 | TH2F *fhJetPtZLeadingCluster; //! | |
e864d416 | 212 | |
8daeee93 | 213 | // Histograms for Neutral Energy Fraction |
214 | TList *fNEFOutput; //! NEF QA Plots | |
1cd88f63 | 215 | |
7b17307f | 216 | TH2F *fhJetPtNEF; //! |
217 | ||
1cd88f63 | 218 | THnSparse *fhJetNEFInfo; //! Jet NEF Information Histogram |
2d2100d5 MV |
219 | THnSparse *fhJetNEFSignalInfo; //! Signal Jet NEF Information Histogram |
220 | THnSparse *fhClusterNEFInfo; //! Cluster Jet NEF Information Histogram | |
221 | THnSparse *fhClusterNEFSignalInfo; //! Cluster Signal Jet NEF Information Histogram | |
1cd88f63 ML |
222 | |
223 | TH1F *fhClusterShapeAll; //! | |
224 | TH2F *fhClusterPtCellAll; //! | |
8daeee93 | 225 | |
c6202663 | 226 | // Variables |
53c56e05 | 227 | const char *fName; //! |
d6cc4b0c | 228 | TString fCentralityTag; |
c6202663 | 229 | |
230 | Int_t fCentralityBins; | |
231 | Double_t fCentralityLow; | |
232 | Double_t fCentralityUp; | |
233 | ||
234 | Int_t fPtBins; | |
235 | Double_t fPtLow; | |
236 | Double_t fPtUp; | |
237 | ||
238 | Int_t fRhoPtBins; | |
239 | Double_t fRhoPtLow; | |
240 | Double_t fRhoPtUp; | |
241 | ||
242 | Int_t fDeltaPtBins; | |
243 | Double_t fDeltaPtLow; | |
244 | Double_t fDeltaPtUp; | |
245 | ||
246 | Int_t fBckgFlucPtBins; | |
247 | Double_t fBckgFlucPtLow; | |
248 | Double_t fBckgFlucPtUp; | |
249 | ||
250 | Int_t fLJetPtBins; | |
251 | Double_t fLJetPtLow; | |
252 | Double_t fLJetPtUp; | |
7acc3e04 | 253 | |
254 | Double_t fRhoValue; | |
20f2d13a | 255 | |
256 | Int_t fLChargedTrackPtBins; | |
257 | Double_t fLChargedTrackPtLow; | |
258 | Double_t fLChargedTrackPtUp; | |
91d0893e | 259 | |
8daeee93 | 260 | Bool_t fDoNEFQAPlots; |
d2af75be | 261 | Bool_t fDoNEFSignalOnly; |
3e43a01f | 262 | Bool_t fSignalTrackBias; |
7b17307f | 263 | Bool_t fDoTHnSparse; |
264 | ||
91d0893e | 265 | Int_t fNEFBins; |
266 | Double_t fNEFLow; | |
267 | Double_t fNEFUp; | |
1cd88f63 | 268 | |
2d2100d5 MV |
269 | Int_t fnDimJet; |
270 | Int_t fnDimCluster; | |
1cd88f63 | 271 | |
8daeee93 | 272 | // These members are 'sourced' from the base class and are initalized in the constructor |
273 | Double_t fEMCalPhiMin; | |
274 | Double_t fEMCalPhiMax; | |
275 | Double_t fEMCalEtaMin; | |
276 | Double_t fEMCalEtaMax; | |
c6202663 | 277 | }; |
278 | ||
279 | // AliAnalysisTaskFullpAJets | |
ac6a3f1e | 280 | public: |
281 | AliAnalysisTaskFullpAJets(); | |
282 | AliAnalysisTaskFullpAJets(const char *name); | |
283 | virtual ~AliAnalysisTaskFullpAJets(); | |
284 | ||
285 | virtual void UserCreateOutputObjects(); | |
286 | virtual void UserExecOnce(); | |
287 | virtual void UserExec(Option_t *option); | |
288 | virtual void Terminate(Option_t *); | |
289 | ||
290 | // User Defined Sub-Routines | |
c6202663 | 291 | void TrackCuts(); |
292 | void ClusterCuts(); | |
6bda5230 | 293 | void EventCounts(); |
ac6a3f1e | 294 | void TrackHisto(); |
295 | void ClusterHisto(); | |
ac6a3f1e | 296 | void InitChargedJets(); |
297 | void InitFullJets(); | |
c6202663 | 298 | void GenerateTPCRandomConesPt(); |
299 | void GenerateEMCalRandomConesPt(); | |
300 | ||
301 | void EstimateChargedRho0(); | |
302 | void EstimateChargedRho1(); | |
303 | void EstimateChargedRho2(); | |
304 | void EstimateChargedRhoN(); | |
305 | void EstimateChargedRhoScale(); | |
306 | void EstimateChargedRhokT(); | |
307 | void EstimateChargedRhokTScale(); | |
308 | void EstimateChargedRhoCMS(); | |
309 | void EstimateChargedRhoCMSScale(); | |
310 | ||
311 | void EstimateFullRho0(); | |
312 | void EstimateFullRho1(); | |
313 | void EstimateFullRho2(); | |
314 | void EstimateFullRhoN(); | |
315 | void EstimateFullRhoDijet(); | |
316 | void EstimateFullRhokT(); | |
317 | void EstimateFullRhoCMS(); | |
318 | ||
6bda5230 CY |
319 | void FullJetEnergyDensityProfile(); |
320 | void ChargedJetEnergyDensityProfile(); | |
321 | ||
69d38fff | 322 | void DeleteJetData(Int_t delOption); |
ac6a3f1e | 323 | |
324 | // User Defined Functions | |
325 | Bool_t IsDiJetEvent(); | |
326 | 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); | |
327 | Bool_t IsInEMCal(Double_t phi,Double_t eta); | |
328 | Bool_t IsInEMCalFull(Double_t r,Double_t phi,Double_t eta); | |
329 | Bool_t IsInEMCalPart(Double_t r,Double_t phi,Double_t eta); | |
330 | Bool_t IsInTPCFull(Double_t r,Double_t phi,Double_t eta); | |
331 | Bool_t IsInTPC(Double_t r,Double_t phi,Double_t eta,Bool_t Complete); | |
c6202663 | 332 | Bool_t IsJetOverlap(AliEmcalJet *jet1,AliEmcalJet *jet2,Bool_t EMCalOn); |
333 | ||
ac6a3f1e | 334 | Double_t AreaWithinTPC(Double_t r,Double_t eta); |
335 | Double_t AreaWithinEMCal(Double_t r,Double_t phi,Double_t eta); | |
336 | Double_t AreaEdge(Double_t r,Double_t z); | |
337 | Double_t AreaOverlap(Double_t r,Double_t x,Double_t y); | |
338 | Double_t TransverseArea(Double_t r,Double_t psi0,Double_t phi,Double_t eta); | |
c6202663 | 339 | Double_t MedianRhokT(Double_t *pTkTEntries, Double_t *RhokTEntries, Int_t nEntries); |
ac6a3f1e | 340 | |
c54b626a | 341 | // Used to set the R for the jet finders |
342 | inline void SetRjet(Int_t r) | |
ac6a3f1e | 343 | { |
344 | fRJET = r; | |
345 | }; | |
c6202663 | 346 | |
347 | // Used to set the Centrality Tag | |
d6cc4b0c | 348 | inline void SetCentralityTag(TString centag) |
c6202663 | 349 | { |
d6cc4b0c | 350 | fCentralityTag = centag.Data(); |
c6202663 | 351 | }; |
352 | ||
353 | // Used to set apriori Scaling Factor | |
354 | inline void SetScaleFactor(Double_t factor) | |
355 | { | |
356 | fScaleFactor = factor; | |
357 | }; | |
358 | ||
359 | // Used to set the minimum pT required to analyize picotracks | |
360 | inline void SetTrackPtCut(Double_t pT) | |
361 | { | |
362 | fTrackMinPt = pT; | |
363 | } | |
ac6a3f1e | 364 | |
c6202663 | 365 | // Used to set the minimum pT required to analyize picotracks |
366 | inline void SetClusterPtCut(Double_t pT) | |
367 | { | |
368 | fClusterMinPt = pT; | |
369 | } | |
d812e269 | 370 | |
371 | // Used to set Tracks collection name | |
372 | inline void SetTrackName(TString name) | |
373 | { | |
374 | fTrackName = name; | |
375 | }; | |
376 | ||
377 | // Used to set Clusters collection name | |
378 | inline void SetClusterName(TString name) | |
379 | { | |
380 | fClusName = name; | |
381 | }; | |
382 | ||
383 | // Used to set kT Charged Jet collection name | |
384 | inline void SetkTChargedJetName(TString name) | |
385 | { | |
386 | fkTChargedName = name; | |
387 | }; | |
388 | ||
389 | // Used to set anti-kT Charged Jet collection name | |
390 | inline void SetAkTChargedJetName(TString name) | |
c6202663 | 391 | { |
d812e269 | 392 | fAkTChargedName = name; |
c6202663 | 393 | }; |
d812e269 | 394 | |
395 | // Used to set kT Full Jet collection name | |
396 | inline void SetkTFullJetName(TString name) | |
397 | { | |
398 | fkTFullName = name; | |
399 | }; | |
400 | ||
401 | // Used to set anti-kT Full Jet collection name | |
402 | inline void SetAkTFullJetName(TString name) | |
403 | { | |
404 | fAkTFullName = name; | |
405 | }; | |
7acc3e04 | 406 | |
407 | // Used to set Ncoll for Delta Pt | |
408 | inline void SetNColl(Double_t ncoll) | |
409 | { | |
410 | fNColl = ncoll; | |
91d0893e | 411 | }; |
d812e269 | 412 | |
91d0893e | 413 | inline void SetNEFSignalJetCut(Double_t nef) |
414 | { | |
415 | fNEFSignalJetCut = nef; | |
416 | }; | |
417 | ||
87a5edfe | 418 | inline void DoNEFCalibration(Bool_t doNEF) |
419 | { | |
3e43a01f | 420 | fDoNEF = doNEF; |
87a5edfe | 421 | }; |
422 | ||
3e43a01f | 423 | inline void SetJetChargeBias(Bool_t trackBias) |
424 | { | |
425 | fSignalTrackBias = trackBias; | |
62620fff | 426 | }; |
3e43a01f | 427 | |
62620fff | 428 | inline void DoTrackQA(Bool_t doQA) |
429 | { | |
430 | fTrackQA = doQA; | |
431 | }; | |
432 | ||
433 | inline void DoClusterQA(Bool_t doQA) | |
434 | { | |
435 | fClusterQA = doQA; | |
436 | }; | |
437 | ||
438 | inline void CalculateRhoJet(Int_t doRhoJet) | |
439 | { | |
440 | fCalculateRhoJet = doRhoJet; | |
441 | }; | |
d2af75be CY |
442 | |
443 | inline void DoNEFSignalOnly(Bool_t doNEF) | |
444 | { | |
445 | fDoNEFSignalOnly = doNEF; | |
446 | }; | |
62620fff | 447 | |
6bda5230 CY |
448 | inline void DoVertexRCut(Bool_t doCut) |
449 | { | |
450 | fDoVertexRCut = doCut; | |
451 | }; | |
452 | ||
453 | inline void SetMCParticleLevel(Bool_t mcPartLevel) | |
454 | { | |
455 | fMCPartLevel = mcPartLevel; | |
456 | }; | |
e0efb3f6 | 457 | |
458 | inline void SetJetRAcceptance(Double_t r) | |
459 | { | |
460 | fJetRAccept = r; | |
461 | }; | |
462 | ||
7b17307f | 463 | inline void DoTHnSparse(Bool_t doTHnSparse) |
464 | { | |
465 | fDoTHnSparse = doTHnSparse; | |
466 | }; | |
467 | ||
9196956a | 468 | inline void DoJetRhoDensity(Bool_t doJetRhoDensity) |
469 | { | |
470 | fDoJetRhoDensity = doJetRhoDensity; | |
471 | } | |
472 | ||
ac6a3f1e | 473 | private: |
53c56e05 | 474 | TList *fOutput; //! Output list |
62620fff | 475 | TList *flTrack; //! Track QA List |
476 | TList *flCluster; //! Cluster QA List | |
ac6a3f1e | 477 | |
1cd88f63 ML |
478 | TH1F *fhTrackPt; //! |
479 | TH1F *fhTrackEta; //! | |
480 | TH1F *fhTrackPhi; //! | |
481 | TH1F *fhGlobalTrackPt; //! | |
482 | TH1F *fhGlobalTrackEta; //! | |
483 | TH1F *fhGlobalTrackPhi; //! | |
484 | TH1F *fhComplementaryTrackPt; //! | |
485 | TH1F *fhComplementaryTrackEta; //! | |
486 | TH1F *fhComplementaryTrackPhi; //! | |
487 | TH1F *fhClusterPt; //! | |
488 | TH1F *fhClusterEta; //! | |
489 | TH1F *fhClusterPhi; //! | |
490 | TH1F *fhCentrality; //! | |
491 | TH1F *fhEMCalCellCounts; //! Plots the distribution of cluster counts in the EMCal. Used to determine which cells are hot (if any...) | |
7acc3e04 | 492 | |
6bda5230 CY |
493 | TH1F *fhChargeAndNeutralEvents; //! |
494 | TH1F *fhChargeOnlyEvents; //! | |
495 | TH1F *fhNeutralOnlyEvents; //! | |
496 | TH1F *fhNothingEvents; //! | |
497 | TH1F *fhEMCalChargeAndNeutralEvents; //! | |
498 | TH1F *fhEMCalChargeOnlyEvents; //! | |
499 | TH1F *fhEMCalNeutralOnlyEvents; //! | |
500 | TH1F *fhEMCalNothingEvents; //! | |
501 | ||
1cd88f63 ML |
502 | TH2F *fhTrackEtaPhi; //! |
503 | TH2F *fhTrackPhiPt; //! | |
504 | TH2F *fhTrackEtaPt; //! | |
505 | TH2F *fhGlobalTrackEtaPhi; //! | |
506 | TH2F *fhGlobalTrackPhiPt; //! | |
507 | TH2F *fhGlobalTrackEtaPt; //! | |
508 | TH2F *fhComplementaryTrackEtaPhi; //! | |
509 | TH2F *fhComplementaryTrackPhiPt; //! | |
510 | TH2F *fhComplementaryTrackEtaPt; //! | |
24a61909 | 511 | |
1cd88f63 ML |
512 | TH2F *fhClusterEtaPhi; //! |
513 | TH2F *fhClusterPhiPt; //! | |
514 | TH2F *fhClusterEtaPt; //! | |
c54b626a | 515 | |
1cd88f63 ML |
516 | TH2F *fhEMCalEventMult; //! |
517 | TH2F *fhTPCEventMult; //! | |
518 | TH2F *fhEMCalTrackEventMult; //! | |
3e43a01f | 519 | |
c6202663 | 520 | TProfile *fpEMCalEventMult; //! |
521 | TProfile *fpTPCEventMult; //! | |
ac6a3f1e | 522 | |
ac6a3f1e | 523 | TProfile2D *fpTrackPtProfile; //! |
524 | TProfile2D *fpClusterPtProfile; //! | |
525 | ||
6bda5230 CY |
526 | TProfile3D *fpFullJetEDProfile; //! |
527 | TProfile3D *fpChargedJetEDProfile; //! | |
528 | TProfile3D *fpChargedJetEDProfileScaled; //! | |
529 | ||
c6202663 | 530 | AlipAJetHistos *fTPCRawJets; //! |
531 | AlipAJetHistos *fEMCalRawJets; //! | |
62620fff | 532 | |
533 | AlipAJetHistos *fRhoChargedCMSScale; //! | |
534 | AlipAJetHistos *fRhoChargedScale; //! | |
535 | ||
c6202663 | 536 | AlipAJetHistos *fRhoFull0; //! |
537 | AlipAJetHistos *fRhoFull1; //! | |
538 | AlipAJetHistos *fRhoFull2; //! | |
539 | AlipAJetHistos *fRhoFullN; //! | |
540 | AlipAJetHistos *fRhoFullDijet; //! | |
541 | AlipAJetHistos *fRhoFullkT; //! | |
542 | AlipAJetHistos *fRhoFullCMS; //! | |
543 | ||
544 | AlipAJetHistos *fRhoCharged0; //! | |
545 | AlipAJetHistos *fRhoCharged1; //! | |
546 | AlipAJetHistos *fRhoCharged2; //! | |
e864d416 | 547 | AlipAJetHistos *fRhoChargedN; //! |
c6202663 | 548 | AlipAJetHistos *fRhoChargedkT; //! |
549 | AlipAJetHistos *fRhoChargedkTScale; //! | |
550 | AlipAJetHistos *fRhoChargedCMS; //! | |
c6202663 | 551 | |
552 | AlipAJetData *fTPCJet; //! | |
553 | AlipAJetData *fTPCFullJet; //! | |
554 | AlipAJetData *fTPCOnlyJet; //! | |
8daeee93 | 555 | AlipAJetData *fTPCJetUnbiased; //! |
c6202663 | 556 | AlipAJetData *fTPCkTFullJet; //! |
557 | AlipAJetData *fEMCalJet; //! | |
558 | AlipAJetData *fEMCalFullJet; //! | |
559 | AlipAJetData *fEMCalPartJet; //! | |
8daeee93 | 560 | AlipAJetData *fEMCalPartJetUnbiased; //! |
c6202663 | 561 | AlipAJetData *fEMCalkTFullJet; //! |
562 | ||
563 | // Variables | |
ac6a3f1e | 564 | Bool_t fIsInitialized; |
565 | Int_t fRJET; // Used to set Anti_kt R. Called from AddTask Macro | |
566 | Long_t fnEvents; // Counter for the number of events that made the physics selection with TPC+EMCal | |
567 | Long_t fnEventsCharged; // Counter for the number of events that made the physics selection with TPC only | |
568 | Long_t fnDiJetEvents; // Counter for the number of dijet events | |
08b981da | 569 | AliVEvent *fEvent; //! |
570 | AliEMCALRecoUtils *fRecoUtil; //! | |
571 | AliEMCALGeometry *fEMCALGeometry; //! | |
572 | AliVCaloCells *fCells; //! | |
87a5edfe | 573 | Bool_t fDoNEF; |
d2af75be | 574 | Bool_t fDoNEFSignalOnly; |
3e43a01f | 575 | Bool_t fSignalTrackBias; |
62620fff | 576 | Bool_t fTrackQA; |
577 | Bool_t fClusterQA; | |
578 | Int_t fCalculateRhoJet; | |
6bda5230 CY |
579 | Bool_t fDoVertexRCut; |
580 | Bool_t fMCPartLevel; | |
7b17307f | 581 | Bool_t fDoTHnSparse; |
9196956a | 582 | Bool_t fDoJetRhoDensity; |
3e43a01f | 583 | |
ac6a3f1e | 584 | // Protected Global Variables |
585 | Double_t fEMCalPhiMin; | |
586 | Double_t fEMCalPhiMax; | |
587 | Double_t fEMCalPhiTotal; | |
588 | Double_t fEMCalEtaMin; | |
589 | Double_t fEMCalEtaMax; | |
590 | Double_t fEMCalEtaTotal; | |
591 | Double_t fEMCalArea; | |
592 | ||
593 | Double_t fTPCPhiMin; | |
594 | Double_t fTPCPhiMax; | |
595 | Double_t fTPCPhiTotal; | |
596 | Double_t fTPCEtaMin; | |
597 | Double_t fTPCEtaMax; | |
598 | Double_t fTPCEtaTotal; | |
599 | Double_t fTPCArea; | |
600 | ||
24a61909 | 601 | Double_t fParticlePtLow; |
602 | Double_t fParticlePtUp; | |
603 | Int_t fParticlePtBins; | |
8daeee93 | 604 | |
e0efb3f6 | 605 | Double_t fJetR; // Jet resolution parameter |
606 | Double_t fJetRAccept; // Jet radius used for additional acceptance constraint. Used to restrict eta acceptance in full ana | |
6bda5230 CY |
607 | Double_t fFullEDJetR; // Radius used to calculate boundaries for jet within EMCal |
608 | Double_t fChargedEDJetR; // Radius used to calculate boundaries (in eta) for jet within TPC | |
c6202663 | 609 | Double_t fJetRForRho; // Required distance a track/cluster must be away from a jet for rho calculation |
ac6a3f1e | 610 | Double_t fJetAreaCutFrac; // Fudge factor for selecting on jets with threshold Pt or higher |
611 | Double_t fJetAreaThreshold; | |
ac6a3f1e | 612 | Int_t fnEMCalCells; // Total number of cells in the EMCal |
c6202663 | 613 | Double_t fScaleFactor; // Scale Factor obtained from Megan/Rosi |
7acc3e04 | 614 | Double_t fNColl; // Used for partial rejection of signal from RC. Obtained via Glauber Calculations |
c6202663 | 615 | Double_t fTrackMinPt; |
616 | Double_t fClusterMinPt; | |
91d0893e | 617 | Double_t fNEFSignalJetCut; |
ac6a3f1e | 618 | |
d6cc4b0c | 619 | TString fCentralityTag; |
ac6a3f1e | 620 | Int_t fCentralityBins; |
621 | Double_t fCentralityLow; | |
622 | Double_t fCentralityUp; | |
623 | Double_t fEventCentrality; | |
624 | ||
c6202663 | 625 | Double_t fRhoFull; // From Full Rho 0 |
626 | Double_t fRhoCharged; // From Charged Rho 0 | |
ac6a3f1e | 627 | |
ac6a3f1e | 628 | // General Global variables |
629 | Int_t fnTracks; | |
6bda5230 | 630 | Int_t fnEMCalTracks; |
ac6a3f1e | 631 | Int_t fnClusters; |
08b981da | 632 | Int_t fnCaloClusters; |
ac6a3f1e | 633 | Int_t fnAKTFullJets; |
634 | Int_t fnAKTChargedJets; | |
635 | Int_t fnKTFullJets; | |
78246241 | 636 | Int_t fnKTChargedJets; |
ac6a3f1e | 637 | Int_t fnBckgClusters; |
638 | ||
639 | Double_t fTPCJetThreshold; | |
640 | Double_t fEMCalJetThreshold; | |
641 | ||
8daeee93 | 642 | Double_t fVertex[3]; |
ac6a3f1e | 643 | Double_t fVertexWindow; |
644 | Double_t fVertexMaxR; | |
645 | ||
d812e269 | 646 | // Tracks and Clusters string names |
647 | TString fTrackName; | |
648 | TString fClusName; | |
649 | ||
650 | // Jet Finder string names | |
651 | TString fkTChargedName; | |
652 | TString fAkTChargedName; | |
653 | TString fkTFullName; | |
654 | TString fAkTFullName; | |
655 | ||
ac6a3f1e | 656 | // Dynamic Array variables |
c6202663 | 657 | TClonesArray *fOrgTracks; //! |
658 | TClonesArray *fOrgClusters; //! | |
ac6a3f1e | 659 | TClonesArray *fmyAKTFullJets; //! |
660 | TClonesArray *fmyAKTChargedJets; //! | |
661 | TClonesArray *fmyKTFullJets; //! | |
78246241 | 662 | TClonesArray *fmyKTChargedJets; //! |
ac6a3f1e | 663 | |
c6202663 | 664 | TObjArray *fmyTracks; //! |
665 | TObjArray *fmyClusters; //! | |
ac6a3f1e | 666 | |
c6202663 | 667 | Double_t *fEMCalRCBckgFluc; //! Stores the pT of RC Background clusters in EMCal at least 2R away from Leading Signal |
668 | Double_t *fTPCRCBckgFluc; //! Stores the pT of RC Background clusters in TPC at least 2R away from Leading Signal | |
669 | Double_t *fEMCalRCBckgFlucSignal; //! Stores the pT of RC Background clusters in EMCal with no spatial restrictions | |
7acc3e04 | 670 | Double_t *fTPCRCBckgFlucSignal; //! Stores the pT of RC Background clusters in TPC with no spatial restrictions |
671 | Double_t *fEMCalRCBckgFlucNColl; //! Stores the pT of RC Background clusters in EMCal with no spatial restrictions | |
672 | Double_t *fTPCRCBckgFlucNColl; //! Stores the pT of RC Background clusters in TPC with no spatial restrictions | |
ac6a3f1e | 673 | |
674 | AliAnalysisTaskFullpAJets(const AliAnalysisTaskFullpAJets&); // not implemented | |
675 | AliAnalysisTaskFullpAJets& operator=(const AliAnalysisTaskFullpAJets&); // not implemented | |
676 | ||
677 | ClassDef(AliAnalysisTaskFullpAJets, 1); // example of analysis | |
678 | }; | |
679 | #endif |