AliRoot Core  ee782a0 (ee782a0)
Go to the documentation of this file.
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
6 /* $Id: AliESDtrack.h 64153 2013-09-09 09:33:47Z akalweit $ */
8 //-------------------------------------------------------------------------
9 // Class AliESDtrack
10 // This is the class to deal with during the physics analysis of data
11 //
12 // Origin: Iouri Belikov, CERN,
13 //-------------------------------------------------------------------------
14 /*****************************************************************************
15  * Use GetExternalParameters() and GetExternalCovariance() to access the *
16  * track information regardless of its internal representation. *
17  * This formation is now fixed in the following way: *
18  * external param0: local Y-coordinate of a track (cm) *
19  * external param1: local Z-coordinate of a track (cm) *
20  * external param2: local sine of the track momentum azimuthal angle *
21  * external param3: tangent of the track momentum dip angle *
22  * external param4: 1/pt (1/(GeV/c)) *
23  * *
24  * The Get*Label() getters return the label of the associated MC particle. *
25  * The absolute value of this label is the index of the particle within the *
26  * MC stack. If the label is negative, this track was assigned a certain *
27  * number of clusters that did not in fact belong to this track. *
28  *****************************************************************************/
30 #include <TBits.h>
31 #include "AliExternalTrackParam.h"
32 #include "AliVTrack.h"
33 #include "AliESDTOFCluster.h"
34 #include "AliPID.h"
35 #include "AliESDfriendTrack.h"
36 #include "AliTPCdEdxInfo.h"
38 class TParticle;
39 class AliESDVertex;
40 class AliKalmanTrack;
41 class AliTrackPointArray;
42 class TPolyMarker3D;
43 class AliDetectorPID;
44 class TTreeSRedirector;
45 class AliESDEvent;
48 public:
49  //
50  enum {kSkipFriend=BIT(14)};
51  enum {kNITSchi2Std=3};
52  //
53  AliESDtrack();
55  AliESDtrack(const AliVTrack* track);
56  AliESDtrack(TParticle * part);
57  virtual ~AliESDtrack();
58  virtual void Copy(TObject &obj) const;
62  }
63  void ReleaseESDfriendTrack() { /*delete fFriendTrack;*/ fFriendTrack=0; }
65  void AddCalibObject(TObject * object); // add calib object to the list
66  TObject * GetCalibObject(Int_t index); // return calib objct at given position
67  void MakeMiniESDtrack();
68  void SetID(Short_t id);
69  Int_t GetID() const { return fID;}
70  void SetVertexID(Char_t id) { fVertexID=id;}
71  Char_t GetVertexID() const { return fVertexID;}
72  void SetStatus(ULong64_t flags) {fFlags|=flags;}
73  void ResetStatus(ULong64_t flags) {fFlags&=~flags;}
74  Bool_t UpdateTrackParams(const AliKalmanTrack *t, ULong64_t flags);
75  void SetIntegratedLength(Double_t l) {fTrackLength=l;}
76  void SetIntegratedTimes(const Double_t *times);
77  void SetESDpid(const Double_t *p);
78  void GetESDpid(Double_t *p) const;
79  virtual const Double_t *PID() const { return fR; }
81  Bool_t IsOn(ULong64_t mask) const {return (fFlags&mask)>0;}
82  ULong64_t GetStatus() const {return fFlags;}
83  Int_t GetLabel() const {return fLabel;}
84  void SetLabel(Int_t label) {fLabel = label;}
86  void GetExternalParameters(Double_t &x, Double_t p[5]) const;
87  void GetExternalCovariance(Double_t cov[15]) const;
89  Double_t GetIntegratedLength() const;
90  Double_t GetIntegratedLengthOld() const {return fTrackLength;}
91  void GetIntegratedTimes(Double_t *times, Int_t nspec=AliPID::kSPECIES) const;
92  Double_t GetIntegratedTimesOld(Int_t i) const {if(fTrackTime) return fTrackTime[i]; else return 0;};
93  Int_t GetPID(Bool_t tpcOnly=kFALSE) const;
94  Int_t GetTOFBunchCrossing(Double_t b=0, Bool_t pidTPConly=kTRUE) const;
95  Double_t GetTOFExpTDiff(Double_t b=0, Bool_t pidTPConly=kTRUE) const;
96  Double_t GetTOFExpTDiffSpec(AliPID::EParticleType specie=AliPID::kPion,Double_t b=0) const;
97  //
98  Double_t GetMass(Bool_t tpcOnly=kFALSE) const {return AliPID::ParticleMass(GetPID(tpcOnly));}
99  Double_t GetMassForTracking() const;
101  Int_t GetPIDForTracking() const {return fPIDForTracking;}
102  Int_t GetPIDForTracking0() const {return fPIDForTrackingIn;}
103  Double_t M() const;
104  Double_t E() const;
105  Double_t Y() const;
107  Bool_t GetConstrainedPxPyPz(Double_t *p) const {
108  if (!fCp) return kFALSE;
109  return fCp->GetPxPyPz(p);
110  }
111  Bool_t GetConstrainedXYZ(Double_t *r) const {
112  if (!fCp) return kFALSE;
113  return fCp->GetXYZ(r);
114  }
117  (Double_t &alpha, Double_t &x, Double_t p[5]) const;
118  Bool_t GetConstrainedExternalCovariance(Double_t cov[15]) const;
119  Double_t GetConstrainedChi2() const {return fCchi2;}
120  Double_t GetChi2TPCConstrainedVsGlobal(const AliESDVertex* vtx) const;
122  //
124  // global track chi2
125  void SetGlobalChi2(Double_t chi2) {fGlobalChi2 = chi2;}
126  Double_t GetGlobalChi2() const {return fGlobalChi2;}
128  Bool_t GetInnerPxPyPz(Double_t *p) const {
129  if (!fIp) return kFALSE;
130  return fIp->GetPxPyPz(p);
131  }
132  const AliExternalTrackParam * GetInnerParam() const { return fIp;}
134  Bool_t FillTPCOnlyTrack(AliESDtrack &track);
135  Bool_t GetInnerXYZ(Double_t *r) const {
136  if (!fIp) return kFALSE;
137  return fIp->GetXYZ(r);
138  }
140  (Double_t &alpha, Double_t &x, Double_t p[5]) const;
141  Bool_t GetInnerExternalCovariance(Double_t cov[15]) const;
143  void SetOuterParam(const AliExternalTrackParam *p, ULong_t flags);
145  void SetOuterHmpParam(const AliExternalTrackParam *p, ULong_t flags);
147  const AliExternalTrackParam * GetOuterParam() const { return fOp;}
149  const AliExternalTrackParam * GetOuterHmpParam() const { return fHMPIDp;}
151  Bool_t GetOuterPxPyPz(Double_t *p) const {
152  if (!fOp) return kFALSE;
153  return fOp->GetPxPyPz(p);
154  }
155  Bool_t GetOuterHmpPxPyPz(Double_t *p) const {
156  if (!fHMPIDp) return kFALSE;
157  return fHMPIDp->GetPxPyPz(p);
158  }
160  Bool_t GetOuterXYZ(Double_t *r) const {
161  if (!fOp) return kFALSE;
162  return fOp->GetXYZ(r);
163  }
164  Bool_t GetOuterHmpXYZ(Double_t *r) const {
165  if (!fHMPIDp) return kFALSE;
166  return fHMPIDp->GetXYZ(r);
167  }
170  (Double_t &alpha, Double_t &x, Double_t p[5]) const;
171  Bool_t GetOuterExternalCovariance(Double_t cov[15]) const;
174  (Double_t &alpha, Double_t &x, Double_t p[5]) const;
175  Bool_t GetOuterHmpExternalCovariance(Double_t cov[15]) const;
177  Int_t GetNcls(Int_t idet) const;
178  Int_t GetClusters(Int_t idet, Int_t *idx) const;
180  void SetITSpid(const Double_t *p);
181  void GetITSpid(Double_t *p) const;
183  Double_t GetITSsignal() const {return fITSsignal;}
184  void SetITSdEdxSamples(const Double_t s[4]);
185  void GetITSdEdxSamples(Double_t s[4]) const;
187  Double_t GetITSsignalTunedOnData() const {return fITSsignalTuned;}
188  void SetITSsignalTunedOnData(Double_t signal) { fITSsignalTuned=signal; }
190  void SetITSchi2(Double_t ITSchi2){fITSchi2 = ITSchi2;}
191  void SetITSNcls(Char_t ITSncls){fITSncls = ITSncls;}
193  Double_t GetITSchi2() const {return fITSchi2;}
194  Double_t GetITSchi2Std(Int_t step) const {return (step>-1&&step<kNITSchi2Std) ? fITSchi2Std[step] : -1;}
195  void SetITSchi2Std(Double_t chi2, Int_t step) { if (step>-1&&step<kNITSchi2Std) fITSchi2Std[step] = chi2;}
196  Char_t GetITSclusters(Int_t *idx) const;
197  UChar_t GetITSClusterMap() const {return fITSClusterMap;}
198  void SetITSClusterMap(UChar_t amap) {fITSClusterMap = amap;}
200  Char_t GetITSNcls() const { return fITSncls;}
201  UChar_t GetITSSharedMap() const {return fITSSharedMap;}
202  void SetITSSharedFlag(int lr) {fITSSharedMap |= 0x1<<lr;}
203  Bool_t GetITSFakeFlag() const {return (fITSSharedMap&BIT(7))!=0;}
204  void SetITSFakeFlag(Bool_t v=kTRUE) {if (v) fITSSharedMap|=BIT(7); else fITSSharedMap&=~BIT(7);}
205  void SetITSSharedMap(UChar_t map) {fITSSharedMap=map;}
206  void SetITSModuleIndex(Int_t ilayer,Int_t idx) {fITSModule[ilayer]=idx;}
207  Int_t GetITSModuleIndex(Int_t ilayer) const {return fITSModule[ilayer];}
208  Bool_t GetITSModuleIndexInfo(Int_t ilayer,Int_t &idet,Int_t &status,
209  Float_t &xloc,Float_t &zloc) const;
210  Int_t GetITSLabel() const {return fITSLabel;}
211  void SetITSLabel(Int_t label) {fITSLabel = label;}
214  }
216  return fFriendTrack!=NULL?fFriendTrack->GetITStrack():NULL;
217  }
218  Bool_t HasPointOnITSLayer(Int_t i) const {return TESTBIT(fITSClusterMap,i);}
219  Bool_t HasSharedPointOnITSLayer(Int_t i) const {return TESTBIT(fITSSharedMap,i);}
221  void SetTPCpid(const Double_t *p);
222  void GetTPCpid(Double_t *p) const;
223  void SetTPCPoints(Float_t points[4]){
224  for (Int_t i=0;i<4;i++) fTPCPoints[i]=points[i];
225  }
226  void SetTPCNcls(UChar_t assigned){fTPCncls = assigned;}
227  void SetTPCchi2(Double_t TPCchi2){fTPCchi2 = TPCchi2;}
228  void SetTPCPointsF(UChar_t findable){fTPCnclsF = findable;}
229  void SetTPCPointsFIter1(UChar_t findable){fTPCnclsFIter1 = findable;}
230  UShort_t GetTPCNcls() const { return fTPCncls;}
231  UShort_t GetTPCNclsF() const { return fTPCnclsF;}
232  UShort_t GetTPCNclsIter1() const { return fTPCnclsIter1;}
233  UShort_t GetTPCNclsFIter1() const { return fTPCnclsFIter1;}
234  UShort_t GetTPCnclsS(Int_t i0=0,Int_t i1=159) const;
235  UShort_t GetTPCncls(Int_t row0=0,Int_t row1=159) const;
236  Double_t GetTPCPoints(Int_t i) const {return fTPCPoints[i];}
237  void SetKinkIndexes(Int_t points[3]) {
238  for (Int_t i=0;i<3;i++) fKinkIndexes[i] = points[i];
239  }
240  void SetV0Indexes(Int_t points[3]) {
241  for (Int_t i=0;i<3;i++) fV0Indexes[i] = points[i];
242  }
243  void SetTPCsignal(Float_t signal, Float_t sigma, UChar_t npoints){
244  fTPCsignal = signal; fTPCsignalS = sigma; fTPCsignalN = npoints;
245  }
246  void SetTPCsignalTunedOnData(Double_t signal){
247  fTPCsignalTuned = signal;
248  }
249  void SetTPCdEdxInfo(AliTPCdEdxInfo * dEdxInfo);
250  Double_t GetdEdxInfo(Int_t regionID, Int_t calibID, Int_t qID,Int_t valueID);
251  Double_t GetdEdxInfoTRD(Int_t method, Double_t p0, Double_t p1, Double_t p2);
254  Bool_t GetTPCdEdxInfo( AliTPCdEdxInfo &v ) const {
255  if( fTPCdEdxInfo ){ v = *fTPCdEdxInfo; return 1; }
256  return 0;
257  }
259  Double_t GetTPCsignal() const {return fTPCsignal;}
260  Double_t GetTPCsignalTunedOnData() const {return fTPCsignalTuned;}
261  Double_t GetTPCsignalSigma() const {return fTPCsignalS;}
262  UShort_t GetTPCsignalN() const {return fTPCsignalN;}
263  Double_t GetTPCmomentum() const {return fIp?fIp->GetP():GetP();}
264  Double_t GetTPCTgl() const {return fIp?fIp->GetTgl():GetTgl();}
265  Double_t GetTPCchi2() const {return fTPCchi2;}
266  Double_t GetTPCchi2Iter1() const {return fTPCchi2Iter1;}
267  UShort_t GetTPCclusters(Int_t *idx) const;
268  Double_t GetTPCdensity(Int_t row0, Int_t row1) const;
269  Int_t GetTPCLabel() const {return fTPCLabel;}
270  void SetTPCLabel(int lbl) {fTPCLabel = lbl;}
271  Int_t GetKinkIndex(Int_t i) const { return fKinkIndexes[i];}
272  Int_t* GetKinkIndices() { return &fKinkIndexes[0];}
273  Int_t GetV0Index(Int_t i) const { return fV0Indexes[i];}
274  const TBits& GetTPCFitMap() const {return fTPCFitMap;}
275  const TBits* GetTPCFitMapPtr() const {return &fTPCFitMap;}
276  const TBits& GetTPCClusterMap() const {return fTPCClusterMap;}
277  const TBits* GetTPCClusterMapPtr() const {return &fTPCClusterMap;}
278  const TBits& GetTPCSharedMap() const {return fTPCSharedMap;}
279  const TBits* GetTPCSharedMapPtr() const {return &fTPCSharedMap;}
280  void SetTPCFitMap(const TBits &amap) {fTPCFitMap = amap;}
281  void SetTPCClusterMap(const TBits &amap) {fTPCClusterMap = amap;}
282  void SetTPCSharedMap(const TBits &amap) {fTPCSharedMap = amap;}
283  Float_t GetTPCClusterInfo(Int_t nNeighbours=3, Int_t type=0, Int_t row0=0, Int_t row1=159, Int_t bitType=0 ) const;
284  Float_t GetTPCClusterDensity(Int_t nNeighbours=3, Int_t type=0, Int_t row0=0, Int_t row1=159, Int_t bitType=0 ) const;
285  Float_t GetTPCCrossedRows() const;
287  void SetTRDpid(const Double_t *p);
288  void SetTRDsignal(Double_t sig) {fTRDsignal = sig;}
289  void SetTRDNchamberdEdx(UChar_t nch) {fTRDNchamberdEdx = nch;}
290  void SetTRDNclusterdEdx(UChar_t ncls){fTRDNclusterdEdx = ncls;}
292 // A.Bercuci
293  void SetTRDntracklets(UChar_t q){fTRDntracklets = q;}
294  UChar_t GetTRDntracklets() const {return (fTRDntracklets>>3)&7;}
295  UChar_t GetTRDntrackletsPID() const {return fTRDntracklets&7;}
296  // TEMPORARY alias asked by the HFE group to allow
297  // reading of the v4-16-Release data with TRUNK related software (A.Bercuci@Apr 30th 09)
298  UChar_t GetTRDpidQuality() const {return GetTRDntrackletsPID();}
299  UChar_t GetTRDtrkltOccupancy(Int_t ly) const { return ly<kTRDnPlanes && ly>=0 ? fTRDTimBin[ly] & 0x1F : 0; }
300  UChar_t GetTRDtrkltClCross(Int_t ly) const { return ly<kTRDnPlanes && ly>=0 ? (fTRDTimBin[ly] >> 5) & 0x03 : 0; }
301  Bool_t IsTRDtrkltChmbGood(Int_t ly) const { return ly<kTRDnPlanes && ly>=0 ? ((fTRDTimBin[ly] >> 7) & 0x01) == 1 : kFALSE;}
302  // end A.Bercuci
304  void SetNumberOfTRDslices(Int_t n);
305  Int_t GetNumberOfTRDslices() const;
306  void SetTRDslice(Double_t q, Int_t plane, Int_t slice);
307  void SetTRDmomentum(Double_t p, Int_t plane, Double_t *sp=0x0);
308  Double_t GetTRDslice(Int_t plane, Int_t slice=-1) const;
309  Double_t GetTRDmomentum(Int_t plane, Double_t *sp=0x0) const;
311  void SetTRDQuality(Float_t quality){fTRDQuality=quality;}
312  Double_t GetTRDQuality()const {return fTRDQuality;}
313  void SetTRDBudget(Float_t budget){fTRDBudget=budget;}
314  Double_t GetTRDBudget()const {return fTRDBudget;}
316  void SetTRDTimBin(Int_t timbin, Int_t i) {fTRDTimBin[i]=timbin;}
317  void GetTRDpid(Double_t *p) const;
318  Double_t GetTRDsignal() const {return fTRDsignal;}
319  UChar_t GetTRDNchamberdEdx() const {return fTRDNchamberdEdx;}
320  UChar_t GetTRDNclusterdEdx() const {return fTRDNclusterdEdx;}
321  Char_t GetTRDTimBin(Int_t i) const {return fTRDTimBin[i];}
322  Double_t GetTRDchi2() const {return fTRDchi2;}
323  UChar_t GetTRDclusters(Int_t *idx) const;
324  UChar_t GetTRDncls() const {return fTRDncls;}
325  UChar_t GetTRDncls0() const {return fTRDncls0;}
326  UChar_t GetTRDtracklets(Int_t *idx) const;
327  void SetTRDpid(Int_t iSpecies, Float_t p);
328  Double_t GetTRDpid(Int_t iSpecies) const;
329  Int_t GetTRDLabel() const {return fTRDLabel;}
330  void SetTRDLabel(int lbl) {fTRDLabel = lbl;}
334  }
336  return fFriendTrack!=NULL?fFriendTrack->GetTRDtrack():NULL;
337  }
339  // this are methods for manipulating with TOF clusters/matches
340  void SetTOFclusterArray(Int_t ncluster,Int_t *TOFcluster);
341  Int_t *GetTOFclusterArray() const {return fTOFcluster;}
342  Int_t GetNTOFclusters() const {return fNtofClusters;}
343  void SuppressTOFMatches();
344  void ReplaceTOFTrackID(int oldID, int newID);
345  void ReplaceTOFClusterID(int oldID, int newID);
346  void ReplaceTOFMatchID(int oldID, int newID);
347  void AddTOFcluster(Int_t icl);
348  void SortTOFcluster(); // RS? Not to be used?
349  void ReMapTOFcluster(Int_t ncl,Int_t *mapping); // RS? Not to be used?
351  void SetTOFsignal(Double_t tof);
352  Double_t GetTOFsignal() const;
353  void SetTOFsignalToT(Double_t ToT);
354  Double_t GetTOFsignalToT() const;
355  void SetTOFsignalRaw(Double_t tof);
356  Double_t GetTOFsignalRaw() const;
357  void SetTOFsignalDz(Double_t dz);
358  Double_t GetTOFsignalDz() const;
359  void SetTOFsignalDx(Double_t dx);
360  Double_t GetTOFsignalDx() const;
361  void SetTOFDeltaBC(Short_t deltaBC);
362  Short_t GetTOFDeltaBC() const;
363  void SetTOFL0L1(Short_t l0l1);
364  Short_t GetTOFL0L1() const;
365  Double_t GetTOFchi2() const {return fTOFchi2;};
366  void SetTOFpid(const Double_t *p);
367  void SetTOFLabel(const Int_t *p);
368  void GetTOFpid(Double_t *p) const;
369  void GetTOFLabel(Int_t *p) const;
370  void GetTOFInfo(Float_t *info) const;
371  void SetTOFInfo(Float_t *info);
372  Int_t GetTOFCalChannel() const;
373  Int_t GetTOFcluster() const;
374  void SetTOFcluster(Int_t index) {fTOFindex=index;}
375  void SetTOFCalChannel(Int_t index);
376  Int_t GetTOFclusterN() const;
377  Bool_t IsTOFHitAlreadyMatched() const;
378  void SetTOFsignalTunedOnData(Double_t signal){fTOFsignalTuned=signal;}
379  Double_t GetTOFsignalTunedOnData() const {return fTOFsignalTuned;}
381 // HMPID methodes +++++++++++++++++++++++++++++++++ (kir)
382  void SetHMPIDsignal(Double_t theta) {fHMPIDsignal=theta;}
383  Double_t GetHMPIDsignal() const {if(fHMPIDsignal>0) return fHMPIDsignal - (Int_t)fHMPIDsignal; else return fHMPIDsignal;}
384  Double_t GetHMPIDoccupancy() const {return (Int_t)fHMPIDsignal/10.0;}
385  void SetHMPIDpid(const Double_t *p);
386  void GetHMPIDpid(Double_t *p) const;
387  void SetHMPIDchi2(Double_t chi2) {fHMPIDchi2=chi2;}
388  Double_t GetHMPIDchi2() const {return fHMPIDchi2;}
389  void SetHMPIDcluIdx(Int_t ch,Int_t idx) {fHMPIDcluIdx=ch*1000000+idx;}
390  Int_t GetHMPIDcluIdx() const {return fHMPIDcluIdx;}
391  void SetHMPIDtrk(Float_t x, Float_t y, Float_t th, Float_t ph) {
393  }
394  void GetHMPIDtrk(Float_t &x, Float_t &y, Float_t &th, Float_t &ph) const {
396  }
397  void SetHMPIDmip(Float_t x, Float_t y, Int_t q, Int_t nph=0) {
398  fHMPIDmipX=x; fHMPIDmipY=y; fHMPIDqn=1000000*nph+q;
399  }
400  void GetHMPIDmip(Float_t &x,Float_t &y,Int_t &q,Int_t &nph) const {
401  x=fHMPIDmipX; y=fHMPIDmipY; q=fHMPIDqn%1000000; nph=fHMPIDqn/1000000;
402  }
403  Bool_t IsHMPID() const {return fFlags&kHMPIDpid;}
404  Bool_t IsPureITSStandalone() const {return fFlags&kITSpureSA;}
405  Bool_t IsMultPrimary() const {return !(fFlags&kMultSec);}
406  Bool_t IsMultSecondary() const {return (fFlags&kMultSec);}
408  Int_t GetEMCALcluster() const {return fCaloIndex;}
409  void SetEMCALcluster(Int_t index) {fCaloIndex=index;}
410  Bool_t IsEMCAL() const {return fFlags&kEMCALmatch;}
412  Double_t GetTrackPhiOnEMCal() const {return fTrackPhiOnEMCal;}
413  Double_t GetTrackEtaOnEMCal() const {return fTrackEtaOnEMCal;}
414  Double_t GetTrackPtOnEMCal() const {return fTrackPtOnEMCal;}
415  Double_t GetTrackPOnEMCal() const {return TMath::Abs(fTrackEtaOnEMCal) < 1 ? fTrackPtOnEMCal*TMath::CosH(fTrackEtaOnEMCal) : -999;}
416  void SetTrackPhiEtaPtOnEMCal(Double_t phi,Double_t eta,Double_t pt) {fTrackPhiOnEMCal=phi;fTrackEtaOnEMCal=eta;fTrackPtOnEMCal=pt;}
418  Int_t GetPHOScluster() const {return fCaloIndex;}
419  void SetPHOScluster(Int_t index) {fCaloIndex=index;}
420  Bool_t IsPHOS() const {return fFlags&kPHOSmatch;}
421  Double_t GetPHOSdx()const{return fCaloDx ;}
422  Double_t GetPHOSdz()const{return fCaloDz ;}
423  void SetPHOSdxdz(Double_t dx, Double_t dz){fCaloDx=dx,fCaloDz=dz;}
428  }
430  return fFriendTrack!=NULL?fFriendTrack->GetTrackPointArray():NULL;
431  }
432  Bool_t RelateToVertexTPC(const AliESDVertex *vtx, Double_t b, Double_t maxd,
433  AliExternalTrackParam *cParam=0);
434  Bool_t
435  RelateToVertexTPCBxByBz(const AliESDVertex *vtx, Double_t b[3],Double_t maxd,
436  AliExternalTrackParam *cParam=0);
437  void GetImpactParametersTPC(Float_t &xy,Float_t &z) const {xy=fdTPC; z=fzTPC;}
438  void GetImpactParametersTPC(Float_t p[2], Float_t cov[3]) const {
439  p[0]=fdTPC; p[1]=fzTPC; cov[0]=fCddTPC; cov[1]=fCdzTPC; cov[2]=fCzzTPC;
440  }
441  Double_t GetConstrainedChi2TPC() const {return fCchi2TPC;}
443  Bool_t RelateToVertex(const AliESDVertex *vtx, Double_t b, Double_t maxd,
444  AliExternalTrackParam *cParam=0);
445  Bool_t
446  RelateToVertexBxByBz(const AliESDVertex *vtx, Double_t b[3], Double_t maxd,
447  AliExternalTrackParam *cParam=0);
448  virtual void GetImpactParameters(Float_t &xy,Float_t &z) const {xy=fD; z=fZ;}
449  void GetImpactParameters(Float_t p[2], Float_t cov[3]) const {
450  p[0]=fD; p[1]=fZ; cov[0]=fCdd; cov[1]=fCdz; cov[2]=fCzz;
451  }
453  Bool_t RelateToVVertexTPC(const AliVVertex *vtx, Double_t b, Double_t maxd,
454  AliExternalTrackParam *cParam=0);
455  Bool_t
456  RelateToVVertexTPCBxByBz(const AliVVertex *vtx, Double_t b[3],Double_t maxd,
457  AliExternalTrackParam *cParam=0);
458  Bool_t RelateToVVertex(const AliVVertex *vtx, Double_t b, Double_t maxd,
459  AliExternalTrackParam *cParam=0);
460  Bool_t
461  RelateToVVertexBxByBz(const AliVVertex *vtx, Double_t b[3], Double_t maxd,
462  AliExternalTrackParam *cParam=0);
464  void SetImpactParameters( const Float_t p[2], const Float_t cov[3], const Float_t chi2, const AliExternalTrackParam *cParam );
465  void SetImpactParametersTPC( const Float_t p[2], const Float_t cov[3], const Float_t chi2);
467  virtual void Print(Option_t * opt) const ;
468  const AliESDEvent* GetESDEvent() const {return fESDEvent;}
469  const AliTOFHeader* GetTOFHeader() const;
470  const AliVEvent* GetEvent() const {return (AliVEvent*)fESDEvent;}
471  void SetESDEvent(const AliESDEvent* evt) {fESDEvent = evt;}
473  // Trasient PID object, is owned by the track
474  virtual void SetDetectorPID(const AliDetectorPID *pid);
475  virtual const AliDetectorPID* GetDetectorPID() const { return fDetectorPID; }
477  //
478  // visualization (M. Ivanov)
479  //
480  void FillPolymarker(TPolyMarker3D *pol, Float_t magf, Float_t minR, Float_t maxR, Float_t stepR);
482  //
483  // online mode
484  // in order to optimize AliESDtrack for usage in the online HLT,
485  // some functionality is disabled
486  // - creation of AliESDfriendTrack
487  // - set lengt of bit fields fTPCClusterMap and fTPCSharedMap to 0
488  static void OnlineMode(bool mode) {fgkOnlineMode=mode;}
489  static bool OnlineMode() {return fgkOnlineMode;}
490  static Double_t GetLengthInActiveZone(const AliExternalTrackParam *paramT, Double_t deltaY, Double_t deltaZ, Double_t bz, Double_t exbPhi =0 , TTreeSRedirector * pcstream =0 );
491  Double_t GetLengthInActiveZone( Int_t mode, Double_t deltaY, Double_t deltaZ, Double_t bz, Double_t exbPhi =0 , TTreeSRedirector * pcstream =0 ) const;
493  //---------------------------------------------------------------------------
494  //--the calibration interface--
495  //--to be used in online calibration/QA
496  //--should also be implemented in ESD so it works offline as well
497  //-----------
498  virtual Int_t GetTrackParam ( AliExternalTrackParam &p ) const {
499  p=*(AliExternalTrackParam*)this;
500  return 0;}
502  virtual Int_t GetTrackParamRefitted ( AliExternalTrackParam & ) const {return 0;}
503  virtual Int_t GetTrackParamITSOut ( AliExternalTrackParam & ) const {return 0;}
506  if(!GetInnerParam()) return -1;
507  p=*GetInnerParam();
508  return 0;}
511  if(!GetOuterParam()) return -1;
512  p=*GetOuterParam();
513  return 0;}
516  if(!GetTPCInnerParam()) return -1;
517  p=*GetTPCInnerParam();
518  return 0;}
521  if(!GetConstrainedParam()) return -1;
522  p=*GetConstrainedParam();
523  return 0;}
526  if (fIp) delete fIp;
527  fIp=new AliExternalTrackParam(*p);
528  }
531  if (fOp) delete fOp;
532  fOp=new AliExternalTrackParam(*p);
533  }
536  if (fTPCInner) delete fTPCInner;
538  }
539  Int_t GetNumberOfITSClusters() const { return fITSncls;}
540  Int_t GetNumberOfTPCClusters() const { return fTPCncls;}
541  Int_t GetNumberOfTRDClusters() const { return fTRDncls;}
542  //
545  void SetFriendTrackID(int id) {fFrTrackID = UShort_t(id+1);}
546  Int_t GetFriendTrackID() const {return Int_t(fFrTrackID)-1;}
548  static void SetTrackEMuAsPi(Bool_t val);
549  static Bool_t GetTrackEMuAsPi() {return fgTrackEMuAsPi;}
551 protected:
553  AliExternalTrackParam *fCp; // Track parameters constrained to the primary vertex
554  AliExternalTrackParam *fIp; // Track parameters estimated at the inner wall of TPC at PropagateBack stage
555  AliExternalTrackParam *fTPCInner; // Track parameters estimated at the inner wall of TPC using the TPC stand-alone and propagating to vtx w/o material correction
556  AliExternalTrackParam *fOp; // Track parameters estimated at the point of maximal radial coordinate reached during the tracking
557  AliExternalTrackParam *fHMPIDp; // Track parameters at HMPID
560  TBits fTPCFitMap; // Map of clusters, one bit per padrow; 1 if has a cluster on given padrow which is used in the fit
561  TBits fTPCClusterMap; // Map of clusters, one bit per padrow; 1 if has a cluster on given padrow
562  TBits fTPCSharedMap; // Map of clusters, one bit per padrow; 1 if has a shared cluster on given padrow
564  UShort_t fFrTrackID; // id of friend in the ESDfriend
566  ULong64_t fFlags; // Reconstruction status flags
567  Int_t fID; // Unique ID of the track
568  Int_t fLabel; // Track label
569  Int_t fITSLabel; // label according ITS
570  Int_t fITSModule[12]; // modules crossed by the track in the ITS
571  Int_t fTPCLabel; // label according TPC
572  Int_t fTRDLabel; // label according TRD
573  Int_t *fTOFLabel;
575  Int_t fTOFindex; // index of the assigned TOF cluster
576  Int_t fHMPIDqn; // 1000000*number of photon clusters + QDC
577  Int_t fHMPIDcluIdx; // 1000000*chamber id + cluster idx of the assigned MIP cluster
578  Int_t fCaloIndex; // index of associated EMCAL/PHOS cluster (AliESDCaloCluster)
581  Int_t fKinkIndexes[3]; // array of indexes of posible kink candidates
582  Int_t fV0Indexes[3]; // array of indexes of posible kink candidates
584  Double32_t *fR;
585  Double32_t *fITSr;
586  Double32_t *fTPCr;
587  Double32_t *fTRDr;
588  Double32_t *fTOFr;
589  Double32_t *fHMPIDr;
591  Double32_t fHMPIDtrkTheta;//[-2*pi,2*pi,16] theta of the track extrapolated to the HMPID, LORS
592  // how much of this is needed?
593  Double32_t fHMPIDtrkPhi; //[-2*pi,2*pi,16] phi of the track extrapolated to the HMPID, LORS
594  Double32_t fHMPIDsignal; // HMPID PID signal (Theta ckov, rad)
596  Double32_t *fTrackTime;
597  Double32_t fTrackLength;
599  Double32_t fdTPC; // TPC-only impact parameter in XY plane
600  Double32_t fzTPC; // TPC-only impact parameter in Z
601  Double32_t fCddTPC,fCdzTPC,fCzzTPC; // Covariance matrix of the TPC-only impact parameters
602  Double32_t fCchi2TPC; // [0.,0.,8] TPC-only chi2 at the primary vertex
604  Double32_t fD; // Impact parameter in XY plane
605  Double32_t fZ; // Impact parameter in Z
606  Double32_t fCdd,fCdz,fCzz; // Covariance matrix of the impact parameters
607  Double32_t fCchi2; // [0.,0.,8] chi2 at the primary vertex
609  Double32_t fITSchi2Std[kNITSchi2Std]; // [0.,0.,8] standard chi2 in the ITS (with standard errors)
610  Double32_t fITSchi2; // [0.,0.,8] chi2 in the ITS
611  Double32_t fTPCchi2; // [0.,0.,8] chi2 in the TPC
612  Double32_t fTPCchi2Iter1; // [0.,0.,8] chi2 in the TPC
613  Double32_t fTRDchi2; // [0.,0.,8] chi2 in the TRD
614  Double32_t fTOFchi2; // [0.,0.,8] chi2 in the TOF
615  Double32_t fHMPIDchi2; // [0.,0.,8] chi2 in the HMPID
617  Double32_t fGlobalChi2; // [0.,0.,8] chi2 of the global track
619  Double32_t fITSsignal; // [0.,0.,10] detector's PID signal
620  Double32_t fITSsignalTuned;
621  Double32_t fITSdEdxSamples[4]; // [0.,0.,10] ITS dE/dx samples
623  Double32_t fTPCsignal; // [0.,0.,10] detector's PID signal
624  Double32_t fTPCsignalTuned;
625  Double32_t fTPCsignalS; // [0.,0.,10] RMS of dEdx measurement
626  AliTPCdEdxInfo * fTPCdEdxInfo; // object containing dE/dx information for different pad regions
627  Double32_t fTPCPoints[4]; // [0.,0.,10] TPC points -first, max. dens, last and max density
629  Double32_t fTRDsignal; // detector's PID signal
630  Double32_t fTRDQuality; // trd quality factor for TOF
631  Double32_t fTRDBudget; // trd material budget
633  Double32_t fTOFsignal;
634  Double32_t fTOFsignalTuned;
635  Double32_t fTOFsignalToT;
636  Double32_t fTOFsignalRaw;
637  Double32_t fTOFsignalDz;
638  Double32_t fTOFsignalDx;
639  Double32_t fTOFInfo[10];
640  Short_t fTOFdeltaBC;
641  Short_t fTOFl0l1;
643  Double32_t fCaloDx ; // [0.,0.,8] distance to calorimeter cluster in calo plain (phi direction)
644  Double32_t fCaloDz ; // [0.,0.,8] distance to calorimeter cluster in calo plain (z direction)
646  Double32_t fHMPIDtrkX; // x of the track impact, LORS
647  Double32_t fHMPIDtrkY; // y of the track impact, LORS
648  Double32_t fHMPIDmipX; // x of the MIP in LORS
649  Double32_t fHMPIDmipY; // y of the MIP in LORS
652  UShort_t fTPCncls; // number of clusters assigned in the TPC
653  UShort_t fTPCnclsF; // number of findable clusters in the TPC
654  UShort_t fTPCsignalN; // number of points used for dEdx
655  UShort_t fTPCnclsIter1; // number of clusters assigned in the TPC - iteration 1
656  UShort_t fTPCnclsFIter1; // number of findable clusters in the TPC - iteration 1
658  Char_t fITSncls; // number of clusters assigned in the ITS
659  UChar_t fITSClusterMap; // map of clusters, one bit per a layer
660  UChar_t fITSSharedMap; // map of shared clusters, one bit per a layer
661  UChar_t fTRDncls; // number of clusters assigned in the TRD
662  UChar_t fTRDncls0; // number of clusters assigned in the TRD before first material cross
663  UChar_t fTRDntracklets; // number of TRD tracklets used for tracking/PID
664  UChar_t fTRDNchamberdEdx; // number of chambers used to calculated the TRD truncated mean
665  UChar_t fTRDNclusterdEdx; // number of clusters used to calculated the TRD truncated mean
667  Int_t fTRDnSlices; // number of slices used for PID in the TRD
668  Double32_t *fTRDslices; //[fTRDnSlices]
670  Char_t fTRDTimBin[kTRDnPlanes]; // Time bin of Max cluster from all six planes
671  Char_t fVertexID; // ID of the primary vertex this track belongs to
672  Char_t fPIDForTracking; // mass used for tracking
673  Char_t fPIDForTrackingIn; // mass used for tracking set during TPCin
675  mutable const AliESDEvent* fESDEvent;
677  mutable Float_t fCacheNCrossedRows;
681  mutable const AliDetectorPID* fDetectorPID;
683  Double_t fTrackPhiOnEMCal; // phi of track after being propagated to the EMCal surface (default r = 440 cm)
684  Double_t fTrackEtaOnEMCal; // eta of track after being propagated to the EMCal surface (default r = 440 cm)
685  Double_t fTrackPtOnEMCal; // pt of track after being propagated to the EMCal surface (default r = 440 cm)
688  // new TOF data structure
689  Int_t fNtofClusters; // number of matchable TOF clusters
690  Int_t *fTOFcluster; //[fNtofClusters]
691  // TOF clusters matchable with the track
692  //
693  private:
694  static bool fgkOnlineMode;
695  static Bool_t fgTrackEMuAsPi; // when true, track mu and e with pion mass (run 2)
696  AliESDtrack & operator=(const AliESDtrack & );
697  ClassDef(AliESDtrack,74) //ESDtrack
698 };
702 #endif
Double32_t * fR
Definition: AliESDtrack.h:584
void ReplaceTOFTrackID(int oldID, int newID)
void SetTOFInfo(Float_t *info)
TBrowser b
Definition: RunAnaESD.C:12
Double32_t fZ
Definition: AliESDtrack.h:605
Int_t fLabel
Definition: AliESDtrack.h:568
TObject * GetCalibObject(Int_t index)
const AliTOFHeader * GetTOFHeader() const
Int_t GetNcls(Int_t idet) const
Bool_t GetITSModuleIndexInfo(Int_t ilayer, Int_t &idet, Int_t &status, Float_t &xloc, Float_t &zloc) const
Double32_t fGlobalChi2
Definition: AliESDtrack.h:617
void ReplaceTOFClusterID(int oldID, int newID)
void SetOuterHmpParam(const AliExternalTrackParam *p, ULong_t flags)
Double_t GetTRDslice(Int_t plane, Int_t slice=-1) const
Double_t GetTRDmomentum(Int_t plane, Double_t *sp=0x0) const
const TBits & GetTPCFitMap() const
Definition: AliESDtrack.h:274
Bool_t GetTPCdEdxInfo(AliTPCdEdxInfo &v) const
Definition: AliESDtrack.h:254
void SetTRDsignal(Double_t sig)
Definition: AliESDtrack.h:288
Double_t GetTPCmomentum() const
Definition: AliESDtrack.h:263
Char_t fPIDForTrackingIn
Definition: AliESDtrack.h:673
Double32_t fHMPIDtrkY
Definition: AliESDtrack.h:647
Bool_t GetConstrainedPxPyPz(Double_t *p) const
Definition: AliESDtrack.h:107
Short_t GetTOFL0L1() const
Int_t GetHMPIDcluIdx() const
Definition: AliESDtrack.h:390
void SetTPCLabel(int lbl)
Definition: AliESDtrack.h:270
Int_t fTOFCalChannel
TOF label.
Definition: AliESDtrack.h:574
void SetHMPIDchi2(Double_t chi2)
Definition: AliESDtrack.h:387
Double32_t fHMPIDmipX
Definition: AliESDtrack.h:648
Bool_t RelateToVVertex(const AliVVertex *vtx, Double_t b, Double_t maxd, AliExternalTrackParam *cParam=0)
void SetTRDslice(Double_t q, Int_t plane, Int_t slice)
Double32_t fHMPIDtrkTheta
[0.,0.,8] "detector response probabilities" (for the PID)
Definition: AliESDtrack.h:591
UChar_t GetTRDncls0() const
Definition: AliESDtrack.h:325
Int_t fHMPIDqn
Definition: AliESDtrack.h:576
void SetTOFsignalDz(Double_t dz)
Double_t GetTOFchi2() const
Definition: AliESDtrack.h:365
void ResetTrackParamIp(const AliExternalTrackParam *p)
Definition: AliESDtrack.h:525
Double32_t * fTRDslices
Definition: AliESDtrack.h:668
Double32_t fCchi2
Definition: AliESDtrack.h:607
UShort_t GetTPCnclsS(Int_t i0=0, Int_t i1=159) const
AliTPCcalibPID * pid
Definition: CalibPID.C:69
const TBits * GetTPCSharedMapPtr() const
Definition: AliESDtrack.h:279
Int_t * GetKinkIndices()
Definition: AliESDtrack.h:272
Double32_t fITSsignalTuned
Definition: AliESDtrack.h:620
Bool_t RelateToVVertexTPCBxByBz(const AliVVertex *vtx, Double_t b[3], Double_t maxd, AliExternalTrackParam *cParam=0)
void SetHMPIDsignal(Double_t theta)
Definition: AliESDtrack.h:382
void GetImpactParameters(Float_t p[2], Float_t cov[3]) const
Definition: AliESDtrack.h:449
Int_t GetITSLabel() const
Definition: AliESDtrack.h:210
void SetHMPIDmip(Float_t x, Float_t y, Int_t q, Int_t nph=0)
Definition: AliESDtrack.h:397
Double32_t fHMPIDtrkX
Definition: AliESDtrack.h:646
Int_t GetTRDLabel() const
Definition: AliESDtrack.h:329
UShort_t fTPCnclsFIter1
Definition: AliESDtrack.h:656
void SetITSchi2Std(Double_t chi2, Int_t step)
Definition: AliESDtrack.h:195
UShort_t GetTPCclusters(Int_t *idx) const
void SetVertexID(Char_t id)
Definition: AliESDtrack.h:70
Double_t GetdEdxInfoTRD(Int_t method, Double_t p0, Double_t p1, Double_t p2)
void SetOuterParam(const AliExternalTrackParam *p, ULong_t flags)
void GetImpactParametersTPC(Float_t &xy, Float_t &z) const
Definition: AliESDtrack.h:437
const AliExternalTrackParam * GetInnerParam() const
Definition: AliESDtrack.h:132
static bool fgkOnlineMode
Definition: AliESDtrack.h:694
Int_t fITSModule[12]
Definition: AliESDtrack.h:570
Double_t GetCachedChi2TPCConstrainedVsGlobalVal() const
Definition: AliESDtrack.h:121
Double32_t fD
Definition: AliESDtrack.h:604
AliExternalTrackParam * fHMPIDp
Definition: AliESDtrack.h:557
Double32_t fTPCchi2
Definition: AliESDtrack.h:611
Double_t Y() const
const AliExternalTrackParam * GetOuterParam() const
Definition: AliESDtrack.h:147
Double32_t fTOFsignalTuned
detector&#39;s PID signal [ps]
Definition: AliESDtrack.h:634
ULong64_t fFlags
Definition: AliESDtrack.h:566
static Bool_t fgTrackEMuAsPi
indicate the online mode to skip some of the functionality
Definition: AliESDtrack.h:695
void ResetTrackParamOp(const AliExternalTrackParam *p)
Definition: AliESDtrack.h:530
Bool_t GetOuterHmpExternalParameters(Double_t &alpha, Double_t &x, Double_t p[5]) const
Double32_t fTOFsignalDx
local z of track&#39;s impact on the TOF pad [cm]
Definition: AliESDtrack.h:638
Int_t GetTOFBunchCrossing(Double_t b=0, Bool_t pidTPConly=kTRUE) const
void GetTOFpid(Double_t *p) const
static bool OnlineMode()
Definition: AliESDtrack.h:489
Double_t GetTrackPhiOnEMCal() const
Definition: AliESDtrack.h:412
Bool_t GetOuterExternalCovariance(Double_t cov[15]) const
Bool_t GetXYZ(Double_t *p) const
Double_t GetTPCsignalSigma() const
Definition: AliESDtrack.h:261
Double32_t * fHMPIDr
[0.,0.,8] "detector response probabilities" (for the PID)
Definition: AliESDtrack.h:589
void SetTRDtrack(AliKalmanTrack *t)
Int_t * GetTOFclusterArray() const
Definition: AliESDtrack.h:341
void SetIntegratedLength(Double_t l)
Definition: AliESDtrack.h:75
void SetTrackPointArray(AliTrackPointArray *points)
const TBits & GetTPCClusterMap() const
Definition: AliESDtrack.h:276
Double_t GetIntegratedLengthOld() const
Definition: AliESDtrack.h:90
Double32_t fTPCsignal
Definition: AliESDtrack.h:623
void SetPIDForTracking(Int_t pid)
Definition: AliESDtrack.h:100
void SetFriendTrackID(int id)
Definition: AliESDtrack.h:545
void SetITSchi2(Double_t ITSchi2)
Definition: AliESDtrack.h:190
Bool_t IsTRDtrkltChmbGood(Int_t ly) const
Definition: AliESDtrack.h:301
void SetTPCsignalTunedOnData(Double_t signal)
Definition: AliESDtrack.h:246
void SetTOFsignalTunedOnData(Double_t signal)
Definition: AliESDtrack.h:378
void SetImpactParametersTPC(const Float_t p[2], const Float_t cov[3], const Float_t chi2)
void SetTPCSharedMap(const TBits &amap)
Definition: AliESDtrack.h:282
Double_t fTrackPtOnEMCal
Definition: AliESDtrack.h:685
Double32_t fTRDsignal
Definition: AliESDtrack.h:629
void GetExternalParameters(Double_t &x, Double_t p[5]) const
void GetESDpid(Double_t *p) const
Bool_t IsHMPID() const
Definition: AliESDtrack.h:403
Int_t GetID() const
Definition: AliESDtrack.h:69
void AddCalibObject(TObject *object)
Int_t GetLabel() const
Definition: AliESDtrack.h:83
void SetGlobalChi2(Double_t chi2)
Definition: AliESDtrack.h:125
void SetTrackPhiEtaPtOnEMCal(Double_t phi, Double_t eta, Double_t pt)
Definition: AliESDtrack.h:416
AliKalmanTrack * GetITStrack()
Definition: AliESDtrack.h:215
void SetTPCFitMap(const TBits &amap)
Definition: AliESDtrack.h:280
Char_t GetTRDTimBin(Int_t i) const
Definition: AliESDtrack.h:321
Int_t GetEMCALcluster() const
Definition: AliESDtrack.h:408
Int_t GetPIDForTracking() const
Definition: AliESDtrack.h:101
Int_t GetTrackParamCp(AliExternalTrackParam &p) const
Definition: AliESDtrack.h:520
Int_t GetTOFclusterN() const
static Float_t ParticleMass(Int_t iType)
Definition: AliPID.h:56
AliESDfriendTrack * fFriendTrack
Definition: AliESDtrack.h:558
void SetTRDmomentum(Double_t p, Int_t plane, Double_t *sp=0x0)
TBits fTPCSharedMap
Definition: AliESDtrack.h:562
Int_t GetNTOFclusters() const
Definition: AliESDtrack.h:342
void SortTOFcluster()
Double_t GetTrackEtaOnEMCal() const
Definition: AliESDtrack.h:413
Definition: AliPID.h:27
void ReleaseESDfriendTrack()
Definition: AliESDtrack.h:63
void SetTRDpid(const Double_t *p)
void SetLabel(Int_t label)
Definition: AliESDtrack.h:84
Bool_t FillTPCOnlyTrack(AliESDtrack &track)
Float_t GetTPCClusterInfo(Int_t nNeighbours=3, Int_t type=0, Int_t row0=0, Int_t row1=159, Int_t bitType=0) const
Double_t fTrackPhiOnEMCal
transient object to cache PID information
Definition: AliESDtrack.h:683
Float_t p[]
Definition: kNNTest.C:133
Double_t GetTRDBudget() const
Definition: AliESDtrack.h:314
void SetID(Short_t id)
void SetStatus(ULong64_t flags)
Definition: AliESDtrack.h:72
void SetFriendTrack(const AliESDfriendTrack *t)
Definition: AliESDtrack.h:60
TTreeSRedirector * pcstream
Double32_t fCddTPC
Definition: AliESDtrack.h:601
Double32_t fTOFsignal
Definition: AliESDtrack.h:633
Double32_t fTPCsignalS
[0.,0.,10] detector&#39;s PID signal tuned on data when using MC
Definition: AliESDtrack.h:625
void SetTOFsignal(Double_t tof)
const TBits * GetTPCFitMapPtr() const
Definition: AliESDtrack.h:275
void SetTPCPoints(Float_t points[4])
Definition: AliESDtrack.h:223
Double32_t fTOFsignalDz
detector&#39;s uncorrected time signal [ps]
Definition: AliESDtrack.h:637
Double_t GetTOFsignalToT() const
UShort_t fFrTrackID
Definition: AliESDtrack.h:564
Bool_t GetConstrainedExternalCovariance(Double_t cov[15]) const
void ReMapTOFcluster(Int_t ncl, Int_t *mapping)
Int_t fNtofClusters
Definition: AliESDtrack.h:689
AliTPCfastTrack * track
Bool_t HasPointOnITSLayer(Int_t i) const
Definition: AliESDtrack.h:218
AliExternalTrackParam * fCp
Definition: AliESDtrack.h:553
const AliExternalTrackParam * GetTPCInnerParam() const
Definition: AliESDtrack.h:133
virtual Double_t GetTgl() const
void SetHMPIDcluIdx(Int_t ch, Int_t idx)
Definition: AliESDtrack.h:389
void SetTPCpid(const Double_t *p)
Double_t GetTOFExpTDiff(Double_t b=0, Bool_t pidTPConly=kTRUE) const
Double_t GetTOFsignalDz() const
UChar_t fTRDncls0
Definition: AliESDtrack.h:662
Double32_t fTRDQuality
Definition: AliESDtrack.h:630
Bool_t IsPHOS() const
Definition: AliESDtrack.h:420
static void OnlineMode(bool mode)
Definition: AliESDtrack.h:488
Definition: driftITSTPC.C:85
const AliDetectorPID * fDetectorPID
Vertex for which the cache is valid.
Definition: AliESDtrack.h:681
void SetITSNcls(Char_t ITSncls)
Definition: AliESDtrack.h:191
void GetTOFInfo(Float_t *info) const
Int_t * fTOFcluster
Definition: AliESDtrack.h:690
Double_t GetITSsignalTunedOnData() const
Definition: AliESDtrack.h:187
Bool_t HasSharedPointOnITSLayer(Int_t i) const
Definition: AliESDtrack.h:219
void SetTOFpid(const Double_t *p)
AliExternalTrackParam * fOp
Definition: AliESDtrack.h:556
void SetTOFclusterArray(Int_t ncluster, Int_t *TOFcluster)
Char_t GetITSclusters(Int_t *idx) const
void SetV0Indexes(Int_t points[3])
Definition: AliESDtrack.h:240
Double32_t fITSchi2
Definition: AliESDtrack.h:610
virtual Int_t GetTrackParamITSOut(AliExternalTrackParam &) const
Definition: AliESDtrack.h:503
Double32_t * fITSr
[0.,0.,8] combined "detector response probability"
Definition: AliESDtrack.h:585
Int_t GetKinkIndex(Int_t i) const
Definition: AliESDtrack.h:271
AliExternalInfo info
Double32_t fTOFInfo[10]
local x of track&#39;s impact on the TOF pad [cm]
Definition: AliESDtrack.h:639
Bool_t GetITSFakeFlag() const
Definition: AliESDtrack.h:203
void GetITSdEdxSamples(Double_t s[4]) const
Double32_t * fTRDr
[0.,0.,8] "detector response probabilities" (for the PID)
Definition: AliESDtrack.h:587
UChar_t fITSClusterMap
Definition: AliESDtrack.h:659
Bool_t RelateToVertex(const AliESDVertex *vtx, Double_t b, Double_t maxd, AliExternalTrackParam *cParam=0)
Bool_t RelateToVVertexTPC(const AliVVertex *vtx, Double_t b, Double_t maxd, AliExternalTrackParam *cParam=0)
Double_t E() const
Char_t GetITSNcls() const
Definition: AliESDtrack.h:200
UChar_t GetTRDtrkltClCross(Int_t ly) const
Definition: AliESDtrack.h:300
Bool_t GetConstrainedExternalParameters(Double_t &alpha, Double_t &x, Double_t p[5]) const
Double32_t fTOFsignalToT
detector&#39;s PID signal tuned on data when using MC
Definition: AliESDtrack.h:635
void SetTRDNchamberdEdx(UChar_t nch)
Definition: AliESDtrack.h:289
Bool_t IsTOFHitAlreadyMatched() const
TBits fTPCFitMap
All the complementary information.
Definition: AliESDtrack.h:560
Float_t fCacheNCrossedRows
Pointer back to event to which the track belongs.
Definition: AliESDtrack.h:677
void SetFriendNotStored(Bool_t v)
Definition: AliESDtrack.h:543
virtual Int_t GetTrackParam(AliExternalTrackParam &p) const
Definition: AliESDtrack.h:498
Double_t GetPHOSdx() const
Definition: AliESDtrack.h:421
Double_t GetTOFsignalTunedOnData() const
Definition: AliESDtrack.h:379
AliTPCdEdxInfo * GetTPCdEdxInfo() const
Definition: AliESDtrack.h:253
Double_t GetConstrainedChi2TPC() const
Definition: AliESDtrack.h:441
Int_t GetV0Index(Int_t i) const
Definition: AliESDtrack.h:273
Double_t GetTPCTgl() const
Definition: AliESDtrack.h:264
void SetTOFsignalDx(Double_t dx)
UChar_t GetTRDpidQuality() const
Definition: AliESDtrack.h:298
void SetITSSharedMap(UChar_t map)
Definition: AliESDtrack.h:205
UChar_t GetTRDntracklets() const
Definition: AliESDtrack.h:294
void SetITSClusterMap(UChar_t amap)
Definition: AliESDtrack.h:198
UShort_t GetTPCNclsIter1() const
Definition: AliESDtrack.h:232
Double_t GetHMPIDsignal() const
Definition: AliESDtrack.h:383
Double_t GetTPCPoints(Int_t i) const
Definition: AliESDtrack.h:236
Double32_t fTrackLength
TOFs estimated by the tracking.
Definition: AliESDtrack.h:597
void SetESDpid(const Double_t *p)
Double_t chi2
Definition: AnalyzeLaser.C:7
Int_t fITSLabel
Definition: AliESDtrack.h:569
Double_t GetGlobalChi2() const
Definition: AliESDtrack.h:126
Bool_t IsOn(ULong64_t mask) const
Definition: AliESDtrack.h:81
Int_t * fTOFLabel
Definition: AliESDtrack.h:573
void GetTPCpid(Double_t *p) const
UChar_t GetTRDtracklets(Int_t *idx) const
Char_t fVertexID
Definition: AliESDtrack.h:671
void SetTRDNclusterdEdx(UChar_t ncls)
Definition: AliESDtrack.h:290
const AliExternalTrackParam * GetOuterHmpParam() const
Definition: AliESDtrack.h:149
Bool_t GetOuterHmpExternalCovariance(Double_t cov[15]) const
const AliVEvent * GetEvent() const
Definition: AliESDtrack.h:470
UShort_t fTPCnclsIter1
Definition: AliESDtrack.h:655
Float_t fCacheChi2TPCConstrainedVsGlobal
Cache for the number of crossed rows.
Definition: AliESDtrack.h:678
Double_t GetTOFsignalRaw() const
Double_t GetTPCsignal() const
Definition: AliESDtrack.h:259
void MakeMiniESDtrack()
void SetTOFsignalRaw(Double_t tof)
UChar_t fTRDNchamberdEdx
Definition: AliESDtrack.h:664
void ResetTrackParamTPCInner(const AliExternalTrackParam *p)
Definition: AliESDtrack.h:535
void SetHMPIDpid(const Double_t *p)
Double_t GetTPCchi2Iter1() const
Definition: AliESDtrack.h:266
Double_t GetITSchi2() const
Definition: AliESDtrack.h:193
const TBits * GetTPCClusterMapPtr() const
Definition: AliESDtrack.h:277
Float_t GetTPCCrossedRows() const
Double_t GetTRDchi2() const
Definition: AliESDtrack.h:322
Double_t GetChi2TPCConstrainedVsGlobal(const AliESDVertex *vtx) const
virtual void Print(Option_t *opt) const
Double32_t fITSsignal
Definition: AliESDtrack.h:619
Double_t GetdEdxInfo(Int_t regionID, Int_t calibID, Int_t qID, Int_t valueID)
UChar_t fTRDncls
Definition: AliESDtrack.h:661
Double32_t fITSdEdxSamples[4]
[0.,0.,10] detector&#39;s PID signal
Definition: AliESDtrack.h:621
Bool_t RelateToVertexBxByBz(const AliESDVertex *vtx, Double_t b[3], Double_t maxd, AliExternalTrackParam *cParam=0)
Double32_t fHMPIDtrkPhi
Definition: AliESDtrack.h:593
void ResetStatus(ULong64_t flags)
Definition: AliESDtrack.h:73
void SetIntegratedTimes(const Double_t *times)
void AddTOFcluster(Int_t icl)
const AliTrackPointArray * GetTrackPointArray() const
Definition: AliESDtrack.h:429
void SetTPCdEdxInfo(AliTPCdEdxInfo *dEdxInfo)
void SetTPCClusterMap(const TBits &amap)
Definition: AliESDtrack.h:281
Double32_t fTRDchi2
Definition: AliESDtrack.h:613
Double_t GetTrackPtOnEMCal() const
Definition: AliESDtrack.h:414
Int_t GetNumberOfTPCClusters() const
Definition: AliESDtrack.h:540
AliExternalTrackParam * fIp
Definition: AliESDtrack.h:554
Double32_t * fTOFr
[0.,0.,8] "detector response probabilities" (for the PID)
Definition: AliESDtrack.h:588
Double32_t fdTPC
Track length.
Definition: AliESDtrack.h:599
void SetPHOScluster(Int_t index)
Definition: AliESDtrack.h:419
UChar_t GetTRDtrkltOccupancy(Int_t ly) const
Definition: AliESDtrack.h:299
Double32_t * fTPCr
[0.,0.,8] "detector response probabilities" (for the PID)
Definition: AliESDtrack.h:586
void SetITSFakeFlag(Bool_t v=kTRUE)
Definition: AliESDtrack.h:204
Char_t fITSncls
Definition: AliESDtrack.h:658
Double_t GetConstrainedChi2() const
Definition: AliESDtrack.h:119
Double_t GetTPCchi2() const
Definition: AliESDtrack.h:265
Int_t GetNumberOfITSClusters() const
Definition: AliESDtrack.h:539
ULong64_t GetStatus() const
Definition: AliESDtrack.h:82
Bool_t UpdateTrackParams(const AliKalmanTrack *t, ULong64_t flags)
void SetTOFLabel(const Int_t *p)
Bool_t GetInnerPxPyPz(Double_t *p) const
Definition: AliESDtrack.h:128
UShort_t fTPCncls
Definition: AliESDtrack.h:652
static void SetTrackEMuAsPi(Bool_t val)
Bool_t GetPxPyPz(Double_t *p) const
void GetITSpid(Double_t *p) const
UChar_t fITSSharedMap
Definition: AliESDtrack.h:660
Double32_t fCzz
Definition: AliESDtrack.h:606
UShort_t GetTPCsignalN() const
Definition: AliESDtrack.h:262
UShort_t GetTPCNcls() const
Definition: AliESDtrack.h:230
Bool_t IsPureITSStandalone() const
Definition: AliESDtrack.h:404
Bool_t GetInnerXYZ(Double_t *r) const
Definition: AliESDtrack.h:135
Bool_t GetOuterHmpPxPyPz(Double_t *p) const
Definition: AliESDtrack.h:155
Double_t GetMass(Bool_t tpcOnly=kFALSE) const
Definition: AliESDtrack.h:98
Bool_t IsEMCAL() const
Definition: AliESDtrack.h:410
Int_t fKinkIndexes[3]
Definition: AliESDtrack.h:581
void SetTRDTimBin(Int_t timbin, Int_t i)
Definition: AliESDtrack.h:316
void SetITSLabel(Int_t label)
Definition: AliESDtrack.h:211
Bool_t RelateToVVertexBxByBz(const AliVVertex *vtx, Double_t b[3], Double_t maxd, AliExternalTrackParam *cParam=0)
void SetTOFsignalToT(Double_t ToT)
const AliTrackPointArray * GetTrackPointArray() const
Double_t GetTrackPOnEMCal() const
Definition: AliESDtrack.h:415
Bool_t GetConstrainedXYZ(Double_t *r) const
Definition: AliESDtrack.h:111
virtual const AliDetectorPID * GetDetectorPID() const
Definition: AliESDtrack.h:475
AliKalmanTrack * GetTRDtrack()
Definition: AliESDtrack.h:335
Int_t fHMPIDcluIdx
Definition: AliESDtrack.h:577
static Double_t GetLengthInActiveZone(const AliExternalTrackParam *paramT, Double_t deltaY, Double_t deltaZ, Double_t bz, Double_t exbPhi=0, TTreeSRedirector *pcstream=0)
Double_t GetTRDsignal() const
Definition: AliESDtrack.h:318
Double32_t fCdzTPC
Definition: AliESDtrack.h:601
virtual const Double_t * PID() const
Definition: AliESDtrack.h:79
void GetTRDpid(Double_t *p) const
Double32_t fCzzTPC
Definition: AliESDtrack.h:601
Double_t M() const
Int_t GetTOFcluster() const
void ReplaceTOFMatchID(int oldID, int newID)
void SetTRDBudget(Float_t budget)
Definition: AliESDtrack.h:313
UShort_t GetTPCNclsFIter1() const
Definition: AliESDtrack.h:233
Bool_t GetOuterPxPyPz(Double_t *p) const
Definition: AliESDtrack.h:151
Bool_t GetOuterXYZ(Double_t *r) const
Definition: AliESDtrack.h:160
void SetTOFcluster(Int_t index)
Definition: AliESDtrack.h:374
Double_t GetTOFsignalDx() const
UShort_t fTPCsignalN
Definition: AliESDtrack.h:654
const AliESDEvent * fESDEvent
Definition: AliESDtrack.h:675
void SuppressTOFMatches()
Double_t GetTPCdensity(Int_t row0, Int_t row1) const
virtual ~AliESDtrack()
Short_t fTOFdeltaBC
TOF informations.
Definition: AliESDtrack.h:640
Char_t fPIDForTracking
Definition: AliESDtrack.h:672
void GetHMPIDmip(Float_t &x, Float_t &y, Int_t &q, Int_t &nph) const
Definition: AliESDtrack.h:400
UChar_t GetTRDntrackletsPID() const
Definition: AliESDtrack.h:295
Double_t GetHMPIDchi2() const
Definition: AliESDtrack.h:388
void SetEMCALcluster(Int_t index)
Definition: AliESDtrack.h:409
Bool_t IsMultPrimary() const
Definition: AliESDtrack.h:405
Int_t fCaloIndex
Definition: AliESDtrack.h:578
AliESDtrack & operator=(const AliESDtrack &)
void SetESDEvent(const AliESDEvent *evt)
Definition: AliESDtrack.h:471
Int_t GetTOFCalChannel() const
void GetImpactParametersTPC(Float_t p[2], Float_t cov[3]) const
Definition: AliESDtrack.h:438
Double_t GetITSsignal() const
Definition: AliESDtrack.h:183
Double_t GetIntegratedLength() const
Double32_t fHMPIDchi2
Definition: AliESDtrack.h:615
Double32_t fCdz
Definition: AliESDtrack.h:606
void SetTPCNcls(UChar_t assigned)
Definition: AliESDtrack.h:226
void SetTRDtrack(AliKalmanTrack *track)
Definition: AliESDtrack.h:332
AliTPCdEdxInfo * fTPCdEdxInfo
Definition: AliESDtrack.h:626
void SetTPCPointsFIter1(UChar_t findable)
Definition: AliESDtrack.h:229
Double32_t fCaloDz
Definition: AliESDtrack.h:644
void FillPolymarker(TPolyMarker3D *pol, Float_t magf, Float_t minR, Float_t maxR, Float_t stepR)
void SetTRDQuality(Float_t quality)
Definition: AliESDtrack.h:311
Double32_t fHMPIDsignal
Definition: AliESDtrack.h:594
Int_t GetNumberOfTRDslices() const
UShort_t GetTPCNclsF() const
Definition: AliESDtrack.h:231
void SetITSsignalTunedOnData(Double_t signal)
Definition: AliESDtrack.h:188
Double_t GetTOFExpTDiffSpec(AliPID::EParticleType specie=AliPID::kPion, Double_t b=0) const
void SetTOFCalChannel(Int_t index)
Int_t GetTrackParamTPCInner(AliExternalTrackParam &p) const
Definition: AliESDtrack.h:515
Double32_t fHMPIDmipY
Definition: AliESDtrack.h:649
void SetTPCsignal(Float_t signal, Float_t sigma, UChar_t npoints)
Definition: AliESDtrack.h:243
UChar_t GetTRDncls() const
Definition: AliESDtrack.h:324
Int_t fTOFindex
Channel Index of the TOF Signal.
Definition: AliESDtrack.h:575
AliKalmanTrack * GetITStrack()
Bool_t RelateToVertexTPCBxByBz(const AliESDVertex *vtx, Double_t b[3], Double_t maxd, AliExternalTrackParam *cParam=0)
Int_t fTRDnSlices
Definition: AliESDtrack.h:667
Double_t GetTRDQuality() const
Definition: AliESDtrack.h:312
virtual void GetImpactParameters(Float_t &xy, Float_t &z) const
Definition: AliESDtrack.h:448
void SetTOFL0L1(Short_t l0l1)
void GetTOFLabel(Int_t *p) const
void SetTRDLabel(int lbl)
Definition: AliESDtrack.h:330
Int_t GetNumberOfTRDClusters() const
Definition: AliESDtrack.h:541
Double32_t fCdd
Definition: AliESDtrack.h:606
UShort_t fTPCnclsF
Definition: AliESDtrack.h:653
void SetITStrack(AliKalmanTrack *track)
Definition: AliESDtrack.h:212
Double_t GetTPCsignalTunedOnData() const
Definition: AliESDtrack.h:260
const AliESDfriendTrack * GetFriendTrack() const
Definition: AliESDtrack.h:59
Char_t fTRDTimBin[kTRDnPlanes]
Definition: AliESDtrack.h:670
void SetTPCPointsF(UChar_t findable)
Definition: AliESDtrack.h:228
void SetTrackPointArray(AliTrackPointArray *points)
Definition: AliESDtrack.h:426
Double32_t fCaloDx
detector&#39;s L0L1 latency correction
Definition: AliESDtrack.h:643
Int_t GetPID(Bool_t tpcOnly=kFALSE) const
Short_t fTOFl0l1
detector&#39;s Delta Bunch Crossing correction
Definition: AliESDtrack.h:641
Double32_t fCchi2TPC
Definition: AliESDtrack.h:602
Double_t GetPHOSdz() const
Definition: AliESDtrack.h:422
void SetTPCchi2(Double_t TPCchi2)
Definition: AliESDtrack.h:227
virtual Int_t GetTrackParamRefitted(AliExternalTrackParam &) const
Definition: AliESDtrack.h:502
UChar_t fTRDntracklets
Definition: AliESDtrack.h:663
Int_t GetPIDForTracking0() const
Definition: AliESDtrack.h:102
AliKalmanTrack * GetTRDtrack()
void GetHMPIDpid(Double_t *p) const
Double_t fTrackEtaOnEMCal
Definition: AliESDtrack.h:684
Double_t GetHMPIDoccupancy() const
Definition: AliESDtrack.h:384
Bool_t RelateToVertexTPC(const AliESDVertex *vtx, Double_t b, Double_t maxd, AliExternalTrackParam *cParam=0)
Bool_t GetOuterExternalParameters(Double_t &alpha, Double_t &x, Double_t p[5]) const
Int_t GetFriendTrackID() const
Definition: AliESDtrack.h:546
Bool_t GetInnerExternalParameters(Double_t &alpha, Double_t &x, Double_t p[5]) const
Char_t GetVertexID() const
Definition: AliESDtrack.h:71
UChar_t GetTRDNclusterdEdx() const
Definition: AliESDtrack.h:320
void SetNumberOfTRDslices(Int_t n)
void SetKinkIndexes(Int_t points[3])
Definition: AliESDtrack.h:237
Int_t fTRDLabel
Definition: AliESDtrack.h:572
void GetIntegratedTimes(Double_t *times, Int_t nspec=AliPID::kSPECIES) const
virtual void Copy(TObject &obj) const
void SetITSModuleIndex(Int_t ilayer, Int_t idx)
Definition: AliESDtrack.h:206
Int_t GetTPCLabel() const
Definition: AliESDtrack.h:269
Int_t fV0Indexes[3]
Definition: AliESDtrack.h:582
Short_t GetTOFDeltaBC() const
Double32_t fzTPC
Definition: AliESDtrack.h:600
Bool_t GetInnerExternalCovariance(Double_t cov[15]) const
Bool_t GetOuterHmpXYZ(Double_t *r) const
Definition: AliESDtrack.h:164
Int_t GetPHOScluster() const
Definition: AliESDtrack.h:418
const AliESDVertex * fCacheChi2TPCConstrainedVsGlobalVertex
Cache for the chi2 of constrained TPC vs global track.
Definition: AliESDtrack.h:679
UChar_t GetITSClusterMap() const
Definition: AliESDtrack.h:197
void SetITStrack(AliKalmanTrack *t)
void SetFriendTrackPointer(AliESDfriendTrack *t)
Definition: AliESDtrack.h:64
Int_t GetITSModuleIndex(Int_t ilayer) const
Definition: AliESDtrack.h:207
Double32_t fTPCPoints[4]
Definition: AliESDtrack.h:627
UChar_t GetITSSharedMap() const
Definition: AliESDtrack.h:201
Int_t fTPCLabel
Definition: AliESDtrack.h:571
Int_t GetClusters(Int_t idet, Int_t *idx) const
const TBits & GetTPCSharedMap() const
Definition: AliESDtrack.h:278
Double32_t fITSchi2Std[kNITSchi2Std]
Definition: AliESDtrack.h:609
Double32_t fTPCsignalTuned
Definition: AliESDtrack.h:624
const AliESDEvent * GetESDEvent() const
Definition: AliESDtrack.h:468
Double32_t * fTrackTime
Definition: AliESDtrack.h:596
void SetITSpid(const Double_t *p)
Int_t GetTrackParamOp(AliExternalTrackParam &p) const
Definition: AliESDtrack.h:510
void SetTRDntracklets(UChar_t q)
Definition: AliESDtrack.h:293
Double32_t fTRDBudget
Definition: AliESDtrack.h:631
Double32_t fTOFchi2
Definition: AliESDtrack.h:614
Bool_t IsMultSecondary() const
Definition: AliESDtrack.h:406
UChar_t GetTRDclusters(Int_t *idx) const
void GetHMPIDtrk(Float_t &x, Float_t &y, Float_t &th, Float_t &ph) const
Definition: AliESDtrack.h:394
AliExternalTrackParam * fTPCInner
Definition: AliESDtrack.h:555
void SetHMPIDtrk(Float_t x, Float_t y, Float_t th, Float_t ph)
Definition: AliESDtrack.h:391
const AliExternalTrackParam * GetConstrainedParam() const
Definition: AliESDtrack.h:115
UShort_t GetTPCncls(Int_t row0=0, Int_t row1=159) const
void SetITSdEdxSamples(const Double_t s[4])
static Bool_t GetTrackEMuAsPi()
Definition: AliESDtrack.h:549
Bool_t GetFriendNotStored() const
Definition: AliESDtrack.h:544
void SetITSSharedFlag(int lr)
Definition: AliESDtrack.h:202
Double_t GetITSchi2Std(Int_t step) const
Definition: AliESDtrack.h:194
Double32_t fTOFsignalRaw
detector&#39;s ToT signal [ns]
Definition: AliESDtrack.h:636
Double_t GetMassForTracking() const
UChar_t GetTRDNchamberdEdx() const
Definition: AliESDtrack.h:319
UChar_t fTRDNclusterdEdx
Definition: AliESDtrack.h:665
virtual void SetDetectorPID(const AliDetectorPID *pid)
Double_t GetTOFsignal() const
void GetExternalCovariance(Double_t cov[15]) const
Int_t GetTrackParamIp(AliExternalTrackParam &p) const
Definition: AliESDtrack.h:505
void SetImpactParameters(const Float_t p[2], const Float_t cov[3], const Float_t chi2, const AliExternalTrackParam *cParam)
TBits fTPCClusterMap
Definition: AliESDtrack.h:561
Double_t GetIntegratedTimesOld(Int_t i) const
Definition: AliESDtrack.h:92
void SetTOFDeltaBC(Short_t deltaBC)
void SetPHOSdxdz(Double_t dx, Double_t dz)
Definition: AliESDtrack.h:423
Double32_t fTPCchi2Iter1
Definition: AliESDtrack.h:612
Float_t GetTPCClusterDensity(Int_t nNeighbours=3, Int_t type=0, Int_t row0=0, Int_t row1=159, Int_t bitType=0) const