Skip to content

Commit 1652331

Browse files
authored
[PWGDQ] Generalization of cumulant calculation to weighted Q-vectors case (#5604)
* [PWGDQ] Generalization of cumulant calculation to weighted Q-vectors case * Set name strings back as they were * Isolating new flag of extra table from existing process functions * Adding flag in Vn pairing for cumulants * Set Q21 to be non-normalised when doing calculation for cumulants
1 parent d7bea67 commit 1652331

File tree

7 files changed

+302
-182
lines changed

7 files changed

+302
-182
lines changed

PWGDQ/Core/VarManager.cxx

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -607,22 +607,46 @@ void VarManager::SetDefaultVarNames()
607607
fgVariableUnits[kQ3X0C] = "";
608608
fgVariableNames[kQ3Y0C] = "Q_{3,y}^{C} ";
609609
fgVariableUnits[kQ3Y0C] = "";
610-
fgVariableNames[kQ4X0A] = "Q_{1,x}^{A} ";
610+
fgVariableNames[kQ4X0A] = "Q_{4,x}^{A} ";
611611
fgVariableUnits[kQ4X0A] = "";
612-
fgVariableNames[kQ4Y0A] = "Q_{1,y}^{A} ";
612+
fgVariableNames[kQ4Y0A] = "Q_{4,y}^{A} ";
613613
fgVariableUnits[kQ4Y0A] = "";
614-
fgVariableNames[kQ4X0B] = "Q_{1,x}^{B} ";
614+
fgVariableNames[kQ4X0B] = "Q_{4,x}^{B} ";
615615
fgVariableUnits[kQ4X0B] = "";
616-
fgVariableNames[kQ4Y0B] = "Q_{1,y}^{B} ";
616+
fgVariableNames[kQ4Y0B] = "Q_{4,y}^{B} ";
617617
fgVariableUnits[kQ4Y0B] = "";
618-
fgVariableNames[kQ4X0C] = "Q_{1,x}^{C} ";
618+
fgVariableNames[kQ4X0C] = "Q_{4,x}^{C} ";
619619
fgVariableUnits[kQ4X0C] = "";
620-
fgVariableNames[kQ4Y0C] = "Q_{1,y}^{C} ";
620+
fgVariableNames[kQ4Y0C] = "Q_{4,y}^{C} ";
621621
fgVariableUnits[kQ4Y0C] = "";
622622
fgVariableNames[kU2Q2] = "u_{2}Q_{2}^{A} ";
623623
fgVariableUnits[kU2Q2] = "";
624624
fgVariableNames[kU3Q3] = "u_{3}Q_{3}^{A} ";
625625
fgVariableUnits[kU3Q3] = "";
626+
fgVariableNames[kQ42XA] = "Q_{42,x}^{A} ";
627+
fgVariableUnits[kQ42XA] = "";
628+
fgVariableNames[kQ42YA] = "Q_{42,y}^{A} ";
629+
fgVariableUnits[kQ42YA] = "";
630+
fgVariableNames[kQ23XA] = "Q_{23,x}^{A} ";
631+
fgVariableUnits[kQ23XA] = "";
632+
fgVariableNames[kQ23YA] = "Q_{23,y}^{A} ";
633+
fgVariableUnits[kQ23YA] = "";
634+
fgVariableNames[kS11A] = "S_{11}^{A} ";
635+
fgVariableUnits[kS11A] = "";
636+
fgVariableNames[kS12A] = "S_{12}^{A} ";
637+
fgVariableUnits[kS12A] = "";
638+
fgVariableNames[kS13A] = "S_{13}^{A} ";
639+
fgVariableUnits[kS13A] = "";
640+
fgVariableNames[kS31A] = "S_{31}^{A} ";
641+
fgVariableUnits[kS31A] = "";
642+
fgVariableNames[kM11REF] = "M_{11}^{REF} ";
643+
fgVariableUnits[kM11REF] = "";
644+
fgVariableNames[kM01POI] = "M_{01}^{POI} ";
645+
fgVariableUnits[kM01POI] = "";
646+
fgVariableNames[kM1111REF] = "M_{1111}^{REF} ";
647+
fgVariableUnits[kM1111REF] = "";
648+
fgVariableNames[kM0111POI] = "M_{0111}^{POI} ";
649+
fgVariableUnits[kM0111POI] = "";
626650
fgVariableNames[kCORR2REF] = "<2> ";
627651
fgVariableUnits[kCORR2REF] = "";
628652
fgVariableNames[kCORR2POI] = " <2'> ";

PWGDQ/Core/VarManager.h

Lines changed: 111 additions & 75 deletions
Large diffs are not rendered by default.

PWGDQ/DataModel/ReducedInfoTables.h

Lines changed: 48 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -41,35 +41,45 @@ namespace reducedevent
4141

4242
// basic event information
4343
DECLARE_SOA_BITMAP_COLUMN(Tag, tag, 64); //! Bit-field for storing event information (e.g. high level info, cut decisions)
44-
DECLARE_SOA_COLUMN(Q1X0A, q1x0a, float); //! Q-vector x component, with event eta gap A (harmonic 1 and power 0)
45-
DECLARE_SOA_COLUMN(Q1Y0A, q1y0a, float); //! Q-vector y component, with event eta gap A (harmonic 1 and power 0)
46-
DECLARE_SOA_COLUMN(Q1X0B, q1x0b, float); //! Q-vector x component, with event eta gap B (harmonic 1 and power 0)
47-
DECLARE_SOA_COLUMN(Q1Y0B, q1y0b, float); //! Q-vector y component, with event eta gap B (harmonic 1 and power 0)
48-
DECLARE_SOA_COLUMN(Q1X0C, q1x0c, float); //! Q-vector x component, with event eta gap C (harmonic 1 and power 0)
49-
DECLARE_SOA_COLUMN(Q1Y0C, q1y0c, float); //! Q-vector y component, with event eta gap C (harmonic 1 and power 0)
50-
DECLARE_SOA_COLUMN(Q2X0A, q2x0a, float); //! Q-vector x component, with event eta gap A (harmonic 2 and power 0)
51-
DECLARE_SOA_COLUMN(Q2Y0A, q2y0a, float); //! Q-vector y component, with event eta gap A (harmonic 2 and power 0)
52-
DECLARE_SOA_COLUMN(Q2X0B, q2x0b, float); //! Q-vector x component, with event eta gap B (harmonic 2 and power 0)
53-
DECLARE_SOA_COLUMN(Q2Y0B, q2y0b, float); //! Q-vector y component, with event eta gap B (harmonic 2 and power 0)
54-
DECLARE_SOA_COLUMN(Q2X0C, q2x0c, float); //! Q-vector x component, with event eta gap C (harmonic 2 and power 0)
55-
DECLARE_SOA_COLUMN(Q2Y0C, q2y0c, float); //! Q-vector y component, with event eta gap C (harmonic 2 and power 0)
44+
DECLARE_SOA_COLUMN(Q1X0A, q1x0a, float); //! Q-vector x component, with event eta gap A (harmonic 1 and power 1)
45+
DECLARE_SOA_COLUMN(Q1Y0A, q1y0a, float); //! Q-vector y component, with event eta gap A (harmonic 1 and power 1)
46+
DECLARE_SOA_COLUMN(Q1X0B, q1x0b, float); //! Q-vector x component, with event eta gap B (harmonic 1 and power 1)
47+
DECLARE_SOA_COLUMN(Q1Y0B, q1y0b, float); //! Q-vector y component, with event eta gap B (harmonic 1 and power 1)
48+
DECLARE_SOA_COLUMN(Q1X0C, q1x0c, float); //! Q-vector x component, with event eta gap C (harmonic 1 and power 1)
49+
DECLARE_SOA_COLUMN(Q1Y0C, q1y0c, float); //! Q-vector y component, with event eta gap C (harmonic 1 and power 1)
50+
DECLARE_SOA_COLUMN(Q2X0A, q2x0a, float); //! Q-vector x component, with event eta gap A (harmonic 2 and power 1)
51+
DECLARE_SOA_COLUMN(Q2Y0A, q2y0a, float); //! Q-vector y component, with event eta gap A (harmonic 2 and power 1)
52+
DECLARE_SOA_COLUMN(Q2X0B, q2x0b, float); //! Q-vector x component, with event eta gap B (harmonic 2 and power 1)
53+
DECLARE_SOA_COLUMN(Q2Y0B, q2y0b, float); //! Q-vector y component, with event eta gap B (harmonic 2 and power 1)
54+
DECLARE_SOA_COLUMN(Q2X0C, q2x0c, float); //! Q-vector x component, with event eta gap C (harmonic 2 and power 1)
55+
DECLARE_SOA_COLUMN(Q2Y0C, q2y0c, float); //! Q-vector y component, with event eta gap C (harmonic 2 and power 1)
5656
DECLARE_SOA_COLUMN(MultA, multa, float); //! Event multiplicity eta gap A
5757
DECLARE_SOA_COLUMN(MultB, multb, float); //! Event multiplicity eta gap B
5858
DECLARE_SOA_COLUMN(MultC, multc, float); //! Event multiplicity eta gap C
59-
DECLARE_SOA_COLUMN(Q3X0A, q3x0a, float); //! Q-vector x component, with event eta gap A (harmonic 3 and power 0)
60-
DECLARE_SOA_COLUMN(Q3Y0A, q3y0a, float); //! Q-vector y component, with event eta gap A (harmonic 3 and power 0)
61-
DECLARE_SOA_COLUMN(Q3X0B, q3x0b, float); //! Q-vector x component, with event eta gap B (harmonic 3 and power 0)
62-
DECLARE_SOA_COLUMN(Q3Y0B, q3y0b, float); //! Q-vector y component, with event eta gap B (harmonic 3 and power 0)
63-
DECLARE_SOA_COLUMN(Q3X0C, q3x0c, float); //! Q-vector x component, with event eta gap C (harmonic 3 and power 0)
64-
DECLARE_SOA_COLUMN(Q3Y0C, q3y0c, float); //! Q-vector y component, with event eta gap C (harmonic 3 and power 0)
65-
DECLARE_SOA_COLUMN(Q4X0A, q4x0a, float); //! Q-vector x component, with event eta gap A (harmonic 4 and power 0)
66-
DECLARE_SOA_COLUMN(Q4Y0A, q4y0a, float); //! Q-vector y component, with event eta gap A (harmonic 4 and power 0)
67-
DECLARE_SOA_COLUMN(Q4X0B, q4x0b, float); //! Q-vector x component, with event eta gap B (harmonic 4 and power 0)
68-
DECLARE_SOA_COLUMN(Q4Y0B, q4y0b, float); //! Q-vector y component, with event eta gap B (harmonic 4 and power 0)
69-
DECLARE_SOA_COLUMN(Q4X0C, q4x0c, float); //! Q-vector x component, with event eta gap C (harmonic 4 and power 0)
70-
DECLARE_SOA_COLUMN(Q4Y0C, q4y0c, float); //! Q-vector y component, with event eta gap C (harmonic 4 and power 0)
59+
DECLARE_SOA_COLUMN(Q3X0A, q3x0a, float); //! Q-vector x component, with event eta gap A (harmonic 3 and power 1)
60+
DECLARE_SOA_COLUMN(Q3Y0A, q3y0a, float); //! Q-vector y component, with event eta gap A (harmonic 3 and power 1)
61+
DECLARE_SOA_COLUMN(Q3X0B, q3x0b, float); //! Q-vector x component, with event eta gap B (harmonic 3 and power 1)
62+
DECLARE_SOA_COLUMN(Q3Y0B, q3y0b, float); //! Q-vector y component, with event eta gap B (harmonic 3 and power 1)
63+
DECLARE_SOA_COLUMN(Q3X0C, q3x0c, float); //! Q-vector x component, with event eta gap C (harmonic 3 and power 1)
64+
DECLARE_SOA_COLUMN(Q3Y0C, q3y0c, float); //! Q-vector y component, with event eta gap C (harmonic 3 and power 1)
65+
DECLARE_SOA_COLUMN(Q4X0A, q4x0a, float); //! Q-vector x component, with event eta gap A (harmonic 4 and power 1)
66+
DECLARE_SOA_COLUMN(Q4Y0A, q4y0a, float); //! Q-vector y component, with event eta gap A (harmonic 4 and power 1)
67+
DECLARE_SOA_COLUMN(Q4X0B, q4x0b, float); //! Q-vector x component, with event eta gap B (harmonic 4 and power 1)
68+
DECLARE_SOA_COLUMN(Q4Y0B, q4y0b, float); //! Q-vector y component, with event eta gap B (harmonic 4 and power 1)
69+
DECLARE_SOA_COLUMN(Q4X0C, q4x0c, float); //! Q-vector x component, with event eta gap C (harmonic 4 and power 1)
70+
DECLARE_SOA_COLUMN(Q4Y0C, q4y0c, float); //! Q-vector y component, with event eta gap C (harmonic 4 and power 1)
71+
DECLARE_SOA_COLUMN(Q42XA, q42xa, float); //! Q-vector x component, with event eta gap A (harmonic 4 and power 2)
72+
DECLARE_SOA_COLUMN(Q42YA, q42ya, float); //! Q-vector y component, with event eta gap A (harmonic 4 and power 2)
73+
DECLARE_SOA_COLUMN(Q23XA, q23xa, float); //! Q-vector x component, with event eta gap A (harmonic 2 and power 3)
74+
DECLARE_SOA_COLUMN(Q23YA, q23ya, float); //! Q-vector y component, with event eta gap A (harmonic 2 and power 3)
75+
DECLARE_SOA_COLUMN(S11A, s11a, float); //! Weighted multiplicity (p = 1, k = 1)
76+
DECLARE_SOA_COLUMN(S12A, s12a, float); //! Weighted multiplicity (p = 1, k = 2)
77+
DECLARE_SOA_COLUMN(S13A, s13a, float); //! Weighted multiplicity (p = 1, k = 3)
78+
DECLARE_SOA_COLUMN(S31A, s31a, float); //! Weighted multiplicity (p = 3, k = 1)
7179
DECLARE_SOA_COLUMN(CORR2REF, corr2ref, float); //! Ref Flow correlator <2>
7280
DECLARE_SOA_COLUMN(CORR4REF, corr4ref, float); //! Ref Flow correlator <4>
81+
DECLARE_SOA_COLUMN(M11REF, m11ref, float); //! Weighted multiplicity of <<2>> for reference flow
82+
DECLARE_SOA_COLUMN(M1111REF, m1111ref, float); //! Weighted multiplicity of <<4>> for reference flow
7383
DECLARE_SOA_COLUMN(MCPosX, mcPosX, float); //!
7484
DECLARE_SOA_COLUMN(MCPosY, mcPosY, float); //!
7585
DECLARE_SOA_COLUMN(MCPosZ, mcPosZ, float); //!
@@ -98,12 +108,16 @@ DECLARE_SOA_TABLE(ReducedEventsQvector, "AOD", "REQVECTOR", //! Event Q-vecto
98108
reducedevent::Q3X0A, reducedevent::Q3Y0A, reducedevent::Q3X0B, reducedevent::Q3Y0B, reducedevent::Q3X0C, reducedevent::Q3Y0C,
99109
reducedevent::Q4X0A, reducedevent::Q4Y0A, reducedevent::Q4X0B, reducedevent::Q4Y0B, reducedevent::Q4X0C, reducedevent::Q4Y0C);
100110

111+
DECLARE_SOA_TABLE(ReducedEventsQvectorExtra, "AOD", "REQVECTOREXTRA", //! Event Q-vector extra information
112+
reducedevent::Q42XA, reducedevent::Q42YA, reducedevent::Q23XA, reducedevent::Q23YA,
113+
reducedevent::S11A, reducedevent::S12A, reducedevent::S13A, reducedevent::S31A);
114+
101115
DECLARE_SOA_TABLE(ReducedEventsQvectorCentr, "AOD", "REQVECTORCTR", //! Event Q-vector information from central framework
102116
qvec::QvecFT0ARe, qvec::QvecFT0AIm, qvec::QvecFT0CRe, qvec::QvecFT0CIm, qvec::QvecFT0MRe, qvec::QvecFT0MIm, qvec::QvecFV0ARe, qvec::QvecFV0AIm, qvec::QvecBPosRe, qvec::QvecBPosIm, qvec::QvecBNegRe, qvec::QvecBNegIm,
103117
qvec::SumAmplFT0A, qvec::SumAmplFT0C, qvec::SumAmplFT0M, qvec::SumAmplFV0A, qvec::NTrkBPos, qvec::NTrkBNeg);
104118

105119
DECLARE_SOA_TABLE(ReducedEventsRefFlow, "AOD", "REREFFLOW", //! Event Ref Flow information
106-
reducedevent::MultA, reducedevent::CORR2REF, reducedevent::CORR4REF, cent::CentFT0C);
120+
reducedevent::M11REF, reducedevent::M1111REF, reducedevent::CORR2REF, reducedevent::CORR4REF, cent::CentFT0C);
107121

