]>
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; | |
37fb53c1 | 23 | class AliTPCClusterParam; |
c11fe047 | 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(); | |
37fb53c1 | 35 | virtual Long64_t Merge(TCollection* list); |
36 | void Add(AliTPCcalibUnlinearity * calib); | |
c11fe047 | 37 | // |
28b5b7c8 | 38 | void ProcessTree(TTree * tree, Long64_t nmaxPoints); |
37fb53c1 | 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); | |
c11fe047 | 41 | // |
42 | void MakeHisto(); | |
43 | void ProcessDiff(AliTPCseed *track, Int_t isec); | |
37fb53c1 | 44 | void AlignOROC(AliTPCseed *track, Int_t isec); |
45 | // | |
46 | void DumpTree(const char *fname="unlinResidual.root"); | |
47 | void Init(); | |
c11fe047 | 48 | void EvalFitters(); |
28b5b7c8 | 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);} | |
c11fe047 | 53 | // |
28b5b7c8 | 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); | |
37fb53c1 | 57 | void Process(AliESDEvent *event) {AliTPCcalibBase::Process(event);}; |
58 | void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; | |
c11fe047 | 59 | public: |
37fb53c1 | 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 | |
c11fe047 | 65 | // |
37fb53c1 | 66 | // Outer residula fit |
c11fe047 | 67 | // |
68 | TObjArray fFittersOutR; // Unlinearity fitters for radial distortion - outer field cage | |
69 | TObjArray fFittersOutZ; // Unlinearity fitters for z distortion - outer field cage | |
28b5b7c8 | 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 | |
c11fe047 | 74 | // |
37fb53c1 | 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 | |
c11fe047 | 84 | private: |
85 | AliTPCcalibUnlinearity(const AliTPCcalibUnlinearity&); | |
86 | AliTPCcalibUnlinearity& operator=(const AliTPCcalibUnlinearity&); | |
28b5b7c8 | 87 | |
37fb53c1 | 88 | ClassDef(AliTPCcalibUnlinearity, 4); |
c11fe047 | 89 | }; |
90 | ||
91 | #endif | |
92 | ||
93 |