1 /***************************************************************************
5 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6 ***************************************************************************
8 * Description: part of STAR HBT Framework: AliFemtoMaker package
9 * Intermediate format for particle. This is built from the
10 * input particle format (e.g. StTrack of StEvent) and presented to
11 * the Analyses for ParticleCuts.
13 ***************************************************************************
14 * ... Lots of stuff deleted here ...
15 **************************************************************************/
17 #ifndef AliFemtoTrack_hh
18 #define AliFemtoTrack_hh
20 #include "Infrastructure/AliFemtoTypes.h"
21 #include "AliFmPhysicalHelixD.h"
24 #include "Base/AliFemtoHiddenInfo.h"
27 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
40 AliFemtoTrack(const AliFemtoTrack&);// copy constructor
41 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
43 //AliFemtoTrack(const StTrack*, AliFemtoThreeVector); // c-tor from StTrack of STAR DSTs
44 //AliFemtoTrack(const StMuDst* dst, const StMuTrack* t);
46 //AliFemtoTrack(const StEvent*, const StTrack*);
50 // ~AliFemtoTrack(){/* no-op*/};
53 float PidProbElectron() const;
54 float PidProbPion() const;
55 float PidProbKaon() const;
56 float PidProbProton() const;
57 float PidProbMuon() const;
59 AliFemtoThreeVector P() const;
61 const AliFmPhysicalHelixD& Helix() const;
62 short TrackId() const;
63 long int Flags() const;
71 float ITSchi2() const;
73 float TPCchi2() const;
75 short TPCnclsF() const;
76 short TPCsignalN() const;
77 float TPCsignalS() const;
79 const TBits& TPCclusters() const;
80 const TBits& TPCsharing() const;
82 void SetCharge(const short&);
83 void SetPidProbElectron(const float&);
84 void SetPidProbPion(const float&);
85 void SetPidProbKaon(const float&);
86 void SetPidProbProton(const float&);
87 void SetPidProbMuon(const float&);
89 void SetP(const AliFemtoThreeVector&);
90 void SetPt(const float&);
91 void SetHelix(const AliFmPhysicalHelixD&);
92 void SetTrackId(const short&);
93 void SetFlags(const long int&);
94 void SetLabel(const int&);
95 void SetImpactD(const float&);
96 void SetImpactZ(const float&);
97 void SetCdd(const float&);
98 void SetCdz(const float&);
99 void SetCzz(const float&);
101 void SetITSchi2(const float&);
102 void SetITSncls(const int&);
103 void SetTPCchi2(const float&);
104 void SetTPCncls(const int&);
105 void SetTPCnclsF(const short&);
106 void SetTPCsignalN(const short&);
107 void SetTPCsignalS(const float&);
109 void SetTPCcluster(const short& aNBit, const Bool_t& aValue);
110 void SetTPCshared(const short& aNBit, const Bool_t& aValue);
113 void SetHiddenInfo(AliFemtoHiddenInfo* aHiddenInfo);
114 bool ValidHiddenInfo() const;
115 // Fab private : (official : const AliFemtoHiddenInfo* HiddenInfo() const;
116 AliFemtoHiddenInfo* getHiddenInfo() const;
121 kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,
122 kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
123 kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,
124 kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,
134 float fPidProbElectron; // new
135 float fPidProbPion; // new
136 float fPidProbKaon; // new
137 float fPidProbProton; // new
138 float fPidProbMuon; //new
139 unsigned int fTrackId;
142 AliFemtoThreeVector fP;
144 AliFmPhysicalHelixD fHelix;
147 long int fFlags; //Reconsruction status flags
148 int fLabel; //Track label
149 float fImpactD; //impact parameter in xy plane
150 float fImpactZ;//impacct parameter in z
151 float fCdd,fCdz,fCzz;//covariance matrix of the impact parameters
152 // ITS related track information
153 float fITSchi2; // chi2 in the ITS
154 int fITSncls; // number of clusters assigned in the ITS
155 // TPC related track information
156 float fTPCchi2; // chi2 in the TPC
157 int fTPCncls; // number of clusters assigned in the TPC
158 short fTPCnclsF; // number of findable clusters in the TPC
159 short fTPCsignalN; // number of points used for dEdx
160 float fTPCsignalS; // RMS of dEdx measurement
165 // Fab private : add mutable
167 AliFemtoHiddenInfo* fHiddenInfo; //!
171 //inline const float* AliFemtoTrack::NSigma() const
172 //{return &mNSigmaElectron;} // Fab private
173 inline float AliFemtoTrack::PidProbElectron() const {return fPidProbElectron;}
174 inline float AliFemtoTrack::PidProbPion() const {return fPidProbPion;}
175 inline float AliFemtoTrack::PidProbKaon() const {return fPidProbKaon;}
176 inline float AliFemtoTrack::PidProbProton() const {return fPidProbProton;}
177 inline float AliFemtoTrack::PidProbMuon() const {return fPidProbMuon;}