]>
Commit | Line | Data |
---|---|---|
c11fe047 | 1 | #ifndef ALITPCUNLINEARITY_H |
2 | #define ALITPCUNLINEARITY_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | #include "AliTPCcalibBase.h" | |
8 | #include "TH2F.h" | |
9 | #include "TF1.h" | |
10 | #include "TArrayD.h" | |
11 | #include "TObjArray.h" | |
12 | #include "TTreeStream.h" | |
28b5b7c8 | 13 | #include "TVectorD.h" |
c11fe047 | 14 | |
15 | class TH1F; | |
16 | class TH3F; | |
17 | class TH2F; | |
18 | class THnSparse; | |
19 | class TList; | |
20 | class AliESDEvent; | |
21 | class AliESDtrack; | |
22 | class TLinearFitter; | |
23 | ||
24 | ||
25 | class AliTPCcalibUnlinearity:public AliTPCcalibBase { | |
26 | public: | |
27 | AliTPCcalibUnlinearity(); | |
28 | AliTPCcalibUnlinearity(const Text_t *name, const Text_t *title); | |
29 | virtual ~AliTPCcalibUnlinearity(); | |
30 | // | |
31 | virtual void Process(AliTPCseed *track); | |
32 | virtual void Analyze(){return;} | |
33 | virtual void Terminate(); | |
34 | virtual Long64_t Merge(TCollection* list){return 0;} | |
35 | // | |
28b5b7c8 | 36 | void ProcessTree(TTree * tree, Long64_t nmaxPoints); |
37 | void AddPoint(Int_t sector, Int_t row, Double_t dz, Double_t dy, Double_t p2, Double_t p3, Double_t dr, Int_t npoints=1); | |
c11fe047 | 38 | // |
39 | void MakeHisto(); | |
40 | void ProcessDiff(AliTPCseed *track, Int_t isec); | |
41 | void DumpTree(); | |
42 | void MakeFitters(); | |
43 | void EvalFitters(); | |
28b5b7c8 | 44 | TLinearFitter * GetFitterOutR(Int_t sector) {return (TLinearFitter*)fFittersOutR.At(sector);} |
45 | TLinearFitter * GetFitterOutZ(Int_t sector) {return (TLinearFitter*)fFittersOutZ.At(sector);} | |
46 | TVectorD * GetParamOutR(Int_t sector) {return (TVectorD*)fParamsOutR.At(sector);} | |
47 | TVectorD * GetParamOutZ(Int_t sector) {return (TVectorD*)fParamsOutZ.At(sector);} | |
c11fe047 | 48 | // |
28b5b7c8 | 49 | Double_t GetDr(Int_t sector, Double_t dout, Double_t dr); |
50 | Double_t GetDz(Int_t sector, Double_t dout, Double_t dr); | |
51 | Double_t GetGDr(Int_t stype,Float_t gx, Float_t gy,Float_t gz); | |
52 | // | |
53 | static Double_t SGetDr(Int_t sector, Double_t dout, Double_t dr); | |
54 | static Double_t SGetDz(Int_t sector, Double_t dout, Double_t dr); | |
55 | static Double_t SGetGDr(Int_t stype,Float_t gx, Float_t gy,Float_t gz); | |
56 | ||
57 | static AliTPCcalibUnlinearity* Instance(); | |
58 | void SetInstance(AliTPCcalibUnlinearity*param){fgInstance = param;} | |
59 | //TMatrixD * GetNormCovariance(Int_t sector, Int_t type); | |
60 | //TMatrixD * GetNormCovariance(Int_t sector, Int_t type); | |
61 | static void MakeQPosNormAll(TTree * chainres, AliTPCClusterParam * param, Int_t maxPoints); | |
c11fe047 | 62 | public: |
63 | THnSparse * fDiffHistoLine; // matrix with cluster residuals - linear fit | |
64 | THnSparse * fDiffHistoPar; // matrix with cluster residuals - parabolic fit | |
65 | // | |
66 | // | |
67 | TObjArray fFittersOutR; // Unlinearity fitters for radial distortion - outer field cage | |
68 | TObjArray fFittersOutZ; // Unlinearity fitters for z distortion - outer field cage | |
28b5b7c8 | 69 | TObjArray fParamsOutR; // Parameters for radial distortion - outer field cage |
70 | TObjArray fParamsOutZ; // Parameters for z distortion - outer field cage | |
71 | TObjArray fErrorsOutR; // Parameters for radial distortion - outer field cage | |
72 | TObjArray fErrorsOutZ; // Parameters for z distortion - outer field cage | |
c11fe047 | 73 | // |
28b5b7c8 | 74 | |
c11fe047 | 75 | private: |
76 | AliTPCcalibUnlinearity(const AliTPCcalibUnlinearity&); | |
77 | AliTPCcalibUnlinearity& operator=(const AliTPCcalibUnlinearity&); | |
28b5b7c8 | 78 | static AliTPCcalibUnlinearity* fgInstance; //! Instance of this class (singleton implementation) |
79 | ||
c11fe047 | 80 | ClassDef(AliTPCcalibUnlinearity, 1); |
81 | }; | |
82 | ||
83 | #endif | |
84 | ||
85 |