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