]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/hough/AliL3HoughEval.h
Remove dependence to RAW module in MUONraw library for online purpose (Christian)
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughEval.h
index 4d2cf984228cc165a9d9b49ac9243f99d49b4783..bbdbf997312cd9c8c7e132a162015d94ade1bc57 100644 (file)
@@ -1,49 +1,62 @@
-#ifndef ALIL3_HOUGH_Eval
-#define ALIL3_HOUGH_Eval
+// @(#) $Id$
+
+#ifndef ALIL3HOUGHEVAL_H
+#define ALIL3HOUGHEVAL_H
 
 #include "AliL3RootTypes.h"
 
-class AliL3HoughTransformer;
-class AliL3Transform;
+class AliL3TrackArray;
+class AliL3HoughBaseTransformer;
 class AliL3HoughTrack;
 class AliL3DigitRowData;
 class AliL3Histogram;
+class AliL3Histogram1D;
 
-class AliL3HoughEval : public TObject {
-  
- private:
-
-  Int_t fSlice;
-  Int_t fPatch;
-  Int_t fNrows;
-  Int_t fNEtaSegments;
-  Double_t fEtaMin;
-  Double_t fEtaMax;
-  Int_t fNumOfPadsToLook;
-  Int_t fNumOfRowsToMiss;
-  
-  //Flags
-  Bool_t fRemoveFoundTracks;
-  
-  AliL3Transform *fTransform; //!
-  AliL3HoughTransformer *fHoughTransformer; //!
-  AliL3DigitRowData **fRowPointers; //!
+class AliL3HoughEval {
   
  public:
   AliL3HoughEval(); 
-  AliL3HoughEval(AliL3HoughTransformer *transform);
   virtual ~AliL3HoughEval();
   
+  void InitTransformer(AliL3HoughBaseTransformer *transformer);
   void GenerateLUT();
-  void DisplayEtaSlice(Int_t eta_index,AliL3Histogram *hist);
-  Bool_t LookInsideRoad(AliL3HoughTrack *track,Int_t eta_index,Bool_t remove=kFALSE);
+  void DisplayEtaSlice(Int_t etaindex,AliL3Histogram *hist);
+  Bool_t LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove=kFALSE);
+#ifdef use_root
+  void CompareMC(AliL3TrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
+#endif
+  void FindEta(AliL3TrackArray *tracks);
   
+  //Getters
+  AliL3Histogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
+
   //Setters:
   void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
   void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
   void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
+  void SetSlice(Int_t i) {fSlice=i;}
+  void SetZVertex(Float_t zvertex) {fZVertex=zvertex;}
+
+ private:
+
+  Int_t fSlice;//Index of the slice being processed
+  Int_t fPatch;//Index of the patch being processed
+  Int_t fNrows;//Number of padrows inside the patch
+  Int_t fNEtaSegments;//Number of eta slices
+  Double_t fEtaMin;//Minimum allowed eta
+  Double_t fEtaMax;//Maximum allowed eta
+  Int_t fNumOfPadsToLook;//Padrow search window
+  Int_t fNumOfRowsToMiss;//Maximum numbers of padrow which could be missed
+  AliL3Histogram1D **fEtaHistos; //!
+  Float_t fZVertex;//Z position of the primary vertex
 
-  ClassDef(AliL3HoughEval,1)
+  //Flags
+  Bool_t fRemoveFoundTracks;//Remove the found tracks or not?
+  
+  AliL3HoughBaseTransformer *fHoughTransformer; //!
+  AliL3DigitRowData **fRowPointers; //!
+  
+  ClassDef(AliL3HoughEval,1) //Hough transform verfication class
 
 };