]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCkalmanAlign.h
Optimisation
[u/mrichter/AliRoot.git] / TPC / AliTPCkalmanAlign.h
1 #ifndef ALITPCKALMANALIGN_H
2 #define ALITPCKALMANALIGN_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 "TNamed.h"
8 #include "TMatrixD.h"
9 #include "TString.h"
10 class TTreeSRedirector;
11 class TObjArray;
12 class AliTPCcalibAlign;
13 class TTreeSRedirector;
14 class TTree;
15 class AliTPCCalPad;
16
17
18 class AliTPCkalmanAlign: public TNamed{
19 public:
20   AliTPCkalmanAlign();
21   AliTPCkalmanAlign(const char* name, const char* title);
22   void ReadAlign(const char *fname="CalibObjects.root");
23   void MakeGlobalAlign();
24   void DrawDeltaAlign();
25   void UpdateOCDBTime0( AliTPCCalPad  *pad, Int_t ustartRun, Int_t uendRun,  const char* storagePath );
26   static void UpdateAlign1D(Double_t delta, Double_t sigma, Int_t s1, Int_t s2, TMatrixD &param, TMatrixD &covar);
27   static void UpdateAlign1D(Double_t delta, Double_t sigma, Int_t s1, TMatrixD &param, TMatrixD &covar);
28   //
29   static void Update1D(Double_t delta, Double_t sigma, Int_t s1, TMatrixD &param, TMatrixD &covar);
30   static void Update1D(TString &input, TString filter, TVectorD &param, TMatrixD & covar, Double_t mean, Double_t sigma);
31   static TString  FilterFit(TString &input, TString filter, TVectorD &param, TMatrixD & covar);
32   //
33   static void BookAlign1D(TMatrixD &param, TMatrixD &covar, Double_t sigma, Double_t mean);
34   void DumpOldAlignment(TTreeSRedirector *pcstream);
35   void MakeNewAlignment(Bool_t add,TTreeSRedirector *pcstream=0);
36   void DrawAlignmentTrends();
37   void FitCE();
38   static void MakeAliasCE(TTree * chain);
39 public:
40   AliTPCcalibAlign * fCalibAlign;    // kalman alignemnt
41   TClonesArray     *fOriginalAlign;  // original alignment objects
42   TClonesArray     *fNewAlign;       // new alignment objects
43   //
44   AliTPCCalPad     *fPadTime0;       // pad time0 - for z alignment
45   //                                 // time offset parameterization
46   TObjArray       *fFitCEGlobal;    // vector of parameter of the CE fits
47   TObjArray       *fFitCELocal;     // vector of parameter delta to global
48   //
49   TMatrixD * fDelta1D[4];            // deltas
50   TMatrixD * fCovar1D[4];            // covariance
51 private:
52   AliTPCkalmanAlign(const AliTPCkalmanAlign&);
53   AliTPCkalmanAlign &operator=(const AliTPCkalmanAlign&);
54   ClassDef(AliTPCkalmanAlign,1);
55 };
56
57 #endif
58