diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index e198ea2d7af..c37196eeca6 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -1347,6 +1347,9 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "CosThetaStarTPC", "", false, 100, -1.0, 1.0, VarManager::kCosThetaStarTPC); hm->AddHistogram(histClass, "CosThetaStarFT0A", "", false, 100, -1.0, 1.0, VarManager::kCosThetaStarFT0A); hm->AddHistogram(histClass, "CosThetaStarFT0C", "", false, 100, -1.0, 1.0, VarManager::kCosThetaStarFT0C); + hm->AddHistogram(histClass, "CosThetaStarRandom", "", false, 100, -1.0, 1.0, VarManager::kCosThetaStarRandom); + hm->AddHistogram(histClass, "Cos2ThetaStarFT0C_Mass", "", true, 50, 2.0, 4.0, VarManager::kMass, 100, -1.0, 1.0, VarManager::kCos2ThetaStarFT0C); + hm->AddHistogram(histClass, "Cos2ThetaStarRandom_Mass", "", true, 50, 2.0, 4.0, VarManager::kMass, 100, -1.0, 1.0, VarManager::kCos2ThetaStarRandom); } if (subGroupStr.Contains("upsilon")) { hm->AddHistogram(histClass, "MassUpsilon_Pt", "", false, 500, 7.0, 12.0, VarManager::kMass, 400, 0.0, 40.0, VarManager::kPt); diff --git a/PWGDQ/Core/VarManager.cxx b/PWGDQ/Core/VarManager.cxx index bbe9f08f28b..43ee9a4dd4e 100644 --- a/PWGDQ/Core/VarManager.cxx +++ b/PWGDQ/Core/VarManager.cxx @@ -1425,6 +1425,8 @@ void VarManager::SetDefaultVarNames() fgVariableUnits[kPsi2B] = ""; fgVariableNames[kPsi2C] = "#Psi_{2}^{C} "; fgVariableUnits[kPsi2C] = ""; + fgVariableNames[kRandomPsi2] = "Random #Psi_{2} "; + fgVariableUnits[kRandomPsi2] = ""; fgVariableNames[kR2SP_AB] = "R_{2}^{SP} (AB) "; fgVariableUnits[kR2SP_AB] = ""; fgVariableNames[kR2SP_AC] = "R_{2}^{SP} (AC) "; @@ -1521,6 +1523,14 @@ void VarManager::SetDefaultVarNames() fgVariableUnits[kCosThetaStarFT0A] = ""; fgVariableNames[kCosThetaStarFT0C] = "cos#it{#theta}^{*}_{FT0C}"; fgVariableUnits[kCosThetaStarFT0C] = ""; + fgVariableNames[kAbsCosThetaStarFT0C] = "|cos#it{#theta}^{*}_{FT0C}|"; + fgVariableUnits[kAbsCosThetaStarFT0C] = ""; + fgVariableNames[kCos2ThetaStarFT0C] = "cos^{2}#it{#theta}^{*}_{FT0C}"; + fgVariableUnits[kCos2ThetaStarFT0C] = ""; + fgVariableNames[kCosThetaStarRandom] = "cos#it{#theta}^{*}_{Random}"; + fgVariableUnits[kCosThetaStarRandom] = ""; + fgVariableNames[kCos2ThetaStarRandom] = "cos^{2}#it{#theta}^{*}_{Random}"; + fgVariableUnits[kCos2ThetaStarRandom] = ""; fgVariableNames[kCosPhiVP] = "cos#it{#varphi}_{VP}"; fgVariableUnits[kCosPhiVP] = ""; fgVariableNames[kPhiVP] = "#varphi_{VP} - #Psi_{2}"; @@ -2336,6 +2346,10 @@ void VarManager::SetDefaultVarNames() fgVarNamesMap["kCosThetaStarTPC"] = kCosThetaStarTPC; fgVarNamesMap["kCosThetaStarFT0A"] = kCosThetaStarFT0A; fgVarNamesMap["kCosThetaStarFT0C"] = kCosThetaStarFT0C; + fgVarNamesMap["kAbsCosThetaStarFT0C"] = kAbsCosThetaStarFT0C; + fgVarNamesMap["kCos2ThetaStarFT0C"] = kCos2ThetaStarFT0C; + fgVarNamesMap["kCosThetaStarRandom"] = kCosThetaStarRandom; + fgVarNamesMap["kCos2ThetaStarRandom"] = kCos2ThetaStarRandom; fgVarNamesMap["kCosPhiVP"] = kCosPhiVP; fgVarNamesMap["kPhiVP"] = kPhiVP; fgVarNamesMap["kDeltaPhiPair2"] = kDeltaPhiPair2; @@ -2434,6 +2448,7 @@ void VarManager::SetDefaultVarNames() fgVarNamesMap["kPsi2ANEG"] = kPsi2ANEG; fgVarNamesMap["kPsi2B"] = kPsi2B; fgVarNamesMap["kPsi2C"] = kPsi2C; + fgVarNamesMap["kRandomPsi2"] = kRandomPsi2; fgVarNamesMap["kCos2DeltaPhi"] = kCos2DeltaPhi; fgVarNamesMap["kCos2DeltaPhiMu1"] = kCos2DeltaPhiMu1; fgVarNamesMap["kCos2DeltaPhiMu2"] = kCos2DeltaPhiMu2; diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index 3129822100f..2d73b215d67 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -774,6 +774,10 @@ class VarManager : public TObject kCosThetaStarTPC, kCosThetaStarFT0A, kCosThetaStarFT0C, + kAbsCosThetaStarFT0C, + kCos2ThetaStarFT0C, + kCosThetaStarRandom, + kCos2ThetaStarRandom, kCosPhiVP, kPhiVP, kDeltaPhiPair2, @@ -879,6 +883,7 @@ class VarManager : public TObject kPsi2ANEG, kPsi2B, kPsi2C, + kRandomPsi2, kCos2DeltaPhi, kCos2DeltaPhiMu1, // cos(phi - phi1) for muon1 kCos2DeltaPhiMu2, ////cos(phi - phi2) for muon2 @@ -2193,6 +2198,7 @@ void VarManager::FillEvent(T const& event, float* values) values[VarManager::kPsi2A] = Psi2A; values[VarManager::kPsi2B] = Psi2B; values[VarManager::kPsi2C] = Psi2C; + values[VarManager::kRandomPsi2] = gRandom->Uniform(-o2::constants::math::PIHalf, o2::constants::math::PIHalf); if constexpr ((fillMap & ReducedEventQvectorExtra) > 0) { values[kQ42XA] = event.q42xa(); @@ -5694,6 +5700,13 @@ void VarManager::FillPairVn(T1 const& t1, T2 const& t2, float* values) ROOT::Math::XYZVector zaxisFT0C = ROOT::Math::XYZVector(TMath::Cos(Psi2C), TMath::Sin(Psi2C), 0).Unit(); values[kCosThetaStarFT0C] = v_CM.Dot(zaxisFT0C); + values[kAbsCosThetaStarFT0C] = std::abs(values[kCosThetaStarFT0C]); + values[kCos2ThetaStarFT0C] = values[kCosThetaStarFT0C] * values[kCosThetaStarFT0C]; + + // Randomize the event plane angle to check the unpolarized contribution + ROOT::Math::XYZVector zaxisRandom = ROOT::Math::XYZVector(TMath::Cos(values[kRandomPsi2]), TMath::Sin(values[kRandomPsi2]), 0).Unit(); + values[kCosThetaStarRandom] = v_CM.Dot(zaxisRandom); + values[kCos2ThetaStarRandom] = values[kCosThetaStarRandom] * values[kCosThetaStarRandom]; } // kV4, kC4POI, kC4REF etc.