]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliLevel3.h
Changes for independant library of standalone l3 code. Most of them are by having...
[u/mrichter/AliRoot.git] / HLT / src / AliLevel3.h
CommitLineData
108615fc 1#ifndef ALILEVEL3_H
2#define ALILEVEL3_H
3
73d9267f 4#ifndef no_root
108615fc 5#include <TObject.h>
108615fc 6#include <TFile.h>
73d9267f 7#endif
108615fc 8
9#include "AliL3DigitData.h"
2e1fe9ef 10#include "AliL3RootTypes.h"
108615fc 11
12class AliL3SpacePointData;
13class AliL3DigitRowData;
14class AliL3TrackSegmentData;
15class AliL3DigitData;
108615fc 16class AliL3ConfMapper;
17class AliL3Vertex;
18class AliL3VertexFinder;
19class AliL3TrackMerger;
20class AliL3GlobalMerger;
73d9267f 21#ifndef no_root
108615fc 22class TDirectory;
73d9267f 23#endif
f3e63a47 24class AliL3ClustFinderNew;
108615fc 25class AliL3Merger;
26class AliL3InterMerger;
eeddc64d 27
2e1fe9ef 28#ifdef use_aliroot
108615fc 29class AliL3FileHandler;
2e1fe9ef 30#else
31class AliL3MemHandler;
32#endif
108615fc 33class AliL3Benchmark;
34
73d9267f 35#ifdef no_root
36class AliLevel3 {
37#else
108615fc 38class AliLevel3 : public TObject {
73d9267f 39#endif
108615fc 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; //!
f3e63a47 50 AliL3ClustFinderNew *fClusterFinder; //!
eeddc64d 51#ifdef use_aliroot
108615fc 52 AliL3FileHandler *fFileHandler; //!
eeddc64d 53#else
2e1fe9ef 54 AliL3MemHandler *fFileHandler; //!
eeddc64d 55#endif
108615fc 56 AliL3Benchmark *fBenchmark;//!
eeddc64d 57
58 Int_t fEvent;
108615fc 59 Int_t fNPatch;
b1c440c6 60 Int_t fRow[6][2];
eeddc64d 61 Float_t fEta[2];
62
73d9267f 63#ifdef no_root
64 FILE *fInputFile;
65#else
108615fc 66 TDirectory *savedir;
67 TFile *fInputFile;
73d9267f 68#endif
69
eeddc64d 70 Char_t fPath[256];
71 Char_t fWriteOutPath[256];
72
73 Bool_t fDoRoi;
108615fc 74 Bool_t fFindVertex;
532bd2d0 75 Bool_t fDoNonVertex;
eeddc64d 76
77 Bool_t fUseBinary;
78 Bool_t fWriteOut;
79
c3dd27a3 80 Bool_t fClusterDeconv;
eeddc64d 81 Float_t fXYClusterError;
82 Float_t fZClusterError;
c3dd27a3 83
eeddc64d 84
108615fc 85 void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
eeddc64d 86 Int_t slice,Int_t patch);
108615fc 87 Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o');
c3dd27a3 88 void WriteResults();
89
108615fc 90 void SetPath(char *p){sprintf(fPath,"%s",p);}
eeddc64d 91
108615fc 92 public:
93 AliLevel3 ();
f59eed2d 94 AliLevel3(Char_t *infile);
73d9267f 95#ifndef no_root
f59eed2d 96 AliLevel3(TFile *in);
73d9267f 97#endif
108615fc 98 virtual ~AliLevel3();
99
f59eed2d 100 void Init(Char_t *path,Bool_t binary=kTRUE,Int_t npatches=6);
108615fc 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,
eeddc64d 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);
108615fc 110
532bd2d0 111 void ProcessEvent(Int_t first,Int_t last,Int_t event=0);
108615fc 112 void ProcessSlice(Int_t slice);
113
108615fc 114 void DoMc(char* file="point_mc.dat");
532bd2d0 115 void DoNonVertexTracking() {fDoNonVertex=kTRUE;}
116 void FindVertex() {fFindVertex=kTRUE;}
108615fc 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;}
6e32a12a 119 void WriteFiles(Char_t *path="./"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);}
eeddc64d 120 //void UseBinaryInput(char *path){SetPath(path);fUseBinary=kTRUE;}
121
108615fc 122 ClassDef(AliLevel3,1) //Interface class for Level3-tracking
123};
124
125#endif
c3dd27a3 126
127
128
129
130