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__
37 AliFemtoTrack(const AliFemtoTrack&);// copy constructor
38 AliFemtoTrack& operator=(const AliFemtoTrack& aTrack);
39 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
41 //AliFemtoTrack(const StTrack*, AliFemtoThreeVector); // c-tor from StTrack of STAR DSTs
42 //AliFemtoTrack(const StMuDst* dst, const StMuTrack* t);
44 //AliFemtoTrack(const StEvent*, const StTrack*);
48 // ~AliFemtoTrack(){/* no-op*/};
51 float PidProbElectron() const;
52 float PidProbPion() const;
53 float PidProbKaon() const;
54 float PidProbProton() const;
55 float PidProbMuon() const;
57 AliFemtoThreeVector P() const;
59 const AliFmPhysicalHelixD& Helix() const;
60 short TrackId() const;
61 long int Flags() const;
69 float ITSchi2() const;
71 float TPCchi2() const;
73 short TPCnclsF() const;
74 short TPCsignalN() const;
75 float TPCsignalS() const;
77 const TBits& TPCclusters() const;
78 const TBits& TPCsharing() const;
80 void SetCharge(const short&);
81 void SetPidProbElectron(const float&);
82 void SetPidProbPion(const float&);
83 void SetPidProbKaon(const float&);
84 void SetPidProbProton(const float&);
85 void SetPidProbMuon(const float&);
87 void SetP(const AliFemtoThreeVector&);
88 void SetPt(const float&);
89 void SetHelix(const AliFmPhysicalHelixD&);
90 void SetTrackId(const short&);
91 void SetFlags(const long int&);
92 void SetLabel(const int&);
93 void SetImpactD(const float&);
94 void SetImpactZ(const float&);
95 void SetCdd(const float&);
96 void SetCdz(const float&);
97 void SetCzz(const float&);
99 void SetITSchi2(const float&);
100 void SetITSncls(const int&);
101 void SetTPCchi2(const float&);
102 void SetTPCncls(const int&);
103 void SetTPCnclsF(const short&);
104 void SetTPCsignalN(const short&);
105 void SetTPCsignalS(const float&);
107 void SetTPCcluster(const short& aNBit, const Bool_t& aValue);
108 void SetTPCshared(const short& aNBit, const Bool_t& aValue);
111 void SetHiddenInfo(AliFemtoHiddenInfo* aHiddenInfo);
112 bool ValidHiddenInfo() const;
113 // Fab private : (official : const AliFemtoHiddenInfo* HiddenInfo() const;
114 AliFemtoHiddenInfo* getHiddenInfo() const;
119 kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,
120 kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
121 kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,
122 kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,
132 float fPidProbElectron; // new
133 float fPidProbPion; // new
134 float fPidProbKaon; // new
135 float fPidProbProton; // new
136 float fPidProbMuon; //new
137 unsigned int fTrackId;
140 AliFemtoThreeVector fP;
142 AliFmPhysicalHelixD fHelix;
145 long int fFlags; //Reconsruction status flags
146 int fLabel; //Track label
147 float fImpactD; //impact parameter in xy plane
148 float fImpactZ;//impacct parameter in z
149 float fCdd,fCdz,fCzz;//covariance matrix of the impact parameters
150 // ITS related track information
151 float fITSchi2; // chi2 in the ITS
152 int fITSncls; // number of clusters assigned in the ITS
153 // TPC related track information
154 float fTPCchi2; // chi2 in the TPC
155 int fTPCncls; // number of clusters assigned in the TPC
156 short fTPCnclsF; // number of findable clusters in the TPC
157 short fTPCsignalN; // number of points used for dEdx
158 float fTPCsignalS; // RMS of dEdx measurement
163 // Fab private : add mutable
165 AliFemtoHiddenInfo* fHiddenInfo; //!
169 //inline const float* AliFemtoTrack::NSigma() const
170 //{return &mNSigmaElectron;} // Fab private
171 inline float AliFemtoTrack::PidProbElectron() const {return fPidProbElectron;}
172 inline float AliFemtoTrack::PidProbPion() const {return fPidProbPion;}
173 inline float AliFemtoTrack::PidProbKaon() const {return fPidProbKaon;}
174 inline float AliFemtoTrack::PidProbProton() const {return fPidProbProton;}
175 inline float AliFemtoTrack::PidProbMuon() const {return fPidProbMuon;}