]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALTracker.h
Fixing overlap ov46: S06S/S06K_1 overlapping S06S/S06L_302 ovlp=0.015
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALTracker.h
index ef8ea99d9f69f2f40766e20c7f8bd4634f3c1d0f..8eb9bf0cc2d2c19e4057cda7aaccb4056639b5bf 100644 (file)
 #define ALIEMCALTRACKER_H
 
 #include "AliTracker.h"
-
+#include "TMath.h"
 class TList;
 class TTree;
 class TObjArray;
-class AliESD;
+class AliESDEvent;
 class AliESDCaloCluster;
 class AliEMCALTrack;
 class AliEMCALRecPoint;
 class AliEMCALGeometry;
+class AliEMCALRecParam;
 
 class AliEMCALTracker : public AliTracker 
 {
@@ -44,12 +45,13 @@ public:
        virtual ~AliEMCALTracker() {Clear();}
        
        virtual void        Clear(Option_t *option="ALL");
-       virtual Int_t       Clusters2Tracks(AliESD*) {return -1;}
+       virtual Int_t       Clusters2Tracks(AliESDEvent*) {return -1;}
+               void        InitParameters();
        virtual Int_t       LoadClusters(TTree*);
-               Int_t       LoadClusters(AliESD* esd);
-               Int_t       LoadTracks(AliESD* esd);
-       virtual Int_t       PropagateBack(AliESD* esd);
-       virtual Int_t       RefitInward(AliESD*) {return -1;}
+               Int_t       LoadClusters(AliESDEvent* esd);
+               Int_t       LoadTracks(AliESDEvent* esd);
+       virtual Int_t       PropagateBack(AliESDEvent* esd);
+       virtual Int_t       RefitInward(AliESDEvent*) {return -1;}
        virtual void        UnloadClusters();
        virtual AliCluster* GetCluster(Int_t) const {return NULL;};
        TTree*              SearchTrueMatches();
@@ -75,12 +77,12 @@ public:
                AliEMCALMatchCluster(Int_t ID, AliESDCaloCluster *caloCluster);
                virtual ~AliEMCALMatchCluster() { }
                //----------------------------------------------------------------------------
-               Int_t&     Index() {return fIndex;}
-               Int_t&     Label() {return fLabel;}
-               Double_t&  X() {return fX;}
-               Double_t&  Y() {return fY;}
-               Double_t&  Z() {return fZ;}
-               Double_t   Phi() {return TMath::ATan2(fY, fX);}
+               Int_t     Index() const {return fIndex;}
+               Int_t     Label() const {return fLabel;}
+               Double_t  X() const {return fX;}
+               Double_t  Y() const {return fY;} 
+               Double_t  Z() const {return fZ;}
+               Double_t   Phi() const {return TMath::ATan2(fY, fX);}
        private:
                Int_t     fIndex;  // index of cluster in its native container (ESD or TClonesArray)
                Int_t     fLabel;  // track label of assigned cluster
@@ -98,10 +100,10 @@ public:
                //----------------------------------------------------------------------------
                Bool_t&   CanBeSaved() {return fCanBeSaved;}
                Int_t     Compare(const TObject *obj) const;
-               Double_t  GetDistance() {return fDistance;}
-               Double_t  GetPt() {return fPt;}
-               Int_t     GetIndexC() {return fIndexC;}
-               Int_t     GetIndexT() {return fIndexT;}
+               Double_t  GetDistance() const {return fDistance;}
+               Double_t  GetPt() const {return fPt;}
+               Int_t     GetIndexC() const {return fIndexC;}
+               Int_t     GetIndexT() const {return fIndexT;}
                Bool_t    IsSortable() const {return kTRUE;}
                void      SetIndexC(Int_t icl) {fIndexC=icl;}
                void      SetIndexT(Int_t itr) {fIndexT=itr;}
@@ -150,8 +152,9 @@ private:
        TList      *fMatches;         //! collection of matches between tracks and clusters
        
        AliEMCALGeometry *fGeom;      //! EMCAL geometry
+       static AliEMCALRecParam*   fgkRecParam; // track-matching parameters for EMCAL
        
-       ClassDef(AliEMCALTracker, 1)  // EMCAL "tracker"
+       ClassDef(AliEMCALTracker, 2)  // EMCAL "tracker"
 };
 
 #endif