1 #ifndef ALITPCUNLINEARITY_H
2 #define ALITPCUNLINEARITY_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 #include "AliTPCcalibBase.h"
11 #include "TObjArray.h"
12 #include "TTreeStream.h"
23 class AliTPCClusterParam;
26 class AliTPCcalibUnlinearity:public AliTPCcalibBase {
28 AliTPCcalibUnlinearity();
29 AliTPCcalibUnlinearity(const Text_t *name, const Text_t *title);
30 virtual ~AliTPCcalibUnlinearity();
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);
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);
43 void ProcessDiff(AliTPCseed *track, Int_t isec);
44 void AlignOROC(AliTPCseed *track, Int_t isec);
46 void DumpTree(const char *fname="unlinResidual.root");
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);}
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);};
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
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
75 // R-phi residual histogram
77 TObjArray fDistRPHIPlus; // edge effect histograms - plus direction
78 TObjArray fDistRPHIMinus; // edge effect histograms - minus direction
82 TObjArray fFitterQuadrantY; //qudrant misalignemnt fit Y
83 TObjArray fFitterQuadrantPhi; //qudrant misalignemnt fit Phi
85 AliTPCcalibUnlinearity(const AliTPCcalibUnlinearity&);
86 AliTPCcalibUnlinearity& operator=(const AliTPCcalibUnlinearity&);
88 ClassDef(AliTPCcalibUnlinearity, 4);