]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskFullpAJets.h
fix compiler warning
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskFullpAJets.h
CommitLineData
ac6a3f1e 1#ifndef AliAnalysisTaskFullpAJets_H
2#define AliAnalysisTaskFullpAJets_H
3
d812e269 4class TString;
1cd88f63
ML
5class TH1F;
6class TH2F;
7class TH3F;
2d2100d5 8class THnSparse;
ac6a3f1e 9class TList;
10class TProfile;
11class TProfile2D;
12class TProfile3D;
13class TClonesArray;
c6202663 14class TObjArray;
15class TLorentzVector;
ac6a3f1e 16class AliESDtrackCuts;
c6202663 17class AliEmcalJet;
08b981da 18class AliVEvent;
c6202663 19class AliEMCALGeometry;
08b981da 20class AliEMCALRecoUtils;
21class AliVCaloCells;
24a61909 22class AliPicoTrack;
ac6a3f1e 23
6bda5230
CY
24#include "AliAnalysisTaskEmcalJet.h"
25#include "AliAnalysisTaskEmcal.h"
ac6a3f1e 26
6bda5230 27class 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