]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackerV1.h
- reverting the unnecessary increment of the class version
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackerV1.h
index e95da9b7f7ede102f24b597ce973ac052a63767c..09893187aba55b279840fa4a828ac6e33bfff8b2 100644 (file)
@@ -50,7 +50,7 @@ class AliTRDchamberTimeBin;
 class AliTRDtrackerFitter;
 class AliTRDtrackV1;
 class AliTRDReconstructor;
-
+class AliTRDrecoParam;
 class AliTRDtrackerV1 : public AliTracker
 {
 public:
@@ -111,7 +111,7 @@ public:
   Int_t           ReadClusters(TClonesArray* &array, TTree *in) const;
   Int_t           RefitInward(AliESDEvent *event);
   static void     SetNTimeBins(Int_t nTimeBins){fgNTimeBins = nTimeBins; }
-  void            SetReconstructor(const AliTRDReconstructor *rec){ fkReconstructor = rec; }
+  void            SetReconstructor(const AliTRDReconstructor *rec) {fkReconstructor = rec;}
   void            UnloadClusters();
 
   class AliTRDLeastSquare{
@@ -119,20 +119,20 @@ public:
     AliTRDLeastSquare();
     ~AliTRDLeastSquare(){};
     
-    void               AddPoint(const Double_t * const x, Double_t y, Double_t sigmaY);
-    void               RemovePoint(const Double_t * const x, Double_t y, Double_t sigmaY);
-    void               Eval();
-    void    Reset();
+    void          AddPoint(const Double_t * const x, Double_t y, Double_t sigmaY);
+    void          RemovePoint(const Double_t * const x, Double_t y, Double_t sigmaY);
+    Bool_t        Eval();
+    void          Reset();
     
-    Double_t   GetFunctionParameter(Int_t ParNumber) const {return fParams[ParNumber];}
-    Double_t   GetFunctionValue(const Double_t * const xpos) const;
-    void               GetCovarianceMatrix(Double_t *storage) const;
+    Double_t      GetFunctionParameter(Int_t ParNumber) const {return fParams[ParNumber];}
+    Double_t      GetFunctionValue(const Double_t * const xpos) const;
+    void          GetCovarianceMatrix(Double_t *storage) const;
   private:
-          AliTRDLeastSquare(const AliTRDLeastSquare &);
+    AliTRDLeastSquare(const AliTRDLeastSquare &);
     AliTRDLeastSquare& operator=(const AliTRDLeastSquare &);
-    Double_t   fParams[2];                                             // Fitparameter 
-    Double_t   fCovarianceMatrix[3];                   // Covariance Matrix
-    Double_t   fSums[6];                                               // Sums
+    Double_t      fParams[2];           // Fitparameter        
+    Double_t      fCovarianceMatrix[3]; // Covariance Matrix
+    Double_t      fSums[6];             // Sums
   };
 
   class AliTRDtrackFitterRieman{
@@ -183,28 +183,32 @@ protected:
   Bool_t         GetTrackPoint(Int_t index, AliTrackPoint &p) const;   
   Float_t        GetR4Layer(Int_t ly) const { return fR[ly];}
   Int_t          MakeSeeds(AliTRDtrackingChamber **stack, AliTRDseedV1 * const sseed, const Int_t * const ipar);
-  AliTRDtrackV1* MakeTrack(AliTRDseedV1 * const seeds, Double_t *params);
+  AliTRDtrackV1* MakeTrack(AliTRDseedV1 * const tracklet);
   AliTRDtrackV1* SetTrack(const AliTRDtrackV1 * const track);
   AliTRDseedV1*  SetTracklet(const AliTRDseedV1 * const tracklet);
+  void           UnsetTrackletsTrack(const AliTRDtrackV1 * const track);
 
 private:
   AliTRDtrackerV1(const AliTRDtrackerV1 &tracker);
   AliTRDtrackerV1 &operator=(const AliTRDtrackerV1 &tracker);
-  Double_t             CookLikelihood(AliTRDseedV1 *cseed, Int_t planes[4]);
-  Double_t             CalculateTrackLikelihood(const AliTRDseedV1 *const tracklets, Double_t *chi2);
-  Int_t                ImproveSeedQuality(AliTRDtrackingChamber **stack, AliTRDseedV1 *tracklet);
+  Double_t       CookLikelihood(AliTRDseedV1 *cseed, Int_t planes[4]);
+  Double_t       CalculateTrackLikelihood(Double_t *chi2);
+  Bool_t         ImproveSeedQuality(AliTRDtrackingChamber **stack, AliTRDseedV1 *tracklet, Double_t &chi2);
   static Float_t       CalculateReferenceX(const AliTRDseedV1 *const tracklets);
   void        ResetSeedTB();
   Float_t     GetChi2Y(const AliTRDseedV1 *const tracklets) const;
   Float_t     GetChi2Z(const AliTRDseedV1 *const tracklets) const;
+  Float_t     GetChi2Phi(const AliTRDseedV1 *const tracklets) const;
 
 private:
-  const AliTRDReconstructor *fkReconstructor;            // reconstructor manager
+  const AliTRDReconstructor *fkReconstructor;           // reconstructor manager
+  const AliTRDrecoParam     *fkRecoParam;               // reco param for the current event
   AliTRDgeometry      *fGeom;                           // Pointer to TRD geometry
   AliTRDtrackingSector fTrSec[kTrackingSectors];        // Array of tracking sectors;    
   TClonesArray        *fClusters;                       // List of clusters
   TClonesArray        *fTracklets;                      // List of tracklets
   TClonesArray        *fTracks;                         // List of tracks
+  TClonesArray        *fTracksESD;                      // List of ESD tracks in current SM
   Float_t              fR[kNPlanes];                    //! rough radial position of each TRD layer
 
   // should go to the recoParam
@@ -227,7 +231,7 @@ private:
   static TLinearFitter *fgTiltedRiemanConstrained;      //  Fitter for the tilted Rieman fit with vertex constraint    
   static AliRieman     *fgRieman;                       //  Fitter for the untilted Rieman fit
   
-  ClassDef(AliTRDtrackerV1, 3)                          //  TRD tracker - tracklet based tracking
+  ClassDef(AliTRDtrackerV1, 5)                          //  TRD tracker - tracklet based tracking
 
 };
 #endif