@@ -137,9 +137,9 @@ struct flowQC {
137137 return collision.sel8 () && collision.posZ () > -cfgCutVertex && collision.posZ () < cfgCutVertex && collision.selection_bit (aod::evsel::kNoTimeFrameBorder ) && collision.triggereventep () && collision.selection_bit (aod::evsel::kNoSameBunchPileup );
138138 }
139139
140- float computeEventPlane (float y, float x)
140+ float computeEventPlane (float y, float x, float harmonic )
141141 {
142- return 0.5 * TMath::ATan2 (y, x);
142+ return ( 1 . f / harmonic) * TMath::ATan2 (y, x);
143143 }
144144
145145 void initCCDB (aod::BCsWithTimestamps::iterator const & bc)
@@ -267,6 +267,8 @@ struct flowQC {
267267 auto maybeSquare = [quadraticResponse](float value) {
268268 return quadraticResponse ? value * value : value;
269269 };
270+ const float qvecHarmonic = quadraticResponse ? (cfgHarmonic.value / 2 .f ) : cfgHarmonic.value ;
271+ const int qvecHarmonicIndex = static_cast <int >(qvecHarmonic) - 2 ;
270272
271273 // EP method
272274 float QmodFT0A_EP = maybeSquare (collision.qFT0A ());
@@ -285,37 +287,37 @@ struct flowQC {
285287 float psiTPC_EP = collision.psiTPC ();
286288
287289 // Qvec method
288- float QxFT0A_Qvec_raw = collision.qvecFT0AReVec ()[cfgHarmonic. value - 2 ];
289- float QyFT0A_Qvec_raw = collision.qvecFT0AImVec ()[cfgHarmonic. value - 2 ];
290- float psiFT0A_Qvec = computeEventPlane (QyFT0A_Qvec_raw, QxFT0A_Qvec_raw);
290+ float QxFT0A_Qvec_raw = collision.qvecFT0AReVec ()[qvecHarmonicIndex ];
291+ float QyFT0A_Qvec_raw = collision.qvecFT0AImVec ()[qvecHarmonicIndex ];
292+ float psiFT0A_Qvec = computeEventPlane (QyFT0A_Qvec_raw, QxFT0A_Qvec_raw, qvecHarmonic );
291293 float QxFT0A_Qvec = maybeSquare (QxFT0A_Qvec_raw);
292294 float QyFT0A_Qvec = maybeSquare (QyFT0A_Qvec_raw);
293295 float QmodFT0A_Qvec = std::hypot (QxFT0A_Qvec, QyFT0A_Qvec);
294296
295- float QxFT0C_Qvec_raw = collision.qvecFT0CReVec ()[cfgHarmonic. value - 2 ];
296- float QyFT0C_Qvec_raw = collision.qvecFT0CImVec ()[cfgHarmonic. value - 2 ];
297- float psiFT0C_Qvec = computeEventPlane (QyFT0C_Qvec_raw, QxFT0C_Qvec_raw);
297+ float QxFT0C_Qvec_raw = collision.qvecFT0CReVec ()[qvecHarmonicIndex ];
298+ float QyFT0C_Qvec_raw = collision.qvecFT0CImVec ()[qvecHarmonicIndex ];
299+ float psiFT0C_Qvec = computeEventPlane (QyFT0C_Qvec_raw, QxFT0C_Qvec_raw, qvecHarmonic );
298300 float QxFT0C_Qvec = maybeSquare (QxFT0C_Qvec_raw);
299301 float QyFT0C_Qvec = maybeSquare (QyFT0C_Qvec_raw);
300302 float QmodFT0C_Qvec = std::hypot (QxFT0C_Qvec, QyFT0C_Qvec);
301303
302- float QxTPCl_Qvec_raw = collision.qvecTPCnegReVec ()[cfgHarmonic. value - 2 ];
303- float QyTPCl_Qvec_raw = collision.qvecTPCnegImVec ()[cfgHarmonic. value - 2 ];
304- float psiTPCl_Qvec = computeEventPlane (QyTPCl_Qvec_raw, QxTPCl_Qvec_raw);
304+ float QxTPCl_Qvec_raw = collision.qvecTPCnegReVec ()[qvecHarmonicIndex ];
305+ float QyTPCl_Qvec_raw = collision.qvecTPCnegImVec ()[qvecHarmonicIndex ];
306+ float psiTPCl_Qvec = computeEventPlane (QyTPCl_Qvec_raw, QxTPCl_Qvec_raw, qvecHarmonic );
305307 float QxTPCl_Qvec = maybeSquare (QxTPCl_Qvec_raw);
306308 float QyTPCl_Qvec = maybeSquare (QyTPCl_Qvec_raw);
307309 float QmodTPCl_Qvec = std::hypot (QxTPCl_Qvec, QyTPCl_Qvec);
308310
309- float QxTPCr_Qvec_raw = collision.qvecTPCposReVec ()[cfgHarmonic. value - 2 ];
310- float QyTPCr_Qvec_raw = collision.qvecTPCposImVec ()[cfgHarmonic. value - 2 ];
311- float psiTPCr_Qvec = computeEventPlane (QyTPCr_Qvec_raw, QxTPCr_Qvec_raw);
311+ float QxTPCr_Qvec_raw = collision.qvecTPCposReVec ()[qvecHarmonicIndex ];
312+ float QyTPCr_Qvec_raw = collision.qvecTPCposImVec ()[qvecHarmonicIndex ];
313+ float psiTPCr_Qvec = computeEventPlane (QyTPCr_Qvec_raw, QxTPCr_Qvec_raw, qvecHarmonic );
312314 float QxTPCr_Qvec = maybeSquare (QxTPCr_Qvec_raw);
313315 float QyTPCr_Qvec = maybeSquare (QyTPCr_Qvec_raw);
314316 float QmodTPCr_Qvec = std::hypot (QxTPCr_Qvec, QyTPCr_Qvec);
315317
316- float QxTPC_Qvec_raw = collision.qvecTPCallReVec ()[cfgHarmonic. value - 2 ];
317- float QyTPC_Qvec_raw = collision.qvecTPCallImVec ()[cfgHarmonic. value - 2 ];
318- float psiTPC_Qvec = computeEventPlane (QyTPC_Qvec_raw, QxTPC_Qvec_raw);
318+ float QxTPC_Qvec_raw = collision.qvecTPCallReVec ()[qvecHarmonicIndex ];
319+ float QyTPC_Qvec_raw = collision.qvecTPCallImVec ()[qvecHarmonicIndex ];
320+ float psiTPC_Qvec = computeEventPlane (QyTPC_Qvec_raw, QxTPC_Qvec_raw, qvecHarmonic );
319321 float QxTPC_Qvec = maybeSquare (QxTPC_Qvec_raw);
320322 float QyTPC_Qvec = maybeSquare (QyTPC_Qvec_raw);
321323 float QmodTPC_Qvec = std::hypot (QxTPC_Qvec, QyTPC_Qvec);
0 commit comments