Support for HFE analysis added (Matthias)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliReducedParticle.h
CommitLineData
815e6bab 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"
2d1e13d1 38#include "AliVParticle.h"
815e6bab 39
40// class to get the reduced hadron candidate
41class AliReducedParticle : public AliVParticle
815e6bab 42{
43public:
bce70c96 44 AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Int_t mcLabel, Int_t trackid, Double_t impPar, Bool_t checkSoftPi);
2d1e13d1 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);
bce70c96 46 AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Int_t mcLabel);
2d1e13d1 47 AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, int charge, int orginmother);
48 AliReducedParticle(Double_t eta, Double_t phi, Double_t pt, Double_t invmass, int ptbin, int orginmother=0);
815e6bab 49
50 ~AliReducedParticle();
51
52 // kinematics
53
54 virtual Double_t Pt() const { return fpT; }
bce70c96 55 virtual Double_t Phi() const { return fPhi; }
56 virtual Double_t Eta() const { return fEta; }
57 virtual Int_t GetLabel() const { return fMcLabel; }
58 virtual Int_t GetID() const{return fid;}
59 virtual Double_t GetImpPar() const{return fImpPar;}
60 virtual Bool_t CheckSoftPi() const{return fCheckSoftPi;}
2d1e13d1 61 virtual Double_t GetInvMass() const {return fInvMass;}
62 virtual int GetPtBin() const {return fPtBin;}
63 virtual int GetOriginMother() const {return fOriginMother;}
815e6bab 64
65 // kinematics
66 virtual Double_t Px() const { AliFatal("Not implemented"); return 0; }
67 virtual Double_t Py() const { AliFatal("Not implemented"); return 0; }
68 virtual Double_t Pz() const { AliFatal("Not implemented"); return 0; }
69 virtual Double_t P() const { AliFatal("Not implemented"); return 0; }
70 virtual Bool_t PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
71
72 virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; }
73 virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; }
74 virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; }
75 virtual Bool_t XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
76
77 virtual Double_t OneOverPt() const { AliFatal("Not implemented"); return 0; }
78
79 virtual Double_t Theta() const { AliFatal("Not implemented"); return 0; }
80
81
82 virtual Double_t E() const { AliFatal("Not implemented"); return 0; }
83 virtual Double_t M() const { AliFatal("Not implemented"); return 0; }
84
85
86 virtual Double_t Y() const { AliFatal("Not implemented"); return 0; }
87
c84dbedf 88 virtual Short_t Charge() const { return fCharge;}
815e6bab 89
90 // PID
91 virtual Int_t PdgCode() const { AliFatal("Not implemented"); return 0; }
92 virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }
93
94
95
96
97private:
2d1e13d1 98 Double_t fEta; // eta
99 Double_t fPhi; // phi
100 Double_t fpT; // pT
101 Int_t fMcLabel; //mclabel
102 Int_t fid; // track ID
103 Double_t fImpPar; // impact parameter
bce70c96 104 Bool_t fCheckSoftPi; // check if the track is compatible with a softpion from D*
2d1e13d1 105 Short_t fCharge; // charge of the associated track
106 Double_t fInvMass; // Invariant mass of Dmeson
107 int fPtBin; // Ptbin of Dmesons
108 int fOriginMother; // Holds the origin motherquark (process)
109
815e6bab 110
2d1e13d1 111 ClassDef(AliReducedParticle, 4); // class which contains only quantities requires for this analysis to reduce memory consumption for event mixing
815e6bab 112};
113#endif