kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,
kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,
+ kTOFmismatch=0x100000,
kHMPIDout=0x10000,kHMPIDpid=0x20000,
kEMCALmatch=0x40000,
kPHOSmatch=0x200000,
kTIME=0x80000000,
kGlobalMerge=0x08000000,
kITSpureSA=0x10000000,
- kMultPrimary=0x4000000 //BIT(26): assumed to be primary for multiplicity estimates
+ kMultInV0 =0x2000000, //BIT(25): assumed to be belong to V0 in multiplicity estimates
+ kMultSec =0x4000000, //BIT(26): assumed to be secondary (due to the DCA) in multiplicity estimates
+ kEmbedded =0x8000000 // BIT(27), 1<<27: Is a track that has been embedded into the event
};
enum {
kTRDnPlanes = 6,
void AddCalibObject(TObject * object); // add calib object to the list
TObject * GetCalibObject(Int_t index); // return calib objct at given position
void MakeMiniESDtrack();
- void SetID(Int_t id) { fID =id;}
+ void SetID(Short_t id) { fID =id;}
Int_t GetID() const { return fID;}
void SetVertexID(Char_t id) { fVertexID=id;}
Char_t GetVertexID() const { return fVertexID;}
Double_t GetITSchi2() const {return fITSchi2;}
Char_t GetITSclusters(Int_t *idx) const;
UChar_t GetITSClusterMap() const {return fITSClusterMap;}
+ UChar_t GetITSSharedMap() const {return fITSSharedMap;}
+ void SetITSSharedFlag(int lr) {fITSSharedMap |= 0x1<<lr;}
+ Bool_t GetITSFakeFlag() const {return (fITSSharedMap&BIT(7))!=0;}
+ void SetITSFakeFlag(Bool_t v=kTRUE) {if (v) fITSSharedMap|=BIT(7); else fITSSharedMap&=~BIT(7);}
+ void SetITSSharedMap(UChar_t map) {fITSSharedMap=map;}
void SetITSModuleIndex(Int_t ilayer,Int_t idx) {fITSModule[ilayer]=idx;}
Int_t GetITSModuleIndex(Int_t ilayer) const {return fITSModule[ilayer];}
Bool_t GetITSModuleIndexInfo(Int_t ilayer,Int_t &idet,Int_t &status,
return fFriendTrack->GetITStrack();
}
Bool_t HasPointOnITSLayer(Int_t i) const {return TESTBIT(fITSClusterMap,i);}
+ Bool_t HasSharedPointOnITSLayer(Int_t i) const {return TESTBIT(fITSSharedMap,i);}
void SetTPCpid(const Double_t *p);
void GetTPCpid(Double_t *p) const;
UShort_t GetTPCNclsIter1() const { return fTPCnclsIter1;}
UShort_t GetTPCNclsFIter1() const { return fTPCnclsFIter1;}
UShort_t GetTPCnclsS(Int_t i0=0,Int_t i1=159) const;
+ UShort_t GetTPCncls(Int_t row0=0,Int_t row1=159) const;
Double_t GetTPCPoints(Int_t i) const {return fTPCPoints[i];}
void SetKinkIndexes(Int_t points[3]) {
for (Int_t i=0;i<3;i++) fKinkIndexes[i] = points[i];
Double_t GetTPCsignal() const {return fTPCsignal;}
Double_t GetTPCsignalSigma() const {return fTPCsignalS;}
UShort_t GetTPCsignalN() const {return fTPCsignalN;}
+ Double_t GetTPCmomentum() const {return fIp?fIp->GetP():GetP();}
Double_t GetTPCchi2() const {return fTPCchi2;}
Double_t GetTPCchi2Iter1() const {return fTPCchi2Iter1;}
- UShort_t GetTPCclusters(Int_t *idx) const;
+ UShort_t GetTPCclusters(Int_t *idx) const;
Double_t GetTPCdensity(Int_t row0, Int_t row1) const;
Int_t GetTPCLabel() const {return fTPCLabel;}
Int_t GetKinkIndex(Int_t i) const { return fKinkIndexes[i];}
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);
+ Float_t GetTPCClusterInfo(Int_t nNeighbours=3, Int_t type=0, Int_t row0=0, Int_t row1=159) const;
+ void SetTRDpid(const Double_t *p);
+ void SetTRDsignal(Double_t sig) {fTRDsignal = sig;}
+
// A.Bercuci
void SetTRDntracklets(UChar_t q){fTRDntracklets = q;}
UChar_t GetTRDntracklets() const {return (fTRDntracklets>>3)&7;}
// reading of the v4-16-Release data with TRUNK related software (A.Bercuci@Apr 30th 09)
UChar_t GetTRDpidQuality() const {return GetTRDntrackletsPID();}
// end A.Bercuci
-
+
void SetNumberOfTRDslices(Int_t n);
Int_t GetNumberOfTRDslices() const;
void SetTRDslice(Double_t q, Int_t plane, Int_t slice);
}
Bool_t IsHMPID() const {return fFlags&kHMPIDpid;}
Bool_t IsPureITSStandalone() const {return fFlags&kITSpureSA;}
- Bool_t IsMultPrimary() const {return fFlags&kMultPrimary;}
+ Bool_t IsMultPrimary() const {return !(fFlags&kMultSec);}
+ Bool_t IsMultSecondary() const {return (fFlags&kMultSec);}
Int_t GetEMCALcluster() {return fCaloIndex;}
void SetEMCALcluster(Int_t index) {fCaloIndex=index;}
Char_t fITSncls; // number of clusters assigned in the ITS
UChar_t fITSClusterMap; // map of clusters, one bit per a layer
+ UChar_t fITSSharedMap; // map of shared clusters, one bit per a layer
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 fTRDntracklets; // number of TRD tracklets used for tracking/PID
private:
AliESDtrack & operator=(const AliESDtrack & );
- ClassDef(AliESDtrack,57) //ESDtrack
+ ClassDef(AliESDtrack,59) //ESDtrack
};