]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/JCORRAN/AliJTrack.h
Corrected end-of-line behavior
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJTrack.h
1 // $Id: AliJTrack.h,v 1.3 2008/01/21 11:56:39 djkim Exp $
2 ////////////////////////////////////////////////////
3 /*!
4   \file AliJTrack.h
5   \brief
6   \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla)
7   \email: djkim@jyu.fi
8   \version $Revision: 1.1 $
9   \date $Date: 2008/05/02 11:56:39 $
10 */
11 ////////////////////////////////////////////////////
12
13 #ifndef ALIJTRACK_H
14 #define ALIJTRACK_H
15
16 #ifndef ROOT_TObject
17 #include <TObject.h>
18 #endif
19
20 #include "AliJBaseTrack.h"
21
22 class AliJTrack : public AliJBaseTrack {
23
24 public:
25    enum AliJTrkPID {
26     kMostProbableAliJ = -1, 
27     kElectronAliJ, 
28     kMuonAliJ,
29     kPionAliJ, 
30     kKaonAliJ, 
31     kProtonAliJ, 
32     kNAliJTrkPID
33    };
34
35    enum AliJTrkPIDmethod {
36     kTOF=0, kTPC=1, kTPCTOF=2, kNAliJTrkPIDmethod
37    };
38
39   AliJTrack();                   // default constructor
40   AliJTrack(const AliJTrack& a); // copy constructor
41   ~AliJTrack(){;}               //destructor
42
43   Double32_t  GetPID(AliJTrkPID p, AliJTrkPIDmethod m) const { return fTrkPID[p][m]; }
44   UInt_t      GetFilterMap() const { return fFilterMap; }
45   Bool_t      IsFiltered( int i ) const { return TESTBIT( fFilterMap, i); }
46   Bool_t      IsFilteredMask( UInt_t mask ) const { return ((Bool_t)(((fFilterMap) & mask) != 0)); };
47   int         GetTPCnClust() const {return fTPCnClust;}
48   Float_t     GetTPCdEdx()  const {return fTPCdEdx; }
49   Float_t  GetTOFbeta() const {return fTOFbeta;}
50   Float_t  GetExpectedTOFbeta( AliJTrkPID p ) const {return fExpTOFbeta[p];}
51   Double_t  GetExpectedTPCdEdx( AliJTrkPID p ) const {return fExpTPCdEdx[p];}
52   Double_t  GetTPCsigma( AliJTrkPID p) const {return fTPCsigma[p];}
53   Double_t  GetTOFsigma( AliJTrkPID p) const {return fTOFsigma[p];}
54
55   void SetPID(AliJTrkPID p, double pro, AliJTrkPIDmethod m){ fTrkPID[p][m] = pro; }
56   void SetFilterMap( UInt_t map ){ fFilterMap = map; }
57   void SetFilterMap( int i, bool t ){ t?SETBIT(fFilterMap,i):CLRBIT(fFilterMap,i); } 
58   void SetTPCnClust(int ival) {fTPCnClust = ival;}
59   void SetTPCdEdx( Float_t dedx ){ fTPCdEdx = dedx; }
60   void SetTOFbeta(Float_t beta) {fTOFbeta = beta;}
61   void SetExpectedTOFbeta(AliJTrkPID p, float exbeta) {fExpTOFbeta[p] = exbeta;}
62   void SetExpectedTPCdEdx(AliJTrkPID p, Double_t exdEdx) {fExpTPCdEdx[p] = exdEdx;}
63   void SetTPCsigma(AliJTrkPID p, Double_t TPCsigma) {fTPCsigma[p] = TPCsigma;}
64   void SetTOFsigma(AliJTrkPID p, Double_t TOFsigma) {fTOFsigma[p] = TOFsigma;} // Return the expected sigma of the PID signal for the specified  particle type.
65
66   void SetTPCTrack( Float_t px,  Float_t py,  Float_t pz ){ fTPCTrack[0]=px;fTPCTrack[1]=py;fTPCTrack[2]=pz;}
67   void SetUseTPCTrack(){ SetPxPyPzE( fTPCTrack[0], fTPCTrack[1], fTPCTrack[2], 0 ); } 
68   Float_t* GetTPCTrack(){ return fTPCTrack; }
69
70   AliJTrack& operator=(const AliJTrack& trk);
71
72 private:
73   Double32_t  fTrkPID[kNAliJTrkPID][kNAliJTrkPIDmethod];    //[0.,1.,8] Array for PID. 
74   UInt_t      fFilterMap;               // bit serious of cuts
75   Short_t     fTPCnClust;               // track TPC nclusters 
76   Float_t     fTPCdEdx;
77   Float_t    fTOFbeta;                    //!
78   Float_t    fExpTOFbeta[kNAliJTrkPID];   //!
79   Double_t   fExpTPCdEdx[kNAliJTrkPID];   //!
80   Double_t   fTPCsigma[kNAliJTrkPID];     //!
81   Double_t   fTOFsigma[kNAliJTrkPID];     //!
82   Float_t    fTPCTrack[3];              // px, py, pz for TPCTrack;
83
84   ClassDef(AliJTrack,1)
85 };
86
87 #endif