]>
Commit | Line | Data |
---|---|---|
39eefe19 | 1 | // -*- mode: C++ -*- |
97e94238 | 2 | /* Copyright (C) 2007 Christian Holm Christensen <cholm@nbi.dk> |
3 | * | |
4 | * This library is free software; you can redistribute it and/or | |
5 | * modify it under the terms of the GNU Lesser General Public License | |
6 | * as published by the Free Software Foundation; either version 2.1 of | |
7 | * the License, or (at your option) any later version. | |
8 | * | |
9 | * This library is distributed in the hope that it will be useful, but | |
10 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 | * Lesser General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU Lesser General Public | |
15 | * License along with this library; if not, write to the Free Software | |
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 | |
17 | * USA | |
18 | */ | |
39eefe19 | 19 | /** @file |
20 | @brief Declaration and implementation of classes to deal with a | |
21 | well-known event plane @f$ \Psi_R@f$. */ | |
97e94238 | 22 | //____________________________________________________________________ |
23 | // | |
24 | // AliFMDFlowTrueBin: | |
25 | // A specialised AliFMDFlowBin of flow in case the event plane is | |
26 | // well-known. | |
27 | // AliFMDFlowTrue1D: | |
28 | // A specialised AliFMDFlowBinned1D histogram in case the event | |
29 | // plane is well-known. | |
30 | // | |
31 | #ifndef ALIFMDFLOWTRUE_H | |
32 | #define ALIFMDFLOWTRUE_H | |
39eefe19 | 33 | #include <flow/AliFMDFlowStat.h> |
34 | #include <flow/AliFMDFlowBin.h> | |
35 | #include <flow/AliFMDFlowBinned1D.h> | |
36 | ||
37 | ||
38 | /** @defgroup x_true Classes for handling Flow when the event plane is | |
39 | known. */ | |
40 | /** @class TrueBin flow/True.h <flow/True.h> | |
41 | @brief A specialised Bin of flow in case the event plane is | |
42 | well-known. | |
43 | @ingroup x_true */ | |
97e94238 | 44 | class AliFMDFlowTrueBin : public AliFMDFlowBin |
39eefe19 | 45 | { |
97e94238 | 46 | public: |
39eefe19 | 47 | /** Constructor */ |
48 | AliFMDFlowTrueBin(UShort_t order) : | |
49 | AliFMDFlowBin(order, 1), | |
50 | fPsiR(0), | |
51 | fResReal() | |
52 | {} | |
53 | /** Set the well-known event plane angle @f$ \Psi_R@f$ for this | |
54 | event. | |
55 | @param psi @f$ \Psi_R@f$ */ | |
56 | void SetPsi(Double_t psi) { fPsiR = psi; } | |
57 | /** Should be called at the end of an event */ | |
58 | virtual void End(); | |
59 | /** Add a contribution @f$ \cos(n(\varphi-\Psi_R))@f$ where | |
60 | @f$ \Psi_R@f$ is the previously set, well-known event plane | |
61 | angle. | |
62 | @param phi @f$ \varphi@f$ */ | |
63 | void AddToHarmonic(Double_t phi, Double_t) { fHarmonic.Add(phi, fPsiR); } | |
64 | /** Get the value in this bin | |
65 | @param t Which type of correction | |
66 | @return the value of the harmonic */ | |
97e94238 | 67 | virtual Double_t Value(CorType t=kNone) const; |
39eefe19 | 68 | /** Get the value in this bin |
69 | @param e2 On return, the square error. | |
70 | @param t Which type of correction | |
71 | @return the value of the harmonic */ | |
97e94238 | 72 | Double_t Value(Double_t& e2, CorType t=kNone) const; |
39eefe19 | 73 | /** Get the value in this bin |
74 | @param e2 On return, the square error. | |
75 | @param t Which type of correction | |
76 | @return the value of the harmonic */ | |
97e94238 | 77 | Double_t Correction(Double_t& e2, CorType t=kNone) const; |
39eefe19 | 78 | /** Print to standard out. */ |
824e71c1 | 79 | void Print(Option_t* option="s") const; |
97e94238 | 80 | protected: |
39eefe19 | 81 | /** The well-known event plane */ |
97e94238 | 82 | Double_t fPsiR; // The well-known event plane |
39eefe19 | 83 | /** True resolution */ |
97e94238 | 84 | AliFMDFlowStat fResReal; // True resolution |
39eefe19 | 85 | /** define for ROOT I/O */ |
86 | ClassDef(AliFMDFlowTrueBin,1); | |
87 | ||
88 | }; | |
89 | /** @brief A "histogram" of objects of class TrueBin in case the | |
90 | event plane angle @f$ \Psi_R@f$ is well known. | |
91 | @ingroup x_true */ | |
92 | struct AliFMDFlowTrue1D : public AliFMDFlowBinned1D | |
93 | { | |
97e94238 | 94 | public: |
39eefe19 | 95 | /** Constructor */ |
96 | AliFMDFlowTrue1D(UShort_t order, const AliFMDFlowAxis& xaxis); | |
97 | /** Set the well-known event plane angle @f$ \Psi_R@f$ for this | |
98 | event. | |
99 | @param psi @f$ \Psi_R@f$ */ | |
100 | void SetPsi(Double_t psi); | |
101 | /** Print to standard out */ | |
102 | virtual void Print(Option_t* option="") const; | |
103 | /** define for ROOT I/O */ | |
104 | ClassDef(AliFMDFlowTrue1D,1); | |
105 | }; | |
106 | ||
107 | ||
108 | #endif | |
109 | // | |
110 | // EOF | |
111 | // |