]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliLevel3.h
Compiler Warning removed
[u/mrichter/AliRoot.git] / HLT / src / AliLevel3.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
108615fc 3#ifndef ALILEVEL3_H
4#define ALILEVEL3_H
5
73d9267f 6#ifndef no_root
108615fc 7#include <TObject.h>
b2a02bce 8#include <TFile.h>
73d9267f 9#endif
108615fc 10
11#include "AliL3DigitData.h"
2e1fe9ef 12#include "AliL3RootTypes.h"
108615fc 13
14class AliL3SpacePointData;
15class AliL3DigitRowData;
16class AliL3TrackSegmentData;
17class AliL3DigitData;
108615fc 18class AliL3ConfMapper;
19class AliL3Vertex;
20class AliL3VertexFinder;
21class AliL3TrackMerger;
22class AliL3GlobalMerger;
b2a02bce 23#ifndef no_root
24class TDirectory;
25#endif
f3e63a47 26class AliL3ClustFinderNew;
108615fc 27class AliL3Merger;
28class AliL3InterMerger;
b2a02bce 29class AliL3FileHandler;
2e1fe9ef 30class AliL3MemHandler;
108615fc 31class AliL3Benchmark;
32
73d9267f 33#ifdef no_root
34class AliLevel3 {
35#else
108615fc 36class AliLevel3 : public TObject {
73d9267f 37#endif
108615fc 38
39 private:
40 UInt_t fNTrackData;
41 AliL3TrackSegmentData* fTrackData; //!
42 AliL3ConfMapper *fTracker; //!
43 AliL3Vertex *fVertex; //!
44 AliL3VertexFinder *fVertexFinder; //!
45 AliL3TrackMerger *fTrackMerger; //!
46 AliL3GlobalMerger *fGlobalMerger; //!
47 AliL3InterMerger *fInterMerger; //!
f3e63a47 48 AliL3ClustFinderNew *fClusterFinder; //!
2e1fe9ef 49 AliL3MemHandler *fFileHandler; //!
108615fc 50 AliL3Benchmark *fBenchmark;//!
eeddc64d 51
52 Int_t fEvent;
108615fc 53 Int_t fNPatch;
b1c440c6 54 Int_t fRow[6][2];
eeddc64d 55 Float_t fEta[2];
56
a27af97b 57 Char_t *fInputFile;//!
73d9267f 58
eeddc64d 59 Char_t fPath[256];
60 Char_t fWriteOutPath[256];
3e87ef69 61
eeddc64d 62 Bool_t fDoRoi;
108615fc 63 Bool_t fFindVertex;
532bd2d0 64 Bool_t fDoNonVertex;
3e87ef69 65 Bool_t fPileUp;
66 Bool_t fNoCF;
67
eeddc64d 68 Bool_t fUseBinary;
69 Bool_t fWriteOut;
6f388e0d 70
71 //Define whether track parameters should be given at first point on track (default)
72 //If not, the parameters will be given at the vertex.
73 static Bool_t fSetTracks2FirstPoint;
eeddc64d 74
c3dd27a3 75 Bool_t fClusterDeconv;
eeddc64d 76 Float_t fXYClusterError;
77 Float_t fZClusterError;
c3dd27a3 78
eeddc64d 79
108615fc 80 void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
eeddc64d 81 Int_t slice,Int_t patch);
108615fc 82 Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o');
c3dd27a3 83 void WriteResults();
3e87ef69 84 void FitGlobalTracks();
108615fc 85 void SetPath(char *p){sprintf(fPath,"%s",p);}
eeddc64d 86
108615fc 87 public:
88 AliLevel3 ();
f59eed2d 89 AliLevel3(Char_t *infile);
108615fc 90 virtual ~AliLevel3();
045549b7 91 enum EFileType {kBinary, kBinary8, kRoot, kRaw, kDate};
a27af97b 92 void Init(Char_t *path,EFileType filetype=kBinary,Int_t npatches=6);
0a86fbb7 93 void SetMergerParameters(Double_t maxy=1.2,Double_t maxz=1.6,Double_t maxkappa=0.003,
94 Double_t maxpsi=0.02,Double_t maxtgl=0.03);
108615fc 95 void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
96 Int_t trackletlength=3,Int_t tracklength=5,
97 Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
98 Double_t min_pt_fit=0,Double_t maxangle=1.31,
99 Double_t goodDist=5,Double_t hitChi2Cut=10,
100 Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
eeddc64d 101 Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
102 Bool_t vertexconstraint=kTRUE);
103 void SetClusterFinderParam(Float_t fXYError=0.2,Float_t fZError=0.3,Bool_t deconv=kTRUE);
108615fc 104
532bd2d0 105 void ProcessEvent(Int_t first,Int_t last,Int_t event=0);
108615fc 106 void ProcessSlice(Int_t slice);
107
108615fc 108 void DoMc(char* file="point_mc.dat");
532bd2d0 109 void DoNonVertexTracking() {fDoNonVertex=kTRUE;}
110 void FindVertex() {fFindVertex=kTRUE;}
108615fc 111 void DoBench(char* name="benchmark");
3e87ef69 112 void DoPileup() {fPileUp = kTRUE;}
113 void NoCF() {fNoCF=kTRUE;}
108615fc 114 void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;}
6e32a12a 115 void WriteFiles(Char_t *path="./"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);}
6f388e0d 116
117 static void SetTracks2FirstPoint() {fSetTracks2FirstPoint = kTRUE;}
118 static void SetTracks2Vertex() {fSetTracks2FirstPoint = kFALSE;}
119 static Bool_t IsTracksAtFirstPoint() {return fSetTracks2FirstPoint;}
120
108615fc 121 ClassDef(AliLevel3,1) //Interface class for Level3-tracking
122};
123
124#endif
c3dd27a3 125
126
127
128
129