]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliReducedParticle.h
New task for D+ hadron correlations (Sadhana, Jitendra)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliReducedParticle.h
1
2 #ifndef AliReducedParticle_H
3 #define AliReducedParticle_H
4
5
6 /**************************************************************************
7  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
8  *                                                                        *
9  * Author: The ALICE Off-line Project.                                    *
10  * Contributors are mentioned in the code where appropriate.              *
11  *                                                                        *
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  **************************************************************************/
20
21 /* $Id$ */
22
23 //
24 //
25 //             Base class for DStar - Hadron Correlations Analysis
26 //
27 //-----------------------------------------------------------------------
28 //          
29 //
30 //                                                 Author S.Bjelogrlic
31 //                         Utrecht University 
32 //                      sandro.bjelogrlic@cern.ch
33 //
34 //-----------------------------------------------------------------------
35
36
37 #include "AliLog.h"
38
39 // class to get the reduced hadron candidate
40 class AliReducedParticle : public AliVParticle
41 {
42 public:
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);
46
47     ~AliReducedParticle();
48     
49     // kinematics
50         
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;}
58         
59         // kinematics
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; }
65         
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; }
70         
71     virtual Double_t OneOverPt()  const { AliFatal("Not implemented"); return 0; }
72
73     virtual Double_t Theta()      const { AliFatal("Not implemented"); return 0; }
74         
75         
76     virtual Double_t E()          const { AliFatal("Not implemented"); return 0; }
77     virtual Double_t M()          const { AliFatal("Not implemented"); return 0; }
78     
79
80     virtual Double_t Y()          const { AliFatal("Not implemented"); return 0; }
81     
82     virtual Short_t Charge()      const { return fCharge;}
83    
84     // PID
85     virtual Int_t   PdgCode()     const { AliFatal("Not implemented"); return 0; }      
86     virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }
87         
88         
89         
90     
91 private:
92     Double_t fEta;      // eta
93     Double_t fPhi;      // phi
94     Double_t fpT;       // pT
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
100     
101     ClassDef(AliReducedParticle, 3); // class which contains only quantities requires for this analysis to reduce memory consumption for event mixing
102 };
103 #endif