]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskFullpAJets.h
Charged jets (pPb): Small bugfix
[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 };
447
ac6a3f1e 448 private:
53c56e05 449 TList *fOutput; //! Output list
62620fff 450 TList *flTrack; //! Track QA List
451 TList *flCluster; //! Cluster QA List
ac6a3f1e 452
1cd88f63
ML
453 TH1F *fhTrackPt; //!
454 TH1F *fhTrackEta; //!
455 TH1F *fhTrackPhi; //!
456 TH1F *fhGlobalTrackPt; //!
457 TH1F *fhGlobalTrackEta; //!
458 TH1F *fhGlobalTrackPhi; //!
459 TH1F *fhComplementaryTrackPt; //!
460 TH1F *fhComplementaryTrackEta; //!
461 TH1F *fhComplementaryTrackPhi; //!
462 TH1F *fhClusterPt; //!
463 TH1F *fhClusterEta; //!
464 TH1F *fhClusterPhi; //!
465 TH1F *fhCentrality; //!
466 TH1F *fhEMCalCellCounts; //! Plots the distribution of cluster counts in the EMCal. Used to determine which cells are hot (if any...)
7acc3e04 467
6bda5230
CY
468 TH1F *fhChargeAndNeutralEvents; //!
469 TH1F *fhChargeOnlyEvents; //!
470 TH1F *fhNeutralOnlyEvents; //!
471 TH1F *fhNothingEvents; //!
472 TH1F *fhEMCalChargeAndNeutralEvents; //!
473 TH1F *fhEMCalChargeOnlyEvents; //!
474 TH1F *fhEMCalNeutralOnlyEvents; //!
475 TH1F *fhEMCalNothingEvents; //!
476
1cd88f63
ML
477 TH2F *fhTrackEtaPhi; //!
478 TH2F *fhTrackPhiPt; //!
479 TH2F *fhTrackEtaPt; //!
480 TH2F *fhGlobalTrackEtaPhi; //!
481 TH2F *fhGlobalTrackPhiPt; //!
482 TH2F *fhGlobalTrackEtaPt; //!
483 TH2F *fhComplementaryTrackEtaPhi; //!
484 TH2F *fhComplementaryTrackPhiPt; //!
485 TH2F *fhComplementaryTrackEtaPt; //!
24a61909 486
1cd88f63
ML
487 TH2F *fhClusterEtaPhi; //!
488 TH2F *fhClusterPhiPt; //!
489 TH2F *fhClusterEtaPt; //!
c54b626a 490
1cd88f63
ML
491 TH2F *fhEMCalEventMult; //!
492 TH2F *fhTPCEventMult; //!
493 TH2F *fhEMCalTrackEventMult; //!
3e43a01f 494
c6202663 495 TProfile *fpEMCalEventMult; //!
496 TProfile *fpTPCEventMult; //!
ac6a3f1e 497
ac6a3f1e 498 TProfile2D *fpTrackPtProfile; //!
499 TProfile2D *fpClusterPtProfile; //!
500
6bda5230
CY
501 TProfile3D *fpFullJetEDProfile; //!
502 TProfile3D *fpChargedJetEDProfile; //!
503 TProfile3D *fpChargedJetEDProfileScaled; //!
504
c6202663 505 AlipAJetHistos *fTPCRawJets; //!
506 AlipAJetHistos *fEMCalRawJets; //!
62620fff 507
508 AlipAJetHistos *fRhoChargedCMSScale; //!
509 AlipAJetHistos *fRhoChargedScale; //!
510
c6202663 511 AlipAJetHistos *fRhoFull0; //!
512 AlipAJetHistos *fRhoFull1; //!
513 AlipAJetHistos *fRhoFull2; //!
514 AlipAJetHistos *fRhoFullN; //!
515 AlipAJetHistos *fRhoFullDijet; //!
516 AlipAJetHistos *fRhoFullkT; //!
517 AlipAJetHistos *fRhoFullCMS; //!
518
519 AlipAJetHistos *fRhoCharged0; //!
520 AlipAJetHistos *fRhoCharged1; //!
521 AlipAJetHistos *fRhoCharged2; //!
e864d416 522 AlipAJetHistos *fRhoChargedN; //!
c6202663 523 AlipAJetHistos *fRhoChargedkT; //!
524 AlipAJetHistos *fRhoChargedkTScale; //!
525 AlipAJetHistos *fRhoChargedCMS; //!
c6202663 526
527 AlipAJetData *fTPCJet; //!
528 AlipAJetData *fTPCFullJet; //!
529 AlipAJetData *fTPCOnlyJet; //!
8daeee93 530 AlipAJetData *fTPCJetUnbiased; //!
c6202663 531 AlipAJetData *fTPCkTFullJet; //!
532 AlipAJetData *fEMCalJet; //!
533 AlipAJetData *fEMCalFullJet; //!
534 AlipAJetData *fEMCalPartJet; //!
8daeee93 535 AlipAJetData *fEMCalPartJetUnbiased; //!
c6202663 536 AlipAJetData *fEMCalkTFullJet; //!
537
538 // Variables
ac6a3f1e 539 Bool_t fIsInitialized;
540 Int_t fRJET; // Used to set Anti_kt R. Called from AddTask Macro
541 Long_t fnEvents; // Counter for the number of events that made the physics selection with TPC+EMCal
542 Long_t fnEventsCharged; // Counter for the number of events that made the physics selection with TPC only
543 Long_t fnDiJetEvents; // Counter for the number of dijet events
08b981da 544 AliVEvent *fEvent; //!
545 AliEMCALRecoUtils *fRecoUtil; //!
546 AliEMCALGeometry *fEMCALGeometry; //!
547 AliVCaloCells *fCells; //!
87a5edfe 548 Bool_t fDoNEF;
d2af75be 549 Bool_t fDoNEFSignalOnly;
3e43a01f 550 Bool_t fSignalTrackBias;
62620fff 551 Bool_t fTrackQA;
552 Bool_t fClusterQA;
553 Int_t fCalculateRhoJet;
6bda5230
CY
554 Bool_t fDoVertexRCut;
555 Bool_t fMCPartLevel;
3e43a01f 556
ac6a3f1e 557 // Protected Global Variables
558 Double_t fEMCalPhiMin;
559 Double_t fEMCalPhiMax;
560 Double_t fEMCalPhiTotal;
561 Double_t fEMCalEtaMin;
562 Double_t fEMCalEtaMax;
563 Double_t fEMCalEtaTotal;
564 Double_t fEMCalArea;
565
566 Double_t fTPCPhiMin;
567 Double_t fTPCPhiMax;
568 Double_t fTPCPhiTotal;
569 Double_t fTPCEtaMin;
570 Double_t fTPCEtaMax;
571 Double_t fTPCEtaTotal;
572 Double_t fTPCArea;
573
24a61909 574 Double_t fParticlePtLow;
575 Double_t fParticlePtUp;
576 Int_t fParticlePtBins;
8daeee93 577
ac6a3f1e 578 Double_t fJetR;
6bda5230
CY
579 Double_t fFullEDJetR; // Radius used to calculate boundaries for jet within EMCal
580 Double_t fChargedEDJetR; // Radius used to calculate boundaries (in eta) for jet within TPC
c6202663 581 Double_t fJetRForRho; // Required distance a track/cluster must be away from a jet for rho calculation
ac6a3f1e 582 Double_t fJetAreaCutFrac; // Fudge factor for selecting on jets with threshold Pt or higher
583 Double_t fJetAreaThreshold;
ac6a3f1e 584 Int_t fnEMCalCells; // Total number of cells in the EMCal
c6202663 585 Double_t fScaleFactor; // Scale Factor obtained from Megan/Rosi
7acc3e04 586 Double_t fNColl; // Used for partial rejection of signal from RC. Obtained via Glauber Calculations
c6202663 587 Double_t fTrackMinPt;
588 Double_t fClusterMinPt;
91d0893e 589 Double_t fNEFSignalJetCut;
ac6a3f1e 590
53c56e05 591 const char *fCentralityTag; //!
ac6a3f1e 592 Int_t fCentralityBins;
593 Double_t fCentralityLow;
594 Double_t fCentralityUp;
595 Double_t fEventCentrality;
596
c6202663 597 Double_t fRhoFull; // From Full Rho 0
598 Double_t fRhoCharged; // From Charged Rho 0
ac6a3f1e 599
ac6a3f1e 600 // General Global variables
601 Int_t fnTracks;
6bda5230 602 Int_t fnEMCalTracks;
ac6a3f1e 603 Int_t fnClusters;
08b981da 604 Int_t fnCaloClusters;
ac6a3f1e 605 Int_t fnAKTFullJets;
606 Int_t fnAKTChargedJets;
607 Int_t fnKTFullJets;
78246241 608 Int_t fnKTChargedJets;
ac6a3f1e 609 Int_t fnBckgClusters;
610
611 Double_t fTPCJetThreshold;
612 Double_t fEMCalJetThreshold;
613
8daeee93 614 Double_t fVertex[3];
ac6a3f1e 615 Double_t fVertexWindow;
616 Double_t fVertexMaxR;
617
d812e269 618 // Tracks and Clusters string names
619 TString fTrackName;
620 TString fClusName;
621
622 // Jet Finder string names
623 TString fkTChargedName;
624 TString fAkTChargedName;
625 TString fkTFullName;
626 TString fAkTFullName;
627
ac6a3f1e 628 // Dynamic Array variables
c6202663 629 TClonesArray *fOrgTracks; //!
630 TClonesArray *fOrgClusters; //!
ac6a3f1e 631 TClonesArray *fmyAKTFullJets; //!
632 TClonesArray *fmyAKTChargedJets; //!
633 TClonesArray *fmyKTFullJets; //!
78246241 634 TClonesArray *fmyKTChargedJets; //!
ac6a3f1e 635
c6202663 636 TObjArray *fmyTracks; //!
637 TObjArray *fmyClusters; //!
ac6a3f1e 638
c6202663 639 Double_t *fEMCalRCBckgFluc; //! Stores the pT of RC Background clusters in EMCal at least 2R away from Leading Signal
640 Double_t *fTPCRCBckgFluc; //! Stores the pT of RC Background clusters in TPC at least 2R away from Leading Signal
641 Double_t *fEMCalRCBckgFlucSignal; //! Stores the pT of RC Background clusters in EMCal with no spatial restrictions
7acc3e04 642 Double_t *fTPCRCBckgFlucSignal; //! Stores the pT of RC Background clusters in TPC with no spatial restrictions
643 Double_t *fEMCalRCBckgFlucNColl; //! Stores the pT of RC Background clusters in EMCal with no spatial restrictions
644 Double_t *fTPCRCBckgFlucNColl; //! Stores the pT of RC Background clusters in TPC with no spatial restrictions
ac6a3f1e 645
646 AliAnalysisTaskFullpAJets(const AliAnalysisTaskFullpAJets&); // not implemented
647 AliAnalysisTaskFullpAJets& operator=(const AliAnalysisTaskFullpAJets&); // not implemented
648
649 ClassDef(AliAnalysisTaskFullpAJets, 1); // example of analysis
650};
651#endif