]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliLevel3.h
Corrected initialization of static variables, removed warnings (Sun, HP)
[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>
108615fc 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;
73d9267f 23#ifndef no_root
108615fc 24class TDirectory;
73d9267f 25#endif
f3e63a47 26class AliL3ClustFinderNew;
108615fc 27class AliL3Merger;
28class AliL3InterMerger;
eeddc64d 29
2e1fe9ef 30#ifdef use_aliroot
108615fc 31class AliL3FileHandler;
2e1fe9ef 32#else
33class AliL3MemHandler;
34#endif
108615fc 35class AliL3Benchmark;
36
73d9267f 37#ifdef no_root
38class AliLevel3 {
39#else
108615fc 40class AliLevel3 : public TObject {
73d9267f 41#endif
108615fc 42
43 private:
44 UInt_t fNTrackData;
45 AliL3TrackSegmentData* fTrackData; //!
46 AliL3ConfMapper *fTracker; //!
47 AliL3Vertex *fVertex; //!
48 AliL3VertexFinder *fVertexFinder; //!
49 AliL3TrackMerger *fTrackMerger; //!
50 AliL3GlobalMerger *fGlobalMerger; //!
51 AliL3InterMerger *fInterMerger; //!
f3e63a47 52 AliL3ClustFinderNew *fClusterFinder; //!
eeddc64d 53#ifdef use_aliroot
108615fc 54 AliL3FileHandler *fFileHandler; //!
eeddc64d 55#else
2e1fe9ef 56 AliL3MemHandler *fFileHandler; //!
eeddc64d 57#endif
108615fc 58 AliL3Benchmark *fBenchmark;//!
eeddc64d 59
60 Int_t fEvent;
108615fc 61 Int_t fNPatch;
b1c440c6 62 Int_t fRow[6][2];
eeddc64d 63 Float_t fEta[2];
64
73d9267f 65#ifdef no_root
66 FILE *fInputFile;
67#else
108615fc 68 TDirectory *savedir;
69 TFile *fInputFile;
73d9267f 70#endif
71
eeddc64d 72 Char_t fPath[256];
73 Char_t fWriteOutPath[256];
3e87ef69 74
eeddc64d 75 Bool_t fDoRoi;
108615fc 76 Bool_t fFindVertex;
532bd2d0 77 Bool_t fDoNonVertex;
3e87ef69 78 Bool_t fPileUp;
79 Bool_t fNoCF;
80
eeddc64d 81 Bool_t fUseBinary;
82 Bool_t fWriteOut;
83
c3dd27a3 84 Bool_t fClusterDeconv;
eeddc64d 85 Float_t fXYClusterError;
86 Float_t fZClusterError;
c3dd27a3 87
eeddc64d 88
108615fc 89 void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
eeddc64d 90 Int_t slice,Int_t patch);
108615fc 91 Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o');
c3dd27a3 92 void WriteResults();
3e87ef69 93 void FitGlobalTracks();
108615fc 94 void SetPath(char *p){sprintf(fPath,"%s",p);}
eeddc64d 95
108615fc 96 public:
97 AliLevel3 ();
f59eed2d 98 AliLevel3(Char_t *infile);
73d9267f 99#ifndef no_root
f59eed2d 100 AliLevel3(TFile *in);
73d9267f 101#endif
108615fc 102 virtual ~AliLevel3();
0a86fbb7 103
f59eed2d 104 void Init(Char_t *path,Bool_t binary=kTRUE,Int_t npatches=6);
0a86fbb7 105 void SetMergerParameters(Double_t maxy=1.2,Double_t maxz=1.6,Double_t maxkappa=0.003,
106 Double_t maxpsi=0.02,Double_t maxtgl=0.03);
108615fc 107 void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
108 Int_t trackletlength=3,Int_t tracklength=5,
109 Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
110 Double_t min_pt_fit=0,Double_t maxangle=1.31,
111 Double_t goodDist=5,Double_t hitChi2Cut=10,
112 Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
eeddc64d 113 Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
114 Bool_t vertexconstraint=kTRUE);
115 void SetClusterFinderParam(Float_t fXYError=0.2,Float_t fZError=0.3,Bool_t deconv=kTRUE);
108615fc 116
532bd2d0 117 void ProcessEvent(Int_t first,Int_t last,Int_t event=0);
108615fc 118 void ProcessSlice(Int_t slice);
119
108615fc 120 void DoMc(char* file="point_mc.dat");
532bd2d0 121 void DoNonVertexTracking() {fDoNonVertex=kTRUE;}
122 void FindVertex() {fFindVertex=kTRUE;}
108615fc 123 void DoBench(char* name="benchmark");
3e87ef69 124 void DoPileup() {fPileUp = kTRUE;}
125 void NoCF() {fNoCF=kTRUE;}
108615fc 126 void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;}
6e32a12a 127 void WriteFiles(Char_t *path="./"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);}
eeddc64d 128 //void UseBinaryInput(char *path){SetPath(path);fUseBinary=kTRUE;}
129
108615fc 130 ClassDef(AliLevel3,1) //Interface class for Level3-tracking
131};
132
133#endif
c3dd27a3 134
135
136
137
138