forked from alisw/AliPhysics
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAliRelAlignerKalmanArray.h
More file actions
70 lines (61 loc) · 2.63 KB
/
Copy pathAliRelAlignerKalmanArray.h
File metadata and controls
70 lines (61 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
///////////////////////////////////////////////////////////////////////////////
//
// Data container for relative ITS-TPC alignment analysis
// see info in the implementation file
//
// Origin: Mikolaj Krzewicki, Nikhef, Mikolaj.Krzewicki@cern.ch
//
//////////////////////////////////////////////////////////////////////////////
class TObjArray;
class TGraphErrors;
class TNamed;
class TTree;
class TCollection;
class AliESDEvent;
class TBrowser;
class TList;
#include <AliRelAlignerKalman.h>
class AliRelAlignerKalmanArray:public TNamed
{
public:
AliRelAlignerKalmanArray();
AliRelAlignerKalmanArray(Int_t t0, Int_t tend, Int_t slotwidth);
virtual ~AliRelAlignerKalmanArray();
AliRelAlignerKalmanArray& operator=(const AliRelAlignerKalmanArray& a );
AliRelAlignerKalmanArray(const AliRelAlignerKalmanArray& a);
void SetupArray(Int_t t0, Int_t tend, Int_t slotwidth);
AliRelAlignerKalman* GetAligner(UInt_t timestamp);
AliRelAlignerKalman* GetAligner(AliESDEvent* event);
AliRelAlignerKalman* GetAlignerTemplate();
Long64_t Merge( TCollection* list );
AliRelAlignerKalman* At( Int_t i ) const;
AliRelAlignerKalman* operator[](Int_t i) const;
AliRelAlignerKalman*& operator[](Int_t i);
Int_t GetEntries() const;
Int_t GetSize() const {return fSize;}
AliRelAlignerKalman* Last() const;
UInt_t GetT0() const {return fT0;}
UInt_t GetTimebinWidth() const {return fTimebinWidth;}
Int_t Timebin( UInt_t timestamp ) const;
virtual void Print(Option_t* option="") const;
void FillTree( TTree* tree )const ;
TGraphErrors* MakeGraph(Int_t iparam) const;
AliRelAlignerKalmanArray* MakeSmoothArray() const;
void SetOutRejSigmaOnMerge(Double_t s) {fOutRejSigmaOnMerge=s;}
void SetOutRejSigmaOnSmooth(Double_t s) {fOutRejSigmaOnSmooth=s;}
void Browse(TBrowser *b);
private:
void ClearContents();
void PropagateToTime(AliRelAlignerKalman* al, UInt_t timestamp ) const;
UInt_t fT0; //time of first time slot
Int_t fTimebinWidth; //width of the time bin in seconds
Int_t fSize; //size
Double_t fOutRejSigmaOnMerge; //how much outlier rejection on merge
Double_t fOutRejSigmaOnSmooth; //how much outlier rejection on Smooth
AliRelAlignerKalman fAlignerTemplate; //template
AliRelAlignerKalman** fPArray; //[fSize] an array of aligners
TList* fListOfGraphs; //!hold the graphs
ClassDef(AliRelAlignerKalmanArray,5); //AliRelAlignerKalman class
};