]>
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); | |
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 |