3 #ifndef ALIL3HOUGHEVAL_H
4 #define ALIL3HOUGHEVAL_H
6 #include "AliHLTRootTypes.h"
8 class AliHLTTrackArray;
9 class AliHLTHoughBaseTransformer;
10 class AliHLTHoughTrack;
11 class AliHLTDigitRowData;
12 class AliHLTHistogram;
13 class AliHLTHistogram1D;
15 class AliHLTHoughEval {
19 virtual ~AliHLTHoughEval();
21 void InitTransformer(AliHLTHoughBaseTransformer *transformer);
23 void DisplayEtaSlice(Int_t etaindex,AliHLTHistogram *hist);
24 Bool_t LookInsideRoad(AliHLTHoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove=kFALSE);
26 void CompareMC(AliHLTTrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
28 void FindEta(AliHLTTrackArray *tracks);
31 AliHLTHistogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
34 void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
35 void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
36 void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
37 void SetSlice(Int_t i) {fSlice=i;}
38 void SetZVertex(Float_t zvertex) {fZVertex=zvertex;}
42 Int_t fSlice;//Index of the slice being processed
43 Int_t fPatch;//Index of the patch being processed
44 Int_t fNrows;//Number of padrows inside the patch
45 Int_t fNEtaSegments;//Number of eta slices
46 Double_t fEtaMin;//Minimum allowed eta
47 Double_t fEtaMax;//Maximum allowed eta
48 Int_t fNumOfPadsToLook;//Padrow search window
49 Int_t fNumOfRowsToMiss;//Maximum numbers of padrow which could be missed
50 AliHLTHistogram1D **fEtaHistos; //!
51 Float_t fZVertex;//Z position of the primary vertex
54 Bool_t fRemoveFoundTracks;//Remove the found tracks or not?
56 AliHLTHoughBaseTransformer *fHoughTransformer; //!
57 AliHLTDigitRowData **fRowPointers; //!
59 ClassDef(AliHLTHoughEval,1) //Hough transform verfication class
63 typedef AliHLTHoughEval AliL3HoughEval; // for backward comaptibility