]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/AliRelAlignerKalmanArray.h
fix histogram title
[u/mrichter/AliRoot.git] / PWG1 / AliRelAlignerKalmanArray.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 ///////////////////////////////////////////////////////////////////////////////
5 //
6 //     Data container for relative ITS-TPC alignment analysis
7 //     see info in the implementation file
8 //
9 //     Origin: Mikolaj Krzewicki, Nikhef, Mikolaj.Krzewicki@cern.ch
10 //
11 //////////////////////////////////////////////////////////////////////////////
12
13 class TObjArray;
14 class TGraphErrors;
15 class TNamed;
16 class TTree;
17 class TCollection;
18 class AliESDEvent;
19 #include <AliRelAlignerKalman.h>
20
21 class AliRelAlignerKalmanArray:public TNamed
22 {
23 public:
24   AliRelAlignerKalmanArray();
25   AliRelAlignerKalmanArray(Int_t t0, Int_t tend, Int_t slotwidth);
26   virtual ~AliRelAlignerKalmanArray();
27   AliRelAlignerKalmanArray& operator=(const AliRelAlignerKalmanArray& a );
28   AliRelAlignerKalmanArray(const AliRelAlignerKalmanArray& a);
29   void SetupArray(Int_t t0, Int_t tend, Int_t slotwidth);
30   
31   AliRelAlignerKalman* GetAligner(UInt_t timestamp);
32   AliRelAlignerKalman* GetAligner(AliESDEvent* event);
33   AliRelAlignerKalman* GetAlignerTemplate();
34   Long64_t Merge( TCollection* list );
35   AliRelAlignerKalman* At( Int_t i ) const;
36   AliRelAlignerKalman* operator[](Int_t i) const;
37   AliRelAlignerKalman*& operator[](Int_t i);
38   Int_t GetEntries() const;
39   Int_t GetSize() const {return fSize;}
40   AliRelAlignerKalman* Last() const;
41   UInt_t GetT0() const {return fT0;}
42   UInt_t GetTimebinWidth() const {return fTimebinWidth;}
43   Int_t Timebin( UInt_t timestamp ) const;
44   virtual void Print(Option_t* option="") const;
45   void FillTree( TTree* tree )const ;
46   TGraphErrors* MakeGraph(Int_t iparam) const;
47   AliRelAlignerKalmanArray* MakeSmoothArray() const;
48   void SetOutRejSigmaOnMerge(Double_t s) {fOutRejSigmaOnMerge=s;}
49   void SetOutRejSigmaOnSmooth(Double_t s) {fOutRejSigmaOnSmooth=s;}
50
51 private:
52   void ClearContents();
53   void PropagateToTime(AliRelAlignerKalman* al, UInt_t timestamp ) const;
54
55   UInt_t fT0;                            //time of first time slot
56   Int_t fTimebinWidth;                   //width of the time bin in seconds
57   Int_t fSize;                           //size
58   Double_t fOutRejSigmaOnMerge;          //how much outlier rejection on merge
59   Double_t fOutRejSigmaOnSmooth;          //how much outlier rejection on Smooth
60   AliRelAlignerKalman fAlignerTemplate;  //template
61   AliRelAlignerKalman** fPArray;         //[fSize] an array of aligners
62   
63   ClassDef(AliRelAlignerKalmanArray,4);   //AliRelAlignerKalman class
64 };
65
66