]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/flow/AliFMDFlowTrue.h
Added code to do flow analysis.
[u/mrichter/AliRoot.git] / FMD / flow / AliFMDFlowTrue.h
CommitLineData
39eefe19 1// -*- mode: C++ -*-
2/** @file
3 @brief Declaration and implementation of classes to deal with a
4 well-known event plane @f$ \Psi_R@f$. */
5#ifndef FLOW_TRUE_H
6#define FLOW_TRUE_H
7#include <flow/AliFMDFlowStat.h>
8#include <flow/AliFMDFlowBin.h>
9#include <flow/AliFMDFlowBinned1D.h>
10
11
12/** @defgroup x_true Classes for handling Flow when the event plane is
13 known. */
14/** @class TrueBin flow/True.h <flow/True.h>
15 @brief A specialised Bin of flow in case the event plane is
16 well-known.
17 @ingroup x_true */
18struct AliFMDFlowTrueBin : public AliFMDFlowBin
19{
20 /** Constructor */
21 AliFMDFlowTrueBin(UShort_t order) :
22 AliFMDFlowBin(order, 1),
23 fPsiR(0),
24 fResReal()
25 {}
26 /** Set the well-known event plane angle @f$ \Psi_R@f$ for this
27 event.
28 @param psi @f$ \Psi_R@f$ */
29 void SetPsi(Double_t psi) { fPsiR = psi; }
30 /** Should be called at the end of an event */
31 virtual void End();
32 /** Add a contribution @f$ \cos(n(\varphi-\Psi_R))@f$ where
33 @f$ \Psi_R@f$ is the previously set, well-known event plane
34 angle.
35 @param phi @f$ \varphi@f$ */
36 void AddToHarmonic(Double_t phi, Double_t) { fHarmonic.Add(phi, fPsiR); }
37 /** Get the value in this bin
38 @param t Which type of correction
39 @return the value of the harmonic */
40 virtual Double_t Value(CorType t=naive) const;
41 /** Get the value in this bin
42 @param e2 On return, the square error.
43 @param t Which type of correction
44 @return the value of the harmonic */
45 Double_t Value(Double_t& e2, CorType t=naive) const;
46 /** Get the value in this bin
47 @param e2 On return, the square error.
48 @param t Which type of correction
49 @return the value of the harmonic */
50 Double_t Correction(Double_t& e2, CorType t=naive) const;
51 /** Print to standard out. */
52 void Print(Option_t* option="") const;
53 /** The well-known event plane */
54 Double_t fPsiR;
55 /** True resolution */
56 AliFMDFlowStat fResReal;
57 /** define for ROOT I/O */
58 ClassDef(AliFMDFlowTrueBin,1);
59
60};
61/** @brief A "histogram" of objects of class TrueBin in case the
62 event plane angle @f$ \Psi_R@f$ is well known.
63 @ingroup x_true */
64struct AliFMDFlowTrue1D : public AliFMDFlowBinned1D
65{
66 /** Constructor */
67 AliFMDFlowTrue1D(UShort_t order, const AliFMDFlowAxis& xaxis);
68 /** Set the well-known event plane angle @f$ \Psi_R@f$ for this
69 event.
70 @param psi @f$ \Psi_R@f$ */
71 void SetPsi(Double_t psi);
72 /** Print to standard out */
73 virtual void Print(Option_t* option="") const;
74 /** define for ROOT I/O */
75 ClassDef(AliFMDFlowTrue1D,1);
76};
77
78
79#endif
80//
81// EOF
82//