]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/Infrastructure/AliFemtoTrack.h
This commit was generated by cvs2svn to compensate for changes in r18145,
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Infrastructure / AliFemtoTrack.h
1 /***************************************************************************
2  *
3  * $Id$
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
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.
12  *
13  ***************************************************************************
14  *  ... Lots of stuff deleted here ...
15  **************************************************************************/
16
17 #ifndef AliFemtoTrack_hh
18 #define AliFemtoTrack_hh
19
20 #include "Infrastructure/AliFemtoTypes.h"
21 #include "AliFmPhysicalHelixD.h"
22 #include "TBits.h"
23 /* Th stuff */
24 #include "Base/AliFemtoHiddenInfo.h"
25 /***/
26
27 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
28 class StEvent;
29 class StTrack;
30 class StMuDst;
31 class StMuTrack;
32 #endif
33
34
35
36
37 class AliFemtoTrack{
38 public:
39   AliFemtoTrack();
40   AliFemtoTrack(const AliFemtoTrack&);// copy constructor
41 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
42 #ifdef __ROOT__
43  //AliFemtoTrack(const StTrack*, AliFemtoThreeVector);   // c-tor from StTrack of STAR DSTs
44   //AliFemtoTrack(const StMuDst* dst, const StMuTrack* t);
45 #endif
46   //AliFemtoTrack(const StEvent*, const StTrack*);
47 #endif
48
49   ~AliFemtoTrack();
50 //    ~AliFemtoTrack(){/* no-op*/};
51
52   short Charge() const;
53   float PidProbElectron() const;
54   float PidProbPion() const;
55   float PidProbKaon() const;
56   float PidProbProton() const;
57   float PidProbMuon() const;
58   
59   AliFemtoThreeVector P() const;
60   float Pt() const;
61   const AliFmPhysicalHelixD& Helix() const;
62   short TrackId() const;
63   long int Flags() const;
64   int Label()const;
65   float ImpactD()const;
66   float ImpactZ()const;
67   float Cdd() const;
68   float Cdz() const;
69   float Czz() const; 
70   
71   float ITSchi2() const;    
72   int   ITSncls() const;     
73   float TPCchi2() const;       
74   int   TPCncls() const;       
75   short TPCnclsF() const;      
76   short TPCsignalN() const;    
77   float TPCsignalS() const;   
78
79   const TBits& TPCclusters() const;
80   const TBits& TPCsharing()  const;
81   
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&);
88    
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&);
100   
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&);   
108
109   void SetTPCcluster(const short& aNBit, const Bool_t& aValue);
110   void SetTPCshared(const short& aNBit, const Bool_t& aValue);
111
112   /* Th stuff */
113   void SetHiddenInfo(AliFemtoHiddenInfo* aHiddenInfo);
114   bool ValidHiddenInfo() const;
115   // Fab private : (official : const AliFemtoHiddenInfo* HiddenInfo() const;
116   AliFemtoHiddenInfo* getHiddenInfo() const;
117   /***/
118   
119   //Alice stuff
120    enum {
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,
125     kRICHpid=0x20000,
126     kTRDbackup=0x80000,
127     kTRDStop=0x20000000,
128     kESDpid=0x40000000,
129     kTIME=0x80000000
130   };
131
132 private:
133   char fCharge;
134   float fPidProbElectron; // new
135   float fPidProbPion; // new
136   float fPidProbKaon; // new
137   float fPidProbProton; // new
138   float fPidProbMuon; //new 
139   unsigned int fTrackId;
140
141
142   AliFemtoThreeVector fP;
143   float fPt;
144   AliFmPhysicalHelixD fHelix;
145
146   //alice stuff
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
161   TBits fClusters;
162   TBits fShared;
163   
164   /* Th stuff */
165   // Fab private : add mutable
166   //  mutable 
167   AliFemtoHiddenInfo* fHiddenInfo; //!
168   /***/
169 };
170
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;}
178
179 #endif