]> 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 1d64d91f74c901e1d43af2f83fae780bbe071184..bbdbf997312cd9c8c7e132a162015d94ade1bc57 100644 (file)
@@ -1,37 +1,62 @@
-#ifndef ALIL3_HOUGH_Eval
-#define ALIL3_HOUGH_Eval
+// @(#) $Id$
+
+#ifndef ALIL3HOUGHEVAL_H
+#define ALIL3HOUGHEVAL_H
 
 #include "AliL3RootTypes.h"
 
-class TClonesArray;
-class TObjArray;
-class TH2F;
-class TH1F;
-class AliL3Transform;
 class AliL3TrackArray;
-class AliL3HoughTransformer;
+class AliL3HoughBaseTransformer;
+class AliL3HoughTrack;
+class AliL3DigitRowData;
+class AliL3Histogram;
+class AliL3Histogram1D;
 
-class AliL3HoughEval : public TObject {
-  
- private:
+class AliL3HoughEval {
   
-  Int_t fSlice;
-  AliL3HoughTransformer *fHoughTransformer;
-  AliL3Transform *fTransform; //!
-
  public:
   AliL3HoughEval(); 
-  AliL3HoughEval(AliL3HoughTransformer *transformer);
   virtual ~AliL3HoughEval();
-
-  TClonesArray *GetParticles(Char_t *rootfile);
-  void LookInsideRoad(AliL3TrackArray *tracks,TH2F *hist=0,TH2F *fake=0);
-  void DisplaySlice(TH2F *hist);
-  void CompareMC(Char_t *rootfile,AliL3TrackArray *merged_tracks,Float_t *eta);
   
-  void SetTransformer(AliL3HoughTransformer *t) {fHoughTransformer=t;}
+  void InitTransformer(AliL3HoughBaseTransformer *transformer);
+  void GenerateLUT();
+  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:
 
-  ClassDef(AliL3HoughEval,1)
+  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
+
+  //Flags
+  Bool_t fRemoveFoundTracks;//Remove the found tracks or not?
+  
+  AliL3HoughBaseTransformer *fHoughTransformer; //!
+  AliL3DigitRowData **fRowPointers; //!
+  
+  ClassDef(AliL3HoughEval,1) //Hough transform verfication class
 
 };