1 #ifndef ALITPCKALMANALIGN_H
2 #define ALITPCKALMANALIGN_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 class TTreeSRedirector;
12 class AliTPCcalibAlign;
13 class TTreeSRedirector;
18 class AliTPCkalmanAlign: public TNamed{
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 ¶m, TMatrixD &covar);
27 static void UpdateAlign1D(Double_t delta, Double_t sigma, Int_t s1, TMatrixD ¶m, TMatrixD &covar);
29 static void Update1D(Double_t delta, Double_t sigma, Int_t s1, TMatrixD ¶m, TMatrixD &covar);
30 static void Update1D(TString &input, TString filter, TVectorD ¶m, TMatrixD & covar, Double_t mean, Double_t sigma);
31 static TString FilterFit(TString &input, TString filter, TVectorD ¶m, TMatrixD & covar);
33 static void BookAlign1D(TMatrixD ¶m, 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();
38 static void MakeAliasCE(TTree * chain);
40 AliTPCcalibAlign * fCalibAlign; // kalman alignemnt
41 TClonesArray *fOriginalAlign; // original alignment objects
42 TClonesArray *fNewAlign; // new alignment objects
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
49 TMatrixD * fDelta1D[4]; // deltas
50 TMatrixD * fCovar1D[4]; // covariance
52 AliTPCkalmanAlign(const AliTPCkalmanAlign&);
53 AliTPCkalmanAlign &operator=(const AliTPCkalmanAlign&);
54 ClassDef(AliTPCkalmanAlign,1);