class AliTRDseedV1;
class AliTRDtrackV1;
class AliTrackReference;
+class AliTrackPointArray;
class AliExternalTrackParam;
class AliTRDtrackInfo : public TObject{
public:
virtual ~AliESDinfo();
AliESDinfo& operator=(const AliESDinfo &esd);
void Delete(const Option_t *);
+ Float_t Eta() const { return fEta;}
Bool_t HasV0() const { return fHasV0;}
Int_t GetId() const { return fId;}
ULong_t GetStatus() const { return fStatus;}
Int_t GetKinkIndex() const { return fKinkIndex;}
Short_t GetTOFbc() const { return fTOFbc;}
+ Float_t GetTOFbeta() const { return fTOFbeta;}
UShort_t GetTPCncls() const { return fTPCncls;}
+ Float_t GetTPCdedx() const { return fTPCdedx;}
+ AliTrackPointArray* GetTrackPointArray() const { return fTPArray; }
UChar_t GetPidQuality() const { return fTRDpidQuality;}
+
Int_t GetNSlices() const { return fTRDnSlices;}
Double32_t* GetSliceIter() const { return fTRDslices;}
const Double32_t* GetResponseIter() const { return &fTRDr[0];}
AliExternalTrackParam* GetOuterParam() const { return fOP;}
+ AliExternalTrackParam* GetITSoutParam() const { return fITSout;}
AliExternalTrackParam* GetTPCoutParam() const { return fTPCout;}
const Int_t* GetV0pid() const { return &fTRDv0pid[0];}
Int_t GetV0pid(Int_t i) const { return fTRDv0pid[i];}
+ Float_t Phi() const { return fPhi;}
+ Float_t Pt() const { return fPt;}
+ void SetOuterParam(const AliExternalTrackParam *op);
+ void SetITSoutParam(const AliExternalTrackParam *op);
+ void SetTPCoutParam(const AliExternalTrackParam *op);
+ void SetTrackPointArray(const AliTrackPointArray *tps);
protected:
- UChar_t fHasV0; // v0 bit
- Int_t fId; // ESD track id
- ULong_t fStatus; // ESD track status
- Int_t fKinkIndex; // ESD kink index
- UShort_t fTPCncls; // Number of Clusters inside TPC
- Short_t fTOFbc; // TOF bunch crossing index
+ UChar_t fHasV0; // v0 bit
+ Int_t fId; // ESD track id
+ ULong_t fStatus; // ESD track status
+ Int_t fKinkIndex; // ESD kink index
+ UShort_t fTPCncls; // Number of Clusters inside TPC
+ Float_t fTPCdedx; // dEdx in TPC
+ Float_t fTOFbeta; // time of flight in TOF
+ Short_t fTOFbc; // TOF bunch crossing index
Double32_t fTRDr[AliPID::kSPECIES]; // TRD radial position
- UChar_t fTRDpidQuality; // TRD PID quality
- Int_t fTRDnSlices; // number of slices used for PID
- Double32_t *fTRDslices; //[fTRDnSlices]
- AliExternalTrackParam *fOP; // outer track param
- AliExternalTrackParam *fTPCout; // outer TPC param
- Int_t fTRDv0pid[AliPID::kSPECIES]; // PID from v0s
-
- ClassDef(AliESDinfo, 5) // ESD info related to TRD
+ UChar_t fTRDpidQuality; // TRD PID quality
+ Int_t fTRDnSlices; // number of slices used for PID
+ Float_t fPt; // p_t at TRD entrance
+ Float_t fPhi; // phi at TRD entrance
+ Float_t fEta; // eta at TRD entrance
+ Double32_t *fTRDslices; //[fTRDnSlices]
+ AliExternalTrackParam *fOP; // outer track param
+ AliExternalTrackParam *fTPCout; // outer TPC param
+ AliExternalTrackParam *fITSout; // outer ITS param
+ AliTrackPointArray *fTPArray; // track point array to be used for alignment
+ Int_t fTRDv0pid[AliPID::kSPECIES]; // PID from v0s
+
+ ClassDef(AliESDinfo, 9) // ESD info related to TRD
};
class AliMCinfo{
virtual ~AliMCinfo();
AliMCinfo& operator=(const AliMCinfo &mc);
Int_t GetLabel() const {return fLabel;}
+ Int_t GetTRDlabel() const {return fTRDlabel;}
Int_t GetNTrackRefs() const {return fNTrackRefs;}
Int_t GetPDG() const {return fPDG;}
Int_t GetPID() const ;
- Bool_t GetDirections(Float_t &x0, Float_t &y0, Float_t &z0, Float_t &dydx, Float_t &dzdx, Float_t &pt, Float_t &eta, Float_t &phi, UChar_t &s) const;
+ Bool_t GetDirections(Float_t &x0, Float_t &y0, Float_t &z0, Float_t &dydx, Float_t &dzdx, Float_t &pt, Float_t &p, Float_t &eta, Float_t &phi, UChar_t &s) const;
AliTrackReference const* GetTrackRef(Int_t ref=0) const {return fTrackRefs[ref];}
static Double_t GetKalmanStep() {return fgKalmanStep;}
static Bool_t IsKalmanUpdate() {return fgKalmanUpdate;}
static void SetKalmanStep(Double_t s) {fgKalmanStep = s;}
static void SetKalmanUpdate(Bool_t s=kTRUE) {fgKalmanUpdate = s;}
protected:
- Int_t fLabel; // MC label
+ Int_t fLabel; // ESD label
+ Int_t fTRDlabel; // TRD label
Int_t fPDG; // particle code
Int_t fNTrackRefs; // number of track refs
static Double_t fgKalmanStep; // Kalman step propagation
static Bool_t fgKalmanUpdate; // Kalman update with TRD tracklets
AliTrackReference *fTrackRefs[kNTrackRefs]; // track refs array
- ClassDef(AliMCinfo, 2) // MC info related to TRD
+ ClassDef(AliMCinfo, 3) // MC info related to TRD
};
AliTRDtrackInfo();
void SetCurved(Bool_t curv = kTRUE) { SetBit(kCurv, curv);}
void SetLabel(Int_t lab) { if(fMC) fMC->fLabel = lab; }
+ void SetTRDlabel(Int_t lab) { if(fMC) fMC->fTRDlabel = lab; }
void SetNumberOfClustersRefit(Int_t n){fNClusters = n;}
inline void SetMC();
void SetPDG(Int_t pdg) { if(fMC) fMC->fPDG = pdg; }
void SetPrimary(Bool_t prim = kTRUE) {SetBit(kPrim, prim);}
- void SetOuterParam(const AliExternalTrackParam *op);
- void SetTPCoutParam(const AliExternalTrackParam *op);
+ void SetOuterParam(const AliExternalTrackParam *op) {fESD.SetOuterParam(op);}
+ void SetITSoutParam(const AliExternalTrackParam *op) {fESD.SetITSoutParam(op);}
+ void SetTPCoutParam(const AliExternalTrackParam *op) {fESD.SetTPCoutParam(op);}
void SetStatus(ULong_t stat) { fESD.fStatus = stat;}
void SetKinkIndex(Int_t kinkIndex) { fESD.fKinkIndex = kinkIndex;}
void SetTOFbc(Int_t bc) { fESD.fTOFbc = bc;}
+ void SetTOFbeta(Float_t b) { fESD.fTOFbeta = b;}
void SetTPCncls(UShort_t TPCncls) { fESD.fTPCncls = TPCncls;}
+ void SetTPCdedx(Float_t dedx) { fESD.fTPCdedx = dedx;}
void SetTrackId(Int_t id) { fESD.fId = id;}
void SetTrack(const AliTRDtrackV1 *track);
+ void SetTrackPointArray(const AliTrackPointArray *tps) {fESD.SetTrackPointArray(tps);}
void SetESDpidQuality(UChar_t q) { fESD.fTRDpidQuality = q;}
void SetSlices(Int_t n, Double32_t *s);
inline void SetESDpid(Double_t *);
+ void SetESDeta(Float_t eta) { fESD.fEta = eta;}
+ void SetESDphi(Float_t phi) { fESD.fPhi = phi;}
+ void SetESDpt(Float_t pt) { fESD.fPt = pt;}
inline void SetV0pid(Int_t *);
void SetV0(Bool_t v0=kTRUE) { fESD.fHasV0 = v0;}