]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskEMCalHFEpA.h
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
7         ////////////////////////////////////////////////////////////////////////
8         //                                                                    //
9         //      Task for Heavy-flavour electron analysis in pPb collisions    //
10         //      (+ Electron-Hadron Jetlike Azimuthal Correlation)             //
11         //                                                                                                                                        //
12         //              version: September 16, 2014.                                                                  //
13         //                                                                    //
14         //          Authors                                                                               //
15         //              Elienos Pereira de Oliveira Filho (epereira@cern.ch)          //
16         //              Cristiane Jahnke                (cristiane.jahnke@cern.ch)                    //
17         //                                                                    //
18         ////////////////////////////////////////////////////////////////////////
19
20 class TH1F;
21 class TH2F;
22 class AliESDEvent;
23 class AliESDtrackCuts;
24 class AliESDtrack;
25 class AliHFEcontainer;
26 class AliHFEcuts;
27 class AliHFEpid;
28 class AliHFEpidQAmanager;
29 class AliCFManager;
30 class AliPIDResponse;
31 class AliCentrality;
32 class AliAODEvent;
33 class AliVEvent;
34 class AliAODMCHeader;
35 class AliSelectNonHFE;
36 class AliEventPoolManager;
37 class AliEventPool;
38 class TObjArray;
39         //Lucile
40 class AliCaloTrackAODReader;
41 class AliCaloTrackReader;
42         //exotic
43 class AliEMCALRecoUtils;
44 class AliAODReader;
45 class AliCalorimeterUtils;
46
47         // --- ROOT system ---
48 #include <TObject.h> 
49 #include <TString.h>
50 #include <TObjArray.h>
51 class TArrayF;  
52 #include <TH2I.h>
53 #include <TGeoMatrix.h>
54
55         //--- ANALYSIS system ---
56 class AliVEvent;
57 class AliVTrack;
58 class AliAODPWG4Particle;
59 class AliAODCaloCluster;
60 class AliVCaloCells;
61 class AliPHOSGeoUtils;
62 class AliEMCALGeometry;
63 #include "AliEMCALRecoUtils.h"
64
65
66         //______________________________________________________________________
67         //Library
68 #include "AliAnalysisTaskSE.h"
69 #include "AliHFEpid.h"
70 #include "AliLog.h"
71         //______________________________________________________________________
72
73         //______________________________________________________________________
74 class AliAnalysisTaskEMCalHFEpA : public AliAnalysisTaskSE 
75 {
76                 //______________________________________________________________________
77 public:
78         AliAnalysisTaskEMCalHFEpA();
79         AliAnalysisTaskEMCalHFEpA(const char *name);
80         virtual ~AliAnalysisTaskEMCalHFEpA();
81         
82         virtual void   UserCreateOutputObjects();
83         virtual void   UserExec(Option_t *option);
84         virtual void   Terminate(Option_t *);
85         
86                 //Setters
87         void SetAssHadronPtRange(Double_t AssHadronPtMin, Double_t AssHadronPtMax) {fAssHadronPtMin = AssHadronPtMin; fAssHadronPtMax = AssHadronPtMax; };
88         void SetHFECuts(AliHFEcuts * const cuts) {fCuts = cuts;};
89         void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) {fRejectKinkMother = rejectKinkMother;};
90         void SetCorrelationAnalysis(Bool_t CorrelationFlag=kTRUE) {fCorrelationFlag = CorrelationFlag;};
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; };
97         
98         void SetdPhidEtaCut(Double_t dPhiCut, Double_t dEtaCut ) { fdPhiCut = dPhiCut;fdEtaCut = dEtaCut ;};
99         
100         void SetEoverPCut(Double_t EoverPCutMin,Double_t EoverPCutMax ) { fEoverPCutMin = EoverPCutMin; fEoverPCutMax = EoverPCutMax; };
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         
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;};
109         
110         //DCA cut main particle
111         void SetdcaCut(Double_t DCAcutr, Double_t DCAcutz) { fDCAcutr = DCAcutr; fDCAcutz = DCAcutz;};
112         
113         void SetUseEMCal() { fUseEMCal=kTRUE;};
114         void SetUseTrigger() { fUseTrigger=kTRUE;};
115         void SetUseTender() { fUseTender=kTRUE;};
116         void SetUseShowerShapeCut(Bool_t UseShowerShapeCut=kFALSE) { fUseShowerShapeCut=UseShowerShapeCut;};
117         void SetBackground(Bool_t FillBackground=kFALSE) { fFillBackground=FillBackground;};
118         void SetEoverPnsigma(Bool_t EoverPnsigma=kFALSE) { fEoverPnsigma=EoverPnsigma;};
119         void SetEMCalTriggerEG1() { fEMCEG1=kTRUE; };
120         void SetEMCalTriggerEG2() { fEMCEG2=kTRUE; };
121         void SetCentralityEstimator(Int_t Estimator) { fEstimator=Estimator; }; //0 = V0A, 1 = Other
122         void SetAdditionalCuts(Double_t PtMinAsso, Int_t TpcNclsAsso) {fPtMinAsso = PtMinAsso; fTpcNclsAsso = TpcNclsAsso;};
123         void SetSPDCutForHadrons() {fAssocWithSPD = kTRUE;};
124         
125                 //Getters
126         AliHFEpid *GetPID() const {return fPID;};
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
133                 //______________________________________________________________________
134         
135                 //______________________________________________________________________
136 private:
137         
138                 //Function to process track cuts
139         Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
140                 //Function to process eh analysis
141         void ElectronHadronCorrelation(AliVTrack *track, Int_t trackIndex, AliVParticle *vtrack);
142                 //Function to find non-HFE and fill histos
143         void Background(AliVTrack *track, Int_t trackIndex, AliVParticle *vtrack, Bool_t IsTPConly);
144                 //Selected Hadrons, for mixed event analysis
145         TObjArray* SelectedHadrons();
146                 //DiHadron Correlation Background
147         void DiHadronCorrelation(AliVTrack *track, Int_t trackIndex);
148                 //Find Mothers (Finde HFE and NonHFE from MC information)
149         Bool_t FindMother(Int_t mcIndex);
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);
153         Double_t SetEoverPCutPtDependentMC(Double_t pt);
154         
155                 //Flags for specifics analysis
156         Bool_t                          fCorrelationFlag;
157         Bool_t                          fIsMC;
158         Bool_t                          fUseEMCal;
159         Bool_t                          fUseTrigger;
160         Bool_t                          fUseTender;
161         Bool_t                          fUseShowerShapeCut;
162         Bool_t                          fFillBackground;
163         Bool_t                          fEoverPnsigma;
164         Bool_t                          fAssocWithSPD;
165         
166         
167         Bool_t                          fEMCEG1;
168         Bool_t                          fEMCEG2;
169         
170                 //Used in the function FindMother
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         
180                 //General variables
181         AliESDEvent                     *fESD;
182         AliAODEvent                     *fAOD;                          /// new
183         AliVEvent                       *fVevent;                       /// new
184         AliESDtrackCuts         *fPartnerCuts;
185         TList                           *fOutputList;
186         AliPIDResponse                  *fPidResponse;
187         AliSelectNonHFE                 *fNonHFE;
188         
189                 //For the case of AOD analysis
190         Bool_t                                  fIsAOD;                                 //flag for AOD analysis
191         
192                 //For Centrality Selection
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         
202                 //EMCal
203         
204         AliVCluster                             *fClus;
205                 //AliESDCaloCluster             *fClusESD;
206         
207                 //Histograms
208         TH1F                            *fNevent;
209         TH1F                            *fNevent2;
210         TH1F                            *fPtElec_Inc;
211         
212         TH1F                            *fPtPrim;
213         TH1F                            *fPtSec;
214         TH1F                            *fPtPrim2;
215         TH1F                            *fPtSec2;
216         
217         
218         TH1F                            *fCharge_n;
219         TH1F                            *fCharge_p;
220         
221         TH2D                            *fTime;
222         TH2D                            *fTime2;
223         TH2D                            *ftimingEle;
224         TH2D                            *ftimingEle2;   
225         
226         TH1F                            *fPtElec_ULS;
227         TH1F                            *fPtElec_LS;
228         
229         TH1F                            *fPtElec_ULS_NoPid;
230         TH1F                            *fPtElec_LS_NoPid;
231         
232         TH1F                            *fPtElec_ULS_MC;
233         TH1F                            *fPtElec_ULS_MC_weight;
234         
235         TH1F                            *fPtElec_ULS2;
236         TH1F                            *fPtElec_LS2;
237         
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         
246         TH1F                            *fPtElec_ULS_weight;
247         TH1F                            *fPtElec_LS_weight;
248         TH1F                            *fPtElec_ULS2_weight;
249         TH1F                            *fPtElec_LS2_weight;
250         
251                 //PID Histograms
252         
253         TH2F                            *fTOF01;
254         TH2F                            *fTOF02;
255         TH2F                            *fTOF03;
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;
261         TH2F                            **fEoverP_pt;
262         TH2F                            **fEoverP_tpc;
263         TH2F                            **fEoverP_tpc_p_trigger;
264         TH2F                            **fEoverP_tpc_pt_trigger;
265         TH1F                            **fTPC_pt;
266         TH2F                            **fTPC_p;
267         TH1F                            **fTPCnsigma_pt;
268         TH2F                            **fTPCnsigma_p;
269         
270         TH2F                            *fTPCnsigma_p_TPC;
271         TH2F                            *fTPCnsigma_p_TPC_on_EMCal_acc;
272         TH2F                            *fTPCnsigma_p_TPC_EoverP_cut;
273         
274         TH2F                            *fTPCnsigma_pt_2D;
275         TH2F                            *fShowerShapeCut;
276         TH2F                            *fShowerShapeM02_EoverP;
277         TH2F                            *fShowerShapeM20_EoverP;
278         TH2F                            *fShowerShape_ha;
279         TH2F                            *fShowerShape_ele;
280         TH2F                            *fTPCnsigma_eta;
281         TH2F                            *fTPCnsigma_phi;
282         TH1F                            **fECluster;
283         TH1F                            *fECluster_pure;
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;
294         TH2F                            **fEtaPhi;
295         TH2F                            *fEtaPhi_num;
296         TH2F                            *fEtaPhi_den;
297         TH2F                            *fEtaPhi_data;
298         TH2F                            *fpt_reco_pt_MC_num;
299         TH2F                            *fpt_reco_pt_MC_den;
300         TH1F                            **fVtxZ;
301         TH1F                            *fVtxZ_new1;
302         TH1F                            *fVtxZ_new2;
303         TH1F                            *fVtxZ_new3;
304         TH1F                            *fVtxZ_new4;
305         
306         TH1F                    *fzRes1;
307         TH1F                    *fzRes2;
308         TH1F                    *fSPD_track_vtx1;
309         TH1F                        *fSPD_track_vtx2;
310         
311         TH1F                            **fEtad;
312         TH1F                            **fNTracks;
313         TH1F                            *fTrack_Multi;
314         TH2F                            **fNTracks_pt;
315         TH2F                            **fNTracks_eta;
316         TH2F                            **fNTracks_phi;
317         TH1F                            **fNClusters;
318         TH2F                            **fTPCNcls_EoverP;
319         TH2F                            **fTPCNcls_pid;
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;
335         TH2F                            *fEoverP_pt_pions;
336         TH2F                            *ftpc_p_EoverPcut;
337         TH2F                            *fnsigma_p_EoverPcut;
338         TH2F                            *fEoverP_pt_pions2;
339         TH2F                            *fNcells_pt;
340         TH2F                            *fEoverP_pt_hadrons;
341                 //Electron-Hadron Correlation Histograms
342         TH2F                            **fCEtaPhi_Inc;
343         TH2F                            **fCEtaPhi_ULS;
344         TH2F                            **fCEtaPhi_LS;
345         TH2F                            **fCEtaPhi_ULS_NoP;
346         TH2F                            **fCEtaPhi_LS_NoP;
347         TH2F                            **fCEtaPhi_ULS_Weight;
348         TH2F                            **fCEtaPhi_LS_Weight;
349         TH2F                            **fCEtaPhi_ULS_NoP_Weight;
350         TH2F                            **fCEtaPhi_LS_NoP_Weight;
351         TH1F                            *fInvMass;
352         TH1F                            *fInvMassBack;
353         TH1F                            *fDCA;
354         TH1F                            *fDCABack;
355         TH1F                            *fOpAngle;
356         TH1F                            *fOpAngleBack;
357         TH1F                            *fInvMass2;
358         TH1F                            *fInvMassBack2;
359         TH1F                            *fDCA2;
360         TH1F                            *fDCABack2;
361         TH1F                            *fOpAngle2;
362         TH1F                            *fOpAngleBack2;
363         Double_t                        fMassCut;
364         Double_t                        fEtaCutMin;
365         Double_t                        fEtaCutMax;
366         Double_t                        fdPhiCut;
367         Double_t                        fdEtaCut;
368         Double_t                        fEoverPCutMin;
369         Double_t                        fEoverPCutMax;
370         Double_t                        fM20CutMin;
371         Double_t                        fM20CutMax;
372         Double_t                        fM02CutMin;
373         Double_t                        fM02CutMax;
374         Double_t                        fAngleCut;
375         Double_t                        fChi2Cut;
376         Double_t                        fDCAcut;
377         Double_t                        fDCAcutr;
378         Double_t                        fDCAcutz;
379         
380         Bool_t                          fMassCutFlag;
381         Bool_t                          fAngleCutFlag;
382         Bool_t                          fChi2CutFlag;
383         Bool_t                          fDCAcutFlag;
384         //Correlation Function
385         Double_t                        fAssHadronPtMin;
386         Double_t                        fAssHadronPtMax;
387         //Non-HFE reconstruction efficiency
388         TH1F                            *fPtBackgroundBeforeReco;
389         TH1F                            *fPtBackgroundBeforeReco2;
390         TH1F                            *fPtBackgroundBeforeReco_weight;
391         TH1F                            *fPtBackgroundBeforeReco2_weight;
392         TH2F                            *fpT_m_electron;
393         TH2F                            *fpT_gm_electron;
394         TH1F                            *fPtBackgroundAfterReco;
395         Double_t                        fPtMinAsso;
396         Int_t                   fTpcNclsAsso;
397                 //Tracking Efficiency
398         TH1F                            *fPtMCparticleAll;
399         TH1F                            *fPtMCparticleAll_nonPrimary;
400         TH1F                            *fPtMCparticleAlle_nonPrimary;
401         TH1F                            *fPtMCparticleAlle_Primary;
402         TH1F                            *fPtMCparticleReco;
403         TH1F                            *fPtMCparticleReco_nonPrimary;
404         TH1F                            *fPtMCparticleAllHfe1;
405         TH1F                            *fPtMCparticleRecoHfe1;
406         TH1F                            *fPtMCparticleAllHfe2;
407         TH1F                            *fPtMCparticleRecoHfe2;
408         TH1F                            *fPtMCelectronAfterAll;
409         TH1F                            *fPtMCelectronAfterAll_unfolding;
410         TH1F                            *fPtMCelectronAfterAll_nonPrimary;
411         TH1F                            *fPtMCelectronAfterAll_Primary;
412         
413         TH1F                            *fPtMCpi0;
414         TH1F                            *fPtMCeta;
415         TH1F                            *fPtMCpi02;
416         TH1F                            *fPtMCeta2;
417         TH1F                            *fPtMCpi03;
418         TH1F                            *fPtMCeta3;
419         
420         TH1F                            *fPtMC_EMCal_All;
421         TH1F                            *fPtMC_EMCal_Selected;
422         TH1F                            *fPtMC_TPC_All;
423         TH1F                            *fPtMC_TPC_Selected;
424         TH1F                            *fPt_track_match_den;
425         TH1F                            *fPt_track_match_num;
426         
427                 
428         TH1F                            *fPtMCWithLabel;
429         TH1F                            *fPtMCWithoutLabel;
430         TH1F                            *fPtIsPhysicaPrimary;
431         
432                 //For the HFE package
433         AliHFEcuts                      *fCuts;                                 // Cut Collection for HFE
434                                                                                                                 //Lucile
435                                                                                                                 //AliCaloTrackAODReader                         *reader; 
436         AliCFManager            *fCFM;                                  // Correction Framework Manager
437         AliHFEpid                       *fPID;                                  // PID
438         AliHFEpidQAmanager      *fPIDqa;                                                // PID QA manager
439         
440                 //Others
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;
451         AliAODMCParticle        *fMCparticle2;
452         AliAODMCParticle        *fMCparticleMother;
453         AliAODMCParticle        *fMCparticleGMother;
454         AliAODMCParticle        *fMCparticleGGMother;
455         AliAODMCParticle        *fMCparticleGGGMother;
456         AliMCEventHandler       *fEventHandler;
457         AliMCEvent                      *fMCevent;
458         
459                 //______________________________________________________________________
460                 //Mixed event analysis
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;
477                 //______________________________________________________________________
478         
479                 //______________________________________________________________________
480                 //Di-hadron correlation
481         TH2F                            **fCEtaPhi_Inc_DiHadron;
482         TH1F                            *fPtTrigger_Inc;
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          
491                 //______________________________________________________________________
492         
493         AliAnalysisTaskEMCalHFEpA(const AliAnalysisTaskEMCalHFEpA&);                    // not implemented
494         AliAnalysisTaskEMCalHFEpA& operator=(const AliAnalysisTaskEMCalHFEpA&);                 // not implemented
495         
496         ClassDef(AliAnalysisTaskEMCalHFEpA, 1);                                                                 // example of analysis
497                                                                                                                                                         //______________________________________________________________________
498 };
499
500         ///_________________________________________________________________________________________________
501         ///Class copied from : $ALICE_ROOT/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.h
502         ///Author: Christoph Mayer
503 class AliEHCParticle : public TObject {
504 public:
505         AliEHCParticle(Double_t eta=0, Double_t phi=0, Double_t pt=0)
506     : fEta(eta), fPhi(phi), fPt(pt) {}
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         
513 protected:
514 private:
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);
523 } ;
524         ///_________________________________________________________________________________________________
525
526 #endif