Skip to content

Commit 48bc30f

Browse files
committed
Fix harmonic
1 parent a635c8b commit 48bc30f

1 file changed

Lines changed: 19 additions & 17 deletions

File tree

PWGLF/TableProducer/QC/flowQC.cxx

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)