]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliLevel3.h
Corrected bug in constructor (fIshunt has to be =1)
[u/mrichter/AliRoot.git] / HLT / src / AliLevel3.h
CommitLineData
108615fc 1#ifndef ALILEVEL3_H
2#define ALILEVEL3_H
3
4#include <TObject.h>
5#include <TBuffer.h>
6#include <TFile.h>
7
8#include "AliL3DigitData.h"
9
10class AliL3SpacePointData;
11class AliL3DigitRowData;
12class AliL3TrackSegmentData;
13class AliL3DigitData;
14class AliL3Transform;
15class TClonesArray;
16class AliTPCParam;
17class AliL3ConfMapper;
18class AliL3Vertex;
19class AliL3VertexFinder;
20class AliL3TrackMerger;
21class AliL3GlobalMerger;
22class TDirectory;
23class AliL3Transform;
24class AliL3ClustFinder;
25class AliL3Merger;
26class AliL3InterMerger;
27class AliL3FileHandler;
28class AliL3Benchmark;
29
30class AliLevel3 : public TObject {
31
32 private:
33 UInt_t fNTrackData;
34 AliL3TrackSegmentData* fTrackData; //!
35 AliL3ConfMapper *fTracker; //!
36 AliL3Vertex *fVertex; //!
37 AliL3VertexFinder *fVertexFinder; //!
38 AliL3TrackMerger *fTrackMerger; //!
39 AliL3GlobalMerger *fGlobalMerger; //!
40 AliL3InterMerger *fInterMerger; //!
41 AliL3ClustFinder *fClusterFinder; //!
42 AliL3FileHandler *fFileHandler; //!
43 AliL3Benchmark *fBenchmark;//!
44 Int_t fNPatch;
45 Char_t fPath[256];
46 AliL3Transform *fTransformer; //!
47 TDirectory *savedir;
48 TFile *fInputFile;
49 TFile *fOutputFile;
50 Bool_t fFindVertex;
51 void Init();
52 void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
53 Int_t slice,Int_t patch);
54 void WriteResults();
55 Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o');
56 Float_t fEta[2];
57 Bool_t fDoRoi;
58 Bool_t fUseBinary;
59 Bool_t fWriteOut;
60 void SetPath(char *p){sprintf(fPath,"%s",p);}
61 public:
62 AliLevel3 ();
63 AliLevel3(Char_t *infile,Char_t *outfile);
64 AliLevel3(TFile *in, TFile *out);
65 virtual ~AliLevel3();
66
67 void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
68 Int_t trackletlength=3,Int_t tracklength=5,
69 Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
70 Double_t min_pt_fit=0,Double_t maxangle=1.31,
71 Double_t goodDist=5,Double_t hitChi2Cut=10,
72 Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
73 Int_t maxdist=50);
74
75
76 void ProcessEvent(Int_t first,Int_t last);
77 void ProcessSlice(Int_t slice);
78
79
80 void UseBinaryInput(char *path){SetPath(path);fUseBinary=kTRUE;}
81 void DoMc(char* file="point_mc.dat");
82 void DoBench(char* name="benchmark");
83 void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;}
84 void WriteFiles(){fWriteOut = kTRUE;}
85 ClassDef(AliLevel3,1) //Interface class for Level3-tracking
86};
87
88#endif