ROOT logo
AliRoot » STEER » AOD » AliAODTrack

class AliAODTrack: public AliVTrack

     AOD track implementation of AliVTrack
     Author: Markus Oldenburg, CERN
     Markus.Oldenburg@cern.ch

Function Members (Methods)

public:
AliAODTrack()
AliAODTrack(const AliAODTrack& trk)
AliAODTrack(Short_t id, Int_t label, Double_t* p, Bool_t cartesian, Double_t* x, Bool_t dca, Double_t* covMatrix, Short_t q, UChar_t itsClusMap, AliAODVertex* prodVertex, Bool_t usedForVtxFit, Bool_t usedForPrimVtxFit, AliAODTrack::AODTrk_t ttype = kUndef, UInt_t selectInfo = 0, Float_t chi2perNDF = -999.)
AliAODTrack(Short_t id, Int_t label, Float_t* p, Bool_t cartesian, Float_t* x, Bool_t dca, Float_t* covMatrix, Short_t q, UChar_t itsClusMap, AliAODVertex* prodVertex, Bool_t usedForVtxFit, Bool_t usedForPrimVtxFit, AliAODTrack::AODTrk_t ttype = kUndef, UInt_t selectInfo = 0, Float_t chi2perNDF = -999.)
virtual~AliAODTrack()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual Short_tCharge() const
Double_tChi2perNDF() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tAliVParticle::Compare(const TObject* obj) const
voidConnected(Bool_t flag)
voidConvertAliPIDtoAODPID()
virtual voidTObject::Copy(TObject& object) const
Double_tDCA() const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual Double_tE() const
Double_tE(AliAODTrack::AODTrkPID_t pid) const
Double_tE(Double_t m) const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tEta() const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Double_tAliVTrack::GetAlpha() const
const AliAODEvent*GetAODEvent() const
virtual voidAliVTrack::GetBxByBz(Double_t* b) const
virtual Double_tAliVTrack::GetBz() const
Double_tGetChi2MatchTrigger() const
virtual const AliExternalTrackParam*AliVTrack::GetConstrainedParam() const
virtual Bool_tGetCovarianceXYZPxPyPz(Double_t* cv) const
virtual const AliDetectorPID*GetDetectorPID() const
AliAODPid*GetDetPid() const
virtual voidAliVTrack::GetDirection(Double_t*) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual voidAliVTrack::GetDZ(Double_t, Double_t, Double_t, Double_t, Float_t*) const
virtual Int_tGetEMCALcluster() const
virtual const AliVEvent*GetEvent() const
UInt_tGetFilterMap() const
virtual Int_tAliVParticle::GetFirstDaughter() const
virtual UInt_tAliVParticle::GetFlag() const
ULong_tGetFlags() const
virtual Short_tAliVParticle::GetGeneratorIndex() const
UShort_tGetHitsPatternInTrigCh() const
virtual Int_tGetHMPIDcluIdx() const
virtual voidGetHMPIDmip(Float_t& x, Float_t& y, Int_t& q, Int_t& nph) const
virtual Double_tGetHMPIDoccupancy() const
virtual voidGetHMPIDpid(Double_t*) const
virtual Double_tGetHMPIDsignal() const
virtual voidGetHMPIDtrk(Float_t& x, Float_t& y, Float_t& th, Float_t& ph) const
virtual const char*TObject::GetIconName() const
virtual Int_tGetID() const
virtual voidAliVTrack::GetImpactParameters(Float_t*, Float_t*) const
virtual voidAliVTrack::GetImpactParameters(Float_t&, Float_t&) const
virtual voidAliVTrack::GetImpactParametersTPC(Float_t&, Float_t&) const
virtual voidAliVTrack::GetImpactParametersTPC(Float_t*, Float_t*) const
virtual const AliExternalTrackParam*GetInnerParam() const
virtual Double_tGetIntegratedLength() const
virtual voidGetIntegratedTimes(Double_t* times, Int_t nspec = AliPID::kSPECIES) const
virtual UChar_tGetITSClusterMap() const
virtual Char_tAliVTrack::GetITSclusters(Int_t*) const
virtual voidGetITSdEdxSamples(Double_t* s) const
UInt_tGetITSMUONClusterMap() const
Int_tGetITSNcls() const
virtual Double_tGetITSsignal() const
virtual Int_tAliVTrack::GetKinkIndex(Int_t) const
virtual Int_tGetLabel() const
virtual Int_tAliVParticle::GetLastDaughter() const
virtual Double_tAliVTrack::GetLinearD(Double_t, Double_t) const
Double_tGetMassForTracking() const
Int_tGetMatchTrigger() const
ULong_tGetMFTClusterPattern()
AliAODTrack::AODTrkPID_tGetMostProbablePID() const
virtual Int_tAliVParticle::GetMother() const
UInt_tGetMUONClusterMap() const
Int_tGetMuonTrigDevSign() const
UInt_tGetMUONTrigHitsMapTrg() const
UInt_tGetMUONTrigHitsMapTrk() const
virtual const char*TObject::GetName() const
virtual Int_tGetNcls(Int_t idet) const
virtual Int_tAliVTrack::GetNumberOfClusters() const
virtual Int_tGetNumberOfTRDslices() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Bool_tGetOuterHmpPxPyPz(Double_t* p) const
virtual const AliExternalTrackParam*GetOuterParam() const
virtual Double_tAliVTrack::GetP() const
virtual const Double_t*AliVTrack::GetParameter() const
virtual Int_tGetPHOScluster() const
virtual Int_tGetPIDForTracking() const
AliAODVertex*GetProdVertex() const
virtual Bool_tGetPxPyPz(Double_t* p) const
Double_tGetRAtAbsorberEnd() const
virtual Double_tAliVTrack::GetSigned1Pt() const
virtual ULong_tGetStatus() const
virtual Double_tAliVTrack::GetTgl() const
virtual const char*TObject::GetTitle() const
virtual Int_tGetTOFBunchCrossing(Double_t b = 0, Bool_t tpcPIDonly = kFALSE) const
virtual const AliTOFHeader*GetTOFHeader() const
voidGetTOFLabel(Int_t* p) const
virtual Double_tGetTOFsignal() const
virtual Double_tAliVTrack::GetTOFsignalDz() const
virtual Double_tGetTOFsignalTunedOnData() const
virtual Float_tGetTPCClusterInfo(Int_t nNeighbours = 3, Int_t type = 0, Int_t row0 = 0, Int_t row1 = 159, Int_t = 0) const
const TBits&GetTPCClusterMap() const
virtual const TBits*GetTPCClusterMapPtr() const
virtual Float_tAliVTrack::GetTPCCrossedRows() const
virtual AliTPCdEdxInfo*GetTPCdEdxInfo() const
const TBits&GetTPCFitMap() const
virtual const TBits*GetTPCFitMapPtr() const
Float_tGetTPCFoundFraction() const
virtual const AliExternalTrackParam*AliVTrack::GetTPCInnerParam() const
virtual Double_tGetTPCmomentum() const
virtual UShort_tGetTPCNcls() const
virtual UShort_tGetTPCncls(Int_t i0 = 0, Int_t i1 = 159) const
virtual UShort_tGetTPCNclsF() const
UShort_tGetTPCnclsS(Int_t i0 = 0, Int_t i1 = 159) const
UShort_tGetTPCNCrossedRows() const
const TBits&GetTPCSharedMap() const
virtual const TBits*GetTPCSharedMapPtr() const
virtual Double_tGetTPCsignal() const
virtual UShort_tGetTPCsignalN() const
virtual Double_tGetTPCsignalTunedOnData() const
virtual Double_tGetTPCTgl() const
virtual Double_tGetTrackEtaOnEMCal() const
virtual Double_tGetTrackPhiOnEMCal() const
virtual Double_tGetTrackPOnEMCal() const
virtual Double_tGetTrackPtOnEMCal() const
virtual Double_tGetTRDchi2() const
virtual UChar_tAliVTrack::GetTRDclusters(Int_t*) const
virtual Double_tGetTRDmomentum(Int_t plane, Double_t* = 0x0) const
virtual UChar_tAliVTrack::GetTRDNchamberdEdx() const
virtual UChar_tGetTRDncls() const
UChar_tGetTRDncls(Int_t layer) const
virtual UChar_tAliVTrack::GetTRDNclusterdEdx() const
virtual UChar_tGetTRDntrackletsPID() const
virtual Double_tGetTRDsignal() const
virtual Double_tGetTRDslice(Int_t plane, Int_t slice) const
Char_tGetType() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetUsedForPrimVtxFit() const
Bool_tGetUsedForVtxFit() const
virtual Double_tAliVTrack::GetX() const
virtual Bool_tGetXYZ(Double_t* p) const
virtual Bool_tGetXYZAt(Double_t x, Double_t b, Double_t* r) const
Bool_tGetXYZatR(Double_t xr, Double_t bz, Double_t* xyz = 0, Double_t* alpSect = 0) const
virtual Double_tAliVTrack::GetY() const
virtual Double_tAliVTrack::GetZ() const
Bool_tAliVParticle::Global2LocalMomentum(Double_t* p, Short_t charge, Double_t& alpha) const
Bool_tAliVParticle::Global2LocalPosition(Double_t* r, Double_t alpha) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tHasPointOnITSLayer(Int_t i) const
Bool_tHitsMuonChamber(Int_t MuonChamber, Int_t cathode = -1) const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsConnected() const
virtual Bool_tIsEMCAL() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliVTrack::IsExtrapolatedToEMCAL() const
virtual Bool_tTObject::IsFolder() const
Bool_tIsGlobalConstrained() const
Bool_tIsHybridGlobalConstrainedGlobal() const
Bool_tIsHybridTPCConstrainedGlobal() const
Bool_tIsMuonGlobalTrack() const
Bool_tIsMuonTrack() const
virtual Bool_tIsOn(Int_t mask) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsPHOS() const
virtual Bool_tAliVParticle::IsPrimary() const
Bool_tIsPrimaryCandidate() const
virtual Bool_tAliVParticle::IsSortable() const
Bool_tIsTPCConstrained() const
Bool_tIsTPCOnly() const
Bool_tTObject::IsZombie() const
Bool_tAliVParticle::Local2GlobalMomentum(Double_t* p, Double_t alpha) const
Bool_tAliVParticle::Local2GlobalPosition(Double_t* r, Double_t alpha) const
virtual voidTObject::ls(Option_t* option = "") const
virtual Double_tM() const
Double_tM(AliAODTrack::AODTrkPID_t pid) const
Bool_tMatchTrigger() const
Bool_tMatchTriggerDigits() const
Bool_tMatchTriggerHighPt() const
Bool_tMatchTriggerLowPt() const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
virtual Double_tOneOverPt() const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliAODTrack&operator=(const AliAODTrack& trk)
virtual Double_tP() const
virtual voidTObject::Paint(Option_t* option = "")
Double_tPAtDCA() const
virtual Int_tPdgCode() const
virtual Double_tPhi() const
virtual const Double_t*PID() const
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Bool_tPropagateToDCA(const AliVVertex* vtx, Double_t b, Double_t maxd, Double_t* dz, Double_t* covar)
virtual Double_tPt() const
virtual Double_tPx() const
Double_tPxAtDCA() const
virtual Bool_tPxPyPz(Double_t* p) const
Bool_tPxPyPzAtDCA(Double_t* p) const
virtual Double_tPy() const
Double_tPyAtDCA() const
virtual Double_tPz() const
Double_tPzAtDCA() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRemoveCovMatrix()
voidTObject::ResetBit(UInt_t f)
virtual voidResetStatus(ULong_t flags)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAODEvent(const AliAODEvent* ptr)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCharge(Short_t q)
voidSetChi2MatchTrigger(Double_t Chi2MatchTrigger)
voidSetChi2perNDF(Double_t chi2perNDF)
voidSetDCA(Double_t d, Double_t z)
virtual voidSetDetectorPID(const AliDetectorPID* pid)
voidSetDetPID(AliAODPid* aodpid)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetEMCALcluster(Int_t index)
voidSetFilterMap(UInt_t i)
virtual voidAliVParticle::SetFlag(UInt_t)
voidSetFlags(ULong_t flags)
virtual voidAliVParticle::SetGeneratorIndex(Short_t)
voidSetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh)
virtual voidSetID(Short_t id)
voidSetIntegratedLength(Double_t l)
voidSetIsGlobalConstrained(Bool_t b = kTRUE)
voidSetIsHybridGlobalConstrainedGlobal(Bool_t hybrid = kTRUE)
voidSetIsHybridTPCConstrainedGlobal(Bool_t hybrid = kTRUE)
voidSetIsMuonGlobalTrack(Bool_t isMuonGlobalTrack)
voidSetIsTPCConstrained(Bool_t b = kTRUE)
voidSetIsTPCOnly(Bool_t b = kTRUE)
voidSetITSClusterMap(UChar_t itsClusMap)
voidSetITSMuonClusterMap(UInt_t itsMuonClusMap)
voidSetLabel(Int_t label)
voidSetMatchTrigger(Int_t MatchTrigger)
voidSetMFTClusterPattern(ULong_t mftClusterPattern)
voidSetMuonClusterMap(UInt_t muonClusMap)
voidSetMUONtrigHitsMapTrg(UInt_t muonTrigHitsMap)
voidSetMUONtrigHitsMapTrk(UInt_t muonTrigHitsMap)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOneOverPt(Double_t oneOverPt)
voidSetP()
voidSetPhi(Double_t phi)
virtual voidSetPHOScluster(Int_t index)
virtual voidSetPIDForTracking(Int_t pid)
voidSetProdVertex(TObject* vertex)
voidSetPt(Double_t pt)
voidSetPxPyPzAtDCA(Double_t pX, Double_t pY, Double_t pZ)
voidSetRAtAbsorberEnd(Double_t r)
virtual voidSetStatus(ULong_t flags)
voidSetTheta(Double_t theta)
voidSetTOFLabel(const Int_t* p)
voidSetTOFsignalTunedOnData(Double_t signal)
voidSetTPCClusterMap(const TBits amap)
voidSetTPCFitMap(const TBits amap)
voidSetTPCNCrossedRows(UInt_t n)
voidSetTPCPointsF(UShort_t findable)
voidSetTPCSharedMap(const TBits amap)
voidSetTPCsignalTunedOnData(Double_t signal)
virtual voidSetTrackPhiEtaPtOnEMCal(Double_t phi, Double_t eta, Double_t pt)
voidSetType(AliAODTrack::AODTrk_t ttype)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUsedForPrimVtxFit(Bool_t used = kTRUE)
voidSetUsedForVtxFit(Bool_t used = kTRUE)
voidSetXYAtDCA(Double_t x, Double_t y)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_tTestFilterBit(UInt_t filterBit) const
Bool_tTestFilterMask(UInt_t filterMask) const
virtual Double_tTheta() const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
Double_tXAtDCA() const
virtual Double_tXv() const
virtual Bool_tXvYvZv(Double_t* x) const
Bool_tXYZAtDCA(Double_t* x) const
virtual Double_tY() const
Double_tY(AliAODTrack::AODTrkPID_t pid) const
Double_tY(Double_t m) const
Double_tYAtDCA() const
virtual Double_tYv() const
Double_tZAtDCA() const
virtual Double_tZv() const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum AODTrk_t { kUndef
kPrimary
kFromDecayVtx
kOrphan
};
enum AODTrkBits_t { kIsDCA
kUsedForVtxFit
kUsedForPrimVtxFit
kIsTPCConstrained
kIsHybridTPCCG
kIsGlobalConstrained
kIsHybridGCG
};
enum AODTrkFilterBits_t { kTrkTPCOnly
kTrkITSsa
kTrkITSConstrained
kTrkElectronsPID
kTrkGlobalNoDCA
kTrkGlobal
kTrkGlobalSDD
kTrkTPCOnlyConstrained
};
enum AODTrkPID_t { kElectron
kMuon
kPion
kKaon
kProton
kDeuteron
kTriton
kHelium3
kAlpha
kUnknown
kMostProbable
};
enum AliVTrack::[unnamed] { kITSin
kITSout
kITSrefit
kITSpid
kTPCin
kTPCout
kTPCrefit
kTPCpid
kTRDin
kTRDout
kTRDrefit
kTRDpid
kTOFin
kTOFout
kTOFrefit
kTOFpid
kHMPIDout
kHMPIDpid
kEMCALmatch
kTRDbackup
kTOFmismatch
kPHOSmatch
kITSupg
kGlobalMerge
kMultInV0
kMultSec
kEmbedded
kITSpureSA
kTRDStop
kESDpid
kTIME
kTRDnPlanes
kEMCALNoMatch
kTOFBCNA
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
const AliAODEvent*fAODEvent! pointer back to the event the track belongs to
Int_tfCaloIndexindex of associated EMCAL/PHOS cluster (AliAODCaloCluster)
Char_tfChargeparticle charge
Double32_tfChi2MatchTriggerchi2 of trigger/track matching
Double32_tfChi2perNDFchi2/NDF of momentum fit
AliAODRedCov<6>*fCovMatrixcovariance matrix (x, y, z, px, py, pz)
AliAODPid*fDetPidmore detailed or detector specific raw pid information
const AliDetectorPID*fDetectorPID! transient object to cache calibrated PID information
UInt_tfFilterMapfilter information, one bit per set of cuts
ULong_tfFlagsreconstruction status flags
Short_tfIDunique track ID, points back to the ESD track
UInt_tfITSMuonClusterMapmap of ITS and muon clusters, one bit per layer
Bool_tfIsMuonGlobalTrackTrue if the track is built from the combination of MUON and MFT clusters // AU
Int_tfLabeltrack label, points back to MC track
ULong_tfMFTClusterPatternTells us which MFT clusters are contained in the track, and which one is a good one (if MC) // AU
UInt_tfMUONtrigHitsMapTrgMuon trigger hits map from trigger
UInt_tfMUONtrigHitsMapTrkMuon trigger hits map from tracker track extrapolation
Double32_tfMomentum[3]momemtum stored in pt, phi, theta
Double32_tfMomentumAtDCA[3]momentum (px,py,pz) at DCA
Double32_t*fPID! [0.,1.,8] pointer to PID object
Char_tfPIDForTrackingpid using for tracking of ESD track
Double32_tfPosition[3]position of first point on track or dca
Double32_tfPositionAtDCA[2]trasverse position (x,y) at DCA
TReffProdVertexvertex of origin
Double32_tfRAtAbsorberEndtransverse position r at the end of the muon absorber
Int_tfTOFLabel[3]TOF label
Double_tfTOFsignalTuned! TOF signal tuned on data when using MC
TBitsfTPCClusterMapMap of clusters, one bit per padrow; 1 if has a cluster on given padrow
TBitsfTPCFitMapMap of clusters, one bit per padrow; if has a cluster on given padrow which is used in the fit
UShort_tfTPCNCrossedRowsn crossed rows
TBitsfTPCSharedMapMap of clusters, one bit per padrow; 1 if has a shared cluster on given padrow
UShort_tfTPCnclsFfindable clusters
Double_tfTPCsignalTuned! TPC signal tuned on data when using MC
Double_tfTrackEtaOnEMCaleta of track after being propagated to the EMCal surface (default r = 440 cm)
Double32_tfTrackLengthTrack length
Double_tfTrackPhiOnEMCalphi of track after being propagated to the EMCal surface (default r = 440 cm)
Double_tfTrackPtOnEMCalpt of track after being propagated to the EMCal surface (default r = 440 cm)
Char_tfTypeTrack Type, explanation close to the enum AODTrk_t

Class Charts

Inheritance Chart:
TObject
AliVParticle
AliVTrack
AliAODTrack

Function documentation

AliAODTrack()
 default constructor
AliAODTrack(Short_t id, Int_t label, Double_t p[3], Bool_t cartesian, Double_t x[3], Bool_t isDCA, Double_t covMatrix[21], Short_t charge, UChar_t itsClusMap, AliAODVertex *prodVertex, Bool_t usedForVtxFit, Bool_t usedForPrimVtxFit, AODTrk_t ttype, UInt_t selectInfo, Float_t chi2perNDF)
 constructor
AliAODTrack(Short_t id, Int_t label, Float_t p[3], Bool_t cartesian, Float_t x[3], Bool_t isDCA, Float_t covMatrix[21], Short_t charge, UChar_t itsClusMap, AliAODVertex *prodVertex, Bool_t usedForVtxFit, Bool_t usedForPrimVtxFit, AODTrk_t ttype, UInt_t selectInfo, Float_t chi2perNDF )
 constructor
~AliAODTrack()
 destructor
AliAODTrack(const AliAODTrack& trk)
 Copy constructor
AliAODTrack& operator=(const AliAODTrack& trk)
 Assignment operator
Double_t M(AliAODTrack::AODTrkPID_t pid) const
 Returns the mass.
 Masses for nuclei don't exist in the PDG tables, therefore they were put by hand.
Double_t E(AODTrkPID_t pid)
 Returns the energy of the particle of a given pid.
Double_t Y(AODTrkPID_t pid)
 Returns the rapidity of a particle of a given pid.
Double_t Y(Double_t m) const
 Returns the rapidity of a particle of a given mass.
void SetTOFLabel(const Int_t* p)
 Sets  (in TOF)
void GetTOFLabel(Int_t* p) const
 Gets (in TOF)
void ConvertAliPIDtoAODPID()
 Converts AliPID array.
 The numbering scheme is the same for electrons, muons, pions, kaons, and protons.
 Everything else has to be set to zero.
template <typename T> void SetP(const T *p, const Bool_t cartesian)
 Set the momentum
void SetDCA(Double_t d, Double_t z)
 set the dca
void Print(Option_t* opt = "") const
 prints information about AliAODTrack
void SetMatchTrigger(Int_t MatchTrigger)
 Set the MUON trigger information
Bool_t HitsMuonChamber(Int_t MuonChamber, Int_t cathode = -1) const
 return kTRUE if the track fires the given tracking or trigger chamber.
 If the chamber is a trigger one:
 - if cathode = 0 or 1, the track matches the corresponding cathode
 - if cathode = -1, the track matches both cathodes
Bool_t MatchTriggerDigits() const
 return kTRUE if the track matches a digit on both planes of at least 2 trigger chambers
Int_t GetMuonTrigDevSign() const
 Return the sign of the  MTR deviation
Bool_t PropagateToDCA(const AliVVertex* vtx, Double_t b, Double_t maxd, Double_t* dz, Double_t* covar)
 compute impact parameters to the vertex vtx and their covariance matrix
 b is the Bz, needed to propagate correctly the track to vertex
 only the track parameters are update after the propagation (pos and mom),
 not the covariance matrix. This is OK for propagation over short distance
 inside the beam pipe.
 return kFALSE is something went wrong
Bool_t GetPxPyPz(Double_t* p) const
 This function returns the global track momentum components

Float_t GetTPCClusterInfo(Int_t nNeighbours = 3, Int_t type = 0, Int_t row0 = 0, Int_t row1 = 159, Int_t = 0) const
 TPC cluster information
 type 0: get fraction of found/findable clusters with neighbourhood definition
      1: findable clusters with neighbourhood definition
      2: found clusters
 bitType:
      0 - all cluster used
      1 - clusters  used for the kalman update
 definition of findable clusters:
            a cluster is defined as findable if there is another cluster
           within +- nNeighbours pad rows. The idea is to overcome threshold
           effects with a very simple algorithm.

Double_t GetTRDslice(Int_t plane, Int_t slice) const
 return TRD Pid information

UChar_t GetTRDntrackletsPID() const
 return number of tracklets calculated from the slices

UChar_t GetTRDncls(Int_t layer) const
 return number of TRD clusters

Double_t GetTRDmomentum(Int_t plane, Double_t* = 0x0) const
Returns momentum estimation
 in TRD layer "plane".
Int_t GetTOFBunchCrossing(Double_t b = 0, Bool_t tpcPIDonly = kFALSE) const
 Returns the number of bunch crossings after trigger (assuming 25ns spacing)
void SetDetectorPID(const AliDetectorPID* pid)
 Set the detector PID

Double_t GetHMPIDsignal() const
Double_t GetHMPIDoccupancy() const
Int_t GetHMPIDcluIdx() const
void GetHMPIDtrk(Float_t& x, Float_t& y, Float_t& th, Float_t& ph) const
void GetHMPIDmip(Float_t& x, Float_t& y, Int_t& q, Int_t& nph) const
Bool_t GetOuterHmpPxPyPz(Double_t* p) const
Bool_t GetXYZAt(Double_t x, Double_t b, Double_t* r) const
 This function returns the global track position extrapolated to
 the radial position "x" (cm) in the magnetic field "b" (kG)

Bool_t GetXYZatR(Double_t xr, Double_t bz, Double_t* xyz = 0, Double_t* alpSect = 0) const
 This method has 3 modes of behaviour
 1) xyz[3] array is provided but alpSect pointer is 0: calculate the position of track intersection
    with circle of radius xr and fill it in xyz array
 2) alpSect pointer is provided: find alpha of the sector where the track reaches local coordinate xr
    Note that in this case xr is NOT the radius but the local coordinate.
    If the xyz array is provided, it will be filled by track lab coordinates at local X in this sector
 3) Neither alpSect nor xyz pointers are provided: just check if the track reaches radius xr


