1 #ifndef ALIROOT_ALIFORWARDFLOWWEIGHTS
2 #define ALIROOT_ALIFORWARDFLOWWEIGHTS
9 * Utility class to calculate flow weights
12 class AliForwardFlowWeights : public TObject
16 kEta = 0x01, // include eta effect
17 kPt = 0x02, // include pt effect
18 kPID = 0x04, // include PID effect
19 kCent = 0x08, // include centrality effect
20 kB = 0x10 // include impact parmaeter effect
25 AliForwardFlowWeights();
29 * @param o Object to copy from
31 AliForwardFlowWeights(const AliForwardFlowWeights& o);
35 * @param o Object to assign from
37 * @return Reference to this object
39 AliForwardFlowWeights& operator=(const AliForwardFlowWeights& o);
43 virtual ~AliForwardFlowWeights();
48 * @param l List to add objects to
50 virtual void Init(TList* l);
52 * @a what is a bit-wise or of
54 * - kPt Weight according to transverse momentum
55 * - kEta Weight according to Pseudo-rapidity
56 * - kPID Weight according to particle type
57 * - kCent Weight according to centrality
58 * - kB Weight according to impact parameter.
60 * Note, that kCent and kB are mutually exclusive
62 * @a type can be one of
66 * - 1 Pt is weighted as mean of @f$v_2{2}@f$ and @f$v_2{4}@f$ from
67 * 40-50% centrality, unity weight for p, other for @f$\pi@f$,
68 * other particles fixed, and the width of the @f$\eta@f$
71 * - 2 Pt is weighted by @f$v_2{2}@f$ from 40-50% centrality, fixed
72 * PID weight, and the width of the @f$\eta@f$ Gaussian is 3
74 * - 3 Pt is weighted by @f$v_2{4}@f$ from 30-40% centrality, unity
75 * weight for p, other for @f$\pi@f$, other particles fixed, and
76 * the width of the @f$\eta@f$ Gaussian is 15
78 * - 4 Pt is weighted by @f$v_2{4}@f$ from 40-50% centrality, unity
79 * weight for p, other for @f$\pi@f$, other particles fixed, and
80 * the width of the @f$\eta@f$ Gaussian is 9
83 * @param eta Pseudo-rapidity of particle (@f$\eta@f$)
84 * @param pt Transverse momentum of particle (@f$p_T@f$) in GeV
85 * @param phi Azimuthal angle of particle (@f$\phi@f$) in radians
86 * @param id Particle type of particle
87 * @param phiR Event plane angle (@f$\phi_R@f$) in radians
88 * @param bOrC Impact paramter/Centrality of event (@f$b@f$) in fm
89 * @param type Type of flow to add
90 * @param order Order of flow weight
91 * @param what Which effects to include
95 Double_t CalcWeight(Double_t eta,
103 UShort_t what) const;
105 * Calculate the weights
107 * @param eta Pseudo-rapidity of particle (@f$\eta@f$)
108 * @param pt Transverse momentum of particle (@f$p_T@f$) in GeV
109 * @param phi Azimuthal angle of particle (@f$\phi@f$) in radians
110 * @param id Particle type of particle
111 * @param phiR Event plane angle (@f$\phi_R@f$) in radians
112 * @param b Impact paramter of event (@f$b@f$) in fm
116 virtual Double_t CalcWeight(Double_t eta, Double_t pt,
117 Double_t phi, Int_t id,
118 Double_t phiR, Double_t b) const;
120 * Construct an object from objects found in list, or null
122 * @param l List to find objects in
124 * @return Newly created object, or null
126 static AliForwardFlowWeights* FromList(TList* l);
131 * @param eta Psuedo-rapidity
132 * @param type Parameterization type
136 Double_t CalcEtaWeight(Double_t eta, Int_t type) const;
140 * @param id Particle (type) identifier
141 * @param type Parameterization type
145 Double_t CalcPidWeight(Int_t id, Int_t type) const;
149 * @param pt Transverse momentum (GeV)
150 * @param type Parameterization type
154 Double_t CalcPtWeight(Double_t pt, Int_t type) const;
158 * @param c Centrality
162 Double_t CalcCentWeight(Double_t c) const;
166 * @param b Impact parameters (fm)
170 Double_t CalcBWeight(Double_t b) const;
172 TGraph* fV22Pt; // Contribution from v2{2} as a function of pt
173 TGraph* fV24Pt; // Contribution from v2{4} as a function of pt
174 TGraph* fV24AltPt; // Contribution from v2{4} as a function of pt
175 TGraph* fV2B; // Contribution from v2 as a function of b
176 TGraph* fV2C; // Contribution from v2 as a function of centrality
178 ClassDef(AliForwardFlowWeights,1);