Skip to content

Commit 7865da0

Browse files
authored
Merge 4d043b3 into 73a1d54
2 parents 73a1d54 + 4d043b3 commit 7865da0

File tree

7 files changed

+48
-8
lines changed

7 files changed

+48
-8
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,13 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
151151
hm->AddHistogram(histClass, "Q2Y0A_CentFT0C", "", true, 90, 0.0, 90.0, VarManager::kCentFT0C, 100, -1.0, 1.0, VarManager::kQ2Y0A);
152152
hm->AddHistogram(histClass, "Q3X0A_CentFT0C", "", true, 90, 0.0, 90.0, VarManager::kCentFT0C, 100, -1.0, 1.0, VarManager::kQ3X0A);
153153
hm->AddHistogram(histClass, "Q3Y0A_CentFT0C", "", true, 90, 0.0, 90.0, VarManager::kCentFT0C, 100, -1.0, 1.0, VarManager::kQ3Y0A);
154+
155+
hm->AddHistogram(histClass, "Psi2A", "", false, 100, -2.0, 2.0, VarManager::kPsi2A);
156+
hm->AddHistogram(histClass, "Psi2B", "", false, 100, -2.0, 2.0, VarManager::kPsi2B);
157+
hm->AddHistogram(histClass, "Psi2C", "", false, 100, -2.0, 2.0, VarManager::kPsi2C);
158+
hm->AddHistogram(histClass, "Psi2A_CentFT0C", "", false, 90, 0.0, 90.0, VarManager::kCentFT0C, 100, -2.0, 2.0, VarManager::kPsi2A);
159+
hm->AddHistogram(histClass, "Psi2B_CentFT0C", "", false, 90, 0.0, 90.0, VarManager::kCentFT0C, 100, -2.0, 2.0, VarManager::kPsi2B);
160+
hm->AddHistogram(histClass, "Psi2C_CentFT0C", "", false, 90, 0.0, 90.0, VarManager::kCentFT0C, 100, -2.0, 2.0, VarManager::kPsi2C);
154161
}
155162
if (subGroupStr.Contains("res")) {
156163
hm->AddHistogram(histClass, "R2SP_CentV0M", "", true, 9, 0.0, 90.0, VarManager::kCentVZERO, 100, -1.0, 1.0, VarManager::kR2SP);

PWGDQ/Core/VarManager.cxx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,12 @@ void VarManager::SetDefaultVarNames()
598598
fgVariableUnits[kCos2DeltaPhi] = "";
599599
fgVariableNames[kCos3DeltaPhi] = "cos 3(#varphi-#Psi_{3}^{A}) ";
600600
fgVariableUnits[kCos3DeltaPhi] = "";
601+
fgVariableNames[kPsi2A] = "#Psi_{2}^{A} ";
602+
fgVariableUnits[kPsi2A] = "";
603+
fgVariableNames[kPsi2B] = "#Psi_{2}^{B} ";
604+
fgVariableUnits[kPsi2B] = "";
605+
fgVariableNames[kPsi2C] = "#Psi_{2}^{C} ";
606+
fgVariableUnits[kPsi2C] = "";
601607
fgVariableNames[kR2SP] = "R_{2}^{SP} ";
602608
fgVariableUnits[kR2SP] = "";
603609
fgVariableNames[kR3SP] = "R_{3}^{SP} ";

PWGDQ/Core/VarManager.h

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,9 @@ class VarManager : public TObject
411411
kDCATrackVtxProd,
412412
kU2Q2,
413413
kU3Q3,
414+
kPsi2A,
415+
kPsi2B,
416+
kPsi2C,
414417
kCos2DeltaPhi,
415418
kCos3DeltaPhi,
416419
kNPairVariables,
@@ -648,7 +651,6 @@ class VarManager : public TObject
648651
static void FillQVectorFromGFW(C const& collision, A const& compA2, A const& compB2, A const& compC2, A const& compA3, A const& compB3, A const& compC3, float normA = 1.0, float normB = 1.0, float normC = 1.0, float* values = nullptr);
649652
template <int pairType, typename T1, typename T2>
650653
static void FillPairVn(T1 const& t1, T2 const& t2, float* values = nullptr);
651-
652654
static void SetCalibrationObject(CalibObjects calib, TObject* obj)
653655
{
654656
fgCalibs[calib] = obj;
@@ -1051,6 +1053,11 @@ void VarManager::FillEvent(T const& event, float* values)
10511053
if (event.q3y0b() * event.q3y0c() != 0.0) {
10521054
values[kR3EP] = TMath::Cos(3 * (getEventPlane(3, event.q3x0b(), event.q3y0b()) - getEventPlane(3, event.q3x0c(), event.q3y0c())));
10531055
}
1056+
1057+
values[kPsi2A] = getEventPlane(2, event.q2x0a(), event.q2y0a());
1058+
values[kPsi2B] = getEventPlane(2, event.q2x0b(), event.q2y0b());
1059+
values[kPsi2C] = getEventPlane(2, event.q2x0c(), event.q2y0c());
1060+
10541061
}
10551062

10561063
if constexpr ((fillMap & CollisionMC) > 0) {
@@ -2414,10 +2421,12 @@ void VarManager::FillQVectorFromGFW(C const& collision, A const& compA2, A const
24142421

24152422
// TODO: provide different computations for R
24162423
// Compute the R factor using the 2 sub-events technique for second and third harmonic
2424+
//Compute event planes
24172425
auto Psi2B = getEventPlane(2, values[kQ2X0B], values[kQ2Y0B]);
24182426
auto Psi3B = getEventPlane(3, values[kQ3X0B], values[kQ3Y0B]);
24192427
auto Psi2C = getEventPlane(2, values[kQ2X0C], values[kQ2Y0C]);
24202428
auto Psi3C = getEventPlane(3, values[kQ3X0C], values[kQ3Y0C]);
2429+
24212430
values[kR2SP] = (values[kQ2X0B] * values[kQ2X0C] + values[kQ2Y0B] * values[kQ2Y0C]);
24222431
values[kR3SP] = (values[kQ3X0B] * values[kQ3X0C] + values[kQ3Y0B] * values[kQ3Y0C]);
24232432
if (values[kQ2Y0B] * values[kQ2Y0C] != 0.0) {
@@ -2426,6 +2435,10 @@ void VarManager::FillQVectorFromGFW(C const& collision, A const& compA2, A const
24262435
if (values[kQ3Y0B] * values[kQ3Y0C] != 0.0) {
24272436
values[kR3EP] = TMath::Cos(3 * (Psi3B - Psi3C));
24282437
}
2438+
2439+
values[kPsi2A] = getEventPlane(2, values[kQ2X0A], values[kQ2Y0A]);
2440+
values[kPsi2B] = getEventPlane(2, values[kQ2X0B], values[kQ2Y0B]);
2441+
values[kPsi2C] = getEventPlane(2, values[kQ2X0C], values[kQ2Y0C]);
24292442
}
24302443

24312444
template <int pairType, typename T1, typename T2>
@@ -2451,12 +2464,10 @@ void VarManager::FillPairVn(T1 const& t1, T2 const& t2, float* values)
24512464
if constexpr (pairType == kElectronMuon) {
24522465
m2 = o2::constants::physics::MassMuon;
24532466
}
2454-
24552467
// Fill dilepton information
24562468
ROOT::Math::PtEtaPhiMVector v1(t1.pt(), t1.eta(), t1.phi(), m1);
24572469
ROOT::Math::PtEtaPhiMVector v2(t2.pt(), t2.eta(), t2.phi(), m2);
24582470
ROOT::Math::PtEtaPhiMVector v12 = v1 + v2;
2459-
24602471
// TODO: provide different computations for vn
24612472
// Compute the scalar product UQ using Q-vector from A, for second and third harmonic
24622473
// Dilepton vn could be accessible after dividing this product with the R factor
@@ -2469,6 +2480,9 @@ void VarManager::FillPairVn(T1 const& t1, T2 const& t2, float* values)
24692480
values[kU3Q3] = -999.;
24702481
values[kCos2DeltaPhi] = -999.;
24712482
values[kCos3DeltaPhi] = -999.;
2483+
values[kPsi2A] = -999.;
2484+
values[kPsi2B] = -999.;
2485+
values[kPsi2C] = -999.;
24722486
}
24732487
}
24742488

PWGDQ/DataModel/ReducedInfoTables.h

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,9 @@ DECLARE_SOA_COLUMN(U2Q2, u2q2, float); //! Scalar product betwee
462462
DECLARE_SOA_COLUMN(U3Q3, u3q3, float); //! Scalar product between unitary vector with event flow vector (harmonic 3)
463463
DECLARE_SOA_COLUMN(Cos2DeltaPhi, cos2deltaphi, float); //! Cosinus term using event plane angle (harmonic 2)
464464
DECLARE_SOA_COLUMN(Cos3DeltaPhi, cos3deltaphi, float); //! Cosinus term using event plane angle (harmonic 3)
465+
DECLARE_SOA_COLUMN(Psi2A, psi2a, float); //! Event plane for sub-sample A
466+
DECLARE_SOA_COLUMN(Psi2B, psi2b, float); //! Event plane for sub-sample B
467+
DECLARE_SOA_COLUMN(Psi2C, psi2c, float); //! Event plane for sub-sample C
465468
DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //!
466469
// DECLARE_SOA_INDEX_COLUMN(ReducedMuon, reducedmuon2); //!
467470
DECLARE_SOA_DYNAMIC_COLUMN(Px, px, //!
@@ -498,7 +501,11 @@ DECLARE_SOA_TABLE(DileptonsFlow, "AOD", "RTDILEPTONFLOW", //!
498501
reducedpair::U2Q2,
499502
reducedpair::U3Q3,
500503
reducedpair::Cos2DeltaPhi,
501-
reducedpair::Cos3DeltaPhi);
504+
reducedpair::Cos3DeltaPhi,
505+
reducedpair::Psi2A,
506+
reducedpair::Psi2B,
507+
reducedpair::Psi2C
508+
);
502509

503510
// Dilepton collision information (joined with DileptonsExtra) allowing to connect different tables (cross PWGs)
504511
DECLARE_SOA_TABLE(DileptonsInfo, "AOD", "RTDILEPTONINFO",
@@ -528,7 +535,11 @@ DECLARE_SOA_TABLE(DimuonsAll, "AOD", "RTDIMUONALL", //!
528535
reducedpair::U2Q2,
529536
reducedpair::U3Q3,
530537
reducedpair::Cos2DeltaPhi,
531-
reducedpair::Cos3DeltaPhi);
538+
reducedpair::Cos3DeltaPhi,
539+
reducedpair::Psi2A,
540+
reducedpair::Psi2B,
541+
reducedpair::Psi2C
542+
);
532543

533544
using Dilepton = Dileptons::iterator;
534545
using DileptonExtra = DileptonsExtra::iterator;

PWGDQ/Tasks/dqEfficiency.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -797,7 +797,7 @@ struct AnalysisSameEventPairing {
797797
t2.reducedMCTrack().pt(), t2.reducedMCTrack().eta(), t2.reducedMCTrack().phi(), t2.reducedMCTrack().e(),
798798
t1.reducedMCTrack().vx(), t1.reducedMCTrack().vy(), t1.reducedMCTrack().vz(), t1.reducedMCTrack().vt(),
799799
t2.reducedMCTrack().vx(), t2.reducedMCTrack().vy(), t2.reducedMCTrack().vz(), t2.reducedMCTrack().vt(),
800-
t1.isAmbiguous(), t2.isAmbiguous(), -999., -999., -999., -999.);
800+
t1.isAmbiguous(), t2.isAmbiguous(), -999., -999., -999., -999.,-999., -999., -999.);
801801
}
802802
}
803803

