]>
Commit | Line | Data |
---|---|---|
2f4cac02 | 1 | // $Id: AliJTrack.h,v 1.3 2008/01/21 11:56:39 djkim Exp $ |
2 | ||
3 | //////////////////////////////////////////////////// | |
4 | /*! | |
5 | \file AliJTrack.h | |
6 | \brief | |
7 | \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla) | |
8 | \email: djkim@jyu.fi | |
9 | \version $Revision: 1.1 $ | |
10 | \date $Date: 2008/05/02 11:56:39 $ | |
11 | */ | |
12 | //////////////////////////////////////////////////// | |
13 | ||
14 | #ifndef ALIJTRACK_H | |
15 | #define ALIJTRACK_H | |
16 | ||
17 | #ifndef ROOT_TObject | |
18 | #include <TObject.h> | |
19 | #endif | |
20 | ||
21 | #include <iostream> | |
22 | #include <fstream> | |
23 | #include <stdlib.h> | |
24 | #include <stdio.h> | |
25 | #include <math.h> | |
26 | ||
27 | ||
28 | #include "AliPhJBaseTrack.h" | |
29 | #include "JConst.h" | |
30 | ||
31 | //class TObject; | |
32 | ||
33 | class AliJTrack : public AliPhJBaseTrack { | |
34 | ||
35 | public: | |
36 | ||
37 | enum AliJTrkPID { | |
38 | kElectronAli = 0, | |
39 | kMuonAli = 1, | |
40 | kPionAli = 2, | |
41 | kKaonAli = 3, | |
42 | kProtonAli = 4, | |
43 | kDeuteronAli = 5, | |
44 | kTritonAli = 6, | |
45 | kHelium3Ali = 7, | |
46 | kAlphaAli = 8, | |
47 | kUnknownAli = 9, | |
48 | kMostProbableAli = -1 | |
49 | }; | |
50 | enum { | |
51 | kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008, | |
52 | kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080, | |
53 | kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800, | |
54 | kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000, | |
55 | kHMPIDout=0x10000,kHMPIDpid=0x20000, | |
56 | kEMCALmatch=0x40000, | |
57 | kTRDbackup=0x80000, | |
58 | kTRDStop=0x20000000, | |
59 | kESDpid=0x40000000, | |
60 | kTIME=0x80000000, | |
61 | kGlobalMerge=0x08000000 | |
62 | }; | |
63 | ||
64 | AliJTrack(); // default constructor | |
65 | AliJTrack(const AliJTrack& a); // copy constructor | |
66 | ~AliJTrack(){;} //destructor | |
67 | ||
68 | void GetPID(Double_t *pid) const { | |
69 | for(Int_t i=0; i<10; ++i) pid[i]=ftrkPID[i]; | |
70 | } | |
71 | ||
72 | void SetPID(const Double_t *pid); | |
73 | ||
74 | void ConvertAliPID(); | |
75 | Double_t GetChi2perNDF() const {return fChi2perNDF;} | |
76 | Double_t GetChi2Trig() const {return fChi2Trig;} | |
77 | ||
78 | void SetChi2perNDF(Double_t chi2) {fChi2perNDF = chi2;} | |
79 | void SetChi2Trig(Double_t chi2) {fChi2Trig = chi2;} | |
80 | ||
81 | ULong_t GetRecFlags() const { return fRecFlags; } | |
82 | void SetRecFlags(ULong_t flags) { fRecFlags = flags; } | |
83 | ||
84 | Double_t GetTPCdEdx() const {return fTPCdEdx;} | |
85 | void SetTPCdEdx(Double_t dedx) {fTPCdEdx = dedx;} | |
86 | ||
87 | int GetTPCnClust() const {return fTPCnClust;} | |
88 | void SetTPCnClust(int ival) {fTPCnClust = ival;} | |
89 | ||
90 | Double_t GetTPCDCAXY() const {return fTPCDCAXY;} | |
91 | void SetTPCDCAXY(Double_t ival) {fTPCDCAXY = ival;} | |
92 | ||
93 | Double_t GetTPCDCAZ() const {return fTPCDCAZ;} | |
94 | void SetTPCDCAZ(Double_t ival) {fTPCDCAZ = ival;} | |
95 | ||
96 | Double_t GetTPCClustPerFindClust() const {return fTPCClustPerFindClust;} | |
97 | void SetTPCClustPerFindClust(Double_t ival) {fTPCClustPerFindClust = ival;} | |
98 | ||
99 | Double_t GetTPCChi2PerClust() const {return fTPCChi2PerClust;} | |
100 | void SetTPCChi2PerClust(Double_t ival) {fTPCChi2PerClust = ival;} | |
101 | ||
102 | Double_t GetImapactXY() const {return fImapactXY;} | |
103 | void SetImapactXY(Double_t ival) {fImapactXY = ival;} | |
104 | ||
105 | Double_t GetImapactZ() const {return fImapactZ;} | |
106 | void SetImapactZ(Double_t ival) {fImapactZ = ival;} | |
107 | ||
108 | Int_t GetKinkIndex() const {return fKinkIndex;} | |
109 | void SetKinkIndex(Int_t ival) {fKinkIndex = ival;} | |
110 | ||
111 | UInt_t GetStatus() const {return fstatus;} | |
112 | void SetStatus(UInt_t ival) {fstatus = ival;} | |
113 | ||
114 | void GetExternalDiaCovariance(Double_t *ecov) const { | |
115 | for(Int_t i=0; i<5; i++) ecov[i]=fextDiaCov[i]; | |
116 | } | |
117 | ||
118 | void SetExternalDiaCovariance(const Double_t *ecov); | |
119 | ||
120 | AliJTrack& operator=(const AliJTrack& trk); | |
121 | ||
122 | private: | |
123 | ||
124 | Double_t ftrkPID[10]; // [0.,1.,8] pointer to PID object | |
125 | Double_t fChi2perNDF; // chi2/NDF of mometum fit !! see details | |
126 | Double_t fChi2Trig; // chi2 of trigger/track matching !! see details | |
127 | ||
128 | ULong_t fRecFlags; // reconstruction status flags | |
129 | ||
130 | //TPC | |
131 | Double_t fTPCdEdx; // track TPC dE/dx | |
132 | int fTPCnClust; // track TPC nclusters | |
133 | Double_t fImapactXY; // distance of a track to the event vertex in xy plane | |
134 | Double_t fImapactZ; // distance of a track to the event vertex in z direction | |
135 | Double_t fTPCDCAXY; // track impact parameter in XY | |
136 | Double_t fTPCDCAZ; // track impact parameter in Z | |
137 | Double_t fTPCClustPerFindClust; // tpc | |
138 | Double_t fTPCChi2PerClust; //tpc chi2 per cluster | |
139 | //ESD track cuts | |
140 | Int_t fKinkIndex; //kink index ... indication of kink daughters | |
141 | UInt_t fstatus; // reconstruction flag status | |
142 | Double_t fextDiaCov[5];//track parameters covariance matrix | |
143 | ||
144 | ||
145 | ClassDef(AliJTrack,1) | |
146 | }; | |
147 | ||
148 | #endif |