]>
Commit | Line | Data |
---|---|---|
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 */ | |
18 | struct 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 */ | |
64 | struct 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 | // |