void GetITSdEdxSamples(Double_t* s) const
 get ITS dedx samples
Double_t GetMassForTracking() const
const AliTOFHeader* GetTOFHeader() const
Int_t GetNcls(Int_t idet) const
 Get number of clusters by subdetector index

Int_t GetTrackParam(AliExternalTrackParam& p) const
{return 0;}
Int_t GetTrackParamRefitted(AliExternalTrackParam& p) const
{return 0;}
Int_t GetTrackParamIp(AliExternalTrackParam& p) const
{return 0;}
Int_t GetTrackParamTPCInner(AliExternalTrackParam& p) const
{return 0;}
Int_t GetTrackParamOp(AliExternalTrackParam& p) const
{return 0;}
Int_t GetTrackParamCp(AliExternalTrackParam& p) const
{return 0;}
Int_t GetTrackParamITSOut(AliExternalTrackParam& p) const
{return 0;}
Bool_t IsPrimaryCandidate() const
 True of track passes primary particle selection (independent of type)

Int_t GetITSNcls() const
 Number of points in ITS
Double_t OneOverPt() const
 kinematics
{ return (fMomentum[0] != 0.) ? 1./fMomentum[0] : -999.; }
Double_t Phi() const
{ return fMomentum[1]; }
Double_t Theta() const
{ return fMomentum[2]; }
Double_t Px() const
{ return fMomentum[0] * TMath::Cos(fMomentum[1]); }
Double_t Py() const
{ return fMomentum[0] * TMath::Sin(fMomentum[1]); }
Double_t Pz() const
{ return fMomentum[0] / TMath::Tan(fMomentum[2]); }
Double_t Pt() const
{ return fMomentum[0]; }
Double_t P() const
{ return TMath::Sqrt(Pt()*Pt()+Pz()*Pz()); }
Bool_t PxPyPz(Double_t* p) const
{ p[0] = Px(); p[1] = Py(); p[2] = Pz(); return kTRUE; }
Double_t Xv() const
{ return GetProdVertex() ? GetProdVertex()->GetX() : -999.; }
Double_t Yv() const
{ return GetProdVertex() ? GetProdVertex()->GetY() : -999.; }
Double_t Zv() const
{ return GetProdVertex() ? GetProdVertex()->GetZ() : -999.; }
Bool_t XvYvZv(Double_t* x) const
{ x[0] = Xv(); x[1] = Yv(); x[2] = Zv(); return kTRUE; }
Double_t Chi2perNDF() const
{ return fChi2perNDF; }
UShort_t GetTPCnclsS(Int_t i0 = 0, Int_t i1 = 159) const
UShort_t GetTPCncls(Int_t i0 = 0, Int_t i1 = 159) const
UShort_t GetTPCNcls() const
{ return GetTPCncls(); }
Double_t M() const
{ return M(GetMostProbablePID()); }
Double_t E() const
{ return E(GetMostProbablePID()); }
Double_t E(AODTrkPID_t pid)
Double_t Y() const
{ return Y(GetMostProbablePID()); }
Double_t Eta() const
{ return -TMath::Log(TMath::Tan(0.5 * fMomentum[2])); }
Short_t Charge() const
{return fCharge; }
const Double_t * PID() const
 PID
{ return fPID; }
AODTrkPID_t GetMostProbablePID() const
void SetDetPID(AliAODPid* aodpid)
{fDetPid = aodpid;}
void SetPIDForTracking(Int_t pid)
Int_t GetPIDForTracking() const
{return fPIDForTracking;}
Bool_t IsOn(Int_t mask) const
{return (fFlags&mask)>0;}
ULong_t GetStatus() const
{ return GetFlags(); }
ULong_t GetFlags() const
{ return fFlags; }
Int_t GetID() const
{ return (Int_t)fID; }
Int_t GetLabel() const
{ return fLabel; }
Char_t GetType() const
{ return fType;}
Bool_t GetUsedForVtxFit() const
{ return TestBit(kUsedForVtxFit); }
Bool_t GetUsedForPrimVtxFit() const
Bool_t IsHybridGlobalConstrainedGlobal() const
{ return TestBit(kIsHybridGCG); }
Bool_t IsHybridTPCConstrainedGlobal() const
{ return TestBit(kIsHybridTPCCG); }
Bool_t IsTPCOnly() const
{ return IsTPCConstrained(); }
Bool_t IsTPCConstrained() const
Bool_t IsGlobalConstrained() const
Bool_t GetXYZ(Double_t* p) const
Bool_t GetCovarianceXYZPxPyPz(Double_t* cv) const
void RemoveCovMatrix()
{delete fCovMatrix; fCovMatrix=NULL;}
Double_t XAtDCA() const
{ return fPositionAtDCA[0]; }
Double_t YAtDCA() const
{ return fPositionAtDCA[1]; }
Double_t ZAtDCA() const
Bool_t XYZAtDCA(Double_t* x) const
{ x[0] = XAtDCA(); x[1] = YAtDCA(); x[2] = ZAtDCA(); return kTRUE; }
Double_t DCA() const
Double_t PxAtDCA() const
{ return fMomentumAtDCA[0]; }
Double_t PyAtDCA() const
{ return fMomentumAtDCA[1]; }
Double_t PzAtDCA() const
{ return fMomentumAtDCA[2]; }
Double_t PAtDCA() const
{ return TMath::Sqrt(PxAtDCA()*PxAtDCA() + PyAtDCA()*PyAtDCA() + PzAtDCA()*PzAtDCA()); }
Bool_t PxPyPzAtDCA(Double_t* p) const
{ p[0] = PxAtDCA(); p[1] = PyAtDCA(); p[2] = PzAtDCA(); return kTRUE; }
Double_t GetRAtAbsorberEnd() const
{ return fRAtAbsorberEnd; }
UChar_t GetITSClusterMap() const
{ return (UChar_t)(fITSMuonClusterMap&0xff); }
Bool_t HasPointOnITSLayer(Int_t i) const
{ return TESTBIT(GetITSClusterMap(),i); }
UShort_t GetHitsPatternInTrigCh() const
{ return (UShort_t)((fITSMuonClusterMap&0xff00)>>8); }
UInt_t GetMUONClusterMap() const
{ return (fITSMuonClusterMap&0x3ff0000)>>16; }
UInt_t GetITSMUONClusterMap() const
{ return fITSMuonClusterMap; }
Bool_t TestFilterBit(UInt_t filterBit) const
{return (Bool_t) ((filterBit & fFilterMap) != 0);}
Bool_t TestFilterMask(UInt_t filterMask) const
{return (Bool_t) ((filterMask & fFilterMap) == filterMask);}
void SetFilterMap(UInt_t i)
{fFilterMap = i;}
UInt_t GetFilterMap() const
{return fFilterMap;}
const TBits& GetTPCClusterMap() const
{return fTPCClusterMap;}
const TBits* GetTPCClusterMapPtr() const
{return &fTPCClusterMap;}
const TBits& GetTPCFitMap() const
{return fTPCFitMap;}
const TBits* GetTPCFitMapPtr() const
{return &fTPCFitMap;}
const TBits& GetTPCSharedMap() const
{return fTPCSharedMap;}
const TBits* GetTPCSharedMapPtr() const
{return &fTPCSharedMap;}
void SetTPCClusterMap(const TBits amap)
{fTPCClusterMap = amap;}
void SetTPCSharedMap(const TBits amap)
{fTPCSharedMap = amap;}
void SetTPCFitMap(const TBits amap)
{fTPCFitMap = amap;}
void SetTPCPointsF(UShort_t findable)
{fTPCnclsF = findable;}
void SetTPCNCrossedRows(UInt_t n)
const AliExternalTrackParam * GetInnerParam() const
{ return NULL; }
const AliExternalTrackParam * GetOuterParam() const
{ return NULL; }
UShort_t GetTPCNclsF() const
{ return fTPCnclsF;}
UShort_t GetTPCNCrossedRows() const
{ return fTPCNCrossedRows;}
Float_t GetTPCFoundFraction() const
{ return fTPCNCrossedRows>0 ? float(GetTPCNcls())/fTPCNCrossedRows : 0;}
Int_t GetEMCALcluster() const
 Calorimeter Cluster
{return fCaloIndex;}
void SetEMCALcluster(Int_t index)
{fCaloIndex=index;}
Bool_t IsEMCAL() const
{return fFlags&kEMCALmatch;}
Double_t GetTrackPhiOnEMCal() const
Double_t GetTrackEtaOnEMCal() const
Double_t GetTrackPtOnEMCal() const
{return fTrackPtOnEMCal;}
Double_t GetTrackPOnEMCal() const
{return TMath::Abs(fTrackEtaOnEMCal) < 1 ? fTrackPtOnEMCal*TMath::CosH(fTrackEtaOnEMCal) : -999;}
void SetTrackPhiEtaPtOnEMCal(Double_t phi, Double_t eta, Double_t pt)
Int_t GetPHOScluster() const
{return fCaloIndex;}
void SetPHOScluster(Int_t index)
{fCaloIndex=index;}
Bool_t IsPHOS() const
{return fFlags&kPHOSmatch;}
Double_t GetITSsignal() const
pid signal interface
{ return fDetPid?fDetPid->GetITSsignal():0.; }
Double_t GetTPCsignal() const
{ return fDetPid?fDetPid->GetTPCsignal():0.; }
Double_t GetTPCsignalTunedOnData() const
{ return fTPCsignalTuned;}
void SetTPCsignalTunedOnData(Double_t signal)
{fTPCsignalTuned = signal;}
UShort_t GetTPCsignalN() const
{ return fDetPid?fDetPid->GetTPCsignalN():0; }
AliTPCdEdxInfo* GetTPCdEdxInfo() const
Double_t GetTPCmomentum() const
{ return fDetPid?fDetPid->GetTPCmomentum():0.; }
Double_t GetTPCTgl() const
{ return fDetPid?fDetPid->GetTPCTgl():0.; }
Double_t GetTOFsignal() const
{ return fDetPid?fDetPid->GetTOFsignal():0.; }
Double_t GetIntegratedLength() const
{ return fTrackLength;}
void SetIntegratedLength(Double_t l)
Double_t GetTOFsignalTunedOnData() const
{ return fTOFsignalTuned;}
void SetTOFsignalTunedOnData(Double_t signal)
{fTOFsignalTuned = signal;}
void GetIntegratedTimes(Double_t* times, Int_t nspec = AliPID::kSPECIES) const
{if (fDetPid) fDetPid->GetIntegratedTimes(times, nspec);}
Double_t GetTRDsignal() const
{return fDetPid ? fDetPid->GetTRDsignal() : 0;}
Double_t GetTRDchi2() const
{return fDetPid ? fDetPid->GetTRDChi2() : -1;}
UChar_t GetTRDncls(Int_t layer) const
Int_t GetNumberOfTRDslices() const
{ return fDetPid?fDetPid->GetTRDnSlices():0; }
void GetHMPIDpid(Double_t* ) const
{ return; }
void SetMFTClusterPattern(ULong_t mftClusterPattern)
{ fMFTClusterPattern = mftClusterPattern; }
ULong_t GetMFTClusterPattern()
{ return fMFTClusterPattern; }
const AliAODEvent* GetAODEvent() const
{return fAODEvent;}
const AliVEvent* GetEvent() const
{return (AliVEvent*)fAODEvent;}
void SetAODEvent(const AliAODEvent* ptr)
{fAODEvent = ptr;}
AliAODPid * GetDetPid() const
{ return fDetPid; }
AliAODVertex * GetProdVertex() const
{ return (AliAODVertex*)fProdVertex.GetObject(); }
void SetFlags(ULong_t flags)
 setters
{ fFlags = flags; }
void SetStatus(ULong_t flags)
{ fFlags|=flags; }
void ResetStatus(ULong_t flags)
{ fFlags&=~flags; }
void SetID(Short_t id)
{ fID = id; }
void SetLabel(Int_t label)
{ fLabel = label; }
void SetUsedForVtxFit(Bool_t used = kTRUE)
void SetUsedForPrimVtxFit(Bool_t used = kTRUE)
void SetIsTPCOnly(Bool_t b = kTRUE)
void SetIsTPCConstrained(Bool_t b = kTRUE)
void SetIsHybridTPCConstrainedGlobal(Bool_t hybrid = kTRUE)
void SetIsGlobalConstrained(Bool_t b = kTRUE)
void SetIsHybridGlobalConstrainedGlobal(Bool_t hybrid = kTRUE)
void SetOneOverPt(Double_t oneOverPt)
{ fMomentum[0] = 1. / oneOverPt; }
void SetPt(Double_t pt)
{ fMomentum[0] = pt; }
void SetPhi(Double_t phi)
{ fMomentum[1] = phi; }
void SetTheta(Double_t theta)
{ fMomentum[2] = theta; }
void SetXYAtDCA(Double_t x, Double_t y)
{fPositionAtDCA[0] = x; fPositionAtDCA[1] = y;}
void SetPxPyPzAtDCA(Double_t pX, Double_t pY, Double_t pZ)
{fMomentumAtDCA[0] = pX; fMomentumAtDCA[1] = pY; fMomentumAtDCA[2] = pZ;}
void SetRAtAbsorberEnd(Double_t r)
void SetCharge(Short_t q)
{ fCharge = q; }
void SetChi2perNDF(Double_t chi2perNDF)
{ fChi2perNDF = chi2perNDF; }
void SetITSClusterMap(UChar_t itsClusMap)
{ fITSMuonClusterMap = (fITSMuonClusterMap&0xffffff00)|(((UInt_t)itsClusMap)&0xff); }
void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh)
{ fITSMuonClusterMap = (fITSMuonClusterMap&0xffff00ff)|((((UInt_t)hitsPatternInTrigCh)&0xff)<<8); }
void SetMuonClusterMap(UInt_t muonClusMap)
{ fITSMuonClusterMap = (fITSMuonClusterMap&0xfc00ffff)|((muonClusMap&0x3ff)<<16); }
void SetITSMuonClusterMap(UInt_t itsMuonClusMap)
{ fITSMuonClusterMap = itsMuonClusMap; }
void SetMUONtrigHitsMapTrg(UInt_t muonTrigHitsMap)
{ fMUONtrigHitsMapTrg = muonTrigHitsMap; }
UInt_t GetMUONTrigHitsMapTrg() const
void SetMUONtrigHitsMapTrk(UInt_t muonTrigHitsMap)
{ fMUONtrigHitsMapTrk = muonTrigHitsMap; }
UInt_t GetMUONTrigHitsMapTrk() const
Int_t GetMatchTrigger() const
  0 Muon track does not match trigger
  1 Muon track match but does not pass pt cut
  2 Muon track match Low pt cut
  3 Muon track match High pt cut
{return fITSMuonClusterMap>>30;}
Bool_t MatchTrigger() const
{ return (GetMatchTrigger()>0); }
Bool_t MatchTriggerLowPt() const
{ return (GetMatchTrigger()>1); }
Bool_t MatchTriggerHighPt() const
{ return (GetMatchTrigger()>2); }
Double_t GetChi2MatchTrigger() const
void SetChi2MatchTrigger(Double_t Chi2MatchTrigger)
{fChi2MatchTrigger = Chi2MatchTrigger; }
Bool_t IsMuonTrack() const
{ return ( (GetMUONClusterMap()>0) && !fIsMuonGlobalTrack ) ? kTRUE : kFALSE; }
Bool_t IsMuonGlobalTrack() const
{ return fIsMuonGlobalTrack; }
void SetIsMuonGlobalTrack(Bool_t isMuonGlobalTrack)
{ fIsMuonGlobalTrack = isMuonGlobalTrack; }
void Connected(Bool_t flag)
{flag ? SETBIT(fITSMuonClusterMap,26) : CLRBIT(fITSMuonClusterMap,26);}
Bool_t IsConnected() const
{return TESTBIT(fITSMuonClusterMap,26);}
void SetProdVertex(TObject* vertex)
{ fProdVertex = vertex; }
void SetType(AliAODTrack::AODTrk_t ttype)
{ fType=ttype; }
const AliDetectorPID* GetDetectorPID() const
{ return fDetectorPID; }
Int_t PdgCode() const
 Dummy
{return 0;}