]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliLevel3.h
Wrong CVS merging corrected
[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
de3c3890 11#ifdef use_newio
12class AliRunLoader;
13#endif
14
108615fc 15#include "AliL3DigitData.h"
2e1fe9ef 16#include "AliL3RootTypes.h"
108615fc 17
18class AliL3SpacePointData;
19class AliL3DigitRowData;
20class AliL3TrackSegmentData;
21class AliL3DigitData;
108615fc 22class AliL3ConfMapper;
23class AliL3Vertex;
24class AliL3VertexFinder;
25class AliL3TrackMerger;
26class AliL3GlobalMerger;
b2a02bce 27#ifndef no_root
28class TDirectory;
29#endif
f3e63a47 30class AliL3ClustFinderNew;
108615fc 31class AliL3Merger;
32class AliL3InterMerger;
b2a02bce 33class AliL3FileHandler;
2e1fe9ef 34class AliL3MemHandler;
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; //!
2e1fe9ef 53 AliL3MemHandler *fFileHandler; //!
108615fc 54 AliL3Benchmark *fBenchmark;//!
eeddc64d 55
56 Int_t fEvent;
108615fc 57 Int_t fNPatch;
b1c440c6 58 Int_t fRow[6][2];
eeddc64d 59 Float_t fEta[2];
60
a27af97b 61 Char_t *fInputFile;//!
de3c3890 62#ifdef use_newio
63 AliRunLoader *fRunLoader;
64#endif
eeddc64d 65 Char_t fPath[256];
66 Char_t fWriteOutPath[256];
3e87ef69 67
eeddc64d 68 Bool_t fDoRoi;
108615fc 69 Bool_t fFindVertex;
532bd2d0 70 Bool_t fDoNonVertex;
3e87ef69 71 Bool_t fPileUp;
72 Bool_t fNoCF;
73
eeddc64d 74 Bool_t fUseBinary;
75 Bool_t fWriteOut;
6f388e0d 76
1f1942b8 77 static Bool_t fDoVertexFit;
eeddc64d 78
c3dd27a3 79 Bool_t fClusterDeconv;
eeddc64d 80 Float_t fXYClusterError;
81 Float_t fZClusterError;
c3dd27a3 82
eeddc64d 83
108615fc 84 void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
eeddc64d 85 Int_t slice,Int_t patch);
108615fc 86 Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o');
c3dd27a3 87 void WriteResults();
3e87ef69 88 void FitGlobalTracks();
108615fc 89 void SetPath(char *p){sprintf(fPath,"%s",p);}
eeddc64d 90
108615fc 91 public:
92 AliLevel3 ();
f59eed2d 93 AliLevel3(Char_t *infile);
de3c3890 94#ifdef use_newio
95 AliLevel3(AliRunLoader *rl);
96#endif
108615fc 97 virtual ~AliLevel3();
de3c3890 98 enum EFileType {kBinary, kBinary8, kRoot, kRaw, kDate, kRunLoader};
a27af97b 99 void Init(Char_t *path,EFileType filetype=kBinary,Int_t npatches=6);
0a86fbb7 100 void SetMergerParameters(Double_t maxy=1.2,Double_t maxz=1.6,Double_t maxkappa=0.003,
101 Double_t maxpsi=0.02,Double_t maxtgl=0.03);
108615fc 102 void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
103 Int_t trackletlength=3,Int_t tracklength=5,
104 Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
105 Double_t min_pt_fit=0,Double_t maxangle=1.31,
106 Double_t goodDist=5,Double_t hitChi2Cut=10,
107 Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
eeddc64d 108 Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
109 Bool_t vertexconstraint=kTRUE);
110 void SetClusterFinderParam(Float_t fXYError=0.2,Float_t fZError=0.3,Bool_t deconv=kTRUE);
108615fc 111
532bd2d0 112 void ProcessEvent(Int_t first,Int_t last,Int_t event=0);
108615fc 113 void ProcessSlice(Int_t slice);
114
108615fc 115 void DoMc(char* file="point_mc.dat");
532bd2d0 116 void DoNonVertexTracking() {fDoNonVertex=kTRUE;}
117 void FindVertex() {fFindVertex=kTRUE;}
108615fc 118 void DoBench(char* name="benchmark");
3e87ef69 119 void DoPileup() {fPileUp = kTRUE;}
120 void NoCF() {fNoCF=kTRUE;}
108615fc 121 void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;}
6e32a12a 122 void WriteFiles(Char_t *path="./"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);}
6f388e0d 123
1f1942b8 124 static void SetVertexFit(Bool_t f) {fDoVertexFit=f;}
1f1942b8 125 static Bool_t DoVertexFit() {return fDoVertexFit;}
126
108615fc 127 ClassDef(AliLevel3,1) //Interface class for Level3-tracking
128};
129
130#endif
c3dd27a3 131
132
133
134
135