]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/comp/AliL3ClusterFitter.h
Coding conventions, delete members of some HLT arrays, cosmetics (C.Loizides)
[u/mrichter/AliRoot.git] / HLT / comp / AliL3ClusterFitter.h
... / ...
CommitLineData
1// @(#) $Id$
2
3#ifndef AliL3_ClusterFitter
4#define AliL3_ClusterFitter
5
6#include "AliL3Modeller.h"
7#include "AliL3Transform.h"
8
9class AliL3ModelTrack;
10class AliL3TrackArray;
11class AliL3SpacePointData;
12
13class AliL3ClusterFitter : public AliL3Modeller {
14
15 public:
16 AliL3ClusterFitter();
17 AliL3ClusterFitter(Char_t *path);
18 virtual ~AliL3ClusterFitter();
19
20 void Init(Int_t slice,Int_t patch,Int_t *rowrange,AliL3TrackArray *tracks);
21 void Init(Int_t slice,Int_t patch);
22 void LoadSeeds(Int_t *rowrange,Bool_t offline=kTRUE,Int_t eventnr=0,Float_t zvertex=0.0);
23 void LoadLocalSegments();
24 void FindClusters();
25 void AddClusters();
26 void WriteClusters(Bool_t global=kTRUE);
27 void WriteTracks(Int_t minHits);
28 void SetNmaxOverlaps(Int_t i) {fNmaxOverlaps=i;}
29 //void SetChiSqMax(Float_t f,Bool_t overlapping) {fChiSqMax[(Int_t)overlapping] = f;}
30 void SetChiSqMax(Float_t f,Int_t lpatch) {fChiSqMax[lpatch] = f;}
31 void SetInnerWidthFactor(Float_t y,Float_t z) {fYInnerWidthFactor=y; fZInnerWidthFactor=z;}
32 void SetOuterWidthFactor(Float_t y,Float_t z) {fYOuterWidthFactor=y; fZOuterWidthFactor=z;}
33
34 Float_t GetYWidthFactor() {return fCurrentPadRow < AliL3Transform::GetLastRow(1) ? fYInnerWidthFactor : fYOuterWidthFactor;}
35 Float_t GetZWidthFactor() {return fCurrentPadRow < AliL3Transform::GetLastRow(1) ? fZInnerWidthFactor : fZOuterWidthFactor;}
36 AliL3TrackArray *GetSeeds() {return fSeeds;}
37
38 private:
39 Int_t fNmaxOverlaps;
40 Int_t fRowMin;
41 Int_t fRowMax;
42 Float_t fChiSqMax[3];
43 Float_t fYInnerWidthFactor;
44 Float_t fZInnerWidthFactor;
45 Float_t fYOuterWidthFactor;
46 Float_t fZOuterWidthFactor;
47 Int_t fFitted;
48 Int_t fFailed;
49 static Int_t fgBadFitError;
50 static Int_t fgFitError;
51 static Int_t fgResultError;
52 static Int_t fgFitRangeError;
53 Bool_t fSeeding;
54 Int_t fNMaxClusters;
55 Int_t fNClusters;
56 Int_t fEvent;
57 AliL3TrackArray *fSeeds; //!
58 AliL3TrackArray *fProcessTracks; //!
59 AliL3SpacePointData *fClusters; //!
60
61 void FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange);
62 Bool_t CheckCluster(Int_t trackindex);
63 Bool_t IsMaximum(Int_t pad,Int_t time);
64 Bool_t SetFitRange(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange);
65 void SetClusterfitFalse(AliL3ModelTrack *track);
66 void CalculateWeightedMean(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange);
67
68 ClassDef(AliL3ClusterFitter,1)
69
70};
71
72#endif