]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.h
updated Eta Correction map of TPC
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskEMCalHFEpA.h
CommitLineData
c852fdae 1#ifndef AliAnalysisTaskEMCalHFEpA_cxx
2#define AliAnalysisTaskEMCalHFEpA_cxx
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
9a1f999b 7 ////////////////////////////////////////////////////////////////////////
8 // //
9 // Task for Heavy-flavour electron analysis in pPb collisions //
10 // (+ Electron-Hadron Jetlike Azimuthal Correlation) //
11 // //
3db2410d 12 // version: September 16, 2014. //
9a1f999b 13 // //
14 // Authors //
15 // Elienos Pereira de Oliveira Filho (epereira@cern.ch) //
16 // Cristiane Jahnke (cristiane.jahnke@cern.ch) //
17 // //
18 ////////////////////////////////////////////////////////////////////////
c852fdae 19
20class TH1F;
21class TH2F;
22class AliESDEvent;
23class AliESDtrackCuts;
24class AliESDtrack;
25class AliHFEcontainer;
26class AliHFEcuts;
27class AliHFEpid;
28class AliHFEpidQAmanager;
29class AliCFManager;
30class AliPIDResponse;
31class AliCentrality;
32class AliAODEvent;
33class AliVEvent;
34class AliAODMCHeader;
35class AliSelectNonHFE;
36class AliEventPoolManager;
37class AliEventPool;
38class TObjArray;
8e2d649d 39 //Lucile
40class AliCaloTrackAODReader;
41class AliCaloTrackReader;
1dd85087 42 //exotic
43class AliEMCALRecoUtils;
44class AliAODReader;
45class AliCalorimeterUtils;
46
47 // --- ROOT system ---
48#include <TObject.h>
49#include <TString.h>
50#include <TObjArray.h>
51class TArrayF;
52#include <TH2I.h>
53#include <TGeoMatrix.h>
54
55 //--- ANALYSIS system ---
56class AliVEvent;
57class AliVTrack;
58class AliAODPWG4Particle;
59class AliAODCaloCluster;
60class AliVCaloCells;
61class AliPHOSGeoUtils;
62class AliEMCALGeometry;
63#include "AliEMCALRecoUtils.h"
8e2d649d 64
c852fdae 65
9a1f999b 66 //______________________________________________________________________
67 //Library
c852fdae 68#include "AliAnalysisTaskSE.h"
69#include "AliHFEpid.h"
70#include "AliLog.h"
9a1f999b 71 //______________________________________________________________________
c852fdae 72
9a1f999b 73 //______________________________________________________________________
c852fdae 74class AliAnalysisTaskEMCalHFEpA : public AliAnalysisTaskSE
75{
9a1f999b 76 //______________________________________________________________________
77public:
c852fdae 78 AliAnalysisTaskEMCalHFEpA();
79 AliAnalysisTaskEMCalHFEpA(const char *name);
80 virtual ~AliAnalysisTaskEMCalHFEpA();
9a1f999b 81
c852fdae 82 virtual void UserCreateOutputObjects();
83 virtual void UserExec(Option_t *option);
84 virtual void Terminate(Option_t *);
9a1f999b 85
86 //Setters
0131ce6c 87 void SetAssHadronPtRange(Double_t AssHadronPtMin, Double_t AssHadronPtMax) {fAssHadronPtMin = AssHadronPtMin; fAssHadronPtMax = AssHadronPtMax; };
c852fdae 88 void SetHFECuts(AliHFEcuts * const cuts) {fCuts = cuts;};
89 void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) {fRejectKinkMother = rejectKinkMother;};
a89620c8 90 void SetCorrelationAnalysis(Bool_t CorrelationFlag=kTRUE) {fCorrelationFlag = CorrelationFlag;};
c852fdae 91 void SetMCanalysis() {fIsMC = kTRUE;};
92 void SetCentrality(Double_t CentralityMin, Double_t CentralityMax) { fCentralityMin = CentralityMin; fCentralityMax = CentralityMax; fHasCentralitySelection = kTRUE; };
93 void SetAODanalysis(Bool_t IsAOD) {fIsAOD = IsAOD;};
94 void SetEventMixing(Bool_t EventMixingFlag) { fEventMixingFlag = EventMixingFlag;};
95 void SetNonHFEmassCut(Double_t MassCut) { fMassCut = MassCut; fMassCutFlag = kTRUE;};
96 void SetEtaCut(Double_t EtaCutMin,Double_t EtaCutMax ) { fEtaCutMin = EtaCutMin; fEtaCutMax = EtaCutMax; };
a6f21076 97
98 void SetdPhidEtaCut(Double_t dPhiCut, Double_t dEtaCut ) { fdPhiCut = dPhiCut;fdEtaCut = dEtaCut ;};
99
c852fdae 100 void SetEoverPCut(Double_t EoverPCutMin,Double_t EoverPCutMax ) { fEoverPCutMin = EoverPCutMin; fEoverPCutMax = EoverPCutMax; };
a6f21076 101
102 void SetM02Cut(Double_t M02CutMin,Double_t M02CutMax ) { fM02CutMin = M02CutMin; fM02CutMax = M02CutMax; };
103 void SetM20Cut(Double_t M20CutMin,Double_t M20CutMax ) { fM20CutMin = M20CutMin; fM20CutMax = M20CutMax; };
104
105
c852fdae 106 void SetNonHFEangleCut(Double_t AngleCut) { fAngleCut = AngleCut; fAngleCutFlag = kTRUE;};
107 void SetNonHFEchi2Cut(Double_t Chi2Cut) { fChi2Cut = Chi2Cut; fChi2CutFlag = kTRUE;};
108 void SetNonHFEdcaCut(Double_t DCAcut) { fDCAcut = DCAcut; fDCAcutFlag = kTRUE;};
a4e971f7 109
110 //DCA cut main particle
111 void SetdcaCut(Double_t DCAcutr, Double_t DCAcutz) { fDCAcutr = DCAcutr; fDCAcutz = DCAcutz;};
112
c852fdae 113 void SetUseEMCal() { fUseEMCal=kTRUE;};
8e2d649d 114 void SetUseTrigger() { fUseTrigger=kTRUE;};
3db2410d 115 void SetUseTender() { fUseTender=kTRUE;};
a89620c8 116 void SetUseShowerShapeCut(Bool_t UseShowerShapeCut=kFALSE) { fUseShowerShapeCut=UseShowerShapeCut;};
117 void SetBackground(Bool_t FillBackground=kFALSE) { fFillBackground=FillBackground;};
3db2410d 118 void SetEoverPnsigma(Bool_t EoverPnsigma=kFALSE) { fEoverPnsigma=EoverPnsigma;};
c852fdae 119 void SetEMCalTriggerEG1() { fEMCEG1=kTRUE; };
120 void SetEMCalTriggerEG2() { fEMCEG2=kTRUE; };
121 void SetCentralityEstimator(Int_t Estimator) { fEstimator=Estimator; }; //0 = V0A, 1 = Other
9a1f999b 122 void SetAdditionalCuts(Double_t PtMinAsso, Int_t TpcNclsAsso) {fPtMinAsso = PtMinAsso; fTpcNclsAsso = TpcNclsAsso;};
2c8e1f6c 123 void SetSPDCutForHadrons() {fAssocWithSPD = kTRUE;};
c852fdae 124
9a1f999b 125 //Getters
c852fdae 126 AliHFEpid *GetPID() const {return fPID;};
1dd85087 127 //bad channel
128 //AliEMCALGeometry * GetEMCALGeometry() const { return fEMCALGeo; }
129 //AliCalorimeterUtils * GetCaloUtils() const { return fCaloUtils; }
130 /*AliCalorimeterUtils * GetCaloUtils() { if(!fCaloUtils) fCaloUtils = new AliCalorimeterUtils();
131 return fCaloUtils ; }*/
132
9a1f999b 133 //______________________________________________________________________
c852fdae 134
9a1f999b 135 //______________________________________________________________________
136private:
137
138 //Function to process track cuts
c852fdae 139 Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
9a1f999b 140 //Function to process eh analysis
c852fdae 141 void ElectronHadronCorrelation(AliVTrack *track, Int_t trackIndex, AliVParticle *vtrack);
9a1f999b 142 //Function to find non-HFE and fill histos
9a4682da 143 void Background(AliVTrack *track, Int_t trackIndex, AliVParticle *vtrack, Bool_t IsTPConly);
9a1f999b 144 //Selected Hadrons, for mixed event analysis
c852fdae 145 TObjArray* SelectedHadrons();
9a1f999b 146 //DiHadron Correlation Background
c852fdae 147 void DiHadronCorrelation(AliVTrack *track, Int_t trackIndex);
9a1f999b 148 //Find Mothers (Finde HFE and NonHFE from MC information)
c852fdae 149 Bool_t FindMother(Int_t mcIndex);
1dd85087 150 Bool_t ContainsBadChannel(TString calorimeter,UShort_t* cellList, Int_t nCells);
151 TArrayI GetTriggerPatches(Bool_t IsEventEMCALL0, Bool_t IsEventEMCALL1);
152 Double_t CalculateWeight(Int_t pdg_particle, Double_t x);
3db2410d 153 Double_t SetEoverPCutPtDependentMC(Double_t pt);
9a1f999b 154
155 //Flags for specifics analysis
c852fdae 156 Bool_t fCorrelationFlag;
157 Bool_t fIsMC;
158 Bool_t fUseEMCal;
8e2d649d 159 Bool_t fUseTrigger;
3db2410d 160 Bool_t fUseTender;
a89620c8 161 Bool_t fUseShowerShapeCut;
162 Bool_t fFillBackground;
3db2410d 163 Bool_t fEoverPnsigma;
2c8e1f6c 164 Bool_t fAssocWithSPD;
9a4682da 165
9a1f999b 166
c852fdae 167 Bool_t fEMCEG1;
168 Bool_t fEMCEG2;
9a1f999b 169
170 //Used in the function FindMother
c852fdae 171 Bool_t fIsHFE1;
172 Bool_t fIsHFE2;
173 Bool_t fIsNonHFE;
174 Bool_t fIsFromD;
175 Bool_t fIsFromB;
176 Bool_t fIsFromPi0;
177 Bool_t fIsFromEta;
178 Bool_t fIsFromGamma;
179
9a1f999b 180 //General variables
c852fdae 181 AliESDEvent *fESD;
182 AliAODEvent *fAOD; /// new
183 AliVEvent *fVevent; /// new
184 AliESDtrackCuts *fPartnerCuts;
185 TList *fOutputList;
186 AliPIDResponse *fPidResponse;
187 AliSelectNonHFE *fNonHFE;
188
9a1f999b 189 //For the case of AOD analysis
c852fdae 190 Bool_t fIsAOD; //flag for AOD analysis
191
9a1f999b 192 //For Centrality Selection
c852fdae 193 AliCentrality *fCentrality;
194 Double_t fCentralityMin;
195 Double_t fCentralityMax;
196 Bool_t fHasCentralitySelection;
197 TH1F *fCentralityHist;
198 TH1F *fCentralityHistPass;
199 Float_t fZvtx;
200 Int_t fEstimator;
201
9a1f999b 202 //EMCal
a89620c8 203
c852fdae 204 AliVCluster *fClus;
9a1f999b 205 //AliESDCaloCluster *fClusESD;
c852fdae 206
9a1f999b 207 //Histograms
c852fdae 208 TH1F *fNevent;
1dd85087 209 TH1F *fNevent2;
c852fdae 210 TH1F *fPtElec_Inc;
9a1f999b 211
8e2d649d 212 TH1F *fPtPrim;
213 TH1F *fPtSec;
214 TH1F *fPtPrim2;
215 TH1F *fPtSec2;
216
a6f21076 217
218 TH1F *fCharge_n;
219 TH1F *fCharge_p;
220
a89620c8 221 TH2D *fTime;
222 TH2D *fTime2;
223 TH2D *ftimingEle;
224 TH2D *ftimingEle2;
225
c852fdae 226 TH1F *fPtElec_ULS;
227 TH1F *fPtElec_LS;
8e2d649d 228
229 TH1F *fPtElec_ULS_NoPid;
230 TH1F *fPtElec_LS_NoPid;
231
232 TH1F *fPtElec_ULS_MC;
233 TH1F *fPtElec_ULS_MC_weight;
234
9a4682da 235 TH1F *fPtElec_ULS2;
236 TH1F *fPtElec_LS2;
c852fdae 237
3db2410d 238 //mc closure
239 TH1F *fPtElec_ULS_mc_closure;
240 TH1F *fPtElec_LS_mc_closure;
241 TH1F *fPtElec_ULS2_mc_closure;
242 TH1F *fPtElec_LS2_mc_closure;
243
244
245
2c8e1f6c 246 TH1F *fPtElec_ULS_weight;
247 TH1F *fPtElec_LS_weight;
248 TH1F *fPtElec_ULS2_weight;
249 TH1F *fPtElec_LS2_weight;
250
9a1f999b 251 //PID Histograms
2c8e1f6c 252
253 TH2F *fTOF01;
254 TH2F *fTOF02;
255 TH2F *fTOF03;
3db2410d 256 TH1F *fpid;
257 TH2F *fEoverP_pt_true_electrons;
258 TH2F *fEoverP_pt_true_hadrons;
259 TH2F *fEoverP_pt_true_electrons0;
260 TH2F *fEoverP_pt_true_hadrons0;
c852fdae 261 TH2F **fEoverP_pt;
262 TH2F **fEoverP_tpc;
628d0da7 263 TH2F **fEoverP_tpc_p_trigger;
264 TH2F **fEoverP_tpc_pt_trigger;
c852fdae 265 TH1F **fTPC_pt;
266 TH2F **fTPC_p;
c852fdae 267 TH1F **fTPCnsigma_pt;
268 TH2F **fTPCnsigma_p;
93c64cd2 269
270 TH2F *fTPCnsigma_p_TPC;
271 TH2F *fTPCnsigma_p_TPC_on_EMCal_acc;
272 TH2F *fTPCnsigma_p_TPC_EoverP_cut;
273
c852fdae 274 TH2F *fTPCnsigma_pt_2D;
a89620c8 275 TH2F *fShowerShapeCut;
9a4682da 276 TH2F *fShowerShapeM02_EoverP;
277 TH2F *fShowerShapeM20_EoverP;
278 TH2F *fShowerShape_ha;
279 TH2F *fShowerShape_ele;
c852fdae 280 TH2F *fTPCnsigma_eta;
281 TH2F *fTPCnsigma_phi;
c852fdae 282 TH1F **fECluster;
8e2d649d 283 TH1F *fECluster_pure;
1dd85087 284 TH1F *fECluster_not_exotic;
285 TH1F *fECluster_not_exotic1;
286 TH1F *fECluster_not_exotic2;
287 TH1F *fECluster_exotic;
288 TH1F *fNCluster_pure;
289 TH1F *fNCluster_pure_aod;
290 TH2F *fNCluster_ECluster;
291 TH2F *fNcells_energy;
292 TH2F *fNcells_energy_elec_selected;
293 TH2F *fNcells_energy_not_exotic;
c852fdae 294 TH2F **fEtaPhi;
0131ce6c 295 TH2F *fEtaPhi_num;
296 TH2F *fEtaPhi_den;
1dd85087 297 TH2F *fEtaPhi_data;
8e2d649d 298 TH2F *fpt_reco_pt_MC_num;
299 TH2F *fpt_reco_pt_MC_den;
c852fdae 300 TH1F **fVtxZ;
8e2d649d 301 TH1F *fVtxZ_new1;
302 TH1F *fVtxZ_new2;
303 TH1F *fVtxZ_new3;
304 TH1F *fVtxZ_new4;
305
1dd85087 306 TH1F *fzRes1;
307 TH1F *fzRes2;
308 TH1F *fSPD_track_vtx1;
309 TH1F *fSPD_track_vtx2;
310
0131ce6c 311 TH1F **fEtad;
c852fdae 312 TH1F **fNTracks;
1dd85087 313 TH1F *fTrack_Multi;
8e2d649d 314 TH2F **fNTracks_pt;
315 TH2F **fNTracks_eta;
316 TH2F **fNTracks_phi;
c852fdae 317 TH1F **fNClusters;
318 TH2F **fTPCNcls_EoverP;
aaec953d 319 TH2F **fTPCNcls_pid;
c852fdae 320 TH1F **fEta;
321 TH1F **fPhi;
322 TH1F **fR;
323 TH2F **fR_EoverP;
324 TH1F **fNcells;
325 TH2F **fNcells_EoverP;
326 TH1F **fNcells_electrons;
327 TH1F **fNcells_hadrons;
328 TH1F **fECluster_ptbins;
329 TH1F **fEoverP_ptbins;
330 TH1F **fEoverP_wSSCut;
331 TH2F **fM02_EoverP;
332 TH2F **fM20_EoverP;
333 TH2F **fTPCnsigma_eta_electrons;
334 TH2F **fTPCnsigma_eta_hadrons;
c852fdae 335 TH2F *fEoverP_pt_pions;
c852fdae 336 TH2F *ftpc_p_EoverPcut;
337 TH2F *fnsigma_p_EoverPcut;
c852fdae 338 TH2F *fEoverP_pt_pions2;
339 TH2F *fNcells_pt;
340 TH2F *fEoverP_pt_hadrons;
9a1f999b 341 //Electron-Hadron Correlation Histograms
c852fdae 342 TH2F **fCEtaPhi_Inc;
c852fdae 343 TH2F **fCEtaPhi_ULS;
344 TH2F **fCEtaPhi_LS;
345 TH2F **fCEtaPhi_ULS_NoP;
346 TH2F **fCEtaPhi_LS_NoP;
c852fdae 347 TH2F **fCEtaPhi_ULS_Weight;
348 TH2F **fCEtaPhi_LS_Weight;
349 TH2F **fCEtaPhi_ULS_NoP_Weight;
350 TH2F **fCEtaPhi_LS_NoP_Weight;
c852fdae 351 TH1F *fInvMass;
352 TH1F *fInvMassBack;
353 TH1F *fDCA;
354 TH1F *fDCABack;
355 TH1F *fOpAngle;
356 TH1F *fOpAngleBack;
9a4682da 357 TH1F *fInvMass2;
358 TH1F *fInvMassBack2;
359 TH1F *fDCA2;
360 TH1F *fDCABack2;
361 TH1F *fOpAngle2;
362 TH1F *fOpAngleBack2;
c852fdae 363 Double_t fMassCut;
364 Double_t fEtaCutMin;
365 Double_t fEtaCutMax;
a6f21076 366 Double_t fdPhiCut;
367 Double_t fdEtaCut;
c852fdae 368 Double_t fEoverPCutMin;
369 Double_t fEoverPCutMax;
a6f21076 370 Double_t fM20CutMin;
371 Double_t fM20CutMax;
372 Double_t fM02CutMin;
373 Double_t fM02CutMax;
c852fdae 374 Double_t fAngleCut;
375 Double_t fChi2Cut;
376 Double_t fDCAcut;
a4e971f7 377 Double_t fDCAcutr;
378 Double_t fDCAcutz;
379
c852fdae 380 Bool_t fMassCutFlag;
381 Bool_t fAngleCutFlag;
382 Bool_t fChi2CutFlag;
383 Bool_t fDCAcutFlag;
0131ce6c 384 //Correlation Function
385 Double_t fAssHadronPtMin;
386 Double_t fAssHadronPtMax;
1dd85087 387 //Non-HFE reconstruction efficiency
c852fdae 388 TH1F *fPtBackgroundBeforeReco;
9a4682da 389 TH1F *fPtBackgroundBeforeReco2;
2c8e1f6c 390 TH1F *fPtBackgroundBeforeReco_weight;
391 TH1F *fPtBackgroundBeforeReco2_weight;
2235208e 392 TH2F *fpT_m_electron;
393 TH2F *fpT_gm_electron;
9a4682da 394 TH1F *fPtBackgroundAfterReco;
9a1f999b 395 Double_t fPtMinAsso;
396 Int_t fTpcNclsAsso;
9a1f999b 397 //Tracking Efficiency
c852fdae 398 TH1F *fPtMCparticleAll;
9a1f999b 399 TH1F *fPtMCparticleAll_nonPrimary;
400 TH1F *fPtMCparticleAlle_nonPrimary;
2c8e1f6c 401 TH1F *fPtMCparticleAlle_Primary;
c852fdae 402 TH1F *fPtMCparticleReco;
9a1f999b 403 TH1F *fPtMCparticleReco_nonPrimary;
c852fdae 404 TH1F *fPtMCparticleAllHfe1;
405 TH1F *fPtMCparticleRecoHfe1;
406 TH1F *fPtMCparticleAllHfe2;
407 TH1F *fPtMCparticleRecoHfe2;
408 TH1F *fPtMCelectronAfterAll;
8e2d649d 409 TH1F *fPtMCelectronAfterAll_unfolding;
9a1f999b 410 TH1F *fPtMCelectronAfterAll_nonPrimary;
2c8e1f6c 411 TH1F *fPtMCelectronAfterAll_Primary;
c852fdae 412
413 TH1F *fPtMCpi0;
9a1f999b 414 TH1F *fPtMCeta;
8e2d649d 415 TH1F *fPtMCpi02;
416 TH1F *fPtMCeta2;
1dd85087 417 TH1F *fPtMCpi03;
418 TH1F *fPtMCeta3;
c852fdae 419
420 TH1F *fPtMC_EMCal_All;
421 TH1F *fPtMC_EMCal_Selected;
422 TH1F *fPtMC_TPC_All;
423 TH1F *fPtMC_TPC_Selected;
8e2d649d 424 TH1F *fPt_track_match_den;
425 TH1F *fPt_track_match_num;
c852fdae 426
8e2d649d 427
c852fdae 428 TH1F *fPtMCWithLabel;
429 TH1F *fPtMCWithoutLabel;
430 TH1F *fPtIsPhysicaPrimary;
431
9a1f999b 432 //For the HFE package
c852fdae 433 AliHFEcuts *fCuts; // Cut Collection for HFE
8e2d649d 434 //Lucile
435 //AliCaloTrackAODReader *reader;
c852fdae 436 AliCFManager *fCFM; // Correction Framework Manager
437 AliHFEpid *fPID; // PID
438 AliHFEpidQAmanager *fPIDqa; // PID QA manager
439
9a1f999b 440 //Others
c852fdae 441 AliStack *fMCstack; //
442 Bool_t fRejectKinkMother; //
443 TParticle *fMCtrack;
444 TParticle *fMCtrackMother;
445 TParticle *fMCtrackGMother;
446 TParticle *fMCtrackGGMother;
447 TParticle *fMCtrackGGGMother;
448 TClonesArray *fMCarray;
449 AliAODMCHeader *fMCheader;
450 AliAODMCParticle *fMCparticle;
8e2d649d 451 AliAODMCParticle *fMCparticle2;
c852fdae 452 AliAODMCParticle *fMCparticleMother;
453 AliAODMCParticle *fMCparticleGMother;
454 AliAODMCParticle *fMCparticleGGMother;
455 AliAODMCParticle *fMCparticleGGGMother;
456 AliMCEventHandler *fEventHandler;
457 AliMCEvent *fMCevent;
9a1f999b 458
459 //______________________________________________________________________
460 //Mixed event analysis
c852fdae 461 AliEventPoolManager *fPoolMgr;
462 AliEventPool *fPool;
463 TObjArray *fTracksClone;
464 TObjArray *fTracks;
465
466 TH2F **fCEtaPhi_Inc_EM;
467
468 TH2F **fCEtaPhi_ULS_EM;
469 TH2F **fCEtaPhi_LS_EM;
470
471 TH2F **fCEtaPhi_ULS_Weight_EM;
472 TH2F **fCEtaPhi_LS_Weight_EM;
473
474 TH1F *fPoolNevents;
475
476 Bool_t fEventMixingFlag;
9a1f999b 477 //______________________________________________________________________
478
479 //______________________________________________________________________
480 //Di-hadron correlation
c852fdae 481 TH2F **fCEtaPhi_Inc_DiHadron;
482 TH1F *fPtTrigger_Inc;
1dd85087 483
484 //AliEMCALRecoUtils *fEMCALRecoUtils; // EMCAL Reco Utils //exotic
485 //AliEMCALGeometry *fEMCALGeo ; //! EMCAL geometry pointer
486 //AliCalorimeterUtils *fCaloUtils;
487
488 Int_t fBitEGA; // Trigger bit on VCaloTrigger for EGA
489
490
9a1f999b 491 //______________________________________________________________________
492
c852fdae 493 AliAnalysisTaskEMCalHFEpA(const AliAnalysisTaskEMCalHFEpA&); // not implemented
494 AliAnalysisTaskEMCalHFEpA& operator=(const AliAnalysisTaskEMCalHFEpA&); // not implemented
9a1f999b 495
c852fdae 496 ClassDef(AliAnalysisTaskEMCalHFEpA, 1); // example of analysis
9a1f999b 497 //______________________________________________________________________
c852fdae 498};
499
9a1f999b 500 ///_________________________________________________________________________________________________
501 ///Class copied from : $ALICE_ROOT/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.h
502 ///Author: Christoph Mayer
c852fdae 503class AliEHCParticle : public TObject {
504public:
9a1f999b 505 AliEHCParticle(Double_t eta=0, Double_t phi=0, Double_t pt=0)
c852fdae 506 : fEta(eta), fPhi(phi), fPt(pt) {}
9a1f999b 507 virtual ~AliEHCParticle() {}
508
509 Double_t Eta() const { return fEta; }
510 Double_t Phi() const { return fPhi; }
511 Double_t Pt() const { return fPt; }
512
c852fdae 513protected:
514private:
9a1f999b 515 AliEHCParticle(const AliEHCParticle&);
516 AliEHCParticle& operator=(const AliEHCParticle&);
517
518 Double_t fEta;
519 Double_t fPhi;
520 Double_t fPt;
521
522 ClassDef(AliEHCParticle, 1);
c852fdae 523} ;
9a1f999b 524 ///_________________________________________________________________________________________________
c852fdae 525
526#endif