]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCcalibUnlinearity.h
First version of ACORDE QA reference data. Up tp now, we use the modules activity...
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibUnlinearity.h
CommitLineData
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
15class TH1F;
16class TH3F;
17class TH2F;
18class THnSparse;
19class TList;
20class AliESDEvent;
21class AliESDtrack;
22class TLinearFitter;
23
24
25class AliTPCcalibUnlinearity:public AliTPCcalibBase {
26public:
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 62public:
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 75private:
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