PWGDQ/Tasks/dqFlow.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ struct DQEventQvector {
8585

8686
Configurable<std::string> fConfigEventCuts{"cfgEventCuts", "eventStandard", "Event selection"};
8787
Configurable<bool> fConfigQA{"cfgQA", true, "If true, fill QA histograms"};
88+
Configurable<bool> fConfigFlow{"cfgFlow", true, "If true, fill Flow histograms"};
8889
Configurable<float> fConfigCutPtMin{"cfgCutPtMin", 0.2f, "Minimal pT for tracks"};
8990
Configurable<float> fConfigCutPtMax{"cfgCutPtMax", 12.0f, "Maximal pT for tracks"};
9091
Configurable<float> fConfigCutEtaMin{"cfgCutEtaMin", -0.8f, "Eta min range for tracks"};
@@ -318,11 +319,11 @@ struct DQEventQvector {
318319
}
319320
}
320321
}
321-
322322
// Fill the tree for the reduced event table with Q vector quantities
323323
if (fEventCut->IsSelected(VarManager::fgValues)) {
324324
eventQvector(VarManager::fgValues[VarManager::kQ2X0A], VarManager::fgValues[VarManager::kQ2Y0A], VarManager::fgValues[VarManager::kQ2X0B], VarManager::fgValues[VarManager::kQ2Y0B], VarManager::fgValues[VarManager::kQ2X0C], VarManager::fgValues[VarManager::kQ2Y0C], VarManager::fgValues[VarManager::kMultA], VarManager::fgValues[VarManager::kMultC], VarManager::fgValues[VarManager::kMultC], VarManager::fgValues[VarManager::kQ3X0A], VarManager::fgValues[VarManager::kQ3Y0A], VarManager::fgValues[VarManager::kQ3X0B], VarManager::fgValues[VarManager::kQ3Y0B], VarManager::fgValues[VarManager::kQ3X0C], VarManager::fgValues[VarManager::kQ3Y0C]);
325325
}
326+
326327
}
327328

