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