]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibUnlinearity.h
Removed obsolete classes
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibUnlinearity.h
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"
13 #include "TVectorD.h"
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   //
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);
38   //
39   void MakeHisto();
40   void ProcessDiff(AliTPCseed *track, Int_t isec);
41   void DumpTree();
42   void MakeFitters();
43   void EvalFitters();
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);}
48   //
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);
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
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
73   //
74
75 private:
76   AliTPCcalibUnlinearity(const AliTPCcalibUnlinearity&); 
77   AliTPCcalibUnlinearity& operator=(const AliTPCcalibUnlinearity&); 
78  static AliTPCcalibUnlinearity*   fgInstance; //! Instance of this class (singleton implementation)
79  
80   ClassDef(AliTPCcalibUnlinearity, 1); 
81 };
82
83 #endif
84
85