]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliReducedParticle.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliReducedParticle.h
CommitLineData
815e6bab 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"
2d1e13d1 37#include "AliVParticle.h"
815e6bab 38
39// class to get the reduced hadron candidate
40class AliReducedParticle : public AliVParticle
815e6bab 41{
dbbea648 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
815e6bab 99
dbbea648 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
815e6bab 116};
117#endif