Skip to content

Commit b2aeaf6

Browse files
bhagyasahoalibuild
andauthored
[PWGDQ] Adding polarization variable in production plane (#10928)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 89cfc4f commit b2aeaf6

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1202,6 +1202,18 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
12021202
hm->AddHistogram(histClass, "Mass_Pt_cosThetaCS_phiCS", "", 4, varspTCS, binspT, xminpT, xmaxpT, 0, -1, kFALSE);
12031203
hm->AddHistogram(histClass, "Mass_y_cosThetaCS_phiCS", "", 4, varsrapCS, binsy, xminy, xmaxy, 0, -1, kFALSE);
12041204
}
1205+
if (subGroupStr.Contains("dimuon-polarization-pp")) {
1206+
int varspTPP[4] = {VarManager::kMass, VarManager::kPt, VarManager::kCosThetaPP, VarManager::kPhiPP};
1207+
int varsrapPP[4] = {VarManager::kMass, VarManager::kRap, VarManager::kCosThetaPP, VarManager::kPhiPP};
1208+
int binspT[4] = {100, 20, 20, 20};
1209+
int binsy[4] = {100, 10, 20, 20};
1210+
double xminpT[4] = {1., 0., -1., -3.14};
1211+
double xmaxpT[4] = {5., 20., 1., +3.14};
1212+
double xminy[4] = {1., 2.5, -1., -3.14};
1213+
double xmaxy[4] = {5., 4.0, 1., +3.14};
1214+
hm->AddHistogram(histClass, "Mass_Pt_cosThetaPP_phiPP", "", 4, varspTPP, binspT, xminpT, xmaxpT, 0, -1, kFALSE);
1215+
hm->AddHistogram(histClass, "Mass_y_cosThetaPP_phiPP", "", 4, varsrapPP, binsy, xminy, xmaxy, 0, -1, kFALSE);
1216+
}
12051217
if (subGroupStr.Contains("upsilon-polarization-he")) {
12061218
int varspTHE[4] = {VarManager::kMass, VarManager::kPt, VarManager::kCosThetaHE, VarManager::kPhiHE};
12071219
int varsrapHE[4] = {VarManager::kMass, VarManager::kRap, VarManager::kCosThetaHE, VarManager::kPhiHE};

PWGDQ/Core/VarManager.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -920,14 +920,18 @@ void VarManager::SetDefaultVarNames()
920920
fgVariableUnits[kDeltaPhi] = "rad.";
921921
fgVariableNames[kDeltaPhiSym] = "#Delta#phi";
922922
fgVariableUnits[kDeltaPhiSym] = "rad.";
923-
fgVariableNames[kCosThetaHE] = "cos#it{#theta}";
923+
fgVariableNames[kCosThetaHE] = "cos#it{#theta}_{HE}";
924924
fgVariableUnits[kCosThetaHE] = "";
925925
fgVariableNames[kPhiHE] = "#varphi_{HE}";
926926
fgVariableUnits[kPhiHE] = "rad.";
927927
fgVariableNames[kCosThetaCS] = "cos#it{#theta}_{CS}";
928928
fgVariableUnits[kCosThetaCS] = "";
929929
fgVariableNames[kPhiCS] = "#varphi_{CS}";
930930
fgVariableUnits[kPhiCS] = "rad.";
931+
fgVariableNames[kCosThetaPP] = "cos#it{#theta}_{PP}";
932+
fgVariableUnits[kCosThetaPP] = "";
933+
fgVariableNames[kPhiPP] = "#varphi_{PP}";
934+
fgVariableUnits[kPhiPP] = "rad.";
931935
fgVariableNames[kCosPhiVP] = "cos#it{#varphi}_{VP}";
932936
fgVariableUnits[kCosPhiVP] = "";
933937
fgVariableNames[kPhiVP] = "#varphi_{VP} - #Psi_{2}";
@@ -1467,8 +1471,10 @@ void VarManager::SetDefaultVarNames()
14671471
fgVarNamesMap["kVertexingChi2PCA"] = kVertexingChi2PCA;
14681472
fgVarNamesMap["kCosThetaHE"] = kCosThetaHE;
14691473
fgVarNamesMap["kCosThetaCS"] = kCosThetaCS;
1474+
fgVarNamesMap["kCosThetaPP"] = kCosThetaPP;
14701475
fgVarNamesMap["kPhiHE"] = kPhiHE;
14711476
fgVarNamesMap["kPhiCS"] = kPhiCS;
1477+
fgVarNamesMap["kPhiPP"] = kPhiPP;
14721478
fgVarNamesMap["kCosPhiVP"] = kCosPhiVP;
14731479
fgVarNamesMap["kPhiVP"] = kPhiVP;
14741480
fgVarNamesMap["kDeltaPhiPair2"] = kDeltaPhiPair2;

PWGDQ/Core/VarManager.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,8 +646,10 @@ class VarManager : public TObject
646646
kVertexingChi2PCA,
647647
kCosThetaHE,
648648
kCosThetaCS,
649+
kCosThetaPP,
649650
kPhiHE,
650651
kPhiCS,
652+
kPhiPP,
651653
kCosPhiVP,
652654
kPhiVP,
653655
kDeltaPhiPair2,
@@ -2826,6 +2828,9 @@ void VarManager::FillPair(T1 const& t1, T2 const& t2, float* values)
28262828
ROOT::Math::XYZVectorF yaxis_CS{(Beam1_CM.Cross(Beam2_CM)).Unit()};
28272829
ROOT::Math::XYZVectorF xaxis_CS{(yaxis_CS.Cross(zaxis_CS)).Unit()};
28282830

2831+
// Production frame
2832+
ROOT::Math::XYZVector normalVec = ROOT::Math::XYZVector(v12.Py(), -v12.Px(), 0.f);
2833+
28292834
if (fgUsedVars[kCosThetaHE]) {
28302835
values[kCosThetaHE] = (t1.sign() > 0 ? zaxis_HE.Dot(v1_CM) : zaxis_HE.Dot(v2_CM));
28312836
}
@@ -2842,6 +2847,14 @@ void VarManager::FillPair(T1 const& t1, T2 const& t2, float* values)
28422847
values[kPhiCS] = (t1.sign() > 0 ? TMath::ATan2(yaxis_CS.Dot(v1_CM), xaxis_CS.Dot(v1_CM)) : TMath::ATan2(yaxis_CS.Dot(v2_CM), xaxis_CS.Dot(v2_CM)));
28432848
}
28442849

2850+
if (fgUsedVars[kCosThetaPP]) {
2851+
values[kCosThetaPP] = (t1.sign() > 0 ? normalVec.Dot(v1_CM) : normalVec.Dot(v2_CM));
2852+
}
2853+
2854+
if (fgUsedVars[kPhiPP]) {
2855+
values[kPhiPP] = (t1.sign() > 0 ? TMath::ATan2((normalVec.Dot(v1_CM)), zaxis_HE.Dot(v1_CM)) : TMath::ATan2((normalVec.Dot(v2_CM)), zaxis_HE.Dot(v2_CM)));
2856+
}
2857+
28452858
if constexpr ((pairType == kDecayToEE) && ((fillMap & TrackCov) > 0 || (fillMap & ReducedTrackBarrelCov) > 0)) {
28462859

28472860
if (fgUsedVars[kQuadDCAabsXY] || fgUsedVars[kQuadDCAsigXY] || fgUsedVars[kQuadDCAabsZ] || fgUsedVars[kQuadDCAsigZ] || fgUsedVars[kQuadDCAsigXYZ] || fgUsedVars[kSignQuadDCAsigXY]) {

0 commit comments

Comments
 (0)