]>
Commit | Line | Data |
---|---|---|
39eefe19 | 1 | // -*- mode: C++ -*- |
2 | /** @file | |
3 | @brief Declaration of a Harmonic class */ | |
4 | #ifndef FLOW_HARMONIC_H | |
5 | #define FLOW_HARMONIC_H | |
6 | #include <flow/AliFMDFlowStat.h> | |
7 | ||
8 | /** @defgroup a_basic Basic classes for doing Flow analysis. | |
9 | @brief This group of class handles the low-level stuff to do | |
10 | flow analysis. */ | |
11 | //______________________________________________________ | |
12 | /** @class AliFMDFlowHarmonic flow/AliFMDFlowHarmonic.h <flow/AliFMDFlowHarmonic.h> | |
13 | @brief Calculate the @f$ n^{th}@f$ order harmonic | |
14 | @ingroup a_basic | |
15 | ||
16 | Calculate the @f$ n^{th}@f$ order harmonic, given by | |
17 | @f{eqnarray*} | |
18 | v_n &=& \frac{v_n^{obs}}{R}\\ | |
19 | v_n^{obs} &=& \frac1M\sum_i^M\cos(n (\varphi_i - \Psi)) | |
20 | @f} | |
21 | where @f$ R@f$ is the resolution, @f$ i@f$ runs over all @f$ | |
22 | M@f$ observations of @f$ \varphi_i@f$ in all events, and | |
23 | @f$\Psi@f$ is the estimated event plane. | |
24 | ||
25 | The error on the corrected value is given by | |
26 | @f{eqnarray*} | |
27 | \delta^2v_n & = & \left(\frac{dv_n}{dv_n^{obs}}\right)^2\delta^2 | |
28 | v_n^{obs} + \left(\frac{dv_n}{dR}\right)^2\delta^2R \\ | |
29 | & = & \frac{\delta^2v_n^{obs} R^2 + \delta^2R (v_n^{obs})^2} | |
30 | {R^4} | |
31 | @f} | |
32 | */ | |
33 | class AliFMDFlowHarmonic : public AliFMDFlowStat | |
34 | { | |
35 | public: | |
36 | /** Constructor | |
37 | @param n Order of the harmonic */ | |
38 | AliFMDFlowHarmonic(UShort_t n) : fOrder(n) {} | |
39 | /** Destructor */ | |
40 | virtual ~AliFMDFlowHarmonic() {} | |
41 | /** Add a data point | |
42 | @param phi The absolute angle @f$ \varphi \in[0,2\pi]@f$ | |
43 | @param psi The event plane angle @f$ \Psi \in[0,2\pi] @f$ */ | |
44 | void Add(Double_t phi, Double_t psi); | |
45 | /** Get the harmonic. | |
46 | @param r Event plane resolution | |
47 | @param er2 Square error on event plane resolution | |
48 | @param e2 On return the square error | |
49 | @return The harmonic value */ | |
50 | Double_t Value(Double_t r, Double_t er2, Double_t& e2) const; | |
51 | /** Get the order of the harmonic */ | |
52 | UShort_t Order() const { return fOrder; } | |
53 | protected: | |
54 | /** the order */ | |
55 | UShort_t fOrder; | |
56 | /** Define for ROOT I/O */ | |
57 | ClassDef(AliFMDFlowHarmonic,1); | |
58 | }; | |
59 | ||
60 | ||
61 | #endif | |
62 | // | |
63 | // EOF | |
64 | // | |
65 |