]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/JCORRAN/AliJTrack.h
JCORRAN code update from DongJo
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJTrack.h
CommitLineData
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
27class AliJTrack : public AliJBaseTrack {
28
29public:
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 87private:
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