108122
// TODO and NOTE: This table is just an extension of the ReducedEvents table
109123
// There is no explicit accounting for MC events which were not reconstructed!!!
@@ -118,6 +132,7 @@ using ReducedEvent = ReducedEvents::iterator;
118132
using ReducedEventExtended = ReducedEventsExtended::iterator;
119133
using ReducedEventVtxCov = ReducedEventsVtxCov::iterator;
120134
using ReducedEventQvector = ReducedEventsQvector::iterator;
135+
using ReducedEventQvectorExtra = ReducedEventsQvectorExtra::iterator;
121136
using ReducedEventQvectorCentr = ReducedEventsQvectorCentr::iterator;
122137
using ReducedEventRefFlow = ReducedEventsRefFlow::iterator;
123138
using ReducedMCEvent = ReducedMCEvents::iterator;
@@ -513,13 +528,11 @@ DECLARE_SOA_COLUMN(Cos2DeltaPhi, cos2deltaphi, float); //! Cos
513528
DECLARE_SOA_COLUMN(Cos3DeltaPhi, cos3deltaphi, float); //! Cosinus term using event plane angle (harmonic 3)
514529
DECLARE_SOA_COLUMN(R2SP, r2sp, float); //! Event plane resolution for SP method
515530
DECLARE_SOA_COLUMN(R2EP, r2ep, float); //! Event plane resolution for EP method
516-
DECLARE_SOA_COLUMN(CORR2REF, corr2ref, float); //! REF FLOW CORRELATOR <2>
517531
DECLARE_SOA_COLUMN(CORR2POI, corr2poi, float); //! POI FLOW CORRELATOR <2'>
518-
DECLARE_SOA_COLUMN(CORR4REF, corr4ref, float); //! REF FLOW CORRELATOR <4>
519532
DECLARE_SOA_COLUMN(CORR4POI, corr4poi, float); //! POI FLOW CORRELATOR <4'>
520-
DECLARE_SOA_COLUMN(C4REF, c4ref, float); //! REF FLOW CUMULANT (harmonic 4)
521-
DECLARE_SOA_COLUMN(C4POI, c4poi, float); //! POI FLOW CUMULANT (harmonic 4)
522-
DECLARE_SOA_COLUMN(V4, v4, float); //! V2{4} Elliptic Flow doing 4-particle correlations
533+
DECLARE_SOA_COLUMN(M01POI, m01poi, float); //! POI event weight for <2'>
534+
DECLARE_SOA_COLUMN(M0111POI, m0111poi, float); //! POI event weight for <4'>
535+
DECLARE_SOA_COLUMN(MultDimuons, multdimuons, int); //! Dimuon multiplicity
523536
DECLARE_SOA_COLUMN(CentFT0C, centft0c, float); //! Centrality information from FT0C
524537
DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //!
525538
// DECLARE_SOA_INDEX_COLUMN(ReducedMuon, reducedmuon2); //!
@@ -605,8 +618,11 @@ DECLARE_SOA_TABLE(DimuonsAll, "AOD", "RTDIMUONALL", //!
605618
reducedpair::CentFT0C,
606619
reducedpair::Cos2DeltaPhi,
607620
reducedpair::Cos3DeltaPhi,
608-
reducedpair::CORR2REF, reducedpair::CORR2POI,
609-
reducedpair::CORR4REF, reducedpair::CORR4POI, reducedpair::C4REF, reducedpair::C4POI, reducedpair::V4,
621+
reducedpair::CORR2POI,
622+
reducedpair::CORR4POI,
623+
reducedpair::M01POI,
624+
reducedpair::M0111POI,
625+
reducedpair::MultDimuons,
610626
reducedpair::VertexPz,
611627
reducedpair::SVertex);
612628

PWGDQ/Tasks/dqEfficiency.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -809,7 +809,7 @@ struct AnalysisSameEventPairing {
809809
t1.reducedMCTrack().vx(), t1.reducedMCTrack().vy(), t1.reducedMCTrack().vz(), t1.reducedMCTrack().vt(),
810810
t2.reducedMCTrack().vx(), t2.reducedMCTrack().vy(), t2.reducedMCTrack().vz(), t2.reducedMCTrack().vt(),
811811
t1.isAmbiguous(), t2.isAmbiguous(), -999., -999., -999., -999., -999., -999., -999., -999., -999.,
812-
-999., -999., -999., -999., -999., VarManager::fgValues[VarManager::kVertexingPz],
812+
-999., -999., -999., VarManager::fgValues[VarManager::kVertexingPz],
813813
VarManager::fgValues[VarManager::kVertexingSV]);
814814
}
815815
}

0 commit comments

Comments
 (0)