]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliReducedParticle.h
o add track alpha to tree
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliReducedParticle.h
1 #ifndef AliReducedParticle_H
2 #define AliReducedParticle_H
3
4
5 /**************************************************************************
6  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
7  *                                                                        *
8  * Author: The ALICE Off-line Project.                                    *
9  * Contributors are mentioned in the code where appropriate.              *
10  *                                                                        *
11  * Permission to use, copy, modify and distribute this software and its   *
12  * documentation strictly for non-commercial purposes is hereby granted   *
13  * without fee, provided that the above copyright notice appears in all   *
14  * copies and that both the copyright notice and this permission notice   *
15  * appear in the supporting documentation. The authors make no claims     *
16  * about the suitability of this software for any purpose. It is          *
17  * provided "as is" without express or implied warranty.                  *
18  **************************************************************************/
19
20 /* $Id$ */
21
22 //
23 //
24 //             Base class for DStar - Hadron Correlations Analysis
25 //
26 //-----------------------------------------------------------------------
27 //          
28 //
29 //                                                 Author S.Bjelogrlic
30 //                         Utrecht University 
31 //                      sandro.bjelogrlic@cern.ch
32 //
33 //-----------------------------------------------------------------------
34
35
36 #include "AliLog.h"
37 #include "AliVParticle.h"
38
39 // class to get the reduced hadron candidate
40 class AliReducedParticle : public AliVParticle
41 {
42  public:
43   AliReducedParticle();
44   AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Int_t mcLabel, Int_t trackid, Double_t impPar, Bool_t checkSoftPi);
45   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);
46   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,Double_t weight);
47   AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Int_t mcLabel);
48   AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, int charge, int orginmother); 
49   AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Double_t invmass, int ptbin, int orginmother=0);
50   
51   ~AliReducedParticle();
52   
53   // kinematics
54   
55   virtual Double_t Pt()         const { return fpT; }
56   virtual Double_t Phi()        const { return fPhi; }
57   virtual Double_t Eta()        const { return fEta; }
58   virtual Int_t   GetLabel()    const { return fMcLabel; }
59   virtual Int_t  GetID()                const{return fid;}
60   virtual Double_t GetImpPar() const{return fImpPar;}
61   virtual Bool_t CheckSoftPi() const{return fCheckSoftPi;}
62   virtual Double_t GetInvMass() const {return fInvMass;}
63   virtual int GetPtBin() const  {return fPtBin;}
64   virtual int GetOriginMother() const {return fOriginMother;}
65   void SetWeight(Double_t weight){fWeight=weight;}
66   Double_t GetWeight(){return fWeight;}
67   
68   // kinematics
69   virtual Double_t Px() const { AliFatal("Not implemented"); return 0; }
70   virtual Double_t Py() const { AliFatal("Not implemented"); return 0; }
71   virtual Double_t Pz() const { AliFatal("Not implemented"); return 0; }
72   virtual Double_t P() const { AliFatal("Not implemented"); return 0; }
73   virtual Bool_t   PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
74   
75   virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; }
76   virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; }
77   virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; }
78   virtual Bool_t   XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
79   
80   virtual Double_t OneOverPt()  const { AliFatal("Not implemented"); return 0; }
81   
82   virtual Double_t Theta()      const { AliFatal("Not implemented"); return 0; }
83   
84   
85   virtual Double_t E()          const { AliFatal("Not implemented"); return 0; }
86   virtual Double_t M()          const { AliFatal("Not implemented"); return 0; }
87   
88   
89   virtual Double_t Y()          const { AliFatal("Not implemented"); return 0; }
90   
91   virtual Short_t Charge()      const { return fCharge;}
92   
93   // PID
94   virtual Int_t   PdgCode()     const { AliFatal("Not implemented"); return 0; }      
95   virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }
96   
97   
98   
99     
100  private:
101   Double_t fEta;       // eta
102   Double_t fPhi;       // phi
103   Double_t fpT;        // pT
104   Int_t fMcLabel;      //mclabel
105   Int_t fid;           // track ID
106   Double_t fImpPar;    // impact parameter
107   Bool_t fCheckSoftPi; // check if the track is compatible with a softpion from D*
108   Short_t fCharge;     // charge of the associated track
109   Double_t fInvMass;   // Invariant mass of Dmeson
110   Double_t fWeight;   // track weight (e.g. 1/efficiency)
111   int fPtBin;          // Ptbin of Dmesons
112   int fOriginMother;   //  Holds the origin motherquark (process)
113   
114   
115   ClassDef(AliReducedParticle, 4); // class which contains only quantities requires for this analysis to reduce memory consumption for event mixing
116 };
117 #endif