]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/flow/AliFMDFlowHarmonic.h
Added code to do flow analysis.
[u/mrichter/AliRoot.git] / FMD / flow / AliFMDFlowHarmonic.h
CommitLineData
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*/
33class AliFMDFlowHarmonic : public AliFMDFlowStat
34{
35public:
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; }
53protected:
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