fITSClusterMap(0),
fTRDncls(0),
fTRDncls0(0),
- fTRDpidQuality(0)
+ fTRDpidQuality(0),
+ fTRDnSlices(0),
+ fTRDslices(0x0)
+
{
//
// The default ESD constructor
//
- Int_t i, j;
+ Int_t i;
for (i=0; i<AliPID::kSPECIES; i++) {
fTrackTime[i]=0.;
fR[i]=0.;
for (i=0; i<3; i++) { fKinkIndexes[i]=0;}
for (i=0; i<3; i++) { fV0Indexes[i]=0;}
- for (i=0;i<kNPlane;i++) {
- for (j=0;j<kNSlice;j++) {
- fTRDsignals[i][j]=0.;
- }
+ for (i=0;i<kTRDnPlanes;i++) {
fTRDTimBin[i]=0;
}
for (i=0;i<4;i++) {fTPCPoints[i]=0;}
fITSClusterMap(track.fITSClusterMap),
fTRDncls(track.fTRDncls),
fTRDncls0(track.fTRDncls0),
- fTRDpidQuality(track.fTRDpidQuality)
+ fTRDpidQuality(track.fTRDpidQuality),
+ fTRDnSlices(track.fTRDnSlices),
+ fTRDslices(0x0)
{
//
//copy constructor
for (Int_t i=0; i<3;i++) { fKinkIndexes[i]=track.fKinkIndexes[i];}
for (Int_t i=0; i<3;i++) { fV0Indexes[i]=track.fV0Indexes[i];}
//
- for (Int_t i=0;i<kNPlane;i++) {
- for (Int_t j=0;j<kNSlice;j++) {
- fTRDsignals[i][j]=track.fTRDsignals[i][j];
- }
+ for (Int_t i=0;i<kTRDnPlanes;i++) {
fTRDTimBin[i]=track.fTRDTimBin[i];
}
+
+ if (fTRDnSlices) {
+ fTRDslices=new Double32_t[fTRDnSlices];
+ for (Int_t i=0; i<fTRDnSlices; i++) fTRDslices[i]=track.fTRDslices[i];
+ }
+
for (Int_t i=0;i<AliPID::kSPECIES;i++) fTRDr[i]=track.fTRDr[i];
for (Int_t i=0;i<AliPID::kSPECIES;i++) fTOFr[i]=track.fTOFr[i];
for (Int_t i=0;i<3;i++) fTOFLabel[i]=track.fTOFLabel[i];
fITSClusterMap(0),
fTRDncls(0),
fTRDncls0(0),
- fTRDpidQuality(0)
+ fTRDpidQuality(0),
+ fTRDnSlices(0),
+ fTRDslices(0x0)
{
//
// ESD track from TParticle
//
// Reset all the arrays
- Int_t i, j;
+ Int_t i;
for (i=0; i<AliPID::kSPECIES; i++) {
fTrackTime[i]=0.;
fR[i]=0.;
for (i=0; i<3; i++) { fKinkIndexes[i]=0;}
for (i=0; i<3; i++) { fV0Indexes[i]=-1;}
- for (i=0;i<kNPlane;i++) {
- for (j=0;j<kNSlice;j++) {
- fTRDsignals[i][j]=0.;
- }
+ for (i=0;i<kTRDnPlanes;i++) {
fTRDTimBin[i]=0;
}
for (i=0;i<4;i++) {fTPCPoints[i]=0;}
delete fOp;
delete fCp;
delete fFriendTrack;
+ if(fTRDnSlices)
+ delete[] fTRDslices;
}
AliESDtrack &AliESDtrack::operator=(const AliESDtrack &source){
}
fTRDsignal = source.fTRDsignal;
- for(int i = 0;i < kNPlane;++i){
+ for(int i = 0;i < kTRDnPlanes;++i){
fTRDTimBin[i] = source.fTRDTimBin[i];
- for(int j = 0;j < kNSlice;++j){
- fTRDsignals[i][j] = source.fTRDsignals[i][j];
- }
}
+
+ if(fTRDnSlices)
+ delete[] fTRDslices;
+ fTRDslices=0;
+ fTRDnSlices=source.fTRDnSlices;
+ if (fTRDnSlices) {
+ fTRDslices=new Double32_t[fTRDnSlices];
+ for(int j = 0;j < fTRDnSlices;++j) fTRDslices[j] = source.fTRDslices[j];
+ }
+
fTRDQuality = source.fTRDQuality;
fTRDBudget = source.fTRDBudget;
fTOFsignal = source.fTOFsignal;
fTRDncls = 0;
fTRDncls0 = 0;
fTRDsignal = 0;
- for (Int_t i=0;i<kNPlane;i++) {
- for (Int_t j=0;j<kNSlice;j++) {
- fTRDsignals[i][j] = 0;
- }
+ for (Int_t i=0;i<kTRDnPlanes;i++) {
fTRDTimBin[i] = 0;
}
for (Int_t i=0;i<AliPID::kSPECIES;i++) fTRDr[i] = 0;
fTRDLabel = 0;
fTRDQuality = 0;
fTRDpidQuality = 0;
+ if(fTRDnSlices)
+ delete[] fTRDslices;
+ fTRDslices=0x0;
+ fTRDnSlices=0;
fTRDBudget = 0;
// Reset TOF related track information
return fTRDr[iSpecies];
}
+void AliESDtrack::SetNumberOfTRDslices(Int_t n) {
+ //Sets the number of slices used for PID
+ if (fTRDnSlices != 0) return;
+ fTRDnSlices=kTRDnPlanes*n;
+ fTRDslices=new Double32_t[fTRDnSlices];
+ for (Int_t i=0; i<fTRDnSlices; i++) fTRDslices[i]=-1.;
+}
+
+void AliESDtrack::SetTRDslice(Double_t q, Int_t plane, Int_t slice) {
+ //Sets the charge q in the slice of the plane
+ Int_t ns=GetNumberOfTRDslices();
+ if (ns==0) {
+ AliError("No TRD slices allocated for this track !");
+ return;
+ }
+
+ if ((plane<0) || (plane>=kTRDnPlanes)) {
+ AliError("Wrong TRD plane !");
+ return;
+ }
+ if ((slice<0) || (slice>=ns)) {
+ AliError("Wrong TRD slice !");
+ return;
+ }
+ Int_t n=plane*ns + slice;
+ fTRDslices[n]=q;
+}
+
+Double_t AliESDtrack::GetTRDslice(Int_t plane, Int_t slice) const {
+ //Gets the charge from the slice of the plane
+ Int_t ns=GetNumberOfTRDslices();
+ if (ns==0) {
+ //AliError("No TRD slices allocated for this track !");
+ return -1.;
+ }
+
+ if ((plane<0) || (plane>=kTRDnPlanes)) {
+ AliError("Wrong TRD plane !");
+ return -1.;
+ }
+ if ((slice<-1) || (slice>=ns)) {
+ //AliError("Wrong TRD slice !");
+ return -1.;
+ }
+
+ if (slice==-1) {
+ Double_t q=0.;
+ for (Int_t i=0; i<ns; i++) q+=fTRDslices[plane*ns + i];
+ return q/ns;
+ }
+
+ return fTRDslices[plane*ns + slice];
+}
+
+
//_______________________________________________________________________
void AliESDtrack::SetTOFpid(const Double_t *p) {
// Sets the probability of each particle type (in TOF)
GetTRDpid(p) ;
for(index = 0 ; index < AliPID::kSPECIES; index++)
printf("%f, ", p[index]) ;
- printf("\n signal = %f\n", GetTRDsignal()) ;
+ printf("\n signal = %f\n", GetTRDsignal()) ;
}
if( IsOn(kTOFpid) ){
printf("From TOF: ") ;
class AliESDtrack : public AliExternalTrackParam {
public:
+ enum {
+ kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,
+ kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
+ kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,
+ kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,
+ kHMPIDpid=0x20000,
+ kEMCALmatch=0x40000,
+ kTRDbackup=0x80000,
+ kTRDStop=0x20000000,
+ kESDpid=0x40000000,
+ kTIME=0x80000000
+ };
+ enum {
+ kTRDnPlanes = 6,
+ kEMCALNoMatch = -4096
+ };
AliESDtrack();
AliESDtrack(const AliESDtrack& track);
AliESDtrack(TParticle * part);
const TBits& GetTPCSharedMap() const {return fTPCSharedMap;}
void SetTPCClusterMap(const TBits amap) {fTPCClusterMap = amap;}
void SetTPCSharedMap(const TBits amap) {fTPCSharedMap = amap;}
+
void SetTRDpid(const Double_t *p);
// A.Bercuci
void SetTRDpidQuality(UChar_t q){fTRDpidQuality = q;}
UChar_t GetTRDpidQuality() const {return fTRDpidQuality;}
// end A.Bercuci
+
+ void SetNumberOfTRDslices(Int_t n);
+ Int_t GetNumberOfTRDslices() const {return fTRDnSlices/kTRDnPlanes;}
+ void SetTRDslice(Double_t q, Int_t plane, Int_t slice);
+ Double_t GetTRDslice(Int_t plane, Int_t slice=-1) const;
- void SetTRDQuality(Float_t quality){fTRDQuality=quality;}
+ void SetTRDQuality(Float_t quality){fTRDQuality=quality;}
Double_t GetTRDQuality()const {return fTRDQuality;}
void SetTRDBudget(Float_t budget){fTRDBudget=budget;}
Double_t GetTRDBudget()const {return fTRDBudget;}
- void SetTRDsignals(Float_t dedx, Int_t i, Int_t j) {fTRDsignals[i][j]=dedx;}
+
void SetTRDTimBin(Int_t timbin, Int_t i) {fTRDTimBin[i]=timbin;}
void GetTRDpid(Double_t *p) const;
Double_t GetTRDsignal() const {return fTRDsignal;}
- Double_t GetTRDsignals(Int_t iPlane, Int_t iSlice=-1) const { if (iSlice == -1)
- return (fTRDsignals[iPlane][0] + fTRDsignals[iPlane][1] + fTRDsignals[iPlane][2])/3.0;
- return fTRDsignals[iPlane][iSlice];
- }
+
Char_t GetTRDTimBin(Int_t i) const {return fTRDTimBin[i];}
Double_t GetTRDchi2() const {return fTRDchi2;}
UChar_t GetTRDclusters(Int_t *idx) const;
//
void FillPolymarker(TPolyMarker3D *pol, Float_t magf, Float_t minR, Float_t maxR, Float_t stepR);
- enum {
- kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,
- kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
- kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,
- kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,
- kHMPIDpid=0x20000,
- kEMCALmatch=0x40000,
- kTRDbackup=0x80000,
- kTRDStop=0x20000000,
- kESDpid=0x40000000,
- kTIME=0x80000000
- };
- enum {
- kNPlane = 6,
- kNSlice = 3,
- kEMCALNoMatch = -4096
- };
protected:
AliExternalTrackParam *fCp; // Track parameters constrained to the primary vertex
Double32_t fTPCPoints[4]; // [0.,0.,10] TPC points -first, max. dens, last and max density
Double32_t fTRDsignal; // detector's PID signal
- Double32_t fTRDsignals[kNPlane][kNSlice]; // TRD signals from all six planes in 3 slices each
Double32_t fTRDQuality; // trd quality factor for TOF
Double32_t fTRDBudget; // trd material budget
Double32_t fHMPIDmipY; // y of the MIP in LORS
-
-
UShort_t fTPCncls; // number of clusters assigned in the TPC
UShort_t fTPCnclsF; // number of findable clusters in the TPC
UShort_t fTPCsignalN; // number of points used for dEdx
UChar_t fTRDncls; // number of clusters assigned in the TRD
UChar_t fTRDncls0; // number of clusters assigned in the TRD before first material cross
UChar_t fTRDpidQuality; // TRD PID quality according to number of planes. 6 is the best
- Char_t fTRDTimBin[kNPlane]; // Time bin of Max cluster from all six planes
+
+ UChar_t fTRDnSlices; // number of slices used for PID in the TRD
+ Double32_t *fTRDslices; //[fTRDnSlices]
+
+ Char_t fTRDTimBin[kTRDnPlanes]; // Time bin of Max cluster from all six planes
private:
AliESDtrack & operator=(const AliESDtrack & );
- ClassDef(AliESDtrack,42) //ESDtrack
+ ClassDef(AliESDtrack,43) //ESDtrack
};
#endif
for(Int_t i=0; i<4; i++) {
Double_t dedx = 0;
for(Int_t j=0; j<6; j++) {
- dedx += track->GetTRDsignals(j, i-1);
+ dedx += track->GetTRDslice(j, i-1);
}
GetESDsData(41+i)->Fill(paramOut->GetP(), dedx/6.);
}
for (Int_t iPlan = 0; iPlan < AliTRDgeometry::kNplan; iPlan++) {
// read data for track segment
for(int iSlice=0; iSlice<AliTRDtrack::kNslice; iSlice++)
- dedx[iSlice] = t->GetTRDsignals(iPlan, iSlice);
- dEdx = t->GetTRDsignals(iPlan, -1);
+ dedx[iSlice] = t->GetTRDslice(iPlan, iSlice);
+ dEdx = t->GetTRDslice(iPlan, -1);
timebin = t->GetTRDTimBin(iPlan);
// check data
#include <TVector2.h>
#include "AliTracker.h"
-#include "AliESDtrack.h"
#include "AliTRDgeometry.h"
#include "AliTRDcluster.h"
for (Int_t i = 0; i < kNplane; i++) {
for (Int_t j = 0; j < kNslice; j++) {
- fdEdxPlane[i][j] = t.GetTRDsignals(i,j);
+ fdEdxPlane[i][j] = t.GetTRDslice(i,j);
}
fTimBinPlane[i] = t.GetTRDTimBin(i);
fMom[i] = -1.;
//
// Max charge in chamber
- Double_t maxcharge[AliESDtrack::kNPlane];
+ Double_t maxcharge[kNplane];
// Number of clusters attached to track per chamber and slice
- Int_t nCluster[AliESDtrack::kNPlane][AliESDtrack::kNSlice];
+ Int_t nCluster[kNplane][kNslice];
// Number of time bins in chamber
Int_t ntb = AliTRDcalibDB::Instance()->GetNumberOfTimeBins();
Int_t plane; // Plane of current cluster
AliTRDcluster *cluster = 0x0; // Pointer to current cluster
// Reset class and local counters/variables
- for (Int_t iPlane = 0; iPlane < AliESDtrack::kNPlane; iPlane++) {
+ for (Int_t iPlane = 0; iPlane < kNplane; iPlane++) {
fTimBinPlane[iPlane] = -1;
maxcharge[iPlane] = 0.0;
- for (Int_t iSlice = 0; iSlice < AliESDtrack::kNSlice; iSlice++) {
+ for (Int_t iSlice = 0; iSlice < kNslice; iSlice++) {
fdEdxPlane[iPlane][iSlice] = 0.0;
nCluster[iPlane][iSlice] = 0;
}
// Read info from current cluster
plane = AliTRDgeometry::GetPlane(cluster->GetDetector());
- if (plane < 0 || plane >= AliESDtrack::kNPlane) {
+ if (plane < 0 || plane >= kNplane) {
AliError(Form("Wrong plane %d", plane));
continue;
}
continue;
}
- slice = tb * AliESDtrack::kNSlice / ntb;
+ slice = tb * kNslice / ntb;
fdEdxPlane[plane][slice] += fdQdl[iClus];
if (fdQdl[iClus] > maxcharge[plane]) {
} // End of loop over cluster
// Normalize fdEdxPlane to number of clusters and set track segments
- for (Int_t iPlane = 0; iPlane < AliESDtrack::kNPlane; iPlane++) {
- for (Int_t iSlice = 0; iSlice < AliESDtrack::kNSlice; iSlice++) {
+ for (Int_t iPlane = 0; iPlane < kNplane; iPlane++) {
+ for (Int_t iSlice = 0; iSlice < kNslice; iSlice++) {
if (nCluster[iPlane][iSlice]) {
fdEdxPlane[iPlane][iSlice] /= nCluster[iPlane][iSlice];
}
const Int_t kMLPscale = 16000; // scaling of the MLP input to be smaller than 1
// Reset class and local contors/variables
- for (Int_t iPlane = 0; iPlane < AliESDtrack::kNPlane; iPlane++){
+ for (Int_t iPlane = 0; iPlane < kNplane; iPlane++){
for (Int_t iSlice = 0; iSlice < kNMLPslice; iSlice++) {
*(dedx + (kNMLPslice * iPlane) + iSlice) = 0.0;
}
// Read info from current cluster
plane = AliTRDgeometry::GetPlane(cluster->GetDetector());
- if (plane < 0 || plane >= AliESDtrack::kNPlane) {
+ if (plane < 0 || plane >= kNplane) {
AliError(Form("Wrong plane %d",plane));
continue;
}
// //
///////////////////////////////////////////////////////////////////////////////
+#include "AliESDtrack.h"
#include "AliKalmanTrack.h"
#include "AliTRDtracklet.h"
#include "AliTRDseedV1.h"
#endif
-class AliESDtrack;
class AliTrackReference;
class AliTRDcluster;
class AliTRDtrack : public AliKalmanTrack {
enum { kNdet = 540
, kNstacks = 90
- , kNplane = 6
+ , kNplane = AliESDtrack::kTRDnPlanes
, kNcham = 5
, kNsect = 18
, kNslice = 3
Bool_t labelAdded;
Int_t label;
AliTRDcluster *c = 0x0;
- for (Int_t ip = 0; ip < AliESDtrack::kNPlane; ip++) {
+ for (Int_t ip = 0; ip < AliESDtrack::kTRDnPlanes; ip++) {
if(fTrackletIndex[ip] < 0) continue;
for (Int_t ic = 0; ic < AliTRDseed::knTimebins; ic++) {
if(!(c = fTracklet[ip].GetClusters(ic))) continue;
// steer PID calculation @ tracklet level
Double_t *prob = 0x0;
fPIDquality = 0;
- for(int itrklt=0; itrklt<AliESDtrack::kNPlane; itrklt++){
+ for(int itrklt=0; itrklt<AliESDtrack::kTRDnPlanes; itrklt++){
//for (Int_t iSlice = 0; iSlice < AliESDtrack::kNSlice; iSlice++) fdEdxPlane[itrklt][iSlice] = -1.;
if(fTrackletIndex[itrklt]<0) continue;
// Check whether track owns the tracklets
//
- for (Int_t ip = 0; ip < AliESDtrack::kNPlane; ip++) {
+ for (Int_t ip = 0; ip < AliESDtrack::kTRDnPlanes; ip++) {
if(fTrackletIndex[ip] < 0) continue;
if(!fTracklet[ip].IsOwner()) return kFALSE;
}
// Toggle ownership of tracklets
//
- for (Int_t ip = 0; ip < AliESDtrack::kNPlane; ip++) {
+ for (Int_t ip = 0; ip < AliESDtrack::kTRDnPlanes; ip++) {
if(fTrackletIndex[ip] < 0) continue;
//AliInfo(Form("p[%d] index[%d]", ip, fTrackletIndex[ip]));
fTracklet[ip].SetOwner(own);
// Set the tracklets
//
- if(plane < 0 || plane >= AliESDtrack::kNPlane) return;
+ if(plane < 0 || plane >= AliESDtrack::kTRDnPlanes) return;
fTracklet[plane] = (*trklt);
fTrackletIndex[plane] = index;
}
void AliTRDtrackV1::UpdateESDtrack(AliESDtrack *track)
{
//
- // Update the ESD track
+ // Update the TRD PID information in the ESD track
//
+
+ track->SetNumberOfTRDslices(kNslice);
- // copy dEdx to ESD
- Float_t *dedx = 0x0;
- for (Int_t ip = 0; ip < AliESDtrack::kNPlane; ip++) {
- if(fTrackletIndex[ip] < 0) continue;
- fTracklet[ip].CookdEdx(AliESDtrack::kNSlice);
- dedx = fTracklet[ip].GetdEdx();
- for (Int_t js = 0; js < AliESDtrack::kNSlice; js++) track->SetTRDsignals(dedx[js], ip, js);
- //track->SetTRDTimBin(fTimBinPlane[i], i);
- }
+ for (Int_t ip = 0; ip < kNplane; ip++) {
+ if(fTrackletIndex[ip] < 0) continue;
+ fTracklet[ip].CookdEdx(kNslice);
+ Float_t *dedx = fTracklet[ip].GetdEdx();
+ for (Int_t js = 0; js < kNslice; js++) {
+ track->SetTRDslice(dedx[js], ip, js);
+ }
+ }
- // copy PID to ESD
- track->SetTRDpid(fPID);
- track->SetTRDpidQuality(fPIDquality);
+ // copy PID to ESD
+ track->SetTRDpid(fPID);
+ track->SetTRDpidQuality(fPIDquality);
}
// //
// Authors: //
// M. Ivanov (Marian.Ivanov@cern.ch) //
-// Y. Belikov (Jouri.Belikov@cern.ch) //
// //
///////////////////////////////////////////////////////////////////////////////
seed->UpdateTrackParams(track,AliESDtrack::kTRDout);
fHBackfit->Fill(10);
- for (Int_t i = 0; i < AliESDtrack::kNPlane; i++) {
- for (Int_t j = 0; j < AliESDtrack::kNSlice; j++) {
- seed->SetTRDsignals(track->GetPIDsignals(i,j),i,j);
+ for (Int_t i = 0; i < AliTRDtrack::kNplane; i++) {
+ for (Int_t j = 0; j < AliTRDtrack::kNslice; j++) {
+ seed->SetTRDslice(track->GetPIDsignals(i,j),i,j);
}
seed->SetTRDTimBin(track->GetPIDTimBin(i),i);
}
fHBackfit->Fill(13);
//seed->SetStatus(AliESDtrack::kTRDStop);
- for (Int_t i = 0; i < AliESDtrack::kNPlane; i++) {
- for (Int_t j = 0; j <AliESDtrack::kNSlice; j++) {
- seed->SetTRDsignals(track->GetPIDsignals(i,j),i,j);
+ for (Int_t i = 0; i < AliTRDtrack::kNplane; i++) {
+ for (Int_t j = 0; j <AliTRDtrack::kNslice; j++) {
+ seed->SetTRDslice(track->GetPIDsignals(i,j),i,j);
}
seed->SetTRDTimBin(track->GetPIDTimBin(i),i);
}
AliTRDtrack *pt = new AliTRDtrack(seed2,seed2.GetAlpha());
Int_t *indexes2 = seed2.GetIndexes();
- for (Int_t i = 0; i < AliESDtrack::kNPlane;i++) {
- for (Int_t j = 0; j < AliESDtrack::kNSlice;j++) {
+ for (Int_t i = 0; i < AliTRDtrack::kNplane;i++) {
+ for (Int_t j = 0; j < AliTRDtrack::kNslice;j++) {
pt->SetPIDsignals(seed2.GetPIDsignals(i,j),i,j);
}
pt->SetPIDTimBin(seed2.GetPIDTimBin(i),i);
seed->UpdateTrackParams(pt,AliESDtrack::kTRDrefit);
fHRefit->Fill(5);
- for (Int_t i = 0; i < AliESDtrack::kNPlane; i++) {
- for (Int_t j = 0; j < AliESDtrack::kNSlice; j++) {
- seed->SetTRDsignals(pt->GetPIDsignals(i,j),i,j);
+ for (Int_t i = 0; i < AliTRDtrack::kNplane; i++) {
+ for (Int_t j = 0; j < AliTRDtrack::kNslice; j++) {
+ seed->SetTRDslice(pt->GetPIDsignals(i,j),i,j);
}
seed->SetTRDTimBin(pt->GetPIDTimBin(i),i);
}
seed->UpdateTrackParams(pt2,AliESDtrack::kTRDrefit);
fHRefit->Fill(6);
- for (Int_t i = 0; i < AliESDtrack::kNPlane; i++) {
- for (Int_t j = 0; j < AliESDtrack::kNSlice; j++) {
- seed->SetTRDsignals(pt2->GetPIDsignals(i,j),i,j);
+ for (Int_t i = 0; i < AliTRDtrack::kNplane; i++) {
+ for (Int_t j = 0; j < AliTRDtrack::kNslice; j++) {
+ seed->SetTRDslice(pt2->GetPIDsignals(i,j),i,j);
}
seed->SetTRDTimBin(pt2->GetPIDTimBin(i),i);
}
// }
// Loop through the TRD planes
- for (Int_t iplane = 0; iplane < AliESDtrack::kNPlane; iplane++) {
+ for (Int_t iplane = 0; iplane < AliTRDtrack::kNplane; iplane++) {
Int_t hb = iplane * 10;
fHClSearch->Fill(hb);
for (Int_t iPlane=0; iPlane<AliTRDgeometry::kNplan; iPlane++){
// read data for track segment
for(int iSlice=0; iSlice<AliTRDtrack::kNslice; iSlice++)
- dedx[iSlice] = esdTrack->GetTRDsignals(iPlane, iSlice);
- dEdx = esdTrack->GetTRDsignals(iPlane, -1);
+ dedx[iSlice] = esdTrack->GetTRDslice(iPlane, iSlice);
+ dEdx = esdTrack->GetTRDslice(iPlane, -1);
timebin = esdTrack->GetTRDTimBin(iPlane);
// check data
Double_t signal = 0;
for(Int_t i=0; i<6; i++)
- signal += track->GetTRDsignals(i, -1);
+ signal += track->GetTRDslice(i, -1);
signal /= 6;
fSignalPtSum[idx]->Fill(pt, signal);