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