328329
// Process to fill Q vector using barrel tracks in a reduced event table for barrel/muon tracks flow related analyses Run 2

PWGDQ/Tasks/tableReader.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1052,12 +1052,13 @@ struct AnalysisSameEventPairing {
10521052
-999., -999., -999., -999.,
10531053
t1.isAmbiguous(), t2.isAmbiguous(),
10541054
VarManager::fgValues[VarManager::kU2Q2], VarManager::fgValues[VarManager::kU3Q3],
1055+
VarManager::fgValues[VarManager::kPsi2A], VarManager::fgValues[VarManager::kPsi2B], VarManager::fgValues[VarManager::kPsi2C],
10551056
VarManager::fgValues[VarManager::kCos2DeltaPhi], VarManager::fgValues[VarManager::kCos3DeltaPhi]);
10561057
}
10571058
}
10581059

10591060
if constexpr (eventHasQvector) {
1060-
dileptonFlowList(VarManager::fgValues[VarManager::kU2Q2], VarManager::fgValues[VarManager::kU3Q3], VarManager::fgValues[VarManager::kCos2DeltaPhi], VarManager::fgValues[VarManager::kCos3DeltaPhi]);
1061+
dileptonFlowList(VarManager::fgValues[VarManager::kU2Q2], VarManager::fgValues[VarManager::kU3Q3], VarManager::fgValues[VarManager::kCos2DeltaPhi], VarManager::fgValues[VarManager::kCos3DeltaPhi],VarManager::fgValues[VarManager::kR2SP],VarManager::fgValues[VarManager::kR2EP],VarManager::fgValues[VarManager::kCentFT0C]);
10611062
}
10621063

10631064
int iCut = 0;

0 commit comments

Comments
 (0)