15 minutes interval for calculation of drift correction
[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;
37fb53c1 23class AliTPCClusterParam;
c11fe047 24
25
26class AliTPCcalibUnlinearity:public AliTPCcalibBase {
27public:
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 59public:
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 84private:
85 AliTPCcalibUnlinearity(const AliTPCcalibUnlinearity&);
86 AliTPCcalibUnlinearity& operator=(const AliTPCcalibUnlinearity&);
28b5b7c8 87
37fb53c1 88 ClassDef(AliTPCcalibUnlinearity, 4);
c11fe047 89};
90
91#endif
92
93