Skip to content

Commit a5c648c

Browse files
authored
Merge 08f9cf3 into 375831a
2 parents 375831a + 08f9cf3 commit a5c648c

File tree

7 files changed

+54
-5
lines changed

7 files changed

+54
-5
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,15 @@ 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-
}
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);
161+
}
162+
155163
if (subGroupStr.Contains("res")) {
156164
hm->AddHistogram(histClass, "R2SP_CentV0M", "", true, 9, 0.0, 90.0, VarManager::kCentVZERO, 100, -1.0, 1.0, VarManager::kR2SP);
157165
hm->AddHistogram(histClass, "R3SP_CentV0M", "", true, 9, 0.0, 90.0, VarManager::kCentVZERO, 100, -1.0, 1.0, VarManager::kR3SP);

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: 20 additions & 0 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,
@@ -646,6 +649,8 @@ class VarManager : public TObject
646649
static void FillDileptonCharmHadron(DQ const& dilepton, HF const& charmHadron, H hfHelper, T& bdtScoreCharmHad, float* values = nullptr);
647650
template <typename C, typename A>
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);
652+
//static void FillEventPlaneABC(A const& EpA, A const& EpB, A const& EpC, float* values = nullptr);
653+
649654
template <int pairType, typename T1, typename T2>
650655
static void FillPairVn(T1 const& t1, T2 const& t2, float* values = nullptr);
651656

@@ -1051,6 +1056,11 @@ void VarManager::FillEvent(T const& event, float* values)
10511056
if (event.q3y0b() * event.q3y0c() != 0.0) {
10521057
values[kR3EP] = TMath::Cos(3 * (getEventPlane(3, event.q3x0b(), event.q3y0b()) - getEventPlane(3, event.q3x0c(), event.q3y0c())));
10531058
}
1059+
1060+
values[kPsi2A] = getEventPlane(2, event.q2x0a(), event.q2y0a());
1061+
values[kPsi2B] = getEventPlane(2, event.q2x0b(), event.q2y0b());
1062+
values[kPsi2C] = getEventPlane(2, event.q2x0c(), event.q2y0c());
1063+
10541064
}
10551065

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

24152425
// TODO: provide different computations for R
24162426
// Compute the R factor using the 2 sub-events technique for second and third harmonic
2427+
//Compute event planes
24172428
auto Psi2B = getEventPlane(2, values[kQ2X0B], values[kQ2Y0B]);
24182429
auto Psi3B = getEventPlane(3, values[kQ3X0B], values[kQ3Y0B]);
24192430
auto Psi2C = getEventPlane(2, values[kQ2X0C], values[kQ2Y0C]);
24202431
auto Psi3C = getEventPlane(3, values[kQ3X0C], values[kQ3Y0C]);
2432+
24212433
values[kR2SP] = (values[kQ2X0B] * values[kQ2X0C] + values[kQ2Y0B] * values[kQ2Y0C]);
24222434
values[kR3SP] = (values[kQ3X0B] * values[kQ3X0C] + values[kQ3Y0B] * values[kQ3Y0C]);
24232435
if (values[kQ2Y0B] * values[kQ2Y0C] != 0.0) {
@@ -2426,6 +2438,10 @@ void VarManager::FillQVectorFromGFW(C const& collision, A const& compA2, A const
24262438
if (values[kQ3Y0B] * values[kQ3Y0C] != 0.0) {
24272439
values[kR3EP] = TMath::Cos(3 * (Psi3B - Psi3C));
24282440
}
2441+
2442+
values[kPsi2A] = getEventPlane(2, values[kQ2X0A], values[kQ2Y0A]);
2443+
values[kPsi2B] = getEventPlane(2, values[kQ2X0B], values[kQ2Y0B]);
2444+
values[kPsi2C] = getEventPlane(2, values[kQ2X0C], values[kQ2Y0C]);
24292445
}
24302446

24312447
template <int pairType, typename T1, typename T2>
@@ -2464,11 +2480,15 @@ void VarManager::FillPairVn(T1 const& t1, T2 const& t2, float* values)
24642480
values[kU3Q3] = values[kQ3X0A] * std::cos(3 * v12.Phi()) + values[kQ3Y0A] * std::sin(3 * v12.Phi());
24652481
values[kCos2DeltaPhi] = std::cos(2 * (v12.Phi() - getEventPlane(2, values[kQ2X0A], values[kQ2Y0A])));
24662482
values[kCos3DeltaPhi] = std::cos(3 * (v12.Phi() - getEventPlane(3, values[kQ3X0A], values[kQ3Y0A])));
2483+
24672484
if (isnan(VarManager::fgValues[VarManager::kU2Q2]) == true) {
24682485
values[kU2Q2] = -999.;
24692486
values[kU3Q3] = -999.;
24702487
values[kCos2DeltaPhi] = -999.;
24712488
values[kCos3DeltaPhi] = -999.;
2489+
values[kPsi2A] = -999.;
2490+
values[kPsi2B] = -999.;
2491+
values[kPsi2C] = -999.;
24722492
}
24732493
}
24742494

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: 3 additions & 0 deletions
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"};
@@ -319,10 +320,12 @@ struct DQEventQvector {
319320
}
320321
}
321322

323+
322324
// Fill the tree for the reduced event table with Q vector quantities
323325
if (fEventCut->IsSelected(VarManager::fgValues)) {
324326
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]);
325327
}
328+
326329
}
327330

328331
// 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)