2 #ifndef AliReducedParticle_H
3 #define AliReducedParticle_H
6 /**************************************************************************
7 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
9 * Author: The ALICE Off-line Project. *
10 * Contributors are mentioned in the code where appropriate. *
12 * Permission to use, copy, modify and distribute this software and its *
13 * documentation strictly for non-commercial purposes is hereby granted *
14 * without fee, provided that the above copyright notice appears in all *
15 * copies and that both the copyright notice and this permission notice *
16 * appear in the supporting documentation. The authors make no claims *
17 * about the suitability of this software for any purpose. It is *
18 * provided "as is" without express or implied warranty. *
19 **************************************************************************/
25 // Base class for DStar - Hadron Correlations Analysis
27 //-----------------------------------------------------------------------
30 // Author S.Bjelogrlic
32 // sandro.bjelogrlic@cern.ch
34 //-----------------------------------------------------------------------
39 // class to get the reduced hadron candidate
40 class AliReducedParticle : public AliVParticle
43 AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Int_t mcLabel, Int_t trackid, Double_t impPar, Bool_t checkSoftPi);
44 AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Int_t mcLabel, Int_t trackid, Double_t impPar, Bool_t checkSoftPi, Short_t charge);
45 AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Int_t mcLabel);
47 ~AliReducedParticle();
51 virtual Double_t Pt() const { return fpT; }
52 virtual Double_t Phi() const { return fPhi; }
53 virtual Double_t Eta() const { return fEta; }
54 virtual Int_t GetLabel() const { return fMcLabel; }
55 virtual Int_t GetID() const{return fid;}
56 virtual Double_t GetImpPar() const{return fImpPar;}
57 virtual Bool_t CheckSoftPi() const{return fCheckSoftPi;}
60 virtual Double_t Px() const { AliFatal("Not implemented"); return 0; }
61 virtual Double_t Py() const { AliFatal("Not implemented"); return 0; }
62 virtual Double_t Pz() const { AliFatal("Not implemented"); return 0; }
63 virtual Double_t P() const { AliFatal("Not implemented"); return 0; }
64 virtual Bool_t PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
66 virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; }
67 virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; }
68 virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; }
69 virtual Bool_t XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
71 virtual Double_t OneOverPt() const { AliFatal("Not implemented"); return 0; }
73 virtual Double_t Theta() const { AliFatal("Not implemented"); return 0; }
76 virtual Double_t E() const { AliFatal("Not implemented"); return 0; }
77 virtual Double_t M() const { AliFatal("Not implemented"); return 0; }
80 virtual Double_t Y() const { AliFatal("Not implemented"); return 0; }
82 virtual Short_t Charge() const { return fCharge;}
85 virtual Int_t PdgCode() const { AliFatal("Not implemented"); return 0; }
86 virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }
95 Int_t fMcLabel; //mclabel
96 Int_t fid; // track ID
97 Double_t fImpPar; // impact parameter
98 Bool_t fCheckSoftPi; // check if the track is compatible with a softpion from D*
99 Short_t fCharge; // charge of the associated track
101 ClassDef(AliReducedParticle, 3); // class which contains only quantities requires for this analysis to reduce memory consumption for event mixing