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