]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSSTATISTICS2_H |
2 | #define ALIITSSTATISTICS2_H | |
3 | ////////////////////////////////////////////////////////////////////////// | |
4 | // Alice ITS first detector alignment program. // | |
5 | // // | |
6 | // version: 0.0.0 Draft. // | |
7 | // Date: April 18 1999 // | |
8 | // By: Bjorn S. Nilsen // | |
9 | // // | |
10 | ////////////////////////////////////////////////////////////////////////// | |
11 | #include "TObject.h" | |
12 | ||
13 | class AliITSstatistics2 : public TObject { | |
14 | // | |
15 | ||
16 | public: | |
17 | AliITSstatistics2(); | |
18 | AliITSstatistics2(Int_t order); | |
19 | AliITSstatistics2(AliITSstatistics2 &source); // copy constructor | |
20 | AliITSstatistics2& operator=(AliITSstatistics2 &source); // operator= | |
21 | virtual ~AliITSstatistics2(); | |
22 | void Reset(); | |
23 | void AddValue(Double_t y,Double_t x,Double_t w); | |
24 | void AddValue(Double_t y,Double_t x){AddValue(y,x,1.0);} // default weight | |
25 | void AddValue(Float_t y,Float_t x,Float_t w){ | |
26 | AddValue((Double_t)y,(Double_t)x,(Double_t)w);} // Floating point version | |
27 | void AddValue(Float_t y,Float_t x){AddValue(y,x,1.0);}// default weight F. | |
28 | Double_t GetXNth (Int_t order); | |
29 | Double_t GetYNth (Int_t order); | |
30 | Double_t GetYXNth(Int_t order); | |
31 | Double_t GetMeanY() { | |
32 | // return mean y | |
33 | return GetYNth(1); | |
34 | }; | |
35 | Double_t GetMeanX() { | |
36 | // return mean x | |
37 | return GetXNth(1); | |
38 | }; | |
39 | Double_t GetMeanYX() { | |
40 | // return mean Y*X | |
41 | return GetYXNth(1); | |
42 | }; | |
43 | Int_t GetN(){ | |
44 | // retrun the number of entries | |
45 | return fN; | |
46 | }; | |
47 | Int_t GetOrder(){ | |
48 | // return the maximum moment order | |
49 | return fOrder; | |
50 | }; | |
51 | Double_t GetXN (Int_t order){ | |
52 | // returns x^n | |
53 | return fx[order-1]; | |
54 | }; | |
55 | Double_t GetYN (Int_t order){ | |
56 | // returns y^n | |
57 | return fy[order-1]; | |
58 | }; | |
59 | Double_t GetYXN(Int_t order){ | |
60 | // returns (yx)^n | |
61 | return fyx[order-1]; | |
62 | }; | |
63 | Double_t GetWN (Int_t order){ | |
64 | // returns w^n (weight) | |
65 | return fw[order-1]; | |
66 | }; | |
67 | Double_t GetRMSY(); | |
68 | Double_t GetRMSX(); | |
69 | Double_t GetRMSYX(); | |
70 | Double_t GetErrorMeanY(); | |
71 | Double_t GetErrorMeanX(); | |
72 | Double_t GetErrorMeanYX(); | |
73 | Double_t GetErrorRMSY(); | |
74 | Double_t GetErrorRMSX(); | |
75 | Double_t GetErrorRMSYX(); | |
76 | Double_t FitToLine(Double_t &a,Double_t &b); | |
77 | ||
78 | private: | |
79 | Double_t *fx; // array of sums of x^n | |
80 | Double_t *fyx; // array of sums of (xy)^n | |
81 | Double_t *fy; // array of sums of y^n | |
82 | Double_t *fw; // array of sums of w^n (weights) | |
83 | Int_t fN; // number of enetries | |
84 | Int_t fOrder; // maximum moment of distributions (^n) | |
85 | ||
86 | ||
87 | ClassDef(AliITSstatistics2,1) // | |
88 | }; | |
89 | #endif |