]>
Commit | Line | Data |
---|---|---|
108615fc | 1 | #ifndef ALILEVEL3_H |
2 | #define ALILEVEL3_H | |
3 | ||
4 | #include <TObject.h> | |
108615fc | 5 | #include <TFile.h> |
6 | ||
7 | #include "AliL3DigitData.h" | |
2e1fe9ef | 8 | #include "AliL3RootTypes.h" |
108615fc | 9 | |
10 | class AliL3SpacePointData; | |
11 | class AliL3DigitRowData; | |
12 | class AliL3TrackSegmentData; | |
13 | class AliL3DigitData; | |
108615fc | 14 | class AliL3ConfMapper; |
15 | class AliL3Vertex; | |
16 | class AliL3VertexFinder; | |
17 | class AliL3TrackMerger; | |
18 | class AliL3GlobalMerger; | |
19 | class TDirectory; | |
f3e63a47 | 20 | class AliL3ClustFinderNew; |
108615fc | 21 | class AliL3Merger; |
22 | class AliL3InterMerger; | |
eeddc64d | 23 | |
2e1fe9ef | 24 | #ifdef use_aliroot |
108615fc | 25 | class AliL3FileHandler; |
2e1fe9ef | 26 | #else |
27 | class AliL3MemHandler; | |
28 | #endif | |
108615fc | 29 | class AliL3Benchmark; |
30 | ||
31 | class AliLevel3 : public TObject { | |
32 | ||
33 | private: | |
34 | UInt_t fNTrackData; | |
35 | AliL3TrackSegmentData* fTrackData; //! | |
36 | AliL3ConfMapper *fTracker; //! | |
37 | AliL3Vertex *fVertex; //! | |
38 | AliL3VertexFinder *fVertexFinder; //! | |
39 | AliL3TrackMerger *fTrackMerger; //! | |
40 | AliL3GlobalMerger *fGlobalMerger; //! | |
41 | AliL3InterMerger *fInterMerger; //! | |
f3e63a47 | 42 | AliL3ClustFinderNew *fClusterFinder; //! |
eeddc64d | 43 | #ifdef use_aliroot |
108615fc | 44 | AliL3FileHandler *fFileHandler; //! |
eeddc64d | 45 | #else |
2e1fe9ef | 46 | AliL3MemHandler *fFileHandler; //! |
eeddc64d | 47 | #endif |
108615fc | 48 | AliL3Benchmark *fBenchmark;//! |
eeddc64d | 49 | |
50 | Int_t fEvent; | |
108615fc | 51 | Int_t fNPatch; |
b1c440c6 | 52 | Int_t fRow[6][2]; |
eeddc64d | 53 | Float_t fEta[2]; |
54 | ||
108615fc | 55 | TDirectory *savedir; |
56 | TFile *fInputFile; | |
eeddc64d | 57 | Char_t fPath[256]; |
58 | Char_t fWriteOutPath[256]; | |
59 | ||
60 | Bool_t fDoRoi; | |
108615fc | 61 | Bool_t fFindVertex; |
532bd2d0 | 62 | Bool_t fDoNonVertex; |
eeddc64d | 63 | |
64 | Bool_t fUseBinary; | |
65 | Bool_t fWriteOut; | |
66 | ||
c3dd27a3 | 67 | Bool_t fClusterDeconv; |
eeddc64d | 68 | Float_t fXYClusterError; |
69 | Float_t fZClusterError; | |
c3dd27a3 | 70 | |
eeddc64d | 71 | |
108615fc | 72 | void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points, |
eeddc64d | 73 | Int_t slice,Int_t patch); |
108615fc | 74 | Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o'); |
c3dd27a3 | 75 | void WriteResults(); |
76 | ||
108615fc | 77 | void SetPath(char *p){sprintf(fPath,"%s",p);} |
eeddc64d | 78 | |
108615fc | 79 | public: |
80 | AliLevel3 (); | |
f59eed2d | 81 | AliLevel3(Char_t *infile); |
82 | AliLevel3(TFile *in); | |
108615fc | 83 | virtual ~AliLevel3(); |
84 | ||
f59eed2d | 85 | void Init(Char_t *path,Bool_t binary=kTRUE,Int_t npatches=6); |
108615fc | 86 | void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100, |
87 | Int_t trackletlength=3,Int_t tracklength=5, | |
88 | Int_t rowscopetracklet=2,Int_t rowscopetrack=3, | |
89 | Double_t min_pt_fit=0,Double_t maxangle=1.31, | |
90 | Double_t goodDist=5,Double_t hitChi2Cut=10, | |
91 | Double_t goodHitChi2=20,Double_t trackChi2Cut=50, | |
eeddc64d | 92 | Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1, |
93 | Bool_t vertexconstraint=kTRUE); | |
94 | void SetClusterFinderParam(Float_t fXYError=0.2,Float_t fZError=0.3,Bool_t deconv=kTRUE); | |
108615fc | 95 | |
532bd2d0 | 96 | void ProcessEvent(Int_t first,Int_t last,Int_t event=0); |
108615fc | 97 | void ProcessSlice(Int_t slice); |
98 | ||
108615fc | 99 | void DoMc(char* file="point_mc.dat"); |
532bd2d0 | 100 | void DoNonVertexTracking() {fDoNonVertex=kTRUE;} |
101 | void FindVertex() {fFindVertex=kTRUE;} | |
108615fc | 102 | void DoBench(char* name="benchmark"); |
103 | void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;} | |
6e32a12a | 104 | void WriteFiles(Char_t *path="./"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);} |
eeddc64d | 105 | //void UseBinaryInput(char *path){SetPath(path);fUseBinary=kTRUE;} |
106 | ||
108615fc | 107 | ClassDef(AliLevel3,1) //Interface class for Level3-tracking |
108 | }; | |
109 | ||
110 | #endif | |
c3dd27a3 | 111 | |
112 | ||
113 | ||
114 | ||
115 |