- virtual const Double_t *PID() const { return fPID; }
- AODCluPID_t GetMostProbablePID() const;
-
- template <class T> void GetPID(T *pid) const {
- for(Int_t i=0; i<9; ++i) pid[i]=fPID[i];}
-
- template <class T> void SetPID(const T *pid) {
- if(pid) for(Int_t i=0; i<9; ++i) fPID[i]=pid[i];
- else {for(Int_t i=0; i<9; fPID[i++]=0);} fPID[AliAODCluster::kUnknown]=1.;}
-
- Int_t GetID() const { return fID; }
- Int_t GetLabel() const { return fLabel; }
-
- template <class T> Bool_t GetPosition(T *x) const {
- x[0]=fPosition[0]; x[1]=fPosition[1]; x[2]=fPosition[2];
- return kTRUE;}
-
- template <class T> void SetCovMatrix(const T *covMatrix) {
- if(!fCovMatrix) fCovMatrix=new AliAODRedCov<4>();
- fCovMatrix->SetCovMatrix(covMatrix);}
-
- template <class T> Bool_t GetCovMatrix(T *covMatrix) const {
- if(!fCovMatrix) return kFALSE;
- fCovMatrix->GetCovMatrix(covMatrix); return kTRUE;}
-
- void RemoveCovMatrix() {delete fCovMatrix; fCovMatrix=NULL;}
-
- AliAODVertex *GetProdVertex() const { return (AliAODVertex*)fProdVertex.GetObject(); }
- AliAODTrack *GetPrimTrack() const { return (AliAODTrack*)fPrimTrack.GetObject(); }
+
+ UShort_t GetMostProbablePID() const;
+ const Double_t *GetPID() const { return fPID; }//{ for(Int_t i=0; i<13; ++i) pid[i]=fPID[i]; }
+ Int_t GetID() const { return fID; }
+ Int_t GetLabel() const {
+ if( fLabel && fNLabel > 0) return fLabel[0];
+ else return -1;} //Most likely the track associated to the cluster
+ Int_t GetLabelAt(UInt_t i) const;
+ Int_t * GetLabels() const {return fLabel ; }
+ UInt_t GetNLabels() const { return (UInt_t)fNLabel; }
+ Bool_t TestFilterBit(UInt_t filterBit) const { return (Bool_t) ((filterBit & fFilterMap) != 0); }
+ Char_t GetType() const { return fType; }
+
+ void GetPosition(Float_t *x) const {
+ x[0]=fPosition[0]; x[1]=fPosition[1]; x[2]=fPosition[2];}
+
+ Bool_t IsEMCAL() const {if(fType == kEMCALClusterv1) return kTRUE;
+ else return kFALSE;}
+ Bool_t IsPHOS() const {if(fType == kPHOSCharged || fType == kPHOSNeutral) return kTRUE;
+ else return kFALSE;}