eef57b78c982f7b3e6be5efcdfd5e0becf04c875
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>
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$ */
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);
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 };
79 #endif
80 //
81 // EOF
82 //