+ //New class used to sort the matched tracks
+ class AliEMCALMatch : public TObject
+ {
+ public:
+ AliEMCALMatch();
+ AliEMCALMatch(const AliEMCALMatch& copy);
+ AliEMCALMatch& operator = (const AliEMCALMatch& source) ;
+ virtual ~AliEMCALMatch() { }
+ //----------------------------------------------------------------------------
+ Int_t Compare(const TObject *obj) const;
+ Bool_t IsSortable() const {return kTRUE;}
+ Double_t GetDistance() const {return fDistance;}
+ Double_t GetdEta() const {return fdEta;}
+ Double_t GetdPhi() const {return fdPhi;}
+ Int_t GetIndexT() const {return fIndexT;}
+ void SetIndexT(Int_t itr) {fIndexT=itr;}
+ void SetDistance(Double_t dist) {fDistance=dist;}
+ void SetdEta(Double_t dEta) {fdEta=dEta;}
+ void SetdPhi(Double_t dPhi) {fdPhi=dPhi;}
+ private:
+ Int_t fIndexT; // track index in 'fTracks' array
+ Double_t fDistance; // track - cluster distance
+ Double_t fdEta; // track - cluster residual in eta
+ Double_t fdPhi; // track - cluster residual in phi
+ };
+ Bool_t CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Float_t &dEta, Float_t &dPhi) const;
+
+ private: