fC44(0),
fESDtrack(0)
{
- for(Int_t i=0; i<kMaxLayer; i++) fIndex[i]=0;
+ for(Int_t i=0; i<2*kMaxLayer; i++) fIndex[i]=-1;
for(Int_t i=0; i<4; i++) fdEdxSample[i]=0;
}
fC30=t.fC30; fC31=t.fC31; fC32=t.fC32; fC33=t.fC33;
fC40=t.fC40; fC41=t.fC41; fC42=t.fC42; fC43=t.fC43; fC44=t.fC44;
- Int_t n=GetNumberOfClusters();
- for (Int_t i=0; i<n; i++) {
- fIndex[i]=t.fIndex[i];
- if (i<4) fdEdxSample[i]=t.fdEdxSample[i];
- }
+ Int_t i;
+ for (i=0; i<2*kMaxLayer; i++) fIndex[i]=t.fIndex[i];
+ for (i=0; i<4; i++) fdEdxSample[i]=t.fdEdxSample[i];
+
fESDtrack=t.fESDtrack;
}
Int_t GetGlobalXYZat(Double_t r,Double_t &x,Double_t &y,Double_t &z) const;
void ApproximateHelixWithLine(Double_t xk, AliStrLine *line);
Double_t GetPredictedChi2(const AliCluster *cluster) const;
- Int_t Invariant() const;
+ Int_t Invariant() const;
+
+ void SetExtraCluster(Int_t i, Int_t idx) {fIndex[kMaxLayer+i]=idx;}
+ Int_t GetExtraCluster(Int_t i) const {return fIndex[kMaxLayer+i];}
protected:
void GetXYZ(Float_t r[3]) const;
Double_t fC30, fC31, fC32, fC33; // track
Double_t fC40, fC41, fC42, fC43, fC44; // parameters
- UInt_t fIndex[kMaxLayer]; // indices of associated clusters
- Float_t fdEdxSample[4]; // array of dE/dx samples b.b.
+ Int_t fIndex[2*kMaxLayer]; // indices of associated clusters
+ Float_t fdEdxSample[4]; // array of dE/dx samples b.b.
- AliESDtrack *fESDtrack; //! pointer to the connected ESD track
- ClassDef(AliITStrackV2,4) //ITS reconstructed track
+ AliESDtrack *fESDtrack; //! pointer to the connected ESD track
+ ClassDef(AliITStrackV2,5) //ITS reconstructed track
};
inline
fTrackToFollow.ResetCovariance();
//Refitting...
- if (RefitAt(3.7, &fTrackToFollow, t)) {
+ if (RefitAt(3.7, &fTrackToFollow, t,kTRUE)) {
fTrackToFollow.SetLabel(t->GetLabel());
// fTrackToFollow.CookdEdx();
CookdEdx(&fTrackToFollow);
return ncl;
}
-Bool_t
-AliITStrackerMI::RefitAt(Double_t xx,AliITStrackMI *t,const AliITStrackMI *c) {
+Bool_t AliITStrackerMI::RefitAt(Double_t xx,AliITStrackMI *t,
+ const AliITStrackMI *c, Bool_t extra) {
//--------------------------------------------------------------------
// This function refits the track "t" at the position "x" using
// the clusters from "c"
+ // If "extra"==kTRUE,
+ // the clusters from overlapped modules get attached to "t"
//--------------------------------------------------------------------
Int_t index[kMaxLayer];
Int_t k;
}
}
}
- /*
- if (cl==0)
- if (t->GetNumberOfClusters()>2) {
- Double_t dz=4*TMath::Sqrt(t->GetSigmaZ2()+kSigmaZ2[i]);
- Double_t dy=4*TMath::Sqrt(t->GetSigmaY2()+kSigmaY2[i]);
- Double_t zmin=t->GetZ() - dz;
- Double_t zmax=t->GetZ() + dz;
- Double_t ymin=t->GetY() + phi*r - dy;
- Double_t ymax=t->GetY() + phi*r + dy;
- layer.SelectClusters(zmin,zmax,ymin,ymax);
- const AliITSRecPoint *c=0; Int_t ci=-1;
- while ((c=layer.GetNextCluster(ci))!=0) {
- if (idet != c->GetDetectorIndex()) continue;
- Double_t chi2=t->GetPredictedChi2(c);
- if (chi2<maxchi2) { cl=c; maxchi2=chi2; idx=ci; }
- }
- }
- */
if (cl) {
//if (!t->Update(cl,maxchi2,idx)) {
if (!UpdateMI(t,cl,maxchi2,idx)) {
t->CorrectForMaterial(-step*d,x0);
}
+ if (extra) { //search for extra clusters
+ AliITStrackV2 tmp(*t);
+ Double_t dz=4*TMath::Sqrt(tmp.GetSigmaZ2()+kSigmaZ2[i]);
+ if (dz < 0.5*TMath::Abs(tmp.GetTgl())) dz=0.5*TMath::Abs(tmp.GetTgl());
+ Double_t dy=4*TMath::Sqrt(t->GetSigmaY2()+kSigmaY2[i]);
+ if (dy < 0.5*TMath::Abs(tmp.GetSnp())) dy=0.5*TMath::Abs(tmp.GetSnp());
+ Double_t zmin=t->GetZ() - dz;
+ Double_t zmax=t->GetZ() + dz;
+ Double_t ymin=t->GetY() + phi*r - dy;
+ Double_t ymax=t->GetY() + phi*r + dy;
+ layer.SelectClusters(zmin,zmax,ymin,ymax);
+
+ const AliITSRecPoint *c=0; Int_t ci=-1,cci=-1;
+ Double_t maxchi2=1000.*kMaxChi2, tolerance=0.1;
+ while ((c=layer.GetNextCluster(ci))!=0) {
+ if (idet == c->GetDetectorIndex()) continue;
+
+ const AliITSdetector &det=layer.GetDetector(c->GetDetectorIndex());
+
+ if (!tmp.Propagate(det.GetPhi(),det.GetR())) continue;
+
+ if (TMath::Abs(tmp.GetZ() - c->GetZ()) > tolerance) continue;
+ if (TMath::Abs(tmp.GetY() - c->GetY()) > tolerance) continue;
+
+ Double_t chi2=tmp.GetPredictedChi2(c);
+ if (chi2<maxchi2) { maxchi2=chi2; cci=ci; }
+ }
+ if (cci>=0) t->SetExtraCluster(i,(i<<28)+cci);
+ }
+
// track time update [SR, GSI 17.02.2003]
if (t->IsStartedTimeIntegral() && step==1) {
Double_t newX, newY, newZ;
return kTRUE;
}
-
Bool_t
AliITStrackerMI::RefitAt(Double_t xx,AliITStrackMI *t,const Int_t *clindex) {
//--------------------------------------------------------------------
return kTRUE;
}
-
-
Double_t AliITStrackerMI::GetNormalizedChi2(AliITStrackMI * track, Int_t mode)
{
//
Int_t Clusters2Tracks(AliESD *event);
Int_t PropagateBack(AliESD *event);
Int_t RefitInward(AliESD *event);
- Bool_t RefitAt(Double_t x, AliITStrackMI *seed, const AliITStrackMI *t);
+ Bool_t RefitAt(Double_t x, AliITStrackMI *seed,
+ const AliITStrackMI *t, Bool_t extra=kFALSE);
Bool_t RefitAt(Double_t x, AliITStrackMI *seed, const Int_t *clindex);
void SetupFirstPass(Int_t *flags, Double_t *cuts=0);
void SetupSecondPass(Int_t *flags, Double_t *cuts=0);
while (nentr--) {
AliESDtrack *track=event->GetTrack(nentr);
if (track->GetStatus()&AliESDtrack::kITSin==AliESDtrack::kITSin){
- UInt_t idx[6];
+ Int_t idx[12];
Int_t ncl = track->GetITSclusters(idx);
for(Int_t k=0;k<ncl;k++){
AliITSRecPoint* cll = (AliITSRecPoint*)GetCluster(idx[k]);
fTrackToFollow.ResetClusters();
//Refitting...
- if (RefitAt(3.7, &fTrackToFollow, t)) {
+ if (RefitAt(3.7, &fTrackToFollow, t, kTRUE)) {
fTrackToFollow.SetLabel(t->GetLabel());
fTrackToFollow.CookdEdx();
CookLabel(&fTrackToFollow,0.); //For comparison only
return d/(xn*xn);
}
-Bool_t
-AliITStrackerV2::RefitAt(Double_t xx,AliITStrackV2 *t,const AliITStrackV2 *c) {
+Bool_t AliITStrackerV2::RefitAt(Double_t xx,AliITStrackV2 *t,
+ const AliITStrackV2 *c, Bool_t extra) {
//--------------------------------------------------------------------
// This function refits the track "t" at the position "x" using
// the clusters from "c"
+ // If "extra"==kTRUE,
+ // the clusters from overlapped modules get attached to "t"
//--------------------------------------------------------------------
Int_t index[kMaxLayer];
Int_t k;
return kFALSE;
}
}
- /*
- if (cl==0)
- if (t->GetNumberOfClusters()>2) {
- Double_t dz=4*TMath::Sqrt(t->GetSigmaZ2()+kSigmaZ2[i]);
- Double_t dy=4*TMath::Sqrt(t->GetSigmaY2()+kSigmaY2[i]);
- Double_t zmin=t->GetZ() - dz;
- Double_t zmax=t->GetZ() + dz;
- Double_t ymin=t->GetY() + phi*r - dy;
- Double_t ymax=t->GetY() + phi*r + dy;
- layer.SelectClusters(zmin,zmax,ymin,ymax);
-
- const AliITSRecPoint *c=0; Int_t ci=-1;
- while ((c=layer.GetNextCluster(ci))!=0) {
- if (idet != c->GetDetectorIndex()) continue;
- Double_t chi2=t->GetPredictedChi2(c);
- if (chi2<maxchi2) { cl=c; maxchi2=chi2; idx=ci; }
- }
- }
- */
+
if (cl) {
if (!t->Update(cl,maxchi2,idx)) {
return kFALSE;
t->CorrectForMaterial(-step*d,x0);
}
+ if (extra) { //search for extra clusters
+ AliITStrackV2 tmp(*t);
+ Double_t dz=4*TMath::Sqrt(tmp.GetSigmaZ2()+kSigmaZ2[i]);
+ if (dz < 0.5*TMath::Abs(tmp.GetTgl())) dz=0.5*TMath::Abs(tmp.GetTgl());
+ Double_t dy=4*TMath::Sqrt(t->GetSigmaY2()+kSigmaY2[i]);
+ if (dy < 0.5*TMath::Abs(tmp.GetSnp())) dy=0.5*TMath::Abs(tmp.GetSnp());
+ Double_t zmin=t->GetZ() - dz;
+ Double_t zmax=t->GetZ() + dz;
+ Double_t ymin=t->GetY() + phi*r - dy;
+ Double_t ymax=t->GetY() + phi*r + dy;
+ layer.SelectClusters(zmin,zmax,ymin,ymax);
+
+ const AliITSRecPoint *c=0; Int_t ci=-1,cci=-1;
+ Double_t maxchi2=1000.*kMaxChi2, tolerance=0.1;
+ while ((c=layer.GetNextCluster(ci))!=0) {
+ if (idet == c->GetDetectorIndex()) continue;
+
+ const AliITSdetector &det=layer.GetDetector(c->GetDetectorIndex());
+
+ if (!tmp.Propagate(det.GetPhi(),det.GetR())) continue;
+
+ if (TMath::Abs(tmp.GetZ() - c->GetZ()) > tolerance) continue;
+ if (TMath::Abs(tmp.GetY() - c->GetY()) > tolerance) continue;
+
+ Double_t chi2=tmp.GetPredictedChi2(c);
+ if (chi2<maxchi2) { maxchi2=chi2; cci=ci; }
+ }
+ if (cci>=0) t->SetExtraCluster(i,(i<<28)+cci);
+ }
+
// track time update [SR, GSI 17.02.2003]
if (t->IsStartedTimeIntegral() && step==1) {
Double_t newX, newY, newZ;
Int_t Clusters2Tracks(AliESD *event);
Int_t PropagateBack(AliESD *event);
Int_t RefitInward(AliESD *event);
- Bool_t RefitAt(Double_t x, AliITStrackV2 *seed, const AliITStrackV2 *t);
+ Bool_t RefitAt(Double_t x, AliITStrackV2 *seed,
+ const AliITStrackV2 *t, Bool_t extra=kFALSE);
void SetupFirstPass(Int_t *flags, Double_t *cuts=0);
void SetupSecondPass(Int_t *flags, Double_t *cuts=0);
// fPHOSpos[0]=fPHOSpos[1]=fPHOSpos[2]=0.;
Int_t i;
- for (i=0;i<12;i++) fITSchi2MIP[i] =1e10;
- for (i=0; i<6; i++) { fITSindex[i]=0; }
- for (i=0; i<180; i++){ fTPCindex[i]=0; }
- for (i=0; i<3;i++) { fKinkIndexes[i]=0;}
- for (i=0; i<3;i++) { fV0Indexes[i]=-1;}
+ for (i=0; i<12; i++) fITSchi2MIP[i]=1e10;
+ for (i=0; i<12; i++) { fITSindex[i]=-1; }
+ for (i=0; i<180; i++) { fTPCindex[i]=0; }
+ for (i=0; i<3; i++) { fKinkIndexes[i]=0;}
+ for (i=0; i<3; i++) { fV0Indexes[i]=-1;}
for (i=0; i<180; i++) { fTRDindex[i]=0; }
for (i=0;i<kNPlane;i++) {fTRDsignals[i]=0.; fTRDTimBin[i]=-1;}
for (i=0;i<4;i++) {fTPCPoints[i]=-1;}
//
//copy constructor
//
- for (Int_t i=0;i<AliPID::kSPECIES;i++) fTrackTime[i] =track.fTrackTime[i];
- for (Int_t i=0;i<AliPID::kSPECIES;i++) fR[i] =track.fR[i];
+ for (Int_t i=0;i<AliPID::kSPECIES;i++) fTrackTime[i]=track.fTrackTime[i];
+ for (Int_t i=0;i<AliPID::kSPECIES;i++) fR[i]=track.fR[i];
//
- for (Int_t i=0;i<12;i++) fITSchi2MIP[i] =track.fITSchi2MIP[i];
- for (Int_t i=0;i<6;i++) fITSindex[i]=track.fITSindex[i];
+ for (Int_t i=0;i<12;i++) fITSchi2MIP[i]=track.fITSchi2MIP[i];
+ for (Int_t i=0;i<12;i++) fITSindex[i]=track.fITSindex[i];
for (Int_t i=0;i<AliPID::kSPECIES;i++) fITSr[i]=track.fITSr[i];
//
for (Int_t i=0;i<180;i++) fTPCindex[i]=track.fTPCindex[i];
// Reset ITS track related information
fITSchi2 = 0;
- for (Int_t i=0;i<12;i++) fITSchi2MIP[i] = 0;
+ for (Int_t i=0;i<12;i++) fITSchi2MIP[i]=0;
fITSncls = 0;
- for (Int_t i=0;i<6;i++) fITSindex[i]= 0;
+ for (Int_t i=0;i<12;i++) fITSindex[i]=0;
fITSsignal = 0;
- for (Int_t i=0;i<AliPID::kSPECIES;i++) fITSr[i]= 0;
+ for (Int_t i=0;i<AliPID::kSPECIES;i++) fITSr[i]=0;
fITSLabel = 0;
fITSFakeRatio = 0;
fITStrack =0;
case kITSin: case kITSout: case kITSrefit:
fITSncls=t->GetNumberOfClusters();
fITSchi2=t->GetChi2();
- for (Int_t i=0;i<fITSncls;i++) fITSindex[i]=t->GetClusterIndex(i);
+ for (Int_t i=0;i<12;i++) fITSindex[i]=t->GetClusterIndex(i);
fITSsignal=t->GetPIDsignal();
fITSLabel = t->GetLabel();
fITSFakeRatio = t->GetFakeRatio();
return ncls;
}
-Int_t AliESDtrack::GetClusters(Int_t idet, UInt_t *idx) const
+Int_t AliESDtrack::GetClusters(Int_t idet, Int_t *idx) const
{
// Get cluster index array by subdetector index
//
ncls = GetITSclusters(idx);
break;
case 1:
- ncls = GetTPCclusters((Int_t *)idx);
+ ncls = GetTPCclusters(idx);
break;
case 2:
ncls = GetTRDclusters(idx);
}
//_______________________________________________________________________
-Int_t AliESDtrack::GetITSclusters(UInt_t *idx) const {
+Int_t AliESDtrack::GetITSclusters(Int_t *idx) const {
//---------------------------------------------------------------------
// This function returns indices of the assgined ITS clusters
//---------------------------------------------------------------------
- for (Int_t i=0; i<fITSncls; i++) idx[i]=fITSindex[i];
+ for (Int_t i=0; i<12; i++) idx[i]=fITSindex[i];
return fITSncls;
}
}
//_______________________________________________________________________
-Int_t AliESDtrack::GetTRDclusters(UInt_t *idx) const {
+Int_t AliESDtrack::GetTRDclusters(Int_t *idx) const {
//---------------------------------------------------------------------
// This function returns indices of the assgined TRD clusters
//---------------------------------------------------------------------
Int_t GetNcls(Int_t idet) const;
- Int_t GetClusters(Int_t idet, UInt_t *idx) const;
+ Int_t GetClusters(Int_t idet, Int_t *idx) const;
void SetITSpid(const Double_t *p);
void SetITSChi2MIP(const Float_t *chi2mip);
void GetITSpid(Double_t *p) const;
Float_t GetITSsignal() const {return fITSsignal;}
Float_t GetITSchi2() const {return fITSchi2;}
- Int_t GetITSclusters(UInt_t *idx) const;
+ Int_t GetITSclusters(Int_t *idx) const;
Int_t GetITSLabel() const {return fITSLabel;}
Float_t GetITSFakeRatio() const {return fITSFakeRatio;}
AliKalmanTrack * GetITStrack(){return fITStrack;}
Float_t GetTRDsignals(Int_t i) const {return fTRDsignals[i];}
Int_t GetTRDTimBin(Int_t i) const {return fTRDTimBin[i];}
Float_t GetTRDchi2() const {return fTRDchi2;}
- Int_t GetTRDclusters(UInt_t *idx) const;
+ Int_t GetTRDclusters(Int_t *idx) const;
Int_t GetTRDncls() const {return fTRDncls;}
void SetTRDpid(Int_t iSpecies, Float_t p);
Float_t GetTRDpid(Int_t iSpecies) const;
void GetTOFInfo(Float_t *info) const;
void SetTOFInfo(Float_t *info);
Int_t GetTOFCalChannel() const {return fTOFCalChannel;}
- UInt_t GetTOFcluster() const {return fTOFindex;}
- void SetTOFcluster(UInt_t index) {fTOFindex=index;}
+ Int_t GetTOFcluster() const {return fTOFindex;}
+ void SetTOFcluster(Int_t index) {fTOFindex=index;}
void SetTOFCalChannel(Int_t index) {fTOFCalChannel=index;}
void SetRICHsignal(Double_t beta) {fRICHsignal=beta;}
void GetRICHpid(Double_t *p) const;
void SetRICHchi2(Double_t chi2) {fRICHchi2=chi2;}
Float_t GetRICHchi2() const {return fRICHchi2;}
- void SetRICHcluster(UInt_t index) {fRICHindex=index;}
- UInt_t GetRICHcluster() const {return fRICHindex;}
+ void SetRICHcluster(Int_t index) {fRICHindex=index;}
+ Int_t GetRICHcluster() const {return fRICHindex;}
void SetRICHnclusters(Int_t n) {fRICHncls=n;}
Int_t GetRICHnclusters() const {return fRICHncls;}
void SetRICHthetaPhi(Double_t theta, Double_t phi) {
dx=fRICHdx; dy=fRICHdy;
}
- /* void SetPHOSposition(const Double_t *pos) { */
-/* fPHOSpos[0] = pos[0]; fPHOSpos[1]=pos[1]; fPHOSpos[2]=pos[2]; */
-/* } */
-/* void SetPHOSsignal(Double_t ene) {fPHOSsignal = ene; } */
-/* void SetPHOSpid(const Double_t *p); */
-/* void GetPHOSposition(Double_t *pos) const { */
-/* pos[0]=fPHOSpos[0]; pos[1]=fPHOSpos[1]; pos[2]=fPHOSpos[2]; */
-/* } */
-/* Float_t GetPHOSsignal() const {return fPHOSsignal;} */
-/* void GetPHOSpid(Double_t *p) const; */
-
Bool_t IsOn(Int_t mask) const {return (fFlags&mask)>0;}
Bool_t IsRICH() const {return fFlags&kRICHpid;}
Bool_t IsPHOS() const {return fFlags&kPHOSpid;}
Float_t fITSchi2; // chi2 in the ITS
Float_t fITSchi2MIP[12]; // chi2s in the ITS
Int_t fITSncls; // number of clusters assigned in the ITS
- UInt_t fITSindex[6]; //! indices of the assigned ITS clusters
+ Int_t fITSindex[12]; //! indices of the assigned ITS clusters
Float_t fITSsignal; // detector's PID signal
Float_t fITSr[AliPID::kSPECIES]; // "detector response probabilities" (for the PID)
Int_t fITSLabel; // label according TPC
Float_t fTRDchi2; // chi2 in the TRD
Int_t fTRDncls; // number of clusters assigned in the TRD
Int_t fTRDncls0; // number of clusters assigned in the TRD before first material cross
- UInt_t fTRDindex[180]; //! indices of the assigned TRD clusters
+ Int_t fTRDindex[180]; //! indices of the assigned TRD clusters
Float_t fTRDsignal; // detector's PID signal
Float_t fTRDsignals[kNPlane]; // TRD signals from all six planes
- Int_t fTRDTimBin[kNPlane]; // Time bin of Max cluster from all six planes
+ Int_t fTRDTimBin[kNPlane]; // Time bin of Max cluster from all six planes
Float_t fTRDr[AliPID::kSPECIES]; // "detector response probabilities" (for the PID)
Int_t fTRDLabel; // label according TRD
Float_t fTRDQuality; //trd quality factor for TOF
// TOF related track information
Float_t fTOFchi2; // chi2 in the TOF
- UInt_t fTOFindex; // index of the assigned TOF cluster
+ Int_t fTOFindex; // index of the assigned TOF cluster
Int_t fTOFCalChannel; // Channel Index of the TOF Signal
Float_t fTOFsignal; // detector's PID signal
Float_t fTOFsignalToT; // detector's ToT signal
Int_t fTOFLabel[3]; // TOF label
Float_t fTOFInfo[10]; //! TOF informations
- // PHOS related track information
- // Float_t fPHOSpos[3]; // position localised by PHOS in global coordinate system
- // Float_t fPHOSsignal; // energy measured by PHOS
- //Float_t fPHOSr[AliPID::kSPECIESN]; // PID information from PHOS
-
// HMPID related track information
Float_t fRICHchi2; // chi2 in the RICH
Int_t fRICHncls; // number of photon clusters
- UInt_t fRICHindex; // index of the assigned MIP cluster
+ Int_t fRICHindex; // index of the assigned MIP cluster
Float_t fRICHsignal; // RICH PID signal
Float_t fRICHr[AliPID::kSPECIES];// "detector response probabilities" (for the PID)
Float_t fRICHtheta; // theta of the track extrapolated to the RICH
AliTrackPointArray *fPoints; // Array which contains the track space points in the global frame
- ClassDef(AliESDtrack,24) //ESDtrack
+ ClassDef(AliESDtrack,25) //ESDtrack
};
#endif
{
AliESDtrack *track = esd->GetTrack(itrack);
Int_t nsp = 0;
- UInt_t idx[200];
+ Int_t idx[200];
for (Int_t iDet = 3; iDet >= 0; iDet--)
nsp += track->GetNcls(iDet);
if (nsp) {
Float_t sharedfactor = Float_t(shared+1)/Float_t(found+1);
Bool_t itsgold =kFALSE;
if (pt->fEsd){
- UInt_t dummy[12];
+ Int_t dummy[12];
if (pt->fEsd->GetITSclusters(dummy)>4) itsgold= kTRUE;
}
if (!itsgold){
Double_t GetX() const {return fX;}
Double_t GetY() const {return fY;}
Double_t GetZ() const {return fZ;}
- UInt_t * GetBackupIndexes() {return fIndexBackup;}
- UInt_t * GetIndexes() {return fIndex;}
+ Int_t * GetBackupIndexes() {return fIndexBackup;}
+ Int_t * GetIndexes() {return fIndex;}
Double_t GetYat(Double_t xk) const {
//-----------------------------------------------------------------
// This function calculates the Y-coordinate of a track at the plane x=xk.
Double_t fCty, fCtz, fCte, fCtt; // track
Double_t fCcy, fCcz, fCce, fCct, fCcc; // parameters
- UInt_t fIndex[kMAX_CLUSTERS_PER_TRACK]; // global indexes of clusters
- UInt_t fIndexBackup[kMAX_CLUSTERS_PER_TRACK]; //backup indexes of clusters - used in iterations
+ Int_t fIndex[kMAX_CLUSTERS_PER_TRACK]; // global indexes of clusters
+ Int_t fIndexBackup[kMAX_CLUSTERS_PER_TRACK]; //backup indexes of clusters - used in iterations
Float_t fdQdl[kMAX_CLUSTERS_PER_TRACK]; // cluster amplitudes corrected
// for track angles
AliTRDtracklet fTracklets[6]; //tracklets
Float_t fBudget[3]; // integrated material budget
AliTRDtrack * fBackupTrack; //! backup track
- ClassDef(AliTRDtrack,3) // TRD reconstructed tracks
+ ClassDef(AliTRDtrack,4) // TRD reconstructed tracks
};
inline void AliTRDtrack::GetXYZ(Float_t r[3]) const {
//try to find cluster in the backup list
//
AliTRDcluster * cl =0;
- UInt_t *indexes = track->GetBackupIndexes();
+ Int_t *indexes = track->GetBackupIndexes();
for (UInt_t i=0;i<kMaxTimeBinIndex;i++){
if (indexes[i]==0) break;
AliTRDcluster * cli = (AliTRDcluster*)fClusters->UncheckedAt(indexes[i]);
//
//return last updated plane
Int_t lastplane=0;
- UInt_t *indexes = track->GetBackupIndexes();
+ Int_t *indexes = track->GetBackupIndexes();
for (UInt_t i=0;i<kMaxTimeBinIndex;i++){
AliTRDcluster * cli = (AliTRDcluster*)fClusters->UncheckedAt(indexes[i]);
if (!cli) break;
// }
AliTRDtrack *pt = new AliTRDtrack(seed2,seed2.GetAlpha());
- UInt_t * indexes2 = seed2.GetIndexes();
+ Int_t * indexes2 = seed2.GetIndexes();
for (Int_t i=0;i<kNPlane;i++) {
pt->SetPIDsignals(seed2.GetPIDsignals(i),i);
pt->SetPIDTimBin(seed2.GetPIDTimBin(i),i);
}
- UInt_t * indexes3 = pt->GetBackupIndexes();
+ Int_t * indexes3 = pt->GetBackupIndexes();
for (Int_t i=0;i<200;i++) {
if (indexes2[i]==0) break;
indexes3[i] = indexes2[i];