]>
Commit | Line | Data |
---|---|---|
9dc4f671 | 1 | /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | // Short comment describing what this class does needed! | |
5 | ||
37dde34e | 6 | // $Id: AliJTrack.h,v 1.3 2008/01/21 11:56:39 djkim Exp $ |
7 | //////////////////////////////////////////////////// | |
8 | /*! | |
9 | \file AliJTrack.h | |
10 | \brief | |
11 | \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla) | |
12 | \email: djkim@jyu.fi | |
13 | \version $Revision: 1.1 $ | |
14 | \date $Date: 2008/05/02 11:56:39 $ | |
15 | */ | |
16 | //////////////////////////////////////////////////// | |
17 | ||
18 | #ifndef ALIJTRACK_H | |
19 | #define ALIJTRACK_H | |
20 | ||
21 | #ifndef ROOT_TObject | |
22 | #include <TObject.h> | |
23 | #endif | |
24 | ||
25 | #include "AliJBaseTrack.h" | |
26 | ||
27 | class AliJTrack : public AliJBaseTrack { | |
28 | ||
29 | public: | |
30 | enum AliJTrkPID { | |
31 | kMostProbableAliJ = -1, | |
32 | kElectronAliJ, | |
33 | kMuonAliJ, | |
34 | kPionAliJ, | |
35 | kKaonAliJ, | |
36 | kProtonAliJ, | |
37 | kNAliJTrkPID | |
38 | }; | |
39 | ||
40 | enum AliJTrkPIDmethod { | |
9dc4f671 | 41 | //kTOF=0, kTPC=1, kTPCTOF=2, kNAliJTrkPIDmethod |
42 | kTOF=0, kNAliJTrkPIDmethod | |
37dde34e | 43 | }; |
44 | ||
9dc4f671 | 45 | AliJTrack(); // default constructor |
37dde34e | 46 | AliJTrack(const AliJTrack& a); // copy constructor |
9dc4f671 | 47 | ~AliJTrack(){;} //destructor |
37dde34e | 48 | |
49 | Double32_t GetPID(AliJTrkPID p, AliJTrkPIDmethod m) const { return fTrkPID[p][m]; } | |
50 | UInt_t GetFilterMap() const { return fFilterMap; } | |
51 | Bool_t IsFiltered( int i ) const { return TESTBIT( fFilterMap, i); } | |
52 | Bool_t IsFilteredMask( UInt_t mask ) const { return ((Bool_t)(((fFilterMap) & mask) != 0)); }; | |
53 | int GetTPCnClust() const {return fTPCnClust;} | |
9dc4f671 | 54 | Double32_t GetTPCdEdx() const {return fTPCdEdx; } |
55 | Double32_t GetTOFsignal() const {return fTOFsignal;} | |
56 | Double32_t GetExpectedTOFsignal( AliJTrkPID p ) const {return fExpTOFsignal[p];} | |
57 | Double32_t GetTPCmomentum() const {return fTPCmom;} | |
58 | void GetTrackPos( Double32_t *p ) const { p[0] = fTrackPos[0]; p[1] = fTrackPos[1]; p[2] = fTrackPos[2]; } | |
37dde34e | 59 | |
60 | void SetPID(AliJTrkPID p, double pro, AliJTrkPIDmethod m){ fTrkPID[p][m] = pro; } | |
61 | void SetFilterMap( UInt_t map ){ fFilterMap = map; } | |
62 | void SetFilterMap( int i, bool t ){ t?SETBIT(fFilterMap,i):CLRBIT(fFilterMap,i); } | |
63 | void SetTPCnClust(int ival) {fTPCnClust = ival;} | |
9dc4f671 | 64 | void SetTPCdEdx(Double32_t dedx ){ fTPCdEdx = dedx; } |
65 | void SetTOFsignal(Double_t tofsig) {fTOFsignal = tofsig;} | |
66 | void SetExpectedTOFsignal(AliJTrkPID p, double extime) {fExpTOFsignal[p] = extime;} | |
67 | void SetTPCmomentum(Double_t momTPC) {fTPCmom = momTPC;} | |
68 | void SetTPCTrack( Double32_t px, Double32_t py, Double32_t pz ){ fTPCTrack[0]=px;fTPCTrack[1]=py;fTPCTrack[2]=pz;} | |
69 | void SetGCGTrack( Double32_t px, Double32_t py, Double32_t pz ){ fGCGTrack[0]=px;fGCGTrack[1]=py;fGCGTrack[2]=pz;} | |
70 | void SetTrackPos( Double32_t *p ){ fTrackPos[0]=p[0];fTrackPos[1]=p[1];fTrackPos[2]=p[2];} | |
37dde34e | 71 | void SetUseTPCTrack(){ SetPxPyPzE( fTPCTrack[0], fTPCTrack[1], fTPCTrack[2], 0 ); } |
9dc4f671 | 72 | void SetUseGCGTrack(){ SetPxPyPzE( fGCGTrack[0], fGCGTrack[1], fGCGTrack[2], 0 ); } |
73 | Double32_t * GetTPCTrack(){ return fTPCTrack; } | |
74 | Double32_t * GetGCGTrack(){ return fGCGTrack; } | |
75 | ||
76 | Double32_t PtTPC(){ return TMath::Sqrt( fTPCTrack[0]*fTPCTrack[0] + fTPCTrack[1]*fTPCTrack[1] ); } | |
77 | Double32_t PtGCG(){ return TMath::Sqrt( fGCGTrack[0]*fGCGTrack[0] + fGCGTrack[1]*fGCGTrack[1] ); } | |
78 | ||
37dde34e | 79 | |
80 | AliJTrack& operator=(const AliJTrack& trk); | |
81 | ||
9dc4f671 | 82 | //Double32_t GetDCAtoVertexXY(){ return fDCAtoVertexXY; } |
83 | //void SetDCAtoVertexXY( double dxy ){ fDCAtoVertexXY = dxy; } | |
84 | //Double32_t GetDCAtoVertexZ(){ return fDCAtoVertexZ; } | |
85 | //void SetDCAtoVertexZ( double dxy ){ fDCAtoVertexZ = dxy; } | |
86 | ||
37dde34e | 87 | private: |
9dc4f671 | 88 | Double32_t fTrkPID[kNAliJTrkPID][kNAliJTrkPIDmethod]; //[0.,1.,8] Array for PID. |
89 | UInt_t fFilterMap; // bit serious of cuts | |
90 | Short_t fTPCnClust; // track TPC nclusters | |
91 | Double32_t fTPCdEdx; // TPC dEdx | |
92 | Double32_t fTOFsignal; // TOF time | |
93 | Double32_t fExpTOFsignal[kNAliJTrkPID]; // expected TOF time | |
94 | Double32_t fTPCmom; // TPC momentum to calculate expected TPC dEdx | |
95 | Double32_t fTPCTrack[3]; // px, py, pz for TPCTrack; | |
96 | Double32_t fGCGTrack[3]; // px, py, pz for GCGTrack; | |
97 | Double32_t fTrackPos[3]; // track position | |
98 | ||
99 | //Double32_t fDCAtoVertexXY; //! | |
100 | //Double32_t fDCAtoVertexZ; //! | |
37dde34e | 101 | |
102 | ClassDef(AliJTrack,1) | |
103 | }; | |
104 | ||
105 | #endif |