]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibUnlinearity.h
Disable Evchar if no TR read.
[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 class AliTPCClusterParam;
24
25  
26 class AliTPCcalibUnlinearity:public AliTPCcalibBase {
27 public:
28   AliTPCcalibUnlinearity(); 
29   AliTPCcalibUnlinearity(const Text_t *name, const Text_t *title);
30   virtual ~AliTPCcalibUnlinearity();
31   //
32   virtual void Process(AliTPCseed *track);
33   virtual void Analyze(){return;}
34   virtual void Terminate();
35   virtual Long64_t Merge(TCollection* list);
36   void    Add(AliTPCcalibUnlinearity * calib);
37   //
38   void ProcessTree(TTree * tree, Long64_t nmaxPoints);
39   void AddPoint(Int_t sector, Double_t cx, Double_t cy, Double_t cz, Double_t ty, Double_t tz,  Double_t ky, Double_t kz, Int_t npoints=1);
40   void AddPointRPHI(Int_t sector, Double_t cx, Double_t cy, Double_t cz, Double_t ty, Double_t tz,  Double_t ky, Double_t kz, Int_t npoints=1);
41   //
42   void MakeHisto();
43   void ProcessDiff(AliTPCseed *track, Int_t isec);
44   void AlignOROC(AliTPCseed *track, Int_t isec);
45   //
46   void DumpTree(const char *fname="unlinResidual.root");
47   void Init();
48   void EvalFitters();
49   TLinearFitter * GetFitterOutR(Int_t sector) {return (TLinearFitter*)fFittersOutR.At(sector);}
50   TLinearFitter * GetFitterOutZ(Int_t sector) {return (TLinearFitter*)fFittersOutZ.At(sector);}
51   TVectorD * GetParamOutR(Int_t sector) {return (TVectorD*)fParamsOutR.At(sector);}
52   TVectorD * GetParamOutZ(Int_t sector) {return (TVectorD*)fParamsOutZ.At(sector);}
53   //
54   //TMatrixD * GetNormCovariance(Int_t sector, Int_t type);
55   //TMatrixD * GetNormCovariance(Int_t sector, Int_t type);
56   static void MakeQPosNormAll(TTree * chainres, AliTPCClusterParam * param, Int_t maxPoints);
57   void     Process(AliESDEvent *event) {AliTPCcalibBase::Process(event);};
58   void     Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);};
59 public:
60   Bool_t      fInit;              // initialization flag
61   THnSparse * fDiffHistoLineY;    // matrix with cluster residuals - linear fit
62   THnSparse * fDiffHistoParY;     // matrix with cluster residuals - parabolic fit
63   THnSparse * fDiffHistoLineZ;    // matrix with cluster residuals - linear fit
64   THnSparse * fDiffHistoParZ;     // matrix with cluster residuals - parabolic fit
65   //
66   // Outer residula fit
67   //
68   TObjArray   fFittersOutR;      // Unlinearity fitters for radial distortion  - outer field cage
69   TObjArray   fFittersOutZ;      // Unlinearity fitters for z      distortion  - outer field cage
70   TObjArray   fParamsOutR;       // Parameters  for radial distortion  - outer field cage
71   TObjArray   fParamsOutZ;      // Parameters  for z      distortion  - outer field cage
72   TObjArray   fErrorsOutR;       // Parameters  for radial distortion  - outer field cage
73   TObjArray   fErrorsOutZ;      // Parameters  for z      distortion  - outer field cage
74   //
75   // R-phi residual histogram
76   //
77   TObjArray   fDistRPHIPlus;     // edge effect histograms  - plus  direction 
78   TObjArray   fDistRPHIMinus;    // edge effect histograms  - minus direction
79   //
80   // Quadrant fitters
81   //
82    TObjArray   fFitterQuadrantY;        //qudrant misalignemnt fit Y
83    TObjArray   fFitterQuadrantPhi;      //qudrant misalignemnt fit Phi
84 private:
85   AliTPCcalibUnlinearity(const AliTPCcalibUnlinearity&); 
86   AliTPCcalibUnlinearity& operator=(const AliTPCcalibUnlinearity&); 
87  
88   ClassDef(AliTPCcalibUnlinearity, 4); 
89 };
90
91 #endif
92
93