]>
Commit | Line | Data |
---|---|---|
9318a5b4 | 1 | #ifndef ALITPCCALIBALIGN_H |
2 | #define ALITPCCALIBALIGN_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //// | |
8 | //// | |
9 | //// | |
10 | ||
11 | #include "TObject.h" | |
12 | #include "TObjArray.h" | |
13 | #include "TLinearFitter.h" | |
e4042305 | 14 | #include "AliTPCcalibBase.h" |
15 | #include "TH1.h" | |
9318a5b4 | 16 | |
17 | class AliExternalTrackParam; | |
e4042305 | 18 | class AliTPCseed; |
9318a5b4 | 19 | |
e4042305 | 20 | class AliTPCcalibAlign:public AliTPCcalibBase { |
9318a5b4 | 21 | public: |
22 | AliTPCcalibAlign(); | |
23 | ||
24 | virtual ~AliTPCcalibAlign(); | |
25 | ||
e4042305 | 26 | virtual void Process(AliTPCseed *track); |
27 | ||
28 | void ProcessTracklets(const AliExternalTrackParam &t1, | |
29 | const AliExternalTrackParam &t2, | |
30 | Int_t s1,Int_t s2); | |
9318a5b4 | 31 | void Eval(); |
32 | TLinearFitter* GetFitter12(Int_t s1,Int_t s2) { | |
33 | return static_cast<TLinearFitter*>(fFitterArray12[s1*72+s2]); | |
34 | } | |
35 | TLinearFitter* GetFitter9(Int_t s1,Int_t s2) { | |
36 | return static_cast<TLinearFitter*>(fFitterArray9[s1*72+s2]); | |
37 | } | |
38 | TLinearFitter* GetFitter6(Int_t s1,Int_t s2) { | |
39 | return static_cast<TLinearFitter*>(fFitterArray6[s1*72+s2]); | |
40 | } | |
41 | Bool_t GetTransformation12(Int_t s1,Int_t s2,TMatrixD &a); | |
42 | Bool_t GetTransformation9(Int_t s1,Int_t s2,TMatrixD &a); | |
43 | Bool_t GetTransformation6(Int_t s1,Int_t s2,TMatrixD &a); | |
e4042305 | 44 | |
45 | TObjArray fDphiHistArray; | |
46 | TObjArray fDthetaHistArray; | |
47 | TObjArray fDyHistArray; | |
48 | TObjArray fDzHistArray; | |
49 | ||
9318a5b4 | 50 | private: |
51 | void Process12(Double_t *t1, | |
52 | Double_t *t2, | |
53 | TLinearFitter *fitter); | |
54 | void Process9(Double_t *t1, | |
55 | Double_t *t2, | |
56 | TLinearFitter *fitter); | |
57 | void Process6(Double_t *t1, | |
58 | Double_t *t2, | |
59 | TLinearFitter *fitter); | |
60 | TLinearFitter* GetOrMakeFitter12(Int_t s1,Int_t s2) { | |
61 | //get or make fitter | |
62 | if (!fFitterArray12[s1*72+s2]) | |
63 | fFitterArray12[s1*72+s2]=new TLinearFitter(12,"x0++x1++x2++x3++x4++x5++x6++x7++x8++x9++x10++x11"); | |
64 | return GetFitter12(s1,s2); | |
65 | } | |
66 | TLinearFitter* GetOrMakeFitter9(Int_t s1,Int_t s2) { | |
67 | //get or make fitter | |
68 | if (!fFitterArray9[s1*72+s2]) | |
69 | fFitterArray9[s1*72+s2]=new TLinearFitter(9,"x0++x1++x2++x3++x4++x5++x6++x7++x8"); | |
70 | return GetFitter9(s1,s2); | |
71 | } | |
72 | TLinearFitter* GetOrMakeFitter6(Int_t s1,Int_t s2) { | |
73 | //get or make fitter | |
74 | if (!fFitterArray6[s1*72+s2]) | |
75 | fFitterArray6[s1*72+s2]=new TLinearFitter(6,"x0++x1++x2++x3++x4++x5"); | |
76 | return GetFitter6(s1,s2); | |
77 | } | |
78 | TObjArray fFitterArray12; | |
79 | TObjArray fFitterArray9; | |
80 | TObjArray fFitterArray6; | |
81 | Int_t fPoints[72*72]; | |
82 | ||
83 | ClassDef(AliTPCcalibAlign,1) | |
84 | }; | |
85 | ||
86 | #endif |