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