]>
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); | |
f2da0d3d | 24 | void AddValue(Double_t y,Double_t x){ |
25 | // default weight | |
26 | AddValue(y,x,1.0); | |
27 | } | |
b0f5e3fc | 28 | void AddValue(Float_t y,Float_t x,Float_t w){ |
f2da0d3d | 29 | // Floating point version |
30 | AddValue((Double_t)y,(Double_t)x,(Double_t)w); | |
31 | } | |
32 | void AddValue(Float_t y,Float_t x){ | |
33 | // default weight F. | |
50b3cf39 | 34 | AddValue((Double_t)y,(Double_t)x,(Double_t)1.0); |
f2da0d3d | 35 | } |
b0f5e3fc | 36 | Double_t GetXNth (Int_t order); |
37 | Double_t GetYNth (Int_t order); | |
38 | Double_t GetYXNth(Int_t order); | |
39 | Double_t GetMeanY() { | |
40 | // return mean y | |
41 | return GetYNth(1); | |
42 | }; | |
43 | Double_t GetMeanX() { | |
44 | // return mean x | |
45 | return GetXNth(1); | |
46 | }; | |
47 | Double_t GetMeanYX() { | |
48 | // return mean Y*X | |
49 | return GetYXNth(1); | |
50 | }; | |
51 | Int_t GetN(){ | |
52 | // retrun the number of entries | |
53 | return fN; | |
54 | }; | |
55 | Int_t GetOrder(){ | |
56 | // return the maximum moment order | |
57 | return fOrder; | |
58 | }; | |
59 | Double_t GetXN (Int_t order){ | |
60 | // returns x^n | |
61 | return fx[order-1]; | |
62 | }; | |
63 | Double_t GetYN (Int_t order){ | |
64 | // returns y^n | |
65 | return fy[order-1]; | |
66 | }; | |
67 | Double_t GetYXN(Int_t order){ | |
68 | // returns (yx)^n | |
69 | return fyx[order-1]; | |
70 | }; | |
71 | Double_t GetWN (Int_t order){ | |
72 | // returns w^n (weight) | |
73 | return fw[order-1]; | |
74 | }; | |
75 | Double_t GetRMSY(); | |
76 | Double_t GetRMSX(); | |
77 | Double_t GetRMSYX(); | |
78 | Double_t GetErrorMeanY(); | |
79 | Double_t GetErrorMeanX(); | |
80 | Double_t GetErrorMeanYX(); | |
81 | Double_t GetErrorRMSY(); | |
82 | Double_t GetErrorRMSX(); | |
83 | Double_t GetErrorRMSYX(); | |
84 | Double_t FitToLine(Double_t &a,Double_t &b); | |
85 | ||
86 | private: | |
87 | Double_t *fx; // array of sums of x^n | |
88 | Double_t *fyx; // array of sums of (xy)^n | |
89 | Double_t *fy; // array of sums of y^n | |
90 | Double_t *fw; // array of sums of w^n (weights) | |
91 | Int_t fN; // number of enetries | |
92 | Int_t fOrder; // maximum moment of distributions (^n) | |
93 | ||
94 | ||
95 | ClassDef(AliITSstatistics2,1) // | |
96 | }; | |
97 | #endif |