]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCcalibAlign.h
updated
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibAlign.h
CommitLineData
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
17class AliExternalTrackParam;
e4042305 18class AliTPCseed;
9318a5b4 19
e4042305 20class AliTPCcalibAlign:public AliTPCcalibBase {
9318a5b4 21public:
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 50